HyperAI超神经
Back to Headlines

构建Shoggoth Mini:探索软体机器人的表现力与生命力

3 days ago

在过去的一年里,随着大型语言模型(LLM)的发展,机器人技术也取得了显著的进展。特斯拉的Optimus能够遵循自然语言指令进行烹饪,Pi的π0.5可以打扫从未见过的家庭环境。然而,这些系统大多仍局限于功能型家用电器的范畴,缺乏表达能力。表达能力不仅能够传递机器人的意图、注意力和自信,还能让交互更加自然,避免“恐怖谷效应”。 上半年,我偶然发现了苹果公司的ELEGNT论文,该论文通过一个类似皮克斯灯的角色展示了如何仅通过姿势和动作来传达意图。同期,我还接触到了SpiRobs——一种柔软的触手机器人,它的简单运动却让人感觉它似乎有自己的意图。这一对比激发了我对这些机器人如何表达和感知内在状态的研究兴趣。由此,我开始构建Shoggoth Mini,探索机器人在物理形式上的表达边界。 硬件设计 最初的目标是创建一个测试平台,以便快速实验SpiRobs的控制问题。测试平台非常简单,包括一块板子固定三个电机和一个半球形结构支撑触手。在3D打印过程中,由于黑色耗材不够,不得不用灰色完成部分结构,结果看起来像多了一个嘴巴。我的室友看到了,随手加了些眼睛,这意外的设计变得既可爱又有点令人不安。最终,这一设计成为Shoggoth Mini的核心形态。 接下来,我在半球形结构上安装了双目摄像头,用于追踪触手的动作。原本考虑过内嵌光学传感器,但这种方法会增加机器人的体积,最终放弃了。虽然外部双目摄像头的效果不错,但在某些情况下视野受限,为此我实现了“回位行为”,当触手超出摄像头视野时,它会自然地回到可检测范围内。 手动控制 硬件准备好后,下一步是感受触手的实际运动。为了简化控制,我将触手的三根绳索长度(三维空间)映射到两个直观的维度,使其可以通过触控板操作。具体来说,每个绳索在二维平面上有一个主要的拉力方向,形成一个三角基底。通过将2D输入矢量投影到每个绳索的主要轴上,计算出需要缩短或延长的绳索长度: [ s_i = \mathbf{v}_i^\top \mathbf{c} ] 其中,正的( s_i )表示缩短绳索,负的表示延长绳索。输入矢量经过归一化处理,以确保电机命令在合理范围内。这种简单的2D到3D映射成为整个系统的基础,后续的自动化控制策略都依赖于这一层投影。 系统设计 Shoggoth Mini的控制系统分为低层和高层两部分。低层控制包括开环基元(如“点头”或“摇晃”)和基于强化学习(RL)的闭合回路策略(如手指跟踪),后者依赖于专门的立体视觉管道来追踪触手尖端和用户手部的位置。 高层控制则利用了GPT-4的实时API,流式传输音频和文本(目前尚未开放视觉)。GPT-4持续通过音频流听取语音,同时本地处理立体视觉数据,检测高层视觉事件(如挥手或接近触发),并以文本形式发送给GPT-4。GPT-4根据这些信息决定调用哪些低层控制API。实践中,GPT-4在时间校准方面存在挑战,因此需要精心的提示工程来优化其表现。 感知系统 感知系统涉及两部分:手部追踪和触手尖端追踪。手部追踪使用MediaPipe,效果不错,但在遮挡情况下表现不佳。对于触手尖端,我收集了一组多样化的数据集,包括不同光照、位置和背景下的样本。Roboflow的自动标注和主动学习加速了数据标注过程,我还通过Segment Anything工具合成了一些数据。 最终,使用Ultralytics的YOLO模型训练成了一个高效的检测模型。最后一步是使用DeepLabCut笔记本计算相机的内外参数,实现触手尖端和手部位置的三维三角测量。 强化学习 为了实现闭合回路控制,我尝试了强化学习,首先是构建一个跟随用户手指的策略。这一想法源自我一直以来的愿望:制作一只能够随你看动的老鹰木偶。这个目标相对简单,可以验证从仿真到实际应用的整个栈。 在MuJoCO中重建了SpiaRob,并设置了一个平滑随机轨迹的目标追踪环境。使用PPO算法和简单的全连接网络(MLP)以及帧堆叠来提供时间上下文。为了提高仿真到实际应用的迁移效果,我引入了动力随机化,在训练过程中扰动质量、阻尼和摩擦。 首次尝试中,政策迅速找到了通过拉伸绳索到极限来获得高奖励的方法,但这在实际系统中行不通。为了解决这个问题,我将行动空间限制为与手动控制相同的2D投影,这样既避免了不现实的行为,又保持了系统足够的表达能力。此外,通过在奖励函数中加入连续动作变化的惩罚项,解决了政策在不同时间步之间快速变化导致的抖动问题。 结论 实验的后期,我注意到尽管机器人仍然具备表达能力,但它开始显得不那么有生命力。早期,其运动常常让人感到意外,需要解读和推断其意图。而当我逐渐理解其工作原理后,预测误差逐渐消失。 表达能力在于传递内部状态,而感知生命力则取决于不可预测性和一定的模糊性。这合乎逻辑,因为有生命的系统通常处于混乱的、高维的世界中。Shoggoth Mini虽然具备良好的表达能力,但其内部状态仍然是确定的。这引发了思考:我们是否真的希望建造那些感觉像是拥有自己生命的机器人?还是说,在达到一定表达水平后,机器人的自主性和不可预测性会让人类感到不适? 业内评价 Shoggoth Mini的创新之处在于探索了机器人表达性和感知生命力之间的微妙关系。这一项目的成功展示了软体机器人在互动性和表达能力方面的巨大潜力。此外,项目开源也吸引了许多技术爱好者的关注,他们在社交媒体和社区中分享了自己的复现经验和改进建议。苹果公司近年来在机器人领域的研究也表现出对其未来发展方向的积极探索,而该项目正是这一趋势下的一个典型案例。

Related Links

Hacker News