基于人工神经网络的遥操作预测仿真
2012-11-20王明明李世其朱文革卢亚夫
王明明,李世其,朱文革,卢亚夫
(华中科技大学机械科学与工程学院工业及制造系统工程系,武汉430074)
1 引言
借助计算机网络、传感器以及机械电子技术、信息技术等方面的进步,把机器人与计算机网络相连,实现基于计算机网络的机器人遥操作,使得机器人遥操作技术成为工业控制、航空航天、军事和远程医疗等众多领域的研究热点。特别在载人航天领域,美国、加拿大、欧盟、日本和俄罗斯等国都对遥操作技术进行广泛研究和应用。我国对遥操作的研究起步较晚,但随着我国成功实现神舟六号多人多天飞行、神舟七号航天员顺利出舱活动,以及首次空间交会对接任务圆满完成,我国的载人航天事业取得重大进展,但未来空间任务越来越复杂,传统技术已经不适合未来空间探索,引入空间遥操作技术已经是必然趋势。因此,对遥操作关键技术的研究,可以为未来我国的载人航天事业发展提供必要的理论指导和技术支撑。
遥操作的特点是能将人所在的主端命令和行为传到并作用在从端,实现对从端期望的操作和控制。其优越性在于,可以极大地提高操作者的安全性和工作效率,降低成本,更高效合理地利用人力和物质资源,实现遥规划和控制及远程信息互动等。而将互联网作为遥操作系统信号传输的媒介,系统的低成本、高效率、易操作、可重构性等特点将更加明显。图1为网络遥操作模型。
图1 网络遥操作模型
但由于目前的网络环境,特别是Internet上,传输速率随传输数据量和网络负载变化而变动很大,同时也与Internet自身工作机制及网络带宽有关,会导致不确定时延、大时延、数据包丢失等问题。
网络时延的存在为遥操作系统感知和控制带来了许多问题:一方面,时延的存在使现场的各种信息到达主端时已是几秒前的信息,从而使操作者不能及时地感知从端环境当前的信息;另一方面,操作者基于这些信息发出的控制命令传送到远端时同样也被延时,而此时机器人和环境状态又发生了新的变化,这些延时的控制命令极易导致控制系统的不稳定[1]。因此,时延的存在不仅影响了操作者对远端环境的正确感知,而且更重要的是可能导致系统的不稳定,从而严重地降低了系统的操作性能。
目前解决时延问题存在几种具有代表性的方法,如监督控制、共享控制、预测控制、基于事件的控制等。其中应用最广泛的是预测控制,三维图像预测仿真被认为是目前较好的解决传输时延的方法。利用操作者发出的命令及传感器反馈的信息预测从端机器人的状态,在本地以三维图形的形式显示出来,使操作者可以进行连续的操作。操作者在本地实时地操作机器人模型就等效于延时地操作从端机器人,从而减小通讯时延对系统带来的不利影响。因此本文采用基于人工神经网络的预测方法,对遥操作从端机器人状态进行预测,并在虚拟场景中以三维图形进行运动仿真。
2 遥操作机器人运动状态预测
在虚拟仿真环境下,控制命令分别向两处传递:一方面实时地传递给虚拟现实环境中的机器人,另一方面经通信环节传递给远地真实环境中的机器人,并分别控制各自的运动[2]。当虚拟环境和机器人交互时,其临场信息无时延地反馈到操作者。这样操作者就可以产生实时的虚拟的视觉、力觉、触觉等临场感。而远地真实环境和机器人的交互经通信时延后反馈到本地计算机以修正3D虚拟环境和机器人模型。若虚拟环境和虚拟机器人等效于远地真实环境和机器人,则操作者实时地操纵虚拟机器人同虚拟环境交互作用就等效于操作者时延地操纵远地真实的机器人同环境的交互作用,而系统的稳定性及透明性不受到时延的影响。因此,远地机器人所需完成的作业任务就可由操作者控制虚拟机器人与虚拟环境的作用来完成。
但信号经过传输,在从端被执行时,由于有时延等原因,从端的真实状态不一定能到达预想的状态,故要充分利用从端反馈回来的以前的真实状态和发送的指令来对现时刻从端机器人的状态进行预测,对将要发出的指令起指导作用,缩小主端机器人模型与从端机器人状态的差异。
2.1 人工神经网络预测模型
人工神经网络是理论化的人脑神经网络的数学模型,是基于模仿大脑神经网络结构和功能而建立的一种信息处理系统。它实际上是由大量简单元件相互连接而成的复杂网络,具有高度的非线性,能够进行复杂的逻辑操作和非线性关系实现的系统[3]。
人工神经网络处理单元大体可以分为3类:输入单元、输出单元和隐单元。输入单元接受外部环境的信号和其他系统模型处理的数据,输出单元将系统处理后的信息进行输出,隐单元是位于输入和输出单元间外部系统不可见单元。神经元间相互连接,并存在一定连接强度,信息的表示和处理体现在网络处理单元的连接机制中。人工神经网络的功能由处理单元的活动函数、模式和网络的相互连接机制确定。层次型神经网络如图2所示。
图2 层次结构的神经元网络
图2中,I、J、K表示神经元类型,即输入层神经元、中间层神经元、输出层神经元,i表示输入层神经元I的第i个神经元,j、k有相同含义。由于传输时延的存在,主端向从端发送的指令不可能立刻到达从端并被执行。因此,引入人工神经网络模型,根据主端发送的指令预测从端执行指令的状态,与返回的从端经时延后执行指令的真实状态进行对比,根据误差调整人工神经网络中的权值,使预测值不断接近真实值。
2.2 人工神经网络预测算法
网络权值采用反向传播算法更新。将输入信号(主端发送的数据)输入网络,经过中间层传向输出层。输出层的神经元输出和教师信号(从端返回的数据)的平方误差和定义为:
式中,ok表示输出层神经元k的输出,dk为从端返回的数据,netk表示输出层神经元k的输入和,分别为:
应用最小二乘平均原理,先求中间层和输出层间的权值的更新量:
式中,η为正的常数,δok为输出层神经元的值。
当yj为中间层神经元j的输出,netj为中间层神经元j的输入和时,输入层与中间层间的权值更新量有:
同样,可求得:
算法中的神经元输入输出函数应该满足的条件为单调增函数,最常用的是下面的双弯曲函数:
在预测模型初始化之前,首先需要定义一些变量:如模型输入向量矩阵Model_p、模型目标向量矩阵Model_t、首次输入向量矩阵First_p、首次目标向量矩阵First_t、预测的输入向量(主端发送的指令)矩阵Forcast_in、预测的输出向量矩阵Forcast_out、实际返回的目标向量矩阵(从端返回)Forcast_t。
在初始化的时候,将首次需要的向量矩阵与模型的向量矩阵对应,然后训练网络,进行滚动输入,用新数据取代模型的最后一段数据,再次进行滚动输入,这时的数据就往前移了一段,最后一段仍由最新的数据补充,一直循环滚动。示意图如3所示。
图3 滚动预测示意图
2.3 预测结果
实验过程如下:建立武汉至哈尔滨遥操作系统,操作人员在武汉控制哈尔滨机械臂远程作业,完成推太阳能帆板任务。以第二关节为研究对象,记录主端发送和从端反馈回来的关节角度数据,共201个,为方便计算与满足映射关系,取前200个数据。由于网络原因,造成数据丢包现象,因此实际返回数据共计181个,同理取前180个。
控制命令由主端发送到从端后,从端会反馈回来所执行状态的数据信息。发送数据及反馈数据如图4所示。
图4 发送与反馈数据曲线
预测模型采用三层反向传播(Back Propagation,BP)神经网络,该网络由一个输入层、一个隐含层和一个输出层组成。输入层与隐含层之间的传递函数为sigmoid函数,隐含层与输出层之间的传递函数为线性函数。计划输入神经元为20个,输出神经元为17个,为进行比较,依经验公式,隐含层神经元分别取41、45、50个。预测效果如图5所示。
最终预测的误差曲线如图6所示。
由图可见,随着要预测的数据增多,误差的趋势也会慢慢变大,这是因为输入数据与教师信号不一定是严格对应的。从图中可以看出,当隐层神经元为41、45、50时,隐含层神经元为41个的预测效果最好,并且当预测数据不多于30个时,预测结果接近真实值。
图5 实际值、预测值的比较曲线
图6 预测实际误差曲线
3 遥操作虚拟现实仿真试验
虚拟现实本质上是客观世界的仿真或折射,虚拟现实的模型则是客观世界中物体或对象的代表。在遥操作中引入虚拟现实技术,可以使操作者对从端的操作环境有逼真、详尽的了解,增加其临场感,控制过程也更简单有效。
利用虚拟现实技术,构造一个能够逼真地模拟现实世界的虚拟环境,不但可以显示遥操作机器人本身的结构特点及运动细节,而且还可以模拟机器人所处的环境状况,使遥操作机器人的运动更直观。
3.1 遥操作机器人模型
本遥操作机器人采用的是Staubli TX40机器人,末端操作器采用HIT-DLR灵巧手。该机器人一共有6个自由度,每个关节都是转动关节。根据D-H方法[4],建立其连杆参数如表1所示。
表1 Staubli TX40机器人连杆参数
在虚拟现实场景中,机器人模型的组成单元是节点。每个场景图都是由根节点开始,处于同一层的节点称为兄弟节点,上一层的节点称为父节点,下一层的节点称为子节点。没有子节点的节点称为叶节点。
考虑到机器人各关节的运动继承关系,在向虚拟场景导入模型时,模型里的各个关节中,将上一关节定义为下一关节的父节点,子节点继承父节点的运动,而父节点不受子节点运动的影响。当机器人的上层关节运动时,其所有的子节点,包括其子节点的子节点等,都会随之发生相应的变化,这样就实现了机器人各关节的运动。其虚拟现实模型如图7所示。
图7 机器人虚拟现实模型
3.2 遥操作机器人运动仿真
从端机器人状态经人工神经网络预测出来后,在本地就可以用虚拟现实环境以三维图形的形式直观地表现出来,实现遥操作机器人的运动仿真。根据机器人连杆参数,在每个连杆上固接一个坐标系,建立各连杆坐标系如图8所示。
(1)绕 xi-1轴转 αi-1角;
(2)沿 xi-1轴移动 ai-1;
(3)绕 zi轴转 θi角;
图8 Staubli TX40机器人各连杆坐标系
(4)沿 zi轴移动 di。
因为这些子变换都是相对于动坐标系描述的,按照“从左向右”的原则,得到=Ro(tx,αi-1)Trans(x,αi-1)Ro(tz,θ)iTrans(z,di);即:
利用此公式和连杆参数可以计算出各个连杆变换矩阵:
将各个连杆变换矩阵相乘,便得到Staubli TX40机器人的“手臂变换矩阵”:
与图7所示的情况完全一致。
因此,可以根据人工神经网络预测的结果作为输入,传递给机器人仿真模型,根据运动学方程可以计算机器人末端的位姿,并在虚拟场景中将机器人状态直观显示给操作者。
4 结束语
由于网络堵塞、带宽大小和传输距离等因素造成的网络时延对遥操作的感知和控制带来了很多问题,为了减小时延对系统的影响,本文构建了人工神经网络模型,实现了基于人工神经网络的预测方法,并在虚拟场景中以三维图形进行运动仿真。试验结果表明,此预测方法具有一定的可行性。
[1]Monferrer,A.,Bonyuet,D..Cooperative robot teleoperation through virtual reality interfaces,Proceedings of the Sixth International Conference on Information Visualization,2002.
[2]Goldberg k.the robot in Garden:Telerobotics and Telepistemology in the Age ofthe Internet, The MIT Press Cambridge,Massachussets,2000.
[3]阎平凡,张长水.人工神经网络与模拟进化计算.北京:清华大学出版社,2000.
[4]熊有伦,丁汉,刘恩沧.机器人学.北京:机械工业出版社,1993.