12浏览
查看: 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 对四足机器人进行编程图3

【Arduino 动手做】使用 Arduino 对四足机器人进行编程图2

【Arduino 动手做】使用 Arduino 对四足机器人进行编程图1

【Arduino 动手做】使用 Arduino 对四足机器人进行编程图4

【Arduino 动手做】使用 Arduino 对四足机器人进行编程图5

【Arduino 动手做】使用 Arduino 对四足机器人进行编程图6

【Arduino 动手做】使用 Arduino 对四足机器人进行编程图7

【Arduino 动手做】使用 Arduino 对四足机器人进行编程图8

驴友花雕  中级技神
 楼主|

发表于 4 小时前

【Arduino 动手做】使用 Arduino 对四足机器人进行编程

【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

【Arduino 动手做】使用 Arduino 对四足机器人进行编程图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 4 小时前

【Arduino 动手做】使用 Arduino 对四足机器人进行编程

【Arduino 动手做】使用 Arduino 对四足机器人进行编程图1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail