12| 2
|
[项目] 【Arduino 动手做】使用 Arduino 对四足机器人进行编程 |
有腿机器人太棒了! 它们可以比轮式动物更好地处理地形,并以各种动物性的方式移动。然而,这使得有腿机器人更加复杂,并且许多创客更难获得。 让我们让一个四足机器人(也称为四足机器人)行走。我将带您了解一种常见的行走方式(称为步态),并向您展示如何在 Arduino 上对其进行编程。 在 Make: 上阅读杂志上的文章。还没有订阅?今天就买一个。 关于四足动物的一句话 您会发现四足动物在自然界中很丰富,因为四条腿允许被动稳定,或者能够在不主动调整位置的情况下保持站立。机器人也是如此。四足机器人比腿多的机器人更便宜、更简单,但它仍然可以实现稳定性。 被动与主动稳定性 椅子是被动稳定的,因为它不需要任何控制或调整即可保持直立。站立的人是主动稳定的,因为您的身体需要持续的位置控制才能保持站立。 当四足动物用四条腿站立时,它是被动稳定的。走路时,它有选择。它可以在行走时保持被动稳定,方法是将三条腿放在地上,并伸出第四条腿。它还可以放弃被动稳定性并使用主动稳定性来更快地移动(尽管不太平稳)。这两种类型的步行步态称为爬行和小跑。我将向您展示蠕变步态的工作原理。 蠕变步态 蠕变步态是最容易使用的步行步态。机器人将三只脚放在地面上,并将其重心 (CoG) 保持在这三只脚形成的三角形内。如果 CoG 超出这个三角形的时间过长,它就会翻倒(图 A)。 特色照片由 Hep Svadja 拍摄。图表由 Juliann Brown 提供 很简单。问题是如何在行走时保持这种稳定性。图 B 中的模式将为您节省数小时的试验和错误时间(相信我,我知道)。它是一种简单的被动稳定蠕变步态。 Breakdown Down Creep 步态 1. 这是起始位置,两条腿在一侧伸出,另外两条腿向内拉。 2. 右上方的腿抬起并伸出,远远领先于机器人。 3. 所有腿都向后移动,使身体向前移动。 4. 左后腿抬起并随着身体向前迈步。此位置是起始位置的镜像。 5. 左上腿抬起并伸出,远远领先于机器人。 6. 同样,所有腿都向后移动,使身体向前移动。 7. 右后腿抬起并向后迈步进入身体,将我们带回起始位置。 请注意,在任何时候,由地面上的腿形成的三角形都包含 CoG。这就是蠕变步态的本质。 当我们查看这个模式时,我们可以看到它本质上是两组镜像运动。一步、一步、再移位,然后是另一侧的另一个步骤、步骤和移位。 编写代码 步态相当简单 — 但是我们如何将其实际转化为代码呢?首先要做的是确定每个位置腿的特定 x,y 位置(图 C)。 每个边都有自己的 x 轴和 y 轴。我们可以为每条腿的脚指定一个相对于该轴的位置,以毫米为单位。例如,左上角的腿的位置为 (-50,50)。现在我们可以将这些位置应用于蠕变步态的每个阶段。请记住,您想要的具体位置将取决于机器人腿的长度。对于任何任意的四足动物,您需要进行一些测量以找到正确的数字。图 D 是位置的示例。 在每个步骤之间,我们只需要处理上面序列上的绿色箭头所表示的位置变化。那么这如何转化为代码呢?让我们看一下实现它的 Arduino 代码(您也可以将其视为 txt 文件)。 IMG5 出奇的简单,对吧?让我们在图 E 到 K 中进一步分解。 使用这种方法,您的机器人将立即行走。如果您使用伺服电机,则需要首先掌握逆向运动学,这样您就可以将伺服电机角度转换为此处描述的位置。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
【Arduino 动手做】使用 Arduino 对四足机器人进行编程 项目链接:https://makezine.com/article/tec ... ed-arduino-program/ 项目作者:Josh Elijah 项目视频 :https://www.youtube.com/watch?v=kP2yS0RHLXA 项目代码:https://cdn.makezine.com/make/Arduino_Quadruped_Code.txt ![]() |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed