一 研究目的
人类对于外太空探险的欲望从未间断过,因此,如何在不危害人类生命的前提下,挑选先遣部队之探险员,值得深思。近年来有相当多的探讨两足至多足机器人的在外太空的应用,过去两足机器人多为转型机械系统,其运动局限于二维平面,无法克服许多山区崎岖的地形。六足机器人具有跨障能力,可以克服崎岖的地形,且机器人比人类更能承受苛刻的工作环境,因此可以运用在许多危险的工作,例如火山的研究或其他星球的探测等。
在国外已由很多学者深入探讨过可移动式机器人的设计与改进。一般的移动式机器人的移动方式可分为轮形、足形。在足形移动式方面有分为两足、四足、六足和多足机器人,另外还有蛇形移动机器人。
无论在静止或行走,六足机器人的移动较具灵活性变化,但其步行控制需要有良好的控制与规划,六足机器人较不受地形限制,可四处移动是探索未知环境的一项利器,更是良好的研究题材。
二 系统总体方案
六足仿生机器人分为机器人模块和无线遥控模块两个大部分。他们的组成框图如下图所示。两个模块都是以PIC32单片机为控制核心,通过在2.8寸的TFT屏上模拟出按键控制机器人实现各种功能。
图1、六足机器人模块
图2、无线遥控模块
三 硬件设计
3.1 机器人的步态研究
a.前进步态(黑椭圆代表该脚着底,空心椭圆代表没着地)
图3、 初始状态 图4、第一组的三只脚抬起来
图5、第一组三只脚前移 图6、第二组三只脚抬起来
图7、第一组的三只脚利用对地 图8、第二组的三只脚着地
摩擦力将来身体前移,第二组的三只脚前移
图9、第二组的三只脚利用对地摩擦力将身体前移,第一组的三只脚前移,然后从图4
开始重复执行,实现机器人的进退步态。
注意:为了让机器人能够直线运动,必须让每只脚的前进距离必须相同。
b.拐弯步态
图10、初始状态 图11、第一组的三只脚抬起来
图12、第一组的三只脚拐弯并踩到 图13、第一组的三只脚利用对地的摩擦
地面上,然后第二组的三只脚抬起来 力使机器人拐弯一定角度,第二组的三只脚拐一定角度
图14、第一组的三只脚抬起来, 图15、第二组的三只脚利用对地
第二组的三只脚着地 的摩擦力使机器人拐弯一定角度,第一组 的三 只脚拐一定角度
图16、第二组的三只脚抬起来,第一组的三
只脚着地,然后从图13开始重复执行
注意:该结构每次拐弯的最大角度为30度,拐弯的最小角度为1度。所以通过程序可以设置拐弯角度1到255度的任意拐弯。
3.2结构设计
图20、机器人的整体
图21、在舵机后面装上轴承,在脚底安装按键用来检测地面信息
图22、单只脚
图23、未装上机械臂时
图24、装上机械臂以后
图25、装上无线摄像头以后
四 软件设计
图26、机器人模块流程图
图27、遥控模块流程图
图17、机器人脚部控制示意图
图17中a为机器人大腿的长度,b为机器人小腿的长度。H为机器人跟地面的距离,L为机器人的第二个关节跟机器人的脚尖的水平距离。B位控制大腿舵机的角度,C为控制小腿舵机的角度。
比如要实现机器人与地面的高度H=10cm,机器人的脚伸长的水平距离L=8cm。则可以通过调用求角函数:qiujiao(8,10);求出机器人在该条件下的大腿舵机角度,和小腿舵机角度。
让舵机旋转到这个角度就可以实现预定的高度跟脚伸长水平距离的值。在实际测量中得知该结构配合这个算法的误差小于0.3cm。
求角实现程序如下:
void qiu_jiao(float L,float H)
{
float a=6,b=10,c,B1,B2;
L=L-3;
H=H;
c=sqrt(H*H+L*L);
B2=acos(H/c);
B1=acos((a*a+c*c-b*b)/(2*a*c));
B=B1+B2;
B=180*B/3.141592;
C=acos((a*a+b*b-c*c)/(2*a*b));
C=180*C/3.141592;
}
下图为脚底按键检测地面信息的判断:
图18、按键检测地面信息流程图
舵机的控制信号为脉宽调制(PWM)信号。周期为20ms。脉冲宽度为0.5~2.5ms相对应舵盘的位置为0~180度,呈线性变化。在控制信号线提供一定的脉宽脉冲时,舵机输出轴保持在相对应的角度上,单个舵机控制型号如图1所示。周期T为20ms,其中变化的时间为t,变化范围为0.5~2.5ms,每一个舵机的控制型号至少有17.5ms是低电平且不会变化。
图19、单个舵机控制型号示意图
在20ms内,首先置控制信号为高电平,t时间后取反,舵机转轴将转到t时间是对应的角度。t时间后取反,舵机转轴将转到t时间是对应的角度。t的最大取值为2.5ms(在2.5ms后将控制型号置成高电平将不会影响到控制信号对舵机的控制),则在20ms内最多可以控制8路信号(20/2.5=8)。
采用3个定时器多舵机分时控制的思想,实现对23个舵机的协调控制。将23个舵机分成3组。
图28、机器人部分原理图
图28为机器人部分原理图利用Digilent Cerebot™ 32MX4的JH,JJ和JK的第1,2两个IO口共计18个IO口控制机器人脚部的18个舵机。用JK拓展口的其他6个IO口外接按键来检测地面信息。6个发光二极管用来指示该脚是否接触到地面。用JE拓展口的5个IO口控制机械臂的5个舵机。用JD口的4个IO口控制A7105无线模块,传输数据实现远程控制。
图29、无线遥控部分原理图
图29 为无线遥控部分原理图,利用Digilent Cerebot™ 32MX4的JD口的4个IO口控制A7105无线模块,传输数据实现远程控制。利用JA,JB和JC三个拓展口控制TFT彩屏液晶。
本设计通过以MIPS构架的PIC32单片机实现对仿生六足机器人基本步态控制,使机器人可按照典型步态协调灵活运动。该六足机器人前进一步的最大距离是8CM 。一次拐弯的最大角度为30度。机械臂夹起来的重物最重为150g左右。无线摄像头数据传输的最远距离达到200米以上。
实验表明,按照机器人运动步态研究结果,运动控制通过算法对机器人运动进行控制,运动速度可通过改变舵机控制脉宽和各腿运动间隔时间来调整,其运动平稳。在实际运用有广阔的前景。 |