这篇文章来源于DevicePlus.com英语网站的翻译稿。

六足机器人是最炫酷的机器人之一,但是通常价格昂贵。原因之一是它们由多个零部件组成,并且使用18个伺服,而这些都需要由某些微控制器来供电和驱动。在本教程中,我将展示如何通过使用3D打印所有零部件并仅使用12个伺服来构建您自己的Arduino六足机器人,或简称为Ardupod。准备好了吗?那让我们开始吧!

硬件

•Arduino UNO (或其他可兼容Arduino的开发板)

•Adafruit 16通道PWM扩展板(或模块;但是,此处强烈建议使用该扩展板,因为它的原型面积很小)

•12个带有金属齿轮的微型伺服(MG90S或其他同等规格产品)

•4.8V或6V电池(镍氢、锂离子等)

•60个M3螺栓+120个螺母和垫圈(仅用于身体,对于其他部件的安装您需要再另外添加)

•6个相同的圆珠笔弹簧

•HC-SR04超声波测距模块(可选)

软件

•Arduino IDE

•SolidWorks或其他3D建模软件

•Github – 您在这里可以找到所有用于打印的 Arduino源代码和3D模型

其他工具

•3D 打印机

•非常建议使用万用表、烙铁和电钻等其他工具

设计

如上所述,本次所设计的六足机器人仅需要12个伺服来移动六条腿。这意味着每条腿只配有两个伺服,具有两个自由度(DOF)。与通常的每条腿有三个伺服相比,这种方法有几个优点。我们将需要更少的功率以及更少的处理时间来驱动伺服。但是,移除一个伺服也意味着我们牺牲了一个自由度,因此在对机器人进行稳定爬行的编程上会更具有挑战性。

为了弥补缺少一个伺服所带来的缺陷,所有腿部都有一个可以将伺服的角运动转换为腿部线性运动的机械系统。您可以在以下动画演示中看到该机制的工作原理。

正如您在视频中所看到的那样,该机制内含一个弹簧。弹簧的作用是对在打印过程中造成的所有误差进行补偿。另外,弹簧还可以提供更强大的支撑力,从而有助于实现更自然的爬行运动。您可以在任何地方获取弹簧。比如,圆珠笔里的小弹簧就可以用在这里,但是您可能需要稍微修剪一下长度。请确保您所获取的弹簧可以压缩,并且足够支撑机器人的重量。此外,在开始打印零部件之前,请确保弹簧适用于打印好的部件 leg_1和 leg_1_seg_1(详情参见 Github )。

组装

接下来,欢迎进入本文中最难的部分:组装腿部。无论是在构建上还是编程上,这都属于相当高阶的一个项目。我们将假设打算制造这台机器人的人对于使用诸如电钻和烙铁之类的设备具有基本的操作技能。

图1:腿部组装概览

图2:腿部组装细节

图3:组装好的腿部

组装腿部时,请始终记得必须在每两个需要上下移动的塑料件之间放置一个垫圈。您可能需要用电钻调整孔的大小,保证螺栓能够自由旋转。同时,请注意每个螺栓需要两个螺母。

图4:连接腿部关节:塑料件(黑色)和金属件(浅灰色)

这对于保持整个支撑系统的正常工作十分重要。组装腿部时,请确保不要将底部螺母拧得太紧,并调整至使塑料部件仍可以自由移动。然后,顶部螺母要尽可能拧到最紧。底部螺母保证了所有部件的自由移动,而顶部螺母保证了所有部件的紧固连接。如果您的螺母拧的过松,那么腿部会变得非常不稳定;如果拧的过紧,将会对伺服带来不必要的负载。对腿部的调整可能要经过几次尝试才能完成。这是本教程中最重要的部分,因此请确保正确完成此步骤。

伺服通过一个小小的“三角臂”来固定在适当位置,这种三角臂通常用于将伺服齿轮轴连接到您想要移动的任何物体上。但是,在这种情况下,三角臂的位置将会被固定,以便当伺服运转时,它也会自行移动,从而使腿部移动。

请确保您使用的是金属齿轮伺服,而不是塑料齿轮伺服!在这种应用中如果使用塑料齿轮,不仅强度比金属的低,而且其齿轮也可能会很快就损坏。

图5:伺服附件细节。确保三角臂固定在适当位置。

伺服支架分为三部分,使其更易于打印。假设零部件是用丙烯晴丁二烯苯乙烯(ABS)打印的,那么可以使用丙酮来稍微溶解ABS,然后将这三部分粘在一起,再使其变干。或者,如果您有条件使用更高质量的3D打印机,也可以一次性打印出整个部件。

