3D打印Arduino驱动的四足机器人





概述和设计流程





这款四足机器人是在 Autodesk 的免费Fusion 360 3D 建模软件中设计的。我首先将伺服电机导入设计中,然后围绕它们构建腿部和身体。我为伺服电机设计了支架,它提供了与伺服电机轴直径相对的第二个枢轴点。电机两端都有双轴,这为设计提供了结构稳定性,并消除了腿部承受负载时可能发生的任何倾斜。连杆设计用于固定轴承,而支架使用螺栓固定轴。一旦使用螺母将连杆安装到轴上,轴承就会在伺服电机轴的另一侧提供一个平滑而坚固的枢轴点。
设计四足机器人的另一个目标是让模型尽可能紧凑,以最大限度地利用伺服电机提供的扭矩。连杆的尺寸是为了实现较大的运动范围,同时最小化总长度。如果连杆太短,支架就会发生碰撞,从而减少运动范围,如果连杆太长,则会对执行器施加不必要的扭矩。最后,我设计了机器人的主体,Arduino 和其他电子元件将安装在该主体上。我还在顶部面板上留了额外的安装点,以使项目可扩展,以便进一步改进。可以添加传感器,如距离传感器、摄像头或其他驱动机构,如机器人夹持器。
注意:零件包含在以下步骤之一中。
所需材料




以下是制作您自己的 Arduino 驱动四足机器人所需的所有组件和零件的列表。所有零件都应该是常见的,并且很容易在当地五金店或网上找到。
电子产品:
Arduino Uno x 1
Towerpro MG995 伺服电机x 12
Arduino 传感器扩展板(我推荐 V5 版本,但我有 V4 版本)
跳线(10 根)
MPU6050 IMU(可选)
超声波传感器(可选)
硬件:
滚珠轴承(8x19x7mm,12 个)
M4 螺母和螺栓
3D 打印机灯丝(如果您没有 3D 打印机,本地工作区应该有 3D 打印机,或者可以以相当便宜的价格在线打印)
压克力板(4mm)
工具
3D 打印机
激光切割机
该项目最大的成本是 12 个伺服电机。我建议选择中档到高档的版本,而不是使用便宜的塑料版本,因为它们容易损坏。不包括工具,该项目的总成本约为 60 美元。
数字化制造部件





该项目所需的部件必须定制设计,因此我们利用数字制造部件和 CAD 的力量来制造它们。除了少数部件是用激光切割的 4 毫米丙烯酸外,大多数部件都是 3D 打印的。打印件采用 PLA 制成,填充率为 40%,周长为 2 个,喷嘴为 0.4 毫米,层高为 0.1 毫米。有些部件确实需要支撑,因为它们具有复杂的形状和悬垂部分,但是,支撑很容易接近,可以使用一些切割器将其移除。您可以选择您喜欢的灯丝颜色。下面您可以找到完整的零件列表和 STL,以打印您自己的版本以及激光切割零件的 2D 设计。
注意:从这里开始,将使用以下列表中的名称来引用各个部件。
3D打印部件:
- 髋部伺服支架 x 2
- 髋部伺服支架镜子 x 2
- 膝部伺服支架 x 2
- 膝部伺服支架镜子 x 2
- 轴承座 x 2
- 轴承支架镜子 x 2
- 腿 x 4
- 伺服喇叭连杆 x 4
- 轴承连杆 x 4
- arduino 支架 x 1
- 距离传感器支架 x 1
- L 型支架 x 4
- 轴承衬套 x 4
- 伺服喇叭垫片 x 24
激光切割部件:
- 舵机支架面板 x 2
- 顶板 x 1
总共有 30 个部件需要 3D 打印(不包括各种垫片),总共有 33 个部件采用数字制造。总打印时间约为 30 小时。
准备链接





