仲 飞,钟 伟,黄 磊
(江苏科技大学机械工程学院,江苏 镇江 212003)
机器人遥操作系统由操作者、主机器人、通信通道、从机器人以及环境5大部分构成。操作者操作主机器人经由通信环节去实现从机器人与环境间的交互。与环境交互的从机器人的动作内容完全由操作者决定,具有很强的实用性,可以满足各种工作需求。截至目前,遥操作系统已经被广泛应用于灾后救援和核辐射等危险环境[1],人体微创手术等要求精细但操作空间狭小的环境[2],通信环节允许的情况下,甚至被用在太空或者水下探索等远程环境[3]。
目前,对机器人遥操作系统的研究主要集中在几个方面:遥操作系统主从手结构优化;新空间映射算法的提出;转角控制精度及测量精度;研究力反馈功能方案;制定遥操作系统性能判断标准。
围绕以上问题,很多学者都做出了卓越的贡献[4-5]。随着计算机技术的发展,基于模型的实时仿真技术的优点越来越突出,逐渐被应用到了各行各业。本文提出了基于数学模型的遥操作系统的设计,并且结合相关硬件实现了该系统。
本文研究的遥操作系统包括四自由度串联主手、通信环节、四自由度串联从手、操作者和环境5个部分[6]。如图1所示,当操作者移动主机器人时,编码器与主机器人各个关节相连电机的角度发生变化,控制柜获取这些角度变化,对其进行处理之后,向从手端发送动作信号。另一方面从手端在接触到物体之后,力传感器检测到交互力,这个力经由控制环节处理后,传向主手端,主机器人以电机输出力矩去向操作者再现这个力。整个过程实现主从机器人遥操作。
图1 主从机器人遥操作系统结构
对遥操作系统的设计,首先使用SolidWorks进行三维建图,加载URDF插件,通过一系列步骤将三维模型生成URDF类型的文件[7]。
其次,将包括运动学正逆解、空间映射等控制算法的位置控制数学模型在Simulink中进行建立后,借助软件接口,向控制模型中加载被控对象即从手的URDF文件,完成虚拟可视的机器人遥操作系统的仿真调试。
调试完成后,在已建的数学模型中,加入与下位机、硬件设备相关联的,如模拟量采集、模拟量输出和编码器采集等封装好的模块。在求解器和代码生成栏中,设置选择好系统生成文件、语言类型后,RTW直接生成下位机能够完美运行的代码[8],实现软硬件的调动与信息的交互。
整体的流程如图2所示。
图2 遥操作系统设计方案
RTW工具箱(real time workshop)专门应用于实时控制,是MATLAB为图形建模Simulink仿真环境补充的一个强大的功能模块[9]。
对于下位机Links-Box实时仿真器而言,经RTW导出的目标文件,是完整的可执行文件,文件加载至下位机后可实现仿真参数的直接更改。而且内置于下位机的运动控制卡,它的常用功能,如PWM脉冲波输出、模拟量输出和编码器采集等,为了方便使用,都对其进行了合理封装,将常规复杂的系统编程简化。
使用RTW配合下位机Links-Box实时仿真器,使得整个系统的开发周期和成本都被限制在可观范围内。突破性地实现了系统设计直接向硬件实现的转换。
设计的四自由度的串联机械臂被用来充当遥操作系统使用的从手,在SolidWorks环境下对其进行三维图的绘制,如图3所示,包含基座、肩关节、大臂、肘关节、小臂和腕关节等部分,各个关节都为转动关节,并且连杆长度、关节转角范围都已明确。
图3 遥操作从手结构
通过在SolidWorks软件上安装的sw_urdf_exporter插件来进行URDF文件的生成[10]。在这之前,需要将装配体按照初始位姿进行放置,在每个转动关节的转动轴线处添加基准轴。URDF文件的制作过程,最主要的内容是对从base_link到link4的参数设置,其中包括:link名称、joint名称、坐标系基准轴的选择、关节类型以及基础零件。确认保存后,自动生成保存与遥操作从手关联的Slave.URDF文件。
凭借这个文件包,之后所有的可视化仿真内容就可以在MATLAB环境下完成。在MATLAB命令行窗体下,键入smimport(‘Slave.URDF’)运行后,MATLAB会自动将名称为Slave.URDF的文件加载至Simulink环境下,将三维模型以数学模型形式呈现。
两组治疗前VAS疼痛评分无统计学差异,治疗后,观察组患者的VAS疼痛评分明显低于对照组,两组比较差异均有显著性(均p<0.001)。见表1。
如图4所示,控制系统模型包含模拟主手信号给定、主手运动学正解得主手末端位姿、位置映射算法得从手目标位置、从手运动学逆解得需转动的关节角、PID控制器设计、被控对象从手关节角闭环控制6大块内容。
图4 遥操作系统控制结构
遥操作系统典型的位置控制方案[11]如图5所示,旨在追求从手空间利用率,其核心公式为
图5 遥操作系统的位置控制
Xs=kxXm+Xn
(1)
Xs为从机器人末端的位置;Xm为主机器人末端的位置;kx为比例系数,从线段角度来看,就是短线扩展为长线长度的放大倍数;Xn为位置常量,从线段角度看,就是扩展后的短线要求与长线位置一致时,所需移动的距离。
单一的比例系数kx,虽然增大了主手对从手末端控制的移动范围,但同时出现了当要求从手与环境交互工作或小范围操作时,精度下降的问题,所以设计中在基础上增加了一组不同的比例系数。通过对主从手工作空间的求解,对比主从手末端在X、Y、Z方向的运动范围,结合上述算法公式,得到映射相关参数,具体参数值如表1所示,用于针对不用的场合,将控制系统划分成了自由控制模式和交互控制模式。
表1 参数取值
模式切换对应地被分为自动和手动,自动切换基于从端的力传感器是否检测到力的出现,当力传感器检测值大于0,证明从端触碰到目标物体,这时就要求操作保证一定精度,可瞬时切换为比例系数小的交互模式。手动切换,用于不存在交互的小范围移动,途径是通过用户对常值0/1的给定。
在角度范围之内,分别采用平面轨迹和空间点作为给定信号,模拟主手端的运动,通过实时观察从手在空间内的动作状态结合对导出数据的处理,验证运动学求解的正确性以及映射算法的合理性。
通过MATLAB工具箱的使用,得到在二维平面画圆对应的关节转角。将关节角作为模型输入信号,进行自由模式的仿真。仿真数据如图6所示,主从手末端轨迹都是理想状态下的圆,从手的末端轨迹相比主手被成比例放大,而且并不是以相同的原点进行放大,原点位置差值等于算法设计时为了扩大从手空间利用率增加的偏移量。
图6 平面圆轨迹跟踪
图7 空间点云图
通过仿真,已经初步验证控制模型及算法的正确性之后,在控制模型中,进行I/O硬件模块的添加,并配置硬件参数。I/O硬件模块的来源是基于下位机对运动控制卡功能的封装及导入。
完成配置将自动生成代码,对其编译后,生成可执行程序,上位机通过网线将可执行文件输入至下位机(Links-Box实时仿真器)。各关节电机驱动器、力传感器等设备接在控制卡端子板合适的端口,下位机通过运动控制卡来控制所有的真实设备,上位机借助以太网对实验过程进行实时监视。
通过图7的仿真结果,已经明确了遥操作系统模型的正确性和有效性。在仿真及软硬件连接完成的基础上,采取实验的方式进行实际的验证。
实验平台的搭建如图8所示,包括1台主机械臂、1台从机械臂、电脑(上位机),Links-Box实时仿真器(下位机),googolgts800运动控制卡,4块定制卡以及编写的实验界面。操纵主手,利用Googol运动控制卡采集4个关节处的Maxon电机转角,传入控制器进行数据处理,控制主机内置的4块定制运动板卡分别控制速度模式下的4台台达驱动器,实现从手末端定位。
图8 遥操作系统实验平台
在实验时,首先利用实际主端设备在空间中绘制一段曲线,采集关节角变量,进行运动学正解,对比数据,验证软硬件是否已正确对接。随后分别在自由模式和交互模式下,操作主手末端在固定平面内绘制同一条曲线,分析控制模型及映射算法的有效性。
操作主手在纸面画出形状类似于符号的图形,如图9所示,实线是通过扫描纸面得到的真实曲线,虚线为将主手运动过程中经编码器采集到的各关节转角,载入系统运动学正解模块绘制的末端轨迹。通过对比,首先能够验证基于RTW的实时系统及软硬件的连接是成功的。观察2条曲线段,发现在整体趋势,包括位置值的大小上,基本保持一致,这也就说明了运动学的求解是正确的。但是因为编码器精度问题及系统误差,数据间存有少许偏差值,且在拐点处较为明显。
图9 真实值与采集值对比
为了分析控制模型包括映射算法的有效性,分别在2种控制模式下,操纵主手在平面内,按同一轨迹运动,记录下这2组数据。图10a为自由模式下,主从手末端移动的轨迹绘制,从手的轨迹对比主手,保证趋势一致的同时,完成了更大跨度的移动。图10b为交互模式下的移动,从手1∶1的跟踪,加强直观性的同时,控制感也得到了增强。轨迹间存在的误差,一部分原因是因为控制空间内主手完全在单一平面内运动具有一定难度,上下的抖动导致了X、Y方向的数据存在了偏差。该实验符合预期,实验结果与仿真一致,再次验证模型正确性。
图10 平面曲线绘制
在以上实验基础上,进行对理想目标曲线的绘制实验。实验过程分2个阶段,第1阶段自由模式下绘制四边形,第2阶段切换交互模式,从手端以切换时刻的位置作为零点,绘制一个三角形,主手位置变化量直接充当从手的位置附加值,实现在X、Y、Z方向上1∶1的映射。
如图11所示,第1阶段内,人为操纵主手,直线段的绘制存在弯曲,从机器人四边形轨迹整体趋势上呈现了良好的一致性,对比主机器人绘制的四边形,明显成比例放大,算法设计时加入的偏移量也可以被直观看出。进入第2阶段交互模式,主从机器人分别以切换时刻的位置坐标作为零点,增量比例设置为1,主从手绘制的三角形无论是大小还是形状上都一致。通过四边形与三角形的跟踪绘制情况,不难看出,三角形的跟踪更流畅,交互模式的优点得到了展现。
图11 实验环境下主从机器人轨迹跟踪
图12a、图12b和图12c分别为主从手在X、Y、Z方向上的坐标随时间的变化。14 s是一个分界线,前半部分为自由模式,后半部分是交互模式。自由模式下,X、Y、Z方向上的位置变量都更大。图12d是对2种模式误差率的分析,因为系统延迟等因素的影响,自由模式在控制精度上有所欠缺,而采用1作为增量比例的交互模式误差率仅在0.025内,实际应用中,还可以根据不同的精细要求,适当减小参数值来获得更好的效果。
图12 X、Y、Z各方向位置随时间变化曲线
本文结合基于模型的系统设计方法及自动代码生成技术,设计了机器人遥操作系统。首先对主从机器人遥操作系统进行了简单的说明,包括构成以及工作原理,并将MATLAB和SolidWorks进行联合,实现可视化仿真。随后,在此基础上,使用RTW技术,自动生成代码,并编译为下位机可执行文件,配合一系列硬件,实现系统设计。最后,通过实验表明了该遥操作系统的正确性和有效性。