串联仿生毛毛虫的制作【内附例程源代码&样机3D文件】
1. 运动功能说明
串联仿生毛毛虫样机是一款纯关节串联的蠕虫形机器人,可以像虫子一样的上下蠕动前进,样子呈波浪状。

2. 结构说明
该样机由5个关节模组串联构成,结构比较单纯。

3. 运动功能实现
本样机只需要让5个舵机按照一定的时序,做出波浪形摆动的动作,即可实现蠕动爬行。
舵机和关节模组的控制方法请参考如何驱动模拟舵机【https://www.robotway.com/h-col-129.html】,以及舵机关节模组【https://www.robotway.com/h-col-121.html】。
3.1 电子硬件
在这个示例中,采用了以下硬件,请大家参考:
Basra主控板(兼容Arduino Uno)、Bigfish2.1扩展板、7.4V锂电池
3.2 编写程序
编程环境:Arduino 1.8.19
(1)实现尾部关节运动(Tail_Swing.ino),代码如下:

此段程序之所以看起来那么复杂,是因为它搭建了一个程序框架,在这个框架中,大家可以通过改变参数,来决定哪个舵机运动,以及怎么运动,不需要重写整个程序。
(2)编写并烧录以下程序,它可以让毛毛虫全身的关节一起运动(Body_Swing.ino),代码如下:

烧录后,打开Serial Monitor,输入up,down,turnTime的值,可直接改变全部关节的运动参数,例如,输入50,100,2000。

关节的运动状态会实时发生变化。其中50代表摆动的起始角度50°,100代表摆动的终止角度100°,2000代表运动持续时间是2000毫秒。
(2) 上一例程中,机器毛毛虫相邻关节的运动相位差为180°,根据样机的运动姿态分析,各个关节的运动相位差为90°左右的时候运动效应该比较好。
将相邻关节的运动相位差调整为90°(Worm_Go.ino),代码如下:

烧录后,打开Serial Monitor,输入up,down,turnTime的值,并实时观察运动变化。你可以通过这种方法调整机器人的运动姿态,直至对爬行效果满意为止。
4. 扩展样机
本样机没有设计左右摆动的结构,因此不能左右转向,有兴趣的朋友可以尝试为其加上左右摆动的结构,让它的运动方式更加丰富。
5. 资料内容
① 样机3D文件
② 例程源代码
资料内容下载链接 https://www.robotway.com/h-col-149.html