您可以通过在开始时设置一些零件来开始组装,这将使最终组装过程更易于管理。您可以从链接开始。要制作轴承链接,请轻轻打磨轴承孔的内表面,然后将轴承推入两端的孔中。确保将轴承推入直到一侧齐平。要构建伺服喇叭链接,请抓住两个圆形伺服喇叭和随附的螺钉。将喇叭放在 3D 打印上并对齐两个孔,接下来通过从 3D 打印侧安装螺钉将喇叭拧到 3D 打印上。我不得不使用一些 3D 打印伺服喇叭垫片,因为提供的螺钉有点长,并且在旋转时会与伺服电机主体相交。构建链接后,您可以开始设置各种支架和托架。
对两种类型的全部 4 个链接重复此操作。
准备伺服支架







要安装膝部伺服支架,只需将 4 毫米螺栓穿过孔并用螺母拧紧即可。这将作为电机的辅助轴。从臀部伺服支架,将两个螺栓穿过两个孔并用另外两个螺母拧紧。接下来,抓住另一个圆形伺服喇叭,并使用喇叭附带的两个螺钉将其连接到支架略微升高的部分。再次建议您使用伺服喇叭垫片,以便螺钉不会突出到伺服的间隙中。最后,抓住轴承支架部件并将轴承推入孔中。您可能需要轻轻打磨内表面以实现良好的贴合。接下来,将轴承推入轴承,使轴承支架件弯曲。
制作支架时请参考上面附上的图片。对其余支架重复此过程。镜像支架类似,只是所有支架都是镜像的。
组装腿部









一旦组装好所有连杆和支架,您就可以开始构建机器人的四条腿。首先使用 4 个 M4 螺栓和螺母将伺服器安装到支架上。确保将伺服器的轴与另一侧的突出螺栓对齐。
接下来,使用伺服喇叭连接件将臀部伺服器与膝盖伺服器连接起来。暂时不要使用螺钉将喇叭固定在伺服电机轴上,因为我们可能需要稍后调整位置。在另一侧,使用螺母将包含两个轴承的轴承连杆安装到突出的螺栓上。
对剩下的三条腿重复这个过程,四足动物的四条腿就准备好了!
组装车身









接下来,我们可以专注于构建机器人的主体。主体装有四个伺服电机,为腿部提供第三个自由度。首先使用 4 个 M4 螺栓和接头将伺服器连接到激光切割的伺服器支架面板上。
注意:确保伺服器安装正确,使轴位于部件外侧,如上图所示。对其余三个伺服电机重复此过程,注意方向。
接下来,使用两个 M4 螺母和螺栓将 L 形支架固定在面板两侧。这件配件可让我们将伺服支架面板牢固地固定在顶部面板上。用另外两个 L 形支架和第二个伺服支架面板重复此过程,以固定第二组伺服电机。
L 支架安装到位后,使用更多 M4 螺母和螺栓将伺服支架面板固定到顶板上。从外螺母和螺栓开始(朝向前后)。中央螺母和螺栓也压住 arduino 支架件。使用四个螺母和螺栓将 arduino 支架从顶部固定到顶板上,并对齐螺栓,使它们也穿过 L 支架孔。请参阅上面附带的图片以了解详情。最后将四个螺母滑入伺服支架面板上的插槽,并使用螺栓将伺服支架面板固定到顶板上。
整合所有










腿部和身体组装完成后,即可开始完成组装过程。使用安装在髋关节伺服支架上的伺服喇叭将四条腿安装到四个伺服器上。最后,使用轴承支架件支撑髋关节支架的对侧轴。将轴穿过轴承并使用螺栓将其固定到位。使用两个 M4 螺母和螺栓将轴承支架固定到顶板上。
这样,四足动物的硬件组装就准备好了。
接线和电路