图6:伺服支架组装细节

六足机器人的剩余部分就没有那么复杂了:机身身体由两块板组成,我们可以在其上安装所需的所有电子设备、电池和传感器。您可以在打印之前设定好用于安装电子设备的孔,也可以在打印之后再钻孔。所有零部件和打印说明均可在 Github上获取。

图7:组装好的身体:“A”为上板,“B”为底板。您还可以看到安装在伺服上的超声波传感器。

成功!到这里,您已经完成了机器人的组装,完成了本教程中最困难的部分。如果出现了什么问题,请不要担心,再次进行尝试。如有必要,请尝试对打印件进行微调,然后查看是否有效。

接线

到目前为止,这是最简单的部分了,因为我们将使用 Adafruit PWM扩展板来完成大部分工作。我们把扩展板连接到 Arduino,然后把伺服连接到扩展板。如果您使用的模块无法直接连接到 Arduino,只需要将SDA、SCL以及 V+连接到 Arduino相应引脚即可(详细信息请参见下图)。

您可能已经注意到了,这里有一个放置电容器的位置,但是却没有电容器。不用担心,这是有意为之!当许多伺服同时运转时,电流峰值将达到几安培。电容器将用来消除这些尖峰。您可能需要这种电容器来确保所有伺服的电源稳定。对于这种目的,使用电解电容器是最合适的,但是对电容值的选择更多的是凭借猜测,而不是确切的科学计算。通常来说,电容值越大越好。电容器的电压应略高于电池电压,因此,如果使用6V电池为所有伺服供电,那么6.3V 4700µF应该可以满足需求。

图8:接线图

在扩展板上,您还会注意到有一个单独的电源端子。那是因为 Arduino本身无法提供足够的电流来一次运行一个以上或两个以上的伺服,需要将电池连接到此端子以及 Arduino电源输入端(VIN和GND引脚)。

就是这样,基本的接线已经完成!如果需要,您还可以添加更多模块和传感器,例如超声波测距仪。

图9:接线细节:建议将所有连接到同一条腿上的伺服的电缆困扎在一起。这样,您将就知道哪条电缆通向哪个伺服。而且,这样看起来也会比一团缠结的线缆更美观一些。

图10:带有 HC-SR04超声波传感器的接线图

在本教程中,我将添加一个超声波传感器,以使机器人能够在附近有障碍物的情况下移动。我之所以选择 HC-SR04,是因为它们非常便宜,并且易于与 Arduino一起使用。而且,这种特定传感器的形状类似于眼睛,您可以借此来分辨出机器人在看什么!

我将传感器安装在一个额外的伺服上(有关安装细节请参见图7)。对该传感器进行接线也非常简单,只是请注意不要将VCC引脚直接连接到电池上!如果您使用的是6V电池,这样连接可能会损坏传感器。将VCC引脚连接到 Arduino 5V输出端,并将GND连接到GND。您可以将TRIG和ECHO引脚连接到剩下的任何数字引脚上,但要记得在代码中对它们进行适当设置。我将它们连接到引脚3(TRIG)和引脚2(ECHO)上,因为我想在需要串行端口的情况下保持引脚0和1断开。

结论

现在,您应该已经完成了所有硬件的组装。接通电源之前,强烈建议您对所建立的每个连接进行测试和确认。

希望您到目前为止没有遇到很棘手的问题。如果您对该设计有任何改进的建议,请在 Github上与我交流!请继续关注本项目的第二部分,我们将进入到下一阶段,进一步研究分析逆动力学,并且对这个神奇的 Arduino六角机器人(或者Ardupod )进行编程。

接下来您将看到的是 ArduPod一次伸展所有腿部!

Jan Gromes

Jan目前在布尔诺工业大学学习电气工程。他在基于Arduino或其他微控制器创建项目方面有多年经验,并且对机器人系统的机械设计领域有浓厚兴趣。

