示例项目:简单的六足步行者

查看原文

在多个页面上查看文档。
您还可以以可打印 PDF 格式查看此文档。

  • 1. 引言
  • 2. 材料和工具
  • 3. 施工
  • 4. 六足动物步态测序
  • 5. 使用脚本进行避障
  • 6. 建议的修改和改进
  • 7. 结论和社区

1. 引言

六足运动是一种简单,强大的步行系统,在动物王国和机器人爱好者中都非常受欢迎。机器人六足动物的范围从简单的单电机玩具到具有18个或更多伺服器的高级平台。本教程向您展示如何使用三个伺服器构建一个非常简单的自主六足机器人。2“高的六脚架能够向前和向后行走,并且可以左右转动。两个前视距离传感器提供避障功能。六足动物的大脑是Pololu Micro Maestro,这是一个6伺服控制器,可以在存储的脚本中读取输入并播放运动序列。

有关微型大师的完整文档,请参阅《微型大师用户指南》。

2. 材料和工具


建造六足动物所需的零件。注:新版本的电池使用 Maestro 随附的接头,而不是所示的特殊连接器。

零件清单:

数量 部件号 部分 笔记
1 1351 波罗鲁微型大师部分套件 获取套件版本,以便您可以焊接自己的电线,以获得最紧凑的机器人。
3 1053 亚微舵机 3.7g 通用 这些通用舵机提供尽可能低的成本和重量,但您可以替换其他舵机,例如Power HD亚微舵机HD-1440A,来定制设计。
2 1134 波罗鲁载体与夏普GP2Y0D810Z0F数字距离传感器10厘米 这是一个微小的距离传感器,具有足够长的范围,可以使您的六足动物免受麻烦。
1 2251 电池组: 4.8 V, 200 毫安时 该电池组将在大约5 V时提供足够的功率,为六脚架供电五到十分钟。
3 “巨型”回形针 用于形成六足动物的腿。展开时,这些应为6英寸长。

所需工具:

  • 烙铁和焊料
  • 热胶枪
  • 剥线钳
  • 长鼻钳
  • 对角切割机
  • 用于连接零件的一些电线

这些部件中的大多数都可以在Pololu网站的“工具”部分找到。热胶枪在大多数工艺品商店都可以买到,只需几美元。

3. 施工

步骤 1:将公接头作为电池连接器连接。

找到 Maestro 随附的 1×10 件 0.1 英寸公头。掰开一个 1×2 件,并将其焊接到 BAT 和 GND 引脚上,如图所示。请注意,连接器未极化,因此必须注意始终将线连接到地,并将红色导线连接到BAT插入电池。

图中所示的连接器来自旧版本的电池。新的看起来会有所不同,但黑色和红色的电线仍然应该连接到Maestro上的相同引脚。

将电源连接器焊接到微型 Maestro。

步骤2:设置Maestro的自力。

断开电池连接后,将一根电线(红色)从公接头的正极连接到VIN。注意不要短路或损坏主板上的任何组件。现在,插入电池后,您的Maestro应该通电并慢慢闪烁其黄色LED,表示它正在等待检测串行通信的波特率。您不会对此项目使用串行通信,因此您需要在下一步中禁用波特率检测。

图中所示的连接器来自旧版本的电池。由于您将使用完全覆盖电路板上孔的公针座,因此请焊接到针座引脚的裸露部分。

微型 Maestro 上的自供电和电池连接器。

步骤 3:验证 Maestro 和伺服器是否正常工作。

步骤4:通过将舵机粘合在一起来构造主体。

使用对角线刀具从所有三个伺服器上卸下安装卡舌。此项目不需要选项卡,并且可能会干扰伺服器的运动。

接下来,用几滴热胶连接伺服器,如下所示。您不需要太多的胶水即可牢固地固定它们!尝试精确对齐角,以形成用于安装其他零件的平坦表面。

尝试对齐角。

夹住伺服电缆,留下至少2“(如果您焊接经验不足,则更多)。从每根电缆的末端剥离少量电线。

