在大二的暑假里,我花了两个月的时间做了一个哈尔的移动城堡,这个移动城堡由一个六足机器人底盘和一个城堡的纸模组成,整个项目的成本控制在1000块左右,我们先来看看成品吧。
对于底盘的整体设计,我采用的是圆周分布,即六条腿分布在圆的内接六边形上。之所以这么选择,是因为我后续还打算进行一些动力学建模、越障分析,规则的圆周分布较易实现,也有较多的论文资料供我学习参考。
因为是在家里完成的,加工不方便,所以我尽量利用现成的零件完成设计,最后采用了这种足式机器人的专用件。
此外,需要我独立设计的零件只有上下底板和小腿支架,这几个零件设计好后,把设计图发给某宝上的商家代加工就行,也是很方便的。
最后我用 SolidWorks 完成了六足机器人的结构设计,装配体是这样的。
也放张装配时用到的材料的照片。
因为成本十分有限,所以最终的选型结果只剩下下面两款性价比较高的舵机了,分别是 MG995 和 MG90S。MG995 是 55g 的大舵机,MG90S 是14g 的小舵机。
最终我选择了 MG995,为什么呢?因为 MG995 的扭矩和尺寸较大,最后做出来的机器人负重能力和尺寸会较大,有利于我后期的迭代升级,方便我添加更多的设备,并进行越障能力的实测分析。
电路的连接还是比较简单的,所以这部分我只给出我的物料清单。
清单里面最重要的就是舵机控制器和电池的选择,其它都可以根据创作者的作品要求按需选择。
六足机器人采用的步态是“三角步态”,“三角步态”简单来说就是以三只脚为一组(左前、左后、右中为一组;右前、右后、左中为一组),当一组脚抬起来时,另一组放下作为支撑。六足机器人的步态差不多是六足技术含量最高的部分了,大家有兴趣深入的话可以查阅相关论文资料,这里就不详细叙述。
对步态进行编程,可以采用舵机控制板配套的上位机,它的界面是这样的。
通过这个软件,可以方便地设置每一个舵机的转动,并设计动作组(动作组可以理解为为实现一个目的,比如说前进一步,而设计的舵机的一些列动作的组合)。编写完动作组后可以将其下载到舵机控制板上,再通过程序调用。我目前只实现了最基础的功能,通过手机蓝牙控制,使机器人实现站立、前后左右行进的动作。下面贴上 Arduino 的代码。
#include
LobotServoController myse;
int i;
void setup()
{
pinMode(13,OUTPUT);
Serial.begin(9600);
while(!Serial);
digitalWrite(13,HIGH);
}
void loop()
{
if( Serial.available()>0 )
{
i = Serial.read();
switch(i)
{
case'0':
{
myse.runActionGroup(0,1); //运行0号动作组一次,0号动作组为站立
delay(10);
break;
}
case'1':
{
myse.runActionGroup(1,1); //运行1号动作组一次,1号动作组为前进
delay(10);
break;
}
case'2':
{
myse.runActionGroup(2,1); //运行2号动作组一次,2号动作组为后退
delay(10);
break;
}
case'3':
{
myse.runActionGroup(3,1); //运行3号动作组一次,3号动作组为左转
delay(10);
break;
}
case'4':
{
myse.runActionGroup(4,1); //运行4号动作组一次,4号动作组为右转
delay(10);
break;
}
case'5':
{
myse.stopActionGroup(); //停止动作组运行
delay(10);
break;
}
}
}
}
程序用了舵机控制板提供的库函数,所以整段程序非常简单。
城堡最开始我其实是想要 3D 打印的,但是 3D 打印的话,后期还要上色,这有点麻烦。然后有一天我在某宝上百无聊赖地搜索时,看到了这个
原来哈尔的移动城堡还有纸模?纸模质量轻、而且又不用后期上色,简直是完美方案,那就选用这个吧。做好后的效果是这样的
为了方便安装和拆卸,城堡纸模和六足底盘采用的是魔术贴连接固定,把他们组装起来后,就是一开始照片的模样了。
想看最终运行视频的话请点击下面的链接。
https://www.bilibili.com/video/av64897985?from=search&seid=7617299682517278991