arduino和轮毂电机接线_Arduino六足机器人第一部分—机制与接线相关推荐

  1. 六足机器人的实现原理

    缘由: 在自然界和人类社会中存在一些人类无法到达的地方和可能危及人类生命的特殊场合.如行星表面.灾难发生矿井.防灾救援和反恐斗争等,对这些危险环境进行不断地探索和研究,寻求一条解决问题的可行途径成为科 ...

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

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

  3. 12自由度六足机器人实现蓝牙遥控

    1. 功能描述 R111样机是一款拥有12个自由度的串联仿生六足机器人.本文为这个六足机器人增加蓝牙遥控功能,可以通过安卓手机APP对机器人的动作实现遥控. 2. 电子硬件 在这个示例中,我们采用了以 ...

  4. 12自由度六足机器人实现原地舞蹈功能

    1. 功能描述 R111样机是一款拥有12个自由度的串联仿生六足机器人.本文示例所实现的功能为:R111样机12自由度六足机器人原地舞蹈. 2. 结构说明 R111样机(R111b)由6个2自由度连杆 ...

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

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

  6. 白泽六足机器人_arduino_v1——零件准备

    导航在这里:白泽六足机器人_arduino_v1 1.主控板x1 Baize_ServoDriver_esp8266或者Baize_ServoDriver_esp32 如下图左边为 Baize_Ser ...

  7. 白泽六足机器人_arduino_v1——3D打印开源六足机器人程序

    导航在这里:白泽六足机器人_ros_v1 趁着五一帮忙做了一个六足机器人的程序,可以实现前后左右和超声波避障. 图片如下,可以避障,感兴趣的可以去抖音看具体运行视频. 1.打印结构并组装 这个结构在网 ...

  8. 基于SIMULINK的六足机器人仿真

    六足机器人是机电高度集成的仿生系统,它的动态性能由其结构系统与控制系统一起决定.为了提高六足机器人整体的动态性能,对六足机器人进行集成优化设计.描述六足机器人系统的结构:根据六足机器人机构的几何特征, ...

  9. 深度强化学习控制六足机器人移动个人学习笔记(一)

    深度强化学习控制六足机器人移动个人学习笔记(一) 注意事项 ubuntu18对应的ros版本不是Kinect gym算法执行中部分包要求Python不低于3.6 conda虚拟环境安装gym-gaze ...

  10. 基于Simulink的六足机器人运动控制仿真

    基于Simulink的六足机器人运动控制仿真 在机器人领域中,六足机器人是一种具有灵活性和自适应性的移动机器人.它们可以通过多足支撑和多足行走来克服崎岖地形带来的挑战,因此具有广泛的应用前景.在这篇文 ...

最新文章

  1. Active Record
  2. workbench提示工作负载高度不平衡_搞CAE分析的孩子不容易,麻烦您,非线性,请收敛...
  3. varnish 高性能方向代理服务器
  4. 【Linux系统和服务管理】MySQL服务器安装与配置(一)
  5. 博客搬家到 http://fresky.github.io/ - Visual Studio的插件Pdbproj可以把pdb转换成C++项目...
  6. matlab 最大熵谱估计,基于Burg算法的最大熵谱估计
  7. Oracle→数字函数、字符函数、时间函数、SYSDATE、TO_CHAR()、TO_DATE()、TO_NUMBER()、NVLNVL2NULLIF、ROW_NUMBER()
  8. [总结] 本人代表性博客总结
  9. Mysql表设计需要注意的问题
  10. 揭秘!开源软件背后的神秘组织
  11. 5个超实用的自媒体工具
  12. 苹果台式电脑怎么使用计算机,苹果笔记本键盘怎么用_苹果笔记本电脑键盘的使用方法-win7之家...
  13. bluez5.50+pulseaudio实现蓝牙音响音频播放
  14. i7 1165g7和i7 10510u哪个好
  15. 基于Hardhat和Openzeppelin开发可升级合约(二)
  16. 帝国cms网站迁移到新的服务器,帝国cms网站迁移教程
  17. SQL Sever 2014 使用sql sever身份验证登录
  18. 「ROS Kinetic」发布速度消息cmd_vel
  19. [网鼎杯 2020 白虎组]PicDown(精讲)
  20. 摄像头 - 屏幕刷新率(Hz)与帧率(fps)的区别与关系

热门文章

  1. mpush环境部署测试问题:安卓APP闪退
  2. tkmybatis详细教程(一篇就明白)
  3. OSS文件存储方案-阿里云
  4. 有哪些好用的低代码开发平台(2)
  5. 分计算iv值_【美股期權】多高的IV才算高?理解IV percentile
  6. Keil5安装教程(包含C51与MDK共存)WIN10 亲测可用
  7. HTML5浏览器测试网站汇总
  8. ApacheMaven使用技巧
  9. 蓝牙小车换一个蓝牙串口助手就不管用了?
  10. mac电脑用计算机名共享打印机,苹果电脑怎么连接共享打印机_苹果电脑连接共享打印机的具体教程-系统城...