关键字:步态机器人;51单片机;多自由度
1 引言
步态机器人与其它类型的移动机器人相比,有着更好的环境适应性。实现步态机器人的稳定控制,是步态机器人实现其它功能的重要前提。因此,步态机器人的控制优化一直是步态机器人的研究热点之一[1-4]。
为实现步态机器人的低成本控制,本文基于单片机设计并实现多自由度步态机器人控制系统的整体方案。控制系统主要通过控制6个180度舵机[6-9]与相应机械外壳组装成多自由度步态机器人的机械外形结构,选择增强型51单片机作为控制系统的控制器来控制I/O口输出理想的PWM信号,以此来实现多自由度步态机器人各个自由度舵机的动作控制,最终能够控制多自由度步态机器人比较理想的完成指定的动作姿态。本系统较易实现步态机器人的低成本控制,具有一定的实际应用价值。
2 系统方案设计
本文所设计的步态机器人控制系统主要由硬件系统、软件系统及被控对象(如图1所示)组成。图1中,1号和2号舵机作为机器人的髋关节,3号和4号舵机作为机器人的膝关节,5号和6号舵机作为机器人的踝关节。
3 系统硬件设计与实现
控制系统的硬件系统可以分为五个模块:控制器模块、舵机控制模块、显示模块、电源模块以及按键模块,如图2所示[10-11]。
3.1 控制器模块电路设计
控制器模块电路主要由单片机芯片、复位电路和时钟电路组成,如图2所示[12]。
3.2 舵机控制模块电路设计
舵机(MG996R)是通过单片机I/O直接产生的脉冲信号(PWM波)来控制的,通过软件编程可以改变PWM波的占空比,从而控制舵机旋转不同的角度,其中1号舵机的控制模块电路如图4所示。
3.3 电源模块电路设计
对于选用的MG996R舵机的工作电压范围是4.8V-7.2V,空载电流是120mA,其相应的调压电路如图5所示。
4 系统软件设计
步态机器人控制系统软件功能设计流程图如图6所示。
4.1 单个舵机动作程序设计
在这个控制系统中,由于要对多路舵机进行控制,所以在编写多个舵机控制程序之前,先对一个舵机进行编程控制,再以此为基础编写多路舵机控制程序。
单个舵机工作的主要程序如下所示:
void main( )
{ P2M1=0;
P2M0=0XFF;
Timer_Init( ); //定时器初始化
while(1)
{PWM1_Width=500; // 0度位置
delay(1000);
PWM1_Width=1500; // 90度位置
delay(1000);//舵机在两个角度之间摆动
}
}
如上述程序所示,通过定时器定时,给舵机一个0.5ms脉冲信号,舵机转到0°位置,再重新给一个1.5ms的脉冲信号,舵机位置转到90°位置,程序主要实现一个舵机在0°-90°之间循环动作,具体效果如图7所示。
5 系统测试
5.1 踮脚姿态测试
步态机器人做出踮脚动作,各个舵机脉宽数据如下所示,效果图如图8所示。
{1500,930,1500,1053,1916,2160}←→{90o 55.8o 90o 63.2o 115o 129.6o}
{1484,930,1516,992,2254,1762}←→{89o 55.8o 91o 59.5o 135.2o 105.7o}
5.2 前倾姿态测试
工业机器人做出前倾动作,各个舵机脉宽数据如下所示,效果图如图9所示。
{1500,930,1500,1116,1884,2162}←→{90o 55.8o 90o 66.9o 113o 129.7o}
{1823,653,1947,561,1884,2162}←→{109.4o 39.2o 116.8o 33.7o 113o 129.7o}
5.3 后仰姿态测试
工业机器人做出后仰动作,各个舵机脉宽数据如下所示,效果如图10所示。
{1780,693,1907,600,1884,2162}←→{106.8o 41.6o 114.4o 36o 113o 129.7o}
{1177,1269,961,1590,1884,2162}←→{70.6o 76.1o 57.7o 95.4o 113o 129.7o}
5.4 抬左腿姿态测试
工业机器人做出抬左腿动作,各个舵机脉宽数据如下所示,效果如图11所示。
{1516,992,1516,1084,1884,2070}←→{90.9o 59.5o 90.9o 65o 113o 124o}
{1484,1300,1669,1484,1792,2100}←→{89o 78o 100.1o 89o 107.5o 126o}
6 结束语
为实现步态机器人的低成本控制,本文基于单片机设计并实现多自由度步态机器人控制系统的整体方案。该控制系统主要由硬件系统、软件系统及被控对象组成,其中硬件系统包括控制器模块、舵机控制模块、显示模块、电源模块以及按键模块。通过构建控制系统硬件系统、软件系统及被控对象,并对其进行相应测试。测试结果显示该控制系统可以实现步态机器人踮脚、前倾、后仰等动作,在一定程度上较容易实现低成本的步态机器人的控制,具有一定的推广应用价值。
参考文献
[1]施文龙.六轴工业机器人控制系统的研究和实现[D].武汉:武汉科技大学,2015.
[2]任晓平,侯涛,苏建良.仿人双臂多自由度工业机器人设计[J].工业控制计算机,2016,(11):64-65.
[3]陶恒铭.六自由度工业机器人运动分析与控制技术的研究[D].合肥:合肥工业大学,2014.
[4]吴国强.多自由度机器人运动控制系统开发[D].天津:天津大学,2014.
[5]杨帅,邹智慧.多自由度工业机器人运动控制系统的研究[J].制造业自动化,2013,(10):117-121.
[6]刘源.多自由度工业机器人控制系统设计[D].江西:江西理工大学,2012.
[7]周永欣,马文斌.六自由工业机器人控制系统硬件设计[J].电子世界,2017,(02):154-155,
[8]任晓平,侯涛,苏建良.仿人双臂多自由度工业机器人设计[J].工业控制计算机,2016,(11):64-65.
[9]白云飞.六自由度工业机器人优化技术[D].大连:大连理工大学,2015.
[10]楼佳祥.六自由度工业机器人控制系统设计与实现[D].杭州:杭州电子科技大学,2015.
[11]陶恒铭.六自由度工业机器人运动分析与控制技术的研究[D].合肥:合肥工业大学,2014.
[15]陈淑芳.基于51单片机的教学实验系统的设计与开发[D].山东:中国海洋大学,2011.
作者简介
蒋善超(1988-) 男 博士/讲师 研究方向:检测技术及其应用
共0条 [查看全部] 网友评论