我决定使用一个为伺服电机提供连接的传感器屏蔽。我建议您使用传感器屏蔽 v5,因为它具有板载外部电源端口。但是,我使用的那个没有这个选项。仔细查看传感器屏蔽,我注意到传感器屏蔽正在从 Arduino 的板载 5v 引脚获取电力(对于高功率伺服电机来说,这是一个糟糕的想法,因为您可能会损坏 Arduino)。解决这个问题的方法是将传感器屏蔽上的 5v 引脚弯曲开来,这样它就不会连接到 Arduino 的 5v 引脚。这样,我们现在可以通过 5v 引脚提供外部电源,而不会损坏 Arduino。
12个伺服电机信号引脚连接如下表所示。
注意: Hip1Servo 指的是附在身体上的伺服器。Hip2Servo 指的是附在腿部上的伺服器。
第 1 段(左前):
- Hip1Servo >> 2
- Hip2Servo >> 3
- 膝关节伺服 >> 4
第 2 站(右前):
- Hip1Servo >> 5
- Hip2Servo >> 6
- 膝关节伺服 >> 7
第 3 站(后左):
- Hip1Servo >> 8
- Hip2Servo >> 9
- 膝关节伺服 >> 10
第四腿(后右):
- Hip1Servo >> 11
- Hip2Servo >> 12
- 膝关节伺服 >> 13
初始设置




在开始编写复杂步态和其他动作的程序之前,我们需要设置每个伺服器的零点。这为机器人提供了一个参考点,机器人可以使用该参考点执行各种动作。
为了避免损坏机器人,您可以移除伺服喇叭连杆。接下来,上传下面附加的代码。此代码将每个伺服器置于 90 度。一旦伺服器达到 90 度位置,您就可以重新连接连杆,使腿部完全笔直,并且连接到身体的伺服器垂直于四足动物的顶部面板。
此时,由于伺服器喇叭的设计,某些关节可能仍不是完全笔直的。解决此问题的方法是调整代码第 4 行上的zeroPositions数组。每个数字代表相应伺服器的零位置(顺序与将伺服器连接到 Arduino 的顺序相同)。稍微调整这些值,直到腿完全笔直。
注意:以下是我使用的值,但这些值可能不适合您:
int zeroPositions[12] = {93, 102, 85, 83, 90, 85, 92, 82, 85, 90, 85, 90};
关于运动学的一些知识





为了使四足动物执行有用的动作,例如跑步、行走和其他运动,需要以运动路径的形式对伺服器进行编程。运动路径是末端执行器(在本例中为脚)行进的路径。有两种方法可以实现这一点:
- 一种方法是将各种电机的关节角度以蛮力的方式输入。这种方法可能很耗时、乏味,而且由于判断完全是视觉的,因此也容易出错。相反,有一种更聪明的方法可以实现所需的结果。
- 第二种方法涉及输入末端执行器的坐标而不是所有关节角度。这就是所谓的逆运动学。用户输入坐标,然后调整关节角度以将末端执行器定位在指定的坐标处。此方法可以被视为一个黑匣子,它以坐标为输入,以关节角度为输出。对于那些对如何开发这个黑匣子的三角方程感兴趣的人,可以查看上图。对于那些不感兴趣的人,方程已经编程,可以使用 pos 函数使用,该函数以 x、y、z(即末端执行器的笛卡尔位置)为输入,并输出与电机相对应的三个角度。
包含这些功能的程序可以在下一步中找到。
对四足动物进行编程

接线和初始化完成后,您可以对机器人进行编程并生成炫酷的运动路径,以便机器人执行有趣的任务。在继续之前,请将附加代码中的第 4 行更改为您在初始化步骤中设置的值。上传程序后,机器人应该开始行走。如果您注意到某些关节是反转的,您只需更改第 5 行方向数组中的相应方向值(如果是 1,则将其更改为 -1,如果是 -1,则将其更改为 1)。
最终结果:实验时间








这个四足机器人的步长从 5 厘米到 2 厘米不等。速度也可以变化,同时保持步态平衡。这个四足机器人提供了一个强大的平台来尝试各种其他步态和其他目标,如跳跃或完成任务。我建议您尝试改变腿部的运动路径来创建自己的步态,并发现各种步态如何影响机器人的性能。我还在机器人顶部留下了多个安装点,用于安装额外的传感器,如用于避障任务的测距传感器或用于在不平坦地形上进行动态步态的 IMU。您还可以尝试在机器人顶部安装一个额外的夹臂,因为机器人非常稳定和坚固,不会轻易翻倒。
希望您喜欢本指导并且它能启发您构建自己的指导。
如果您喜欢该项目,请在“让它动起来竞赛”中投票支持它。
快乐制作!











