Differentiable Reinforcement Learning for Path Tracking by an Agile Fish-Like Robot
本文通过引入一个计算高效的仿真平台以及一种通过反向传播和课程训练来优化 PID 参数的可微强化学习方法,解决了控制敏捷鱼形机器人的挑战,并成功地将学习到的策略从仿真环境迁移到实体机器人,实现了精确的路径跟踪。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一个机器人不再仅仅靠轮子滚动或靠螺旋桨嗡嗡作响,而是像真正的鱼一样以流动的姿态在水中游动的世界。几十年来,工程师们一直试图制造这些“仿生”机器,因为鱼类极其快速、高效且具有隐蔽性。它们通过摆动身体并以复杂的方式与水互动来移动,产生被称为“涡流”的无形旋涡,这些旋涡实际上能帮助它们向前推进。然而,教导机器人如何做到这一点简直是一场噩梦。水是混乱的,而且机器人身体如何推挤流体的物理过程如此复杂,以至于编写一个完美的数学公式几乎是不可能的。如果你试图用僵化的规则来编程,机器人往往会表现得像一条离开水的鱼一样手忙脚乱。
这正是名为“强化学习”的聪明技巧发挥作用的地方。你可以把它想象成训练一只狗,只不过不是用零食,而是给表现好的机器人打分。机器人不断尝试、犯错,并从反馈中学习以变得更好。但有一个难点:为了有效地学习,机器人需要练习数百万次。在真实的游泳池里这样做会耗费太长时间,还可能损坏机器人。因此,科学家们通常会构建一个“模拟器”——一个水环境的视频游戏版本。问题在于,大多数模拟器要么运行太慢无法快速训练,要么过于简单而不够精确。本文正是在解决这个瓶ال颈:如何构建一个既足够快以进行学习,又足够精确以适用于现实世界的模拟器,同时还要教会机器人同时完成直线游泳和跟随蜿蜒路径的任务。
敏捷游泳者与神奇模拟器
来认识一下这位“敏捷类鱼机器人”。它不是那种背后带着螺旋桨的机器人;它更像是一条体内藏有秘密武器的机械鳗鱼。在其密封的、形状类似水翼的头部(大约有一个小平板大小,长250毫米)内部,有一个旋转的转子。通过让这个内部重量前后旋转,机器人可以产生对水的推力,从而在没有外部螺旋桨的情况下实现自身推进。它有一个灵活的尾巴和一个用于转向的小舵。目标是什么?是让这个机器人沿着特定的路径游泳,比如字母“S”或圆圈,同时达到特定的速度,就像高速公路上的汽车一样。
挑战在于,机器人的运动是一场细腻的舞蹈。如果转弯太急,它就会减速。如果加速过快,它可能会失去平衡。传统上,工程师使用“PID控制器”来管理这些。你可以把PID控制器想象成一位非常严格的教练,他会给出三种类型的指令:“你偏离了多少?”(比例项)、“你偏离了多久了?”(积分项)以及“你偏离的速度有多快?”(微分项)。教练根据这些数值来调整机器人的转向和速度。棘手的部分在于,“增益”(即教练声音的大小)需要根据路径的弯曲程度而变化。直线路径需要一位温和的教练;而急转弯则需要一位大声、紧迫的教练。
“可微”的突破
本文的作者意识到,为每一种可能的曲线和速度手动调整这些教练是不可能的。相反,他们决定利用一种称为可微强化学习的方法,让机器人自己学习完美的“教练风格”。
这里有一个神奇的比喻:想象你正在学习骑自行车下坡。通常,你只是尝试、摔倒,然后爬起来。但如果时光可以倒流,让你看清究竟是哪次脚部位置的变化导致了摔倒,并能瞬间调整肌肉来修复它呢?这就是这里“可微”的含义。作者构建了一个特殊的机器人与水环境的计算机模拟系统,它是“可微的”。这意味着计算机可以从数学上追踪机器人转向或速度的微小变化如何影响其最终位置,一直追溯到最初的指令。
计算机并没有只是盲目猜测,它通过整个模拟过程进行“反向传播”(一个通过从错误向后推导的专业术语)。它计算出如何精确地微调PID增益,使机器人游得更好。他们并没有直接把机器人扔进随机的池子里,而是使用了一个“课程”。就像人类学生在跑步前要先学会走路一样,机器人从在低速直线游泳开始。一旦它掌握了,模拟器就会让路径变得更弯曲、速度变得更快。这种循序渐进的训练让机器人能够在不感到不知所措的情况下,掌握复杂的动作。
从代码到水域:现实世界测试
这篇论文最令人兴奋的部分是,他们并没有止步于计算机屏幕。他们将训练好的“大脑”直接放入了物理机器人中。
在实验室里,他们设置了一个带有摄像系统的水池来观察机器人的游泳情况。他们要求机器人以不同的速度(从0.10米/秒的缓慢漂流到0.25米/秒的快速游动)追踪路径。
结果令人印象深刻。在AI学习到的增益引导下,机器人成功地追踪了路径。
- “I”路径: 一条直线。机器人游得笔直且稳健。
- “R”和“S”路径: 这些路径包含急转弯。机器人自动调整了转向和速度。当路径发生剧烈转弯时,AI学会了稍微放缓速度控制,以专注于转向,从而防止机器人失控旋转。
- 速度: 机器人能够保持接近目标速度,尽管在较高速度下表现得更为精准。在极低速时,它显得有些摇晃,作者解释说这是因为转向修正自然会减慢机器人的速度,从而在保持轨迹和维持速度之间产生了权衡。
数据显示,机器人的“横向误差”(即偏离线路的距离)非常小,即使是在复杂的“S”形路径上也经常小于10厘米。机器人的内部增益(即“教练”的设置)随着路径的变化而平滑改变,这证明了机器人不仅仅是在死记硬背某种技巧,而是在学习一种灵活的策略。
这意味着什么
这篇论文表明,我们不需要完美理解每一滴水的物理特性就能制造出优秀的游泳机器人。相反,通过构建一个能够从数学上“从错误中学习”的智能、快速的模拟器,我们可以训练机器人应对混乱的水中现实。作者证明了在计算机模拟中学习到的策略可以直接转移到物理机器人上,使其能够敏捷地游泳并高精度地追踪路径。
虽然目前的机器人只能在平面(2D)上游泳,但这种方法的成功表明,同样的方法最终可以用于教导机器人在三维空间中潜水、翻滚和游泳。这是迈向未来的一步,在那个未来,水下机器人可以像激发它们的鱼类一样,以自然而然的方式在复杂环境中导航、检查管道或探索海洋。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。