如何利用视觉运动学原理让机器人狗行走
扫描二维码
随时随地手机看文章
机器人运动学变成了一个充满乐趣的视觉实验场:我通过使用“小狗板”(PuppyPi)来实时观察并调整机器人的行走、小跑和攀爬动作,从而掌握了动态步态的要领!
我一直对机器人的行走方式充满好奇,但逆向运动学和步态规划却感觉像是抽象的数学知识——直到我接触到了 Hiwonder PuppyPi 项目。这个项目旨在打破这些障碍。我不仅为机器人编写了程序;我还实时地对它的行走步态进行了可视化设计和调整,将复杂的理论转化为我可以直接看到、触摸和调试的东西。以下是我是如何使用 PuppyPi 让机器狗行走、小跑甚至攀爬的,我只需拖动滑块并进行可视化操作就能实现这一切。
项目目标:为何这并非一个“黑匣子”
我的目标是超越仅仅成为一名“程序员”,而要成为一名“活动设计师”。我想要:
通过视觉方式控制逆运动学(IK),从而能够直观地创建姿势和动作。
•通过调整实际参数来理解和优化仿生步态(行走、小跑),而不仅仅是调用预先编好的函数。
•通过结合步态规划和逆向运动学原理,可以解决诸如爬台阶这类实际的物理难题。
“小狗派”非常适合这项任务,因为它是一个开放式的平台:其搭载的树莓派 5 芯片、ROS 支持以及 8 个智能舵机提供了计算和物理方面的工具,而其软件则使复杂的数学运算变得易于操作。
免费下载“小狗派”教程,您还能获取所有电路图、源代码、视频教程以及各种实验案例等。
硬件部分:一个反应灵敏的机器人躯体
在摇晃的平台上,你无法调整动态步态。而 PuppyPi 的硬件设计旨在提供即时反馈:
•连杆腿设计:这并非仅仅是为了美观。四连杆系统能提供更宽广、更自然的活动范围。它将伺服旋转直接转化为高效的腿部运动,这是实现稳定步态的基础。
•带反馈的无核心伺服系统:这是关键所在。与普通伺服系统不同,这类系统会报告其位置并将其反馈回控制器。这种闭环反馈机制使得能够实现实时调整和保持稳定姿态。
•轻质铝制框架:减小的惯性使得机器人能够迅速启动和停止动作,从而在桌面环境中实现步态的平稳转换并具有良好的响应性。
软件工具包:奇迹诞生之地
真正的突破在于这套软件系统。它将抽象的坐标转化为鲜活的动态画面。
1. 视觉逆向运动学控制:这是我开始的起点。该软件提供了一个三维空间,您只需将一只脚拖拽至新的位置即可。逆向运动学求解器会立即计算出所有必要的关节角度(髋关节、膝关节)并移动腿部。我从零开始,在几分钟内就设计出了“弓形”和“波浪形”的姿势——无需任何数学运算。
2. 实时步态参数调整:这是实验的核心部分。该软件展示了行走引擎的关键控制要素:
•步幅高度与长度:控制双脚抬升的高度以及伸展的幅度。
•步态周期:整个步态动作序列的完成速度。
•步态系数:表示一只脚着地时间与在空中时间的百分比。在狗狗行走时调整这一参数,能让你直观地看到其效果。提高踏板高度和循环频率,平稳的行走(三只脚始终着地)就会转变为跳跃式的快步(双腿交叉同步移动)。
实验内容:让其向上爬一步
了解这些工具只是第一步;将它们组合起来使用才会带来乐趣。我设定了一个经典的挑战:自主完成踩踏低台阶的动作。
步骤 1:为保持稳定而规划步态。我让机器人保持缓慢且稳定的步行步态。这样在向障碍物移动的过程中就能保证有三个接触点来维持平衡。
步骤 2:精确脚部位置的骨骼动力学控制。当前腿到达台阶时,我没有计算角度。而是利用可视化的骨骼动力学工具将脚部目标位置拖拽到台阶表面。骨骼动力学求解器处理了复杂的轨迹,将腿抬起并精确放置到位。
步骤3:动态姿势调整。为了在攀爬时将重心向前转移,我通过“身体姿势”控制装置,在行走时略微将躯干向前倾斜。这种实时调整确保了重心始终位于支撑腿之上。
步骤4:重复并迭代。我再次对后腿的操作流程进行了尝试,观察身体姿势和步态节奏如何相互协调。经过几次迭代后,小狗机器人成功平稳地爬上了台阶。
挑战、调试与关键经验教训
1. 挑战:步伐转换时出现踉跄。起初,在行进途中从“步行”状态转换到“快步”状态时会引发踉跄,这是因为时机把握不当所致。
修正:我利用软件中的步态相位图来直观展示每条腿的状态。我为每条腿调整了“偏移”参数,以确保过渡过程的流畅性,并亲身体验到了不同腿部之间的协调配合。
2. 挑战:IK“奇异点”姿势。有时,如果一只脚在身体下方伸展得太远,就会导致一种不流畅的动作——这就是典型的 IK 奇异点现象。
解决方法:该软件设定了关节角度的限制范围。我学会了在这些可视界限内操作,这让我比阅读任何教科书都更能了解机器人可行的姿态。
3. 关键收获:最稳定的步态是由小幅度、逐步的调整所形成的。一次性改变多个参数会导致难以理解其因果关系。实际操作的过程培养了对动态平衡的直观感受。
结论
该项目证明,PuppyPi 不仅仅是一个预先组装好的机器人,它更是一个实践性的运动学实验室。通过将逆运动学和步态参数可视化并使其可调节,它将机器人领域中最难的课题转化为一种触觉的、实验性的过程。
本文编译自hackster.io





