摘 要: 介绍了一款基于单片机控制的六足仿生蟑螂机器人。该机器人在外形和足部结构上仿生蟑螂,六足均匀分布于身体两侧,每足给出了3个自由度;机器人的步态采用经典的三足步态法;该运动控制器由STC12C5A60S2单片机和舵机组成,采用多舵机分时控制的方法,机器人能实现按所设计的步态规划进行前进、后退、左转、右转等动作;同时添加了语音模块,机器人能在预定程序下随音乐进行舞蹈动作。
关键词:六足仿生机器人;三足步态法;STC12C5A60S2单片机;舵机
0 引言
仿生学是20世纪60年代初诞生的一门集生物科学和工程技术于一体的边缘学科,主要通过学习、模仿、复制和再造生物系统的结构、功能、工作原理及控制机制,来改进现有的或创造新的机械、仪器、建筑和工艺过程[1]。蟑螂运动灵活稳定,对地形适应能力强,是仿生的热点。本文所设计的六足仿生爬虫机器人,其外形及其机械结构参考蟑螂的特点,运动控制器由STC12C5A60S2单片机和舵机组成,采用多舵机分时控制,能够按照指令要求正确切换功能并且完成相应动作。
1 机体结构设计
仿生蟑螂六足机器人由躯体和足两个基本部分组成,足和躯体的配置采用正相对称分布。基于自然界中绝大部分蟑螂的躯体都呈近似长方形结构,因此躯体设计成以身体纵向中心线为对称轴的多边形,且长与宽之比约为3:1,材料选用高强度且质量较轻的铝合金。6条腿均匀分布于身体两侧,腿形参考蟑螂足部结构,4个关节分别为髋关节、大腿、小腿和踝关节,其中前3个关节为驱动关节,各关节之间的连杆分别称为基节、股节和胫节[2]。3个驱动关节均由伺服电机驱动,如图1中黑点所示,关节间连接构件采用性能良好的合成塑料代替铝合金,进一步降低了整机的重量,又增加了整机机构的灵活度。系统通过控制相应关节伺服电机的运动,使机器人能够实现18个自由度的灵活运动,能够实现步行足在可达区域内任意自由定位。
2 步态规划
六足仿生机器人通常采用典型的交替三角形步态[3]进行直线行走,即将身体两侧的6条腿分成两组,以三角形支架结构交替前行。身体左侧的前、后足及右侧的中足为一组,右侧的前、后足和左侧的中足为另一组,分别组成两个三角形支架。当一组三角形支架中所有的足同时提起时,另一组三角形支架的3只足原地不动支撑身体,接着重心前移,并以中足为支点向前移动,同时机体的重心落在另一组三角形支架的3只足上,然后再重复前一组的动作,以此交替运动使机体前行。
在所设计的步行机器人尾部左右两端分别安装两个驱动电机,每个驱动电机控制位于自己对应侧的前腿和后腿,两腿中间用铰链相连,使得两腿摆动方向一致。中间两条腿采用第三个驱动电机,可驱动中间两条腿同时沿顺时针或逆时针方向转动20°~30°。当机器人从休息状态开始向前直线运动时,机器人中间两腿不转动方向,前腿和后腿同时向后移动,从而使机器人向前移动。当机器人向右运动时,第三驱动电机驱动中间两腿沿顺时针方向转动一定角度(20°~30°),从而使机器人向右侧转动,这时机器人的重量由右侧前腿、右侧后腿和左侧中间腿支撑,左侧前腿和左侧后腿向前移动。同理,当驱动中间两腿沿逆时针方向转动一定角度(20°~30°)时,机器人向左移动。
3 硬件系统设计与实现
3.1 STC12C5A60S2芯片介绍
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机。其指令代码完全兼容传统8051,但速度快8~12倍;内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250 k/s),针对电机控制,强干扰场合。STC12C5A60S2系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。
3.2 直流电机及其驱动模块
受机器人的框架材料影响,机器人本身的重量大,所以对直流电机的力矩要求就很高,本文选用了力矩大约为5 kg/cm的25GR-370直流减速电机。在测试过程中,该电机性能稳定,输出力矩也达到了预期设计要求。
直流电机驱动模块采用ST公司的L298N芯片,可以直接驱动两路46 V、2 A以下的直流电机,可以方便地控制直流电机速度和方向,也可以控制两相步进电机。本模块应用了光耦芯片TLP521-4隔离控制信号与L298桥式驱动部分电路的电气连接,控制信号为低电平时导通光耦驱动L298工作,控制信号可以直接接单片机I/O口,杜绝了单片机不能驱动光耦的现象;输入控制信号与L298桥式驱动部分分开布地,严格单点共地。以上两个措施最大限度地减小了强电部分对控制电路部分的影响,保证系统的可靠运行。
L298N型驱动器的电路连接图如图2所示。
L298有逻辑电源和动力电源两路电源,图中6 V为逻辑电源,由J4接入,12 V为动力电源,由J6接入;J1与J2分别为单片机控制两个电机的输入端;J3与J5分别与两个电机的正负极相连;ENA与ENB直接接入6 V逻辑电源,使两个电机时刻都工作在使能状态。本设计中使用的电机是线圈式的,在从运行状态突然转换到停止状态或从顺时针状态突然转换到逆时针状态时会形成很大的反向电流,因此在电路中加入二极管进行泄流,保护芯片的安全。
3.3 舵机
舵机即伺服马达,是一种位置(角度)伺服的驱动器,适用于需要角度不断变化并可以保持的控制系统。这里选用的是Power HD 1501MG型舵机,这款舵机的力矩比较大,达到了17 kg/cm,完全满足小型简易机器人的需求。舵机驱动模块的输入线分别为控制信号线、电源线以及地线,3根线需连接准确,否则会损害单片机可控板。
舵机的控制利用的是周期为20 ms的PWM(脉宽调制)信号,其脉冲宽度为0.5 ms~2.5 ms,分别对应的舵机转角为-90°~+90°,如图3所示。控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。舵机内部有一个基准电路,产生周期为20 ms、宽度为1.5 ms的基准信号,将获得的直流偏置电压与电位器的电压进行比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。使用单片机控制舵机,多是利用定时器和中断的方式来完成控制[4]。
本文所设计的仿生爬虫机器人共用了18个舵机,其连接方式参考了蟑螂的足部结构,舵机连接位置为图1中的黑色圆点处。
3.4 语音模块
语音模块采用华仕通讯推出的新一代语音模块HSTAMFP,内部采用华邦工业级语音芯片,功放采用美国进口数字式功放,全部是昂贵的IC,从而设计出大功率、高品质的语音模块,支持6~20k动态采样,动态加载不同采样率音频文件不需要改动外部时钟。数字功放是迄今为止最好的功放,不用散热片就能达到高功率输出,其效率极高,是常用的OTL功放的4~5倍。
4 软件系统设计与实现
4.1 编译软件及芯片添加
采用了C语言编写,并在Keil uVision2开发环境下编译、调试。开发界面如图4所示。
由于Keil uVision2是一款国外软件,而所使用的STC12C5A60S2芯片是国产的,在Keil uVision2的芯片数据库里没有,因此需在Keil uVision2中添加国产的STC系列芯片才能进行编译。
4.2 程序设计思路
采用定时器和中断的方式来完成对18个舵机的分时控制。由于舵机信号周期T为20 ms,信号的脉冲宽度为0.5~2.5 ms,因此在一个周期内最多可以控制8路信号(20 ms/2.5 ms=8)。将18个舵机分成3组,定时器0控制舵机1~6,定时器1控制舵机7~12,定时器2控制舵机13~18。先预装高电平时间长度,启动定时器,当计数溢出时触发中断,电平拉低并重装低电平时间长度。舵机控制程序流程图如图5所示。
4.3 舵机控制器软件
对机器人舞蹈动作的控制,本文采用的是32路舵机控制器软件,其工作界面如图6所示。
该软件可实现上位机对舵机的直接控制,其使用方法如下:电脑插上蓝牙,打开软件界面,选择好蓝牙com口和波特率,点击界面最下方的“导入”、“导入完整值”,选择编译好的舵机控制文档,并点击“恢复初始位置”,打开机器人上的电源开关,点击软件界面“联机”,当界面闪烁显示“on line”之后再次点击“恢复初始位置”,最后点击“运行”即可,机器人即按照预定程序自动执行相应的舞蹈动作。
5 结论
本文所设计的六足仿生蟑螂机器人样机长约16 cm,宽约6 cm,高约3 cm,重量约4.3 kg,外形如图7所示。对样机进行行走实验,其结果表明该样机可实现直线行走及左、右拐弯等,还可随音乐按既定程序实现跳舞功能。
参考文献
[1] 申景金.一种新型六足仿生虫的结构设计与动力学分析[D].南京:南京航空航天大学,2008.
[2] 张建斌,宋荣贵,陈伟海,等.基于运动灵活性的蟑螂机器人机构参数优化[J].北京航空航天大学学报,2010,36(5):513-518.
[3] 韩建海,赵书尚,李济顺.六足机器人行走步态的协调控制[J].机电工程,2004,21(4):8-10.
[4] 储忠,阮贤实,虞刚明.六足仿生机器人步态研究和运动控制器设计[J].伺服控制,2009(8):67-70.