基于嵌入式平台仿人机器人的设计与实现
2016-09-08杨亮王勇
杨亮,王勇
(1.广东工业大学 广东 广州 510006;2.电子科技大学 中山学院,广东 中山 528402)
基于嵌入式平台仿人机器人的设计与实现
杨亮1,2,王勇1
(1.广东工业大学 广东 广州510006;2.电子科技大学 中山学院,广东 中山528402)
针对仿人机器人制造成本高、控制难度大不利于进一步推广应用的问题,提出了一种低成本的基于嵌入式平台仿人机器人的设计方案,该方案通过3D打印的方式实现机器人机械结构,在控制方案上采用主从双CPU的二级控制方式,主CPU采用ARM BCM2835,上面运行嵌入式Linux操作系统,可通过usb摄像头获取图像信息,支持WiFi网络接入;主从CPU之间通过UART接口通讯。为实现稳定步行,采用三次样条离线规划机器人步态,并通过关节角度控制器实时跟踪关节角度轨迹,实验结果表明,采用本方案研制的仿人机器人能够实现稳定、协调的步行,具有成本低、易于推广的优点。
仿人机器人;3D打印;嵌入式系统;PWM
仿人型机器人主要特指具备类人的外形外观、类人的感觉系统、类人的智能思维方式、控制系统及决策能力的机器人[1]。与轮式机器人相比,仿人机器人采用双足行走方式,具有更强的移动性能与越障能力,同时由于具有类人的外观,因而更易融入人们的日常生活并替代人类在危险的特殊环境下工作,因此具有广阔的应用前景;在理论研究方面,仿人机器人系统是一个内在不稳定的系统,其动力学特性具有多变量、非线性、强耦合和变结构等特点,因而极其复杂,此外,当机器人在高速行走运动过程中,容易产生振动现象并将影响机器人系统的稳定性能[2],所以它是控制理论与工程领域很好的研究对象,对它的研究必将促进控制理论和控制技术的发展。
目前国内外学者已对仿人机器人进入了较为系统的研究,并取得了可喜的成果,本田公司于2000年首次研制成功的ASIMO机器人,目前其升级产品已能够完成包括步行、转弯、弹跳等在内的类人动作;索尼公司在2003年成功研制出第一台具有跑步能力的QRIO机器人,当失去平衡时能够通过降低电机转速并调整姿势以减小摔倒带来的冲击;法国Aldebaran Robotics公司研制的Nao仿人机器人拥有25个自由度,能够通过超场波等传感器实现障碍物检测并主动绕行;美国密歇根州立大学控制系统实验室的 J.W.Grizzle等人在RABBIT机器人的基础上研制了新型平面仿人机器人MABEL[3],该机器人在腿部安装了弹簧装置,能够将脚掌着地时的反作用力转化为能量存储,当脚掌离开地面时弹簧能够及时释放能量,从而提高跑步过程中的能量效率;清华大学陈恳、付成龙等人于2006年基于截面映射稳定判据设计制造了THR-I仿人机器人,能够实现周期为0.2秒的快速动态行走和初步的跑步运动。虽然仿人机器人领域已取得了较大进展,但由于仿人机器人机构复杂,制造成本普遍较高,目前大多数机器人还停留在实验室的样机研制阶段,高昂的制造成本已成为仿人机器人的大规模应用亟待解决的问题。
针对以上问题,本文提出了一种基于嵌入式平台的仿人机器人设计方案,该方案采用3D打印技术,将仿人机器分解成一个个单独的小零件分别打印并组装,能够大幅降低机械结构的复杂程度,并降低成本,主从式CPU的双层控制结构将使得系统具有良好的可扩展性。
1 系统组成与工作原理
1.1硬件方案设计
为达到较好的灵活性,共设计了17个自由度,其自由度分布图如图1所示。其中踝关节、髋关节、肩关节各两个自由度,膝关节、肘关节各一个自由度。
图1 仿人机器人连杆模型Fig.1 Connective link model of humanoid robot
本方案采用主从双CPU两级控制结构,其中BCM2835作为主控芯片,上面搭载嵌入式Linux操作系统,能够根据需要灵活扩展系统功能扩展,例如增加即插即用的usb摄像头使其具备视觉信息采集的能力。从CPU采用mega16单片机,通过IO口采用17路PWM波进行17个舵机进行控制实现17路舵机控制,每个自由度由一个舵机控制,主从CPU之间通过UART接口通讯,其硬件框图如图2所示。
图2 仿人机器人硬件框图Fig.2 Hardware frame of humanoid robot
与其他基于单片机系统的仿足机器人不同,由于本系统采用嵌入式Linux平台,因而具有良好的可扩展性,例如,通过增加usb接口的无线网上,经过配置即可接入WiFi网络,使其具备无线通讯功能;另一方面,主从双CPU的两层控制结构使得控制单元与驱动单元分离,因而系统具有更好的鲁棒性。
1.2机械结构设计
传统仿人机器人通常由金属制作而成,存在制造周期长、成本高、重量重等缺点,为减轻机器人整体重量,缩短生产周期,实现批量化生成,本方案采用3D打印机“打印”机器人的机械结构,3D打印是一种快速成型技术,能直接从计算机图形数据中生成任何形状的物体,依靠3D建模软件完成外观设计,借助切片软件将3D模型转化为打印的G-code指令,并通过3D打印机用易于液化、粉末化、丝化的固体材料逐层“打印”出产品,具有生产周期短、成本低、重量轻、适合批量生产等优点。
其具体实现思路如下:将机器人按关节划分成多个小的部件,例如将左腿分为脚掌、小腿、大腿3部分,使用舵机将腿掌、小腿、大腿各部分连接起来;再使用AutoCAD等3D图像软件按指定的尺寸大小设计出各部件的3D模型,并借助slice3r等切片软件对模型进行切片处理,生成G-code指令,最后将G-code指令传给3D打印机即可实现模型的快速成型;在完成各部件的3D打印后,通过舵机、连接线将各部分连接起来,形成完整的机器人本体,如图3所示。
图3 仿人机器人实物图Fig.3 Schematic diagram of humanoid robot
舵机是机器人的动力执行机构,通过驱动舵机可以达到控制机器人完成指定动作的目的,每个自由度对应一个舵机控制,由图1可知,本机器人共有17个自由度,因此共有17个舵机。在硬件电路的实现上,由mega16单片机引出17个IO口与对应舵机相连,根据分时利用原理采用软件的方式产生17路PWM波,实现多路舵机的控制。
2 仿人机器人步行控制系统的实现
2.1系统控制框图
控制系统是机器人的核心,相对于“大脑”,其控制性能的好坏直接影响到步行的稳定性及能量消耗的多少,为达到更好的稳定性及控制效果,本文采用离线步态规划与在线轨迹跟踪的控制方式,其整体控制框图如图4所示。
图4 基于ZMP稳定判据的仿人机器人系统控制框图Fig.4 Control diagram of humanoid robot system based on ZMP criterion
其中步态生成模块采用3次样条法,根据机器人各关键时刻的位姿信息成生稳定裕度大的步态,由生成的步态可计算出期望的ZMP轨迹以及各关节角角度轨迹;关节角度控制器采用PID算法实现,主要负责跟踪规划的各关节角度轨迹。
2.2基于ZMP稳定判据的步态生成算法
ZMP[4-5]稳定判据是Vukobratovic于 1969年提出的用于判断双足机器人是否稳定的判定条件,目前已成为应用最广泛的双足机器人的稳定性判据之一。经过数十年的发展,它的表达形式为ZMP指地面上满足地面反力的合力矩对x、y轴分量为零的那一点,若τzmp=(τx,τy,τz)表示由地面反力产生的绕ZMP的合力矩,则满足τx=0、τy=0。该定义从仿人机器人支撑脚所受的地面作用力分析了机器人实际步行的稳定性。将机器人各部分抽象成质量均匀的连杆模型,根据定义,机器人零力矩点的坐标可表示为:
其中,(xi,yi)为第i根连杆的坐标,mi为第 i根连杆的质量。
由文献[4-5]可知当ZMP点在足底内部,则说明是稳定的,越靠近足底中心,就越稳定,当ZMP点在足底边缘时,则有可能发生翻转甚至摔倒。为准确度量机器人步行过程中的稳定程度,本文采用ZMP稳定裕度来衡量ZMP的稳定程度,其计算公式如下所示。
其中,(xc,yc)为足底中心点位置坐标。考虑到双足机器人需要满足多种约束条件,文中根据机器人步行过程中的各关键时刻位姿信息(xi(t),yi(t),zi(t)),采用三次样条插值规划出踝关节及髋关节的轨迹[6]。
下面以髋关节为例,简述过程:
Step 1:根据各关键时刻位姿信息得到给定的n+1个插值点(t0,f(t0))、(t1,f(t1))、…、(tn,f(tn))
Step 2:采用三次样条插值方法得到区间[ti,ti+1]内函数的表达式:
其中,hi=ti+1-ti表示插值区间的宽度,而f(ti)、f(ti+1)分别为插值点ti+1及ti时刻的值,这里的f(ti)值为各关键时刻的位置信息。
Step 3:由于三次样条函数二阶可导,可得到三弯矩方程
Step 4:由边界条件解出出式(3)中的M值,再将M值代回方程,从而得到各个时刻双足机器人的步态。
考虑到各时刻的步态由几个关键位姿信息决定,为得到稳定裕度大的步态,本文以式(2)的函数值尽量小为优化目标,对整个周期步态的稳定裕度进行寻优,使得生成的步态满足ZMP稳定判据。
2.3关节角度控制器的设计
关节角度控制器主要负责控制各关节按预设轨迹运动,只要各关节能够较好的跟踪预定的角度轨迹即能保证步行过程中的稳定性。由图4可知,关节角度控制器需要根据舵机的运动角度、角速度及角加速度计算得到ZMP误差、各关节角度误差、角速度误差及角加速度误差,根据以上误差通过关节角度控制器最终输出下一时刻需要转动的角度。为得到舵机实际的运动角度,选用了Trossen Robotics公司的Dynamixel AX-12W航机,该舵机在够提供16 Kg/cm的扭矩,并能提供角度、速度等反馈信号。
本方案采用PID控制算法对预定关节角度轨迹进行跟踪,在得到关节角度、角度速度、角加速度等误差后,由关节角度控制器输出力矩到仿人机器人,控制各关节角度跟踪预定轨迹[7]。由人类步行经验可知,仿人机器人在步行过程中由单、双脚支撑期交替组成,为提高控制效果,采用两组PID参数kp=[kps,kpd],ki=[kis,kid],kd=[kds,kdd],分别对单、双脚支撑期 PID控制器的比例、积分、微分系数矩阵[8]。
3 实验结果及分析
为验证本方案提出的基于ZMP稳定判据的步态生成算法,在Matlab7.11实验环境对步行过程中常见的3种步态进行了仿真,3种步态分别是起步、周期步行、止步,其中每个周期为1.2 s,第一个周期为起步步态,第二、三个周期为周期步行,第四个周期为止步步态,整个步行过程共4.8 s。
本方案设计的仿人机器人结构相关参数如表1所示。
步行过程中ZMP轨迹分别如图5所示。
其中,虚线部分为ZMP稳定区域,实线表示y方向的ZMP轨迹,由图5不难看出,采用本方案规划的步态所计算出的ZMP轨迹均在稳定区域内,具有较好的步行稳定性。为验证关节角度控制器的跟踪性能[9],髂关节角度轨迹跟踪图如图6所示,其中点划线为规划的髂关节轨迹,实线为实际跟踪轨迹,由图可看出,本方案设计的关节角度控制器能较好的跟踪预定轨迹。
表1 仿人机器人的结构参数Tab.1 Structural parameters of humanoid robot
图5 步行过程中y方向ZMP轨迹Fig.5 ZMP trajectory of y axis during humanoid walking
图6 髋关节角度轨迹跟踪图Fig.6 The schematic diagram of tracking hip joint angle trajectory
4 结束语
本文详细介绍了一种基于嵌入式平台仿人机器人的设计方案。该方案采用3D打印技术,能够在较低的成本下批量“打印”仿人机器人的机械结构,具有成本低[10]、设计-生产周期短的优点,主从双CPU的两层控制结构降低了模块间的耦合度,具有更好的可扩展性,实验结果表明:本方案采用的步态生成算法具有轨迹平滑、稳定裕度大的优点。
[1]Hong Bing-rong,Gao Di,Piao Song-hao,et al.Development strategy for humanoid robot soccer[J].Journal of Harbin Institute of Technology,2008,15(2):6-8.
[2]黄元林,付成龙,王健美,等.双足跑步机器人控制方法研究概述[J].机器人,2009,31(4):370-377.
[3]Sreenath K,Park H W,Poulakakis I,et al.A compliant hybrid zero dynamics controller for stable,efficient and fast bipedal walking on MABEL[J].The International Journal of Robotics Research,2011,30(9):1170-1193.
[4]Vukobratovi M,Borovac B.Zero-moment point—thirty five years of its life[J].International Journal of Humanoid Robotics,2004,1(1):157-173.
[5]Vukobratovi M,Borovac B,Potkonjak V.ZMP:A review of some basic misunderstandings[J].International Journal of Humanoid Robotics,2006,3(2):153-175.
[6]付根平.仿人机器人的步态规划和步行控制研究[D].广州:广东工业大学,2013.
[7]付根平,杨宜民,陈建平,等.基于 ZMP误差校正的仿人机器人步行控制[J].机器人,2013,35(1):39-44.
[8]东梁,李迪,粟明,等.连续轨迹平滑过渡控制算法研究[J].电子设计工程,2015(20):96-99.
[9]谢宁,毕俊熹,娄小平,等.融合多传感信息的仿人机器人姿态解算[J].电子科技,2015(1):150-154.
[10]胡静,姜大伟,王华振,等.基于一级倒立摆模型仿人机器人控制算法研究[J].电子科技,2014(12):92-95.
The design and implementation of humanoid robot based on embedded system
YANG Liang1,2,WANG Yong1
(1.Guangdong University of Technology,Guangzhou 510006,China;2.University of Electronic Science and Technology of China Zhongshan Institute,Zhongshan 528402,China)
In view of the problems of high cost and hard to control in the practical application of humanoid robot,a solution of humanoid robot based on embedded system is proposed.In this solution,the mechanical structure is implemented by 3D printing and the control scheme based on master-slave CPUs is chosen.The master CPU is ARM BCM2835 chip,which runs Linux operating system and support image capture through usb camera and accessing WiFi network;The master CPU can communicate with the slave CPU via UART protocol.In order to achieve stable walk,the walk gaits are generated offline by cubic spline interpolation and a joint angle controller is constructed to track the desired trajectories.The experiment results show that the humanoid robot based on the presented solution can walk stably with natural gait,which is easier to be applied for the advantage of low-cost.
humanoid robot;3D printing;embedded system;PWM
TN709
A
1674-6236(2016)01-0124-04
2015-04-26稿件编号:201504277
国家自然科学基金(61302115;61300095);广东高校优秀青年创新人才培养计划项目(2013LYM0104);广东省自然科学基金项目(S2013010015764;S2013010012307;S2012040011123);广东省高等学校优秀青年教师培养计划项目(Yq2013204);中山市科技计划项目(2013A3FC0278)
杨 亮(1980—),男,江西婺源人,硕士,讲师。研究方向:智能机器人系统与技术、嵌入式系统。