基于关节空间轨迹规划的机械臂远程控制
2012-06-06游群霞周挥宇
张 毅,游群霞,罗 元,周挥宇
(重庆邮电大学国家信息无障碍工程研发中心智能系统及机器人研究所,重庆 400065)
0 引言
在信息产业高度融合与快速发展的今天,机器人的远程控制技术为人们进一步探索和改变世界带来了极大的方便,机器人远程控制系统可以被应用于危险环境下的远程作业、远程医疗、远程教学、远程监护以及传统生产模式的改造等众多方面,具有广阔的应用前景[1]。
随着控制技术和网络技术的不断发展,人类对机器人远程控制技术的要求越来越高[2]。机械臂远程控制是建立在一个复杂控制环境基础上的控制技术,要实现可靠的远程控制有很多问题需要解决,其中最重要的就是实时性和稳定性。多数研究者对远程控制的实时性进行了多方面的研究[3-4],采用网络建模、从控制的角度来分析和补偿网络传输延时等方法来弥补远程控制的实时性。对于稳定性问题,可以采取可靠的网络传输协议保障远程控制的稳定性,在此基础上,可从机械臂结构本身出发以增强远程控制系统的稳定性,即对机械臂运动轨迹进行规划,使机械臂运动连续、平稳、无抖动。轨迹规划既可在笛卡尔空间也可以在关节空间中进行,郑桦、丛爽等[5]研究者把基于笛卡尔空间的连续轨迹(continuous path,CP)控制方式引入了机械臂的远程控制中,CP控制比较复杂,涉及矩阵求逆等复杂运算,需要通过各种插补运算才能实现轨迹插补。本文中我们把运算简化的关节空间轨迹插补控制方式引入了机械臂远程控制系统中,并对其进行了研究和分析。
在多自由度串联机器臂的远程控制系统中,传统的远程控制方式是直接向机器臂发送控制指令和指令参数来控制机械臂的运动。机械臂是一个多输入多输出、不稳定、时变耦合的非线性动态系统[5],由于机械臂结构的限制,直接向机械臂发送未轨迹规划的控制指令,容易造成机械臂运动的不连续和不平滑,同时机器关节由于机械惯性会产生抖动。为了克服这些问题,提高系统的稳定性,本文对远程机械臂的运动轨迹进行了基于关节空间的轨迹规划,选取了结构简单,计算量小的5次多项式插值函数对四自由度串联机械臂的运动轨迹进行轨迹插补,该插值函数能够实时计算机械臂各关节的运动参数,生成运动轨迹,可以确保各关节运动时的连续性和平滑性[6],并提高轨迹规划的实时性。把规划后的控制指令通过远端客户机传送给本地服务器,可以使机械臂按照规划后的轨迹,连续、光滑、无抖动的运动,达到了连续、平稳、可靠地控制远程机械臂的工作要求,提高了机械臂远程控制系统的稳定性。
1 机械臂远程控制系统
本文中我们以四自由度串联机械臂作为被控对象进行实际的远程控制,机械臂控制系统实物图如图1所示。
图1 机械臂控制系统实物图Fig.1 Robot arm control system actual picture
本系统远程控制采用软件实现的方式,远程控制机械臂采取常用的C/S(client/server)模式,远程控制计算机作为客户端,主要完成控制器的功能,本地计算机作为服务器,主要完成执行器的功能,四自由度串联机械臂系统与本地服务器相连。系统采用了多模块化思想进行设计,构建了基于Internet的机械臂远程控制系统,其结构框图如图2所示。系统使用基于Winsock的进程通信方法实现客户端与服务器之间的数据连接与交换,为了增强系统的稳定性,数据传输采用TCP(transmission control protocol)协议,TCP协议是面向连接的,提供无差错、无重复的顺序数据传输的可靠传输控制协议,TCP协议的主要特点是可靠性很高。
图2 远程控制系统结构框图Fig.2 Romote control system strucrure diagram
客户端用户从远端通过网络访问本地服务器,在连接建立以后,服务器端便开始向连接到本地服务器的远端客户提供服务,首先接受客户端通过网络发出的命令,然后根据该命令控制本地机械臂运动,最后将运动的结果以及一些现场相关信息传回给远端用户,从而实现远端客户通过网络对机械臂的控制。
2 关节空间轨迹规划
轨迹规划既可在关节空间也可以在笛卡尔空间中进行,但是要求所规划的轨迹函数必须连续且平滑,使得机器人操作臂运动平稳[7]。关节空间轨迹规划是以关节角度函数来描述机器人轨迹,并进行轨迹规划,无需在笛卡尔坐标系描述两个路径点之间的路径形状,计算简单、容易,不会发生机构奇异性的问题。在关节空间中进行轨迹规划,是将关节变量映射成时间的函数,并规划它的一阶和二阶时间导数,轨迹规划的主要任务是选择合理的多项式函数和其他线性函数进行插补运算,使关节运动平滑、稳定,始终保持在关节运动容许的范围内[8]。
针对机械臂的运动特点,我们直接用机械臂运动时的关节变量来规划轨迹,其优点是轨迹规划可近似实时地进行,关节轨迹易于规划。在机械臂运动过程中,已知机械臂在在t0=0时刻的某关节角为θ0,tn时刻的值是终止关节角度θn。其轨迹的描述由起始点关节角度与终止点关节角度的一个平滑插值函数θ(t)来表示,对于每个关节的平滑函数而言,为了实现关节的平稳运动,有6个约束条件:两端点的位置约束、两端点的速度约束和两端点的加速度约束。端点的位置约束是指起始位姿和终止位姿各自所对应的关节角度,即
为了满足关节运动速度的连续性要求,假设机器人初始点和终止点的关节角速度为零,用Vθ(0)和Vθ(tn)表示,即
同时为了满足(1)式和(2)式,两端点的关节角加速度用aθ(0)和aθ(tn)表示,满足
满足上述任意给定约束条件的平滑函数有许多,考虑到要在远程控制系统中实现轨迹规划,应选取计算简化和形式简单,可以提高轨迹规划实时性的插值函数,实现快速性要求。综合以上因素考虑,本文选取了5次多项式插值函数进行轨迹插补,便于实时计算和实际应用。
由(1)-(3)式6个约束条件可以唯一确定一个5次多项式
设该路径的关节角速度为Vθ(t),关节角加速度为aθ(t),则
由(1)-(3)式分别代入(4)-(6)式可解得
所以,对于初速度及终速度为零的关节运动,满足约束条件的5次多项式插值函数为
对于给定约束条件的轨迹,由(8)式的多项式插值函数可迅速得到,从而避免对运动过程中的每一点进行实时运动学逆解的繁杂计算,提高了运算速度与效率,可以有效地提高轨迹规划的精确性,实时性。
3 轨迹规划下的机械臂远程控制
在传统的机械臂远程控制系统中加入轨迹规划模块,使机械臂按照规划后的轨迹运动,最终实现轨迹规划下的机械臂远程控制。系统控制软件中,轨迹规划工作放在个客户端独立处理,系统创建了轨迹规划模块,构建了Cplanner规划类来负责轨迹的规划工作,加入轨迹规划模块后的客户端流程图[9]如图3所示。
图3 客户端程序流程图Fig.3 Client program flow diagram
当客户端与服务器端建立连接后,客户端主线程开启后向指定的服务器发送控制机械臂的请求,请求获得允许后初始化,等待用户的轨迹规划。有任务时由轨迹规划模块生成轨迹点指令序列,以事件触发的方式按顺序交由网络传输模块发送至服务器,服务器端开启网络控制后循环等待客户机发送网络字节形式的参数指令序列,并翻译成本地指令,转化成机械臂控制字以实现对机械臂的控制,使机械臂按照规划后的轨迹,从起始点开始,依次光滑、连续、平稳地通过所有路径点,最后到达目标位置。
4 实验及分析
机械臂控制系统通过串口与服务器连接,机械臂的关节都是由舵机驱动的,表1是机械臂舵机控制的通信协议。服务器接受到客户端传来的各关节的控制指令后,利用其强大的处理能力把各关节的参数信息转换成控制字,通过串口向AVR(automatic voltage regulator)单片机发送控制字命令,单片机程序初始化后,用查询的方式从串口接收数据,当接收到数据后,计算PWM(pulse width modulation)脉宽,控制舵机的转动角度和速度,最终实现对机械臂各关节的控制。
表1 舵机控制协议格式Tab.1 Steering engine control protocol format
为了验证远程机械臂加入轨迹规划模块以后运动的连续性和平稳性,给定机械臂起始点和目标点,对同一任务采用两种控制方式(即传统的机械臂远程控制方式和轨迹规划后的机械臂远程控制方式)实现对机械臂的远程控制。从服务器端获取2种控制方式的各个关节的运动参数的数据信息,将其绘制成曲线,得到的轨迹规划前和轨迹规划后的各关节的角度和速度变化曲线对比图如图4所示。图4中:1为轨迹规划前角度曲线;2为规划后角度曲线;3为轨迹规划前速度曲线;4为规划后速度曲线。可见,轨迹规划前各关节的角度和速度变化曲线波动大,不平滑,给定约束条件对机械臂运动轨迹进行规划后各关节的角度和速度变化曲线是光滑、连续、平稳的。
对于增加的加速度约束条件,把服务器端得到的加速度数据信息绘制成曲线,得到4个关节的加速度曲线,如图5所示。图5中,1-4分别为关节1-4的加速度曲线。由图5可知,各关节的加速曲线连续,表明机械臂末端执行器不会产生抖动。
为了更好的验证传统的机械臂远程控制系统加入轨迹规划模块以后的有效性,本文对轨迹规划后的机械臂做了实际的远程控制实验。在服务器端把接收到的规划后各关节的指令序列转换成机械臂的控制字,通过串口把控制字发送给AVR单片机后,使远程机械臂按照规划后的轨迹完成运动,达到了连续、平稳、无抖动的控制机械臂的工作要求。
5 结束语
本文中我们在传统的机械臂远程控制系统中加入轨迹规划模块,采用5次多项式插值函数对机械臂运动轨迹进行轨迹插补,轨迹规划过程中,整个计算与插补是在关节变量空间进行的,计算量小,避免对运动过程中的每一点进行实时运动学逆解的繁杂计算,实时性好。轨迹规划完成后,使远程机械臂按照规划后的轨迹运动,机械臂能够连续、平稳的运动,克服了机械臂的抖动,有效地提高了机械臂远程控制系统的实时性和稳定性,提高了系统的使用性,
为远程机械臂的实际应用奠定了基础。
[1]冯华山.基于Internet的远程控制机器人系统[D].西安:西安工业大学,2004.
FENG Hua-shan.Remote Control Robot System Based on Internet[D].Xi'an:Xi'an Echnological University,2004.
[2] 冯兰胜.基于机械臂的远程控制系统研究[D].西安:西安电子科技大学,2005.
FENG Lan-sheng.Remote Control Robot System Research Based on Robot Arm[D].Xi'an:Xi'an Univeristy of E-lectronic Science and Technology,2005.
[3] TIPSUWANY,CHOW M.Control methodologies in networked control systems[J].2003,11(10):1099-1111.
[4]WALSHG,YE H,BUSHNELL L.Stability analysis of networked control systems[J].2002,13(5):438-446.
[5]郑桦,丛爽.络远程控制中机械臂的连续轨迹控制[J].中国工程科学,2008,10(10):91-95.
ZHENG Hua,CONG Shuang.Continuous Path Control of Robot Arm in Network-based Remote Control[J].Chinese Engineering Science,2002(5):438-446.
[6]付西光,颜国正.7-DOF核工业机器人的轨迹规划与仿真[J].系统仿真学报,2005,8(8):1948-1950.
FU Xi-guang,YAN Guo-zheng.Trajectory Planning and Simulating on 7-DOF Robot Applied to Nuclear Industry[J].Journal of System Simulating,2005,8(8):1948-1950.
[7] 殷际英,何广平.关节型机器人[M].北京:化学工业出版社,2003:68-82.
YIN Ji-ying,HE Guang-ping.Joint Robot[M].Beijing:Chemical Industry Press,2003:68-82.
[8]谭岗慧子,陈劲杰.三指仿人灵巧手轨迹规划及仿真研究[J].机械研究与应用,2010,16(5):44-47.
TANGANG Hui-zi,CHEN Jin-jie.Trajectory Planning and Simulation on three finger Dexterous Hand[J].Mechanical Research and Application,2010,16(5):44-47.
[9]魏子翔,从爽,郑桦.基于网络的机械臂远程控制平台设计与时延补偿[J].机械设计,2007,24(6):26-28.
WEIZi-xiang,CONG Shuang,ZHENG Hua.Research on Remote Controlled Platform Design of Mechanical Arm and Time Delayed Compensation Based on Network[J].Mechanic Design,2007,24(6):26-28.