切割并剥离伺服引线,留下约2“线。

步骤5:将伺服器和传感器焊接到微型Maestro上。

这一步需要耐心和关怀。第二双手可能非常有用。

使用焊料对伺服器的引线进行镀锡,以便它们最初可以连接而无需额外的焊料。看看下面的图片作为参考,将Maestro放在身体的背面,并将中间的电线放在Maestro的前面,并放入通道1的孔中。将导线保持在这些孔中,将Maestro从主体上拉开,然后将烙铁接触到每个连接处,以使导线上的少量焊料熔化并将它们固定到位。您现在应该能够为每个连接添加更多焊料,直到孔被填满并且电线被牢固地固定。仔细检查是否有松动的电线,这可能会导致短路。

继续,将右舵机焊接到通道 0,将左舵机焊接到通道 2,以便舵机排列在与端口相同的相对位置。

将舵机连接到微型 Maestro 上的端口 0、1 和 2。

带微调载板的数字测距传感器。

使用旋转工具、砂轮、对角切割器或珠宝商锯切割传感器板,移除包含不需要的安装孔的零件,使其尽可能小。(确保不要剪切任何痕迹。然后将它们焊接到电缆上,以便将它们连接到Maestro。下面的示例使用 4 线带状电缆,共享两个传感器的电源和接地连接。带状电缆使组件相对干净,但您可以使用任何可用的电线。在说明中向前看,看看传感器将去哪里,并确保你有足够长的电缆。考虑如何使电线靠近身体,远离腿部和伺服器。

将传感器焊接到四针电缆上。

将传感器电源和地焊接至Maestro上的+5V和地,并将左右传感器的输出分别连接到通道3和4。请注意,我们使用+5V而不是电池电压,因此Maestro通道永远不会看到更高的电压 - 另一个好处是传感器将在USB电源下工作,而无需插入电池。

将传感器电缆焊接到 Maestro 上。

现在,您拥有了完整的电气组件。插入电池,传感器应变为活动状态,每当检测到10厘米以内的物体时,就会打开红色LED。使用 Maestro 控制中心,您应该能够看到输入值从 255(当不存在对象时)更改为 40 左右(当检测到对象时)的变化。如果 LED 始终亮起,则可能忘记在步骤 3 中将端口设置为输入。

第6步:构建腿部。

将回形针展开成直线。钳子在金属中会产生丑陋的凹痕,因此请尝试使用手指和桌子的边缘来执行此操作。

尽可能拉直回形针。

电线应为六英寸长。要制作前腿和后腿,请将其中的两个折叠成1.5英寸的部分,两个部分之间的角度为90°,如下所示:

六足动物的前腿和后腿。末端的段长度应为 1.5”。

将第三块折叠成M形,部分长度为1.25“,1.75”,1.75“和1.25”,如下所示:

六足动物的中间腿。末端的段长度应为 1.25”。

将支腿热粘在伺服喇叭上。中腿使用直角,前腿和后腿使用十字形或圆形角。

将六脚架支腿粘在伺服喇叭上。

连接电池电源后,使舵机保持其空档位置,将喇叭放在舵机上,使腿尽可能靠近空档位置,如图所示。用随附的螺钉将它们固定到位,在拧紧支腿时握住支腿,以免将扭矩施加到脆弱的伺服齿轮上。将 Maestro 粘合到舵机的背面,与底部齐平。

将支腿和 Maestro 连接到伺服器。

**重要:**切勿用手将扭矩施加到腿部,试图阻止它们移动或反向驱动它们。伺服齿轮很容易被打破,所以它们应该只在自己的动力下移动。使用 Maestro 控制中心试验不同的位置,而不是强制使用伺服器。

步骤7:连接电池和传感器。

将电池粘在六脚架的前部,与底部齐平,以便有尽可能多的间隙。确保中间的腿有足够的空间向左和向右转动,而不会碰到电池。将传感器粘在电池的顶部,向左和向右倾斜。

组装好的六脚架,前视图。

请注意,布线确实会干扰中间腿的运动。您可能希望以不同的方式路由您的路由。根据需要使用小滴热胶将电线固定到位。

组装好的六脚架,顶视图。

第8步:最后的润色。

使用 Maestro 控制中心查找中性位置(支腿尽可能对称地排列)及其安全最小值和最大值。将中性位置设置为每个伺服器的“转到”值,并设置最小值和最大值,以便六脚架永远不会自我破坏。调整导线的角度,使所有六只脚都以中性位置接触地面,可能是通过将前后腿弯曲到90°以上。


组装好的六脚架,侧视图。

您可能想要做的最后一件可选的事情是在每只脚上添加一点热胶水,这样金属就不太可能划伤您的工作台面。您的六脚架现在已准备好进行编程!

4. 六足动物步态测序

步态

现在你已经建造了你的六足动物,是时候让它走路了。用腿向前行走的方法称为步态,具有许多自由度的动物或机器人具有多种可用的步态 - 人类可以走路,奔跑,跳跃或跳跃;马可以走路,小跑,坎特,或疾驰,等等。你的六足动物是如此简单,以至于它只有一种可能的向前运动的步态,称为三脚架步态

在三脚架步态中,您的六脚架始终有三只脚与地面接触:一侧的前后腿和中间腿另一侧。中间舵机的角度决定了哪一边向上,哪一边向下。它通过将这些脚向后推到地面上来实现向前运动,而另一只脚在空中向前移动。然后,六足动物将其重量转移到其他三英尺上,并以相同的方式向前移动。通过使用中间的腿不断移动其重量,然后将抬起的脚向前移动,它向前走。

与大师控制中心一起前进

您可以使用 Maestro 控制中心的音序器功能轻松组装运动序列。有关定序器的文档,请参阅《微型 Maestro 用户指南》第 4.c 节。

使用 Maestro 控制中心“状态”选项卡上的控件将六脚架移动到这四个位置中的每一个位置,在每个位置之后按“保存帧”按钮,以保存序列。

| 框架0 右前后,左中腿接触地面 |
|
|
| :-----------------------------------: | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 框架 1 向下的腿向后移动,前腿向前移动 | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yOEnxfLk-1657001558632)(https://a.pololu-files.com/picture/0J2124.220.jpg?dfd0a2ed1171f439c8611155e0d1365c)] | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-68QjpFXa-1657001558632)(https://a.pololu-files.com/picture/0J2120.200.jpg?78703a6c63ead246330318731d6abbe8)] |
| 机架 2 重量转移到另一个三脚架 | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K5tnQUm7-1657001558633)(https://a.pololu-files.com/picture/0J2125.220.jpg?bc0742dee89f1c0a71a8340e4f1baddd)] | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ai9QoNKa-1657001558633)(https://a.pololu-files.com/picture/0J2121.200.jpg?e2a54bbc73492672c1e6d1fa80040cd7)] |
| 框架 3 向下腿向后移动,前腿向前移动 | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aj5xtgUe-1657001558633)(https://a.pololu-files.com/picture/0J2122.220.jpg?4401a4d78dcd5bbd45be504f095e6fa2)] | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nTn1BCjy-1657001558634)(https://a.pololu-files.com/picture/0J2118.200.jpg?d5cc6550d080ad7d3da449ea54b5a912)] |

在 Maestro 控制中心的屏幕截图中,您可以看到伺服器始终处于其最小值或最大值,您应将其配置为不会导致伺服器应变的安全值。您的数字可能与此处显示的数字略有不同。如果您以不同的配置组装了伺服器或将它们连接到不同的端口,那么当然,每个框架都会有不同的设置。

在“序列”选项卡上,您现在应该保存了四个帧。选择“循环播放”并播放序列以查看您的六足行走。将序列重命名为“前进”,然后再继续。

自主前进

单击“将序列复制到脚本”按钮,将您的序列转换为可保存在 Maestro 上的脚本。如果您在“脚本”选项卡上选择“启动时运行脚本”选项并应用设置,则您的六足动物将自动开始行走。您现在可以将其与USB断开连接,并允许它自行行走。

重新连接USB并单击“停止脚本”或禁用“启动时运行脚本”选项以使其停止行走。

向后和转向步态

在状态选项卡上,从第 0 帧重新开始,但反向遍历一系列运动以向后行走:第 0 帧、第 3 帧、第 2 帧,然后是第 1 帧。将此序列保存为“向后”,并测试它是否向后移动六足动物。

车削则不同。要创建转弯序列,您需要将所有前腿和后腿一起向前或向后移动,而不是将两侧向相反的方向移动。尝试一下,并保存另外两个序列:“右”和“左”,验证它们是否将六足动物左右转动。

您现在可以对六足动物进行编程以避免障碍物。

5. 使用脚本进行避障

Micro Maestro具有内部脚本语言,可以存储序列,读取传感器,并将所有内容链接在一起以形成智能行为,使您的六足动物真正自主。有关脚本语言的完整文档,请参阅《微型大师用户指南》的第 6 节。

设置完所有基本步态后,请擦除脚本,然后单击“序列”选项卡上的“将所有序列复制到脚本”按钮。此按钮添加了一组子行程,您可以使用这些子轮次级从脚本中访问各种步态。

然后,您可以从脚本中调用这些子例程。例如

【】?


将导致六足动物反复向前迈步,然后向左,一遍又一遍地转动。您可能需要考虑传感器读数,可以使用GET_POSITION命令访问这些读数。下面是一个非常简单的程序示例,该程序使用传感器读数来尝试避开对象 - 自定义它以获得您想要的行为!

?

6. 建议的修改和改进

以下是一些可以对六足设计进行改进或修改的想法:

  • 更复杂的脚本行为 – 帮助您的六足动物更可靠地摆脱卡住的情况。
  • 更强大的传感器读数。示例代码在每个序列后只读取传感器一次 - 你能做得更好,并更快地检测障碍物吗?
  • 替代伺服系统 - 整个设计可以放大。
  • 电源开关,因此不必一遍又一遍地拔下电池。
  • 升压调节,通过更紧凑的(锂?)电池实现一致的功率。
  • 用于线路跟踪或表边缘检测的 QTR 传感器。
  • 用于寻光或避暗行为的光传感器。

7. 结论和社区

Micro Maestro可以充当一个简单的六足机器人的大脑。Maestro的六个通道中有三个用于伺服器,因此有三个通道可用于传感器,例如距离传感器,六脚架可以使用它们来对环境做出反应。Maestro的脚本功能允许将简单的行为和运动序列编程到设备上,使六足动物自主。

你有没有设法建造六足动物或类似的东西?请加入我们的机器人论坛,提出问题,提供反馈或分享您的项目。我们很想听听您的经验,我们很高兴看到您所做的任何改进或更改!

示例项目:简单的六足步行者相关推荐

  1. 12自由度六足机器人实现步态规划功能

    1. 运动功能描述 R111样机是一款拥有12个自由度的串联仿生六足机器人.本文示例实现12自由度六足机器人的行走功能,包括前进.后退.左转.右转. 2. 结构说明 R111样机由六个2自由度串联结构 ...

  2. DIY六足仿生机器人,了解一下?

    摘要:经过大一那次失败之后,我决定暂时停止该项目的开发,转而先去学习那些有关嵌入式开发的基础知识,等以后有能力的时候再去独立完成这个六足机器人.很幸运的是在我大学本科即将结束的时候,我已掌握了足够的知 ...

  3. 基于单片机的六足机器人控制系统设计【100010379】

    基于单片机的六足机器人控制系统设计 Design of Six-legged Robot Control System Based on Single Chip Microcomputer 摘 要 本 ...

  4. 六足蜘蛛机器人+哈尔的移动城堡,一个神奇组合的设计制作!

    在大二的暑假里,我花了两个月的时间做了一个哈尔的移动城堡,这个移动城堡由一个六足机器人底盘和一个城堡的纸模组成,整个项目的成本控制在1000块左右,我们先来看看成品吧.           一.六足机 ...

  5. STM32毕业设计——基于STM32+JAVA+Android的六足机器人控制系统设计与实现(毕业论文+程序源码)——六足机器人控制系统

    基于STM32+JAVA+Android的六足机器人控制系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于STM32+JAVA+Android的六足机器人控制系统设计与实现,文章末尾附有 ...

  6. 【毕设】六足机器人的设计

    苍天下的蓝耀__[毕设]六足机器人的设计 序 这个项目是我本科毕业设计作品,可实现功能有常规控制(前后左右移动.左右自旋).保持自平衡.三档变速及自主避障功能,历时三个月在家独立完成.应各位的请求写一 ...

  7. 干货|手把手教你自制六足仿生机器人

    摘要:经过大一那次失败之后,我决定暂时停止该项目的开发,转而先去学习那些有关嵌入式开发的基础知识,等以后有能力的时候再去独立完成这个六足机器人.很幸运的是在我大学本科即将结束的时候,我已掌握了足够的知 ...

  8. 六足仿蝎机器人的设计

    这项目是参加第十届机械创新设计大赛的作品,围绕"自然-和谐"的主题,对自然界动物蝎子进行仿生设计.将仿生学与机械相结合,根据生物界蝎子的生理结构和行为举止,设计了一种能够运用六足稳 ...

  9. ASP.NET Core 项目简单实现身份验证及鉴权

    环境 VS 2017 ASP.NET Core 2.2 目标 以相对简单优雅的方式实现用户身份验证和鉴权,解决以下两个问题: 无状态的身份验证服务,使用请求头附加访问令牌,几乎适用于手机.网页.桌面应 ...

  10. 使用aws跑深度学习_RNN示例项目从开发到部署(三):在AWS上部署深度学习模型...

    虽然我很喜欢为自己建立数据科学和编程项目,但我同样乐于与世界上的任何人在线分享它.幸好,我们以使用AWS(Amazon Web Services),这样我们可以在几分钟内免费将Python Web应用 ...

最新文章

  1. PHP命令行代码更新不及时,PHP脚本从命令行工作,而不是从cron
  2. ClickHouse系列教程二:使用航班飞行数据
  3. “一碗牛肉面”引发的管理难题
  4. apache-spark导入eclipse环境
  5. 关于获取客户端Mac地址
  6. JS权威指南笔记之数据类型
  7. 沙龙报名 | 数据库技术探索及行业应用
  8. 家用电脑配置_家用电脑无需太高配置,不要听电脑店瞎忽悠,2500元机子够用了!...
  9. awk收不到数据的问题
  10. Windows编程中各种操作文件的方法
  11. ObjC学习11-复制对象与归档
  12. java虚拟机学习笔记(五)---运行时的数据区域
  13. LayaAir graphics 矢量绘图之 圆形与扇形
  14. spring 注入 list和map及enum映射
  15. Allwinner Tina Linux 如何打开ssh远程登录支持
  16. 网页打开速度慢,如何解决(修改DNS)
  17. 【论文翻译】PLOP: Learning without Forgetting for Continual Semantic Segmentation
  18. android studio 电量分析,使用 Batterystats 和 Battery Historian 分析电池用量
  19. 【正则表达式】从字符串中提取数字
  20. 金海佳学C++primer 练习9.14

热门文章

  1. Oracle Exadata一体机简介
  2. 如何使用(稿定)设计软件无水印
  3. 程序员必会10种算法
  4. WGS84地球坐标系,GCJ02火星坐标系,BD09百度坐标系简介与转换
  5. ssr提示服务器名无效_免费领取腾讯云服务器附带新手配置步骤(搭建网站)
  6. Leetcode题解助手
  7. 信息与计算机课件,第一章 信息技术与计算机ppt课件.ppt
  8. 2018.9.8-9.8 统计学课程笔记(1)-从概率论到统计学
  9. 装系统比较好用的PE工具推荐
  10. 物流项目介绍示范 有用