《1 前言》

1 前言

在信息产业高度融合与快速发展的今天,机器人的远程控制技术为人们进一步探索和改变世界带来了极大的方便。近十几年来,随着网络技术的不断成熟,国内外越来越多的研究人员开始关注基于网络的机器人远程控制系统的研究。基于网络的远程控制可以有效延伸人类的工作空间,提高设备联合制造的生产能力,且具有减少系统连线、简化安装与维护过程、增强系统的灵活性与可靠性、实现资源共享等多种优势,在工业制造、危险作业、远程教育、数字化家电等诸多领域具有广阔的应用前景[1~3]。网络中数据传输的不确定延时是基于网络的机器人远程控制所面临的主要问题[4],它在很大程度上妨碍了用户和机器人之间迅速而直接的交互,严重降低了网络机器人的性能。多数研究者都试图通过对网络建模、从控制的角度来分析和补偿网络传输延时[5~7],然而这些方法往往都侧重于理论研究,在实际的远程控制过程中,如对工业应用中的远程机器人系统,仍难以取得理想的成效。特别是对于多自由度串联机器人的远程控制,由于机器人结构的限制,通常采用点位(point to point,PTP)控制,网络延时使得机器人在每个目标点完成之后都会产生一次停顿,大大延长了任务执行所需的时间。笔者对二自由度机械臂系统进行过实际的远程控制,设计了离线与在线的控制策略来解决网络延时问题,在实现期望的任务完成时间上获得了良好的效果[8]。其基本思想就是期望远程控制单步任务执行时间与本地控制单步任务执行时间尽可能相等,也就是说,在远程控制中缩短机械臂的实际运行时间,使其附加上网络延时之后与原本地的执行时间相一致。这种做法实际上相当于让机械臂提高最大速度,在更短的时间内完成相同的目标任务,它的局限性在于,机械臂的机构刚性与驱动电机的驱动力限制了机械臂关节运行所能承受的最大速度与最大加速度。而且,机械臂在运行过程中频繁的加减速,又令机器关节由于机械惯性而产生了明显的抖动。所以在实时性要求较高的远程控制系统中,传统的 PTP 方式并不适合。

为了同时克服延迟与抖动的问题,将连续轨迹(continuous path,CP)控制方式引入基于关节坐标空间的串联机器人远程控制系统中,充分利用其连续运动的特性,实现了快速、平滑的控制效果。以一个具备高精度绘图能力的二自由度串联机械臂系统作为被控对象进行实际的远程控制。二自由度机械臂属于物理结构相对简单的工业机器人,可以通过有效控制其 2 个串联关节的转动使机械臂末端执行器能按照预定的轨迹运行。

《2 基于关节坐标空间的 CP 控制》

2 基于关节坐标空间的 CP 控制

CP 控制,即连续轨迹控制,不仅要求机器人能准确到达目标点,而且必须保证机器人能沿着所期望的轨迹在一定精度范围内运动,故一般多应用于直角坐标空间的情形。CP 控制比较复杂,它需要通过各种插补运算,进行多轴脉冲的同时分配及协调控制,以实现精确的空间轨迹跟踪。工业中的弧焊、激光切割与等离子切割、涂胶等作业常常采取这种方式。将 CP 控制运用于关节坐标空间时,由于无法建立关节的实际电机控制轴与直角坐标轴之间的线性关系,因此对提高运行轨迹的精度不会有太大帮助。笔者注意到 CP 控制的连续运动特性,即只要给定路径的目标点序列,运动控制器就会自行计算,保证机械臂在到达最终目标点时速度为零,而经过中间目标点时具有连续的速度,并不会像 PTP 方式那样因执行单段插补而不断经历速度起降过程。CP 控制的这个特性得益于运动控制器提供的命令缓冲区策略,在运动控制器执行缓冲区中存放运动命令时,上层主机仍然能够继续向缓冲区下载命令,这样不仅能降低对主机通信的实时性要求,而且运动控制器对缓冲区内多段轨迹信息的预处理过程,也能够使机械臂获得良好的运动性能。因此,和 PTP 控制相比,CP 控制具有实现光滑连续运动的优势。

在建立坐标系映射时,为简单起见,以 1∶1 的比例将机械臂的两个关节坐标轴分别映射到平面直角坐标系的 X 轴与 Y 轴。需要特别指出,由于关节坐标与直角坐标之间建立的不是线性关系,因此 CP 控制中用的直线插补并不表示机械臂在平面直角坐标空间中做直线运动。运动控制器所进行的底层轨迹规划仍然是基于关节空间的,所以在将目标数据送入控制器之前还需要在期望轨迹上插补额外的目标点,以满足运动轨迹的精度要求。采用定速模式的 CP 控制需要操作者设置的运动参数包括目标点位置、最大合成速度、合成加速度以及插补方式。通常,直线插补方式应用得较多。值得注意的是,给定的速度与加速度是关节坐标系下的合成量,因此在直角坐标系中机械臂运动的方向未必指向目标点位置。

假设运动轨迹被离散化为 +1 个目标点,在相邻两目标点间进行直线插补,则运动轨迹可以被近似为关节空间的 n 段直线路径。记第 i 段路径的起始点位置为(θ1i - 1)),θ2(i - 1)),终止点位置为(θ1i),θ2i)),其中,i = 1,2,...,n,θ1 和 θ2 分别表示关节 1 与关节 2 的位置脉冲量。记第 i 段路径中关节 1 与关节 2 的最大运动速度为 v1i) 和 v2i),运动加速度为 。选择机械臂运行在定速模式,即每段路径上单个关节运行的最大速度与加速度可能并不相同,但整条轨迹上两个关节协调运动的最大合成速度与合成加速度都是相等的,且这 2 个定常的合成量是由操作者根据实际经验和调试结果预先在控制程序中设置好的。将给定的最大合成速度记为 v,合成加速度记为 。由于每段路径上关节的位置增量不同,因此对于单个关节来说,在每段路径中的最大速度、加速度也不一样,在起始点、终止点处会经历加速或减速过程。而这个加减速过程与中间部分关节恒速运行的时间相比非常短暂,所以将每段路径上关节的运动视为匀速,求出第 i 段路径的近似执行时间。CP 控制下两个关节协调运动,具有相同的执行时间,即

只要运动轨迹中的目标点确定,式(1)中关节的位置脉冲值就是已知量,记为

且根据合成条件,有

最终可以求得

实际上,如果考虑加减速过程,理论上精确的任务完成时间会比式(2)计算出的近似值略长。

《3 CP 方式下的机械臂网络远程控制》

3 CP 方式下的机械臂网络远程控制

远程控制机械臂采取常用的 C-S(客户机 -服务器)模式,远程控制计算机作为客户机,本地机械臂系统作为服务器。在原基于 PTP 方式的机械臂远程控制中,客户机首先向服务器发送目标指令,服务器接收后开始执行客户机要求的目标任务,完成目标任务后向客户机发送指令完成回执,客户机收到指令完成信息后,才进行下一条目标指令的发送[8]。与 PTP 方式不同,CP 方式下客户机并不需要等待每个目标点的完成回执,而是连续发送目标指令,因为此时服务器端的机械臂系统是连续完成所有指令才会返回完成回执。在远程控制过程中,客户机从上层的路径目标点的选取、坐标转换的计算、目标指令的生成,再到底层的数据打包、发送,每次循环都需要一段不可忽略的处理时间,用 标记。基于 CP 的远程控制的任务时序图见图 1,其中,分别表征客户机与服务器之间的来和回的网络延时。

《图1》

图1 基于 CP 的机械臂远程控制的任务时序图

Fig.1 Timing of CP -based robot arm remote control

从图 1 可以看出,要在远程环境中实现基于 CP的连续控制,必须在当前目标指令完成前能够接收到下一条目标指令,这样运动控制器才可以根据缓冲区中存在的命令队列进行预处理,使运动保持连贯。如果在当前运动完成前下一条指令还未到达,则运动控制器将执行到缓冲区中最后一条指令所描述的运动终点坐标,同时按照设定的加速度将速度减速到零,并停留在该位置。此后若新的控制命令到达,关节会重新加速开始运动。很明显,这种情况将引起运动过程的不连续。因此,为保证机械臂运动的连贯性,服务器端的每条目标指令的执行时间与下一条目标指令的到达时刻之间应满足

由于客户机的处理时间与网络延时存在,需要通过相关参数的设置,对机械臂的执行时间进行人为调节。

最大合成速度是影响机械臂运行时间最关键的参数,必须合理地给定它的值,才能使每一段路径的运行都能满足式(3)的要求。而又因为整段轨迹的运行采用的是恒定的最大合成速度,所以选取的值要能够满足最短的时间要求。结合式(2),可以得出最终确定的最大合成速度范围为

获取最佳速度参数的步骤:首先,合理估计客户机的处理时间与网络延时,提出机械臂在任意两相邻目标点间运行需满足的最短执行时间;然后,根据式(4)计算在这个最短时间下每段路径所要求的合成运动速度;最后,取其中的最小值作为机械臂最大合成速度的设定值。这样,就能够保证机械臂在连续、平滑运动的前提下,以最短的时间完成远程控制任务。

《4 CP 方式下机械臂网络远程控制系统的实验研究》

4 CP 方式下机械臂网络远程控制系统的实验研究

研究所使用的实际远程控制的实验装置是固高公司生产的基于 GT - 400 - SV ISA 控制器的二自由度串联机械臂系统,能提供最高频率 1 MHz 脉冲控制信号用于伺服交流电机控制,在光电编码器的定位下完成高精度图形绘制工作。机械臂的实体图如图 2 所示。

《图2》

图2 二自由度机械臂实体图

Fig.2 Picture of 2 -dof robot arm

选择机械臂所需要绘制的图形,确定运动轨迹中的目标点。基于目前很多关于机器人搜索路径方面的应用,选择绘制一条简单并具有代表性的折线。折线由 2 条长度均为 50 mm 的直线段组成,起点为 A,终点为 C,转折点为 B,AB 段与水平轴平行,BC 段与水平轴正向成 60° 夹角。根据机械臂运动轨迹的轮廓误差不大于 0.05 mm 的精度要求,计算得出,当 AB 线段间均匀插补 5 个点、BC 线段间均匀插补 10 个点时,机械臂在直角坐标空间可以走出满足精度要求的直线。A -B -C 折线被离散化为 18 个目标点,分成 17 段直线路径,如图 3 所示,其中圆圈表示运动轨迹中的目标点。

《图3》

图3 A -B -C 折线及运动轨迹目标点

Fig.3 A -B -C broken line and target points of motion trajectory

基于网络的机械臂远程控制系统的结构框图见图 4,利用校园网公共资源来实现这个网络控制系统。将校园网中的两个独立节点,即相隔一定距离的 2 台 PC,分别作为远程客户机与本地服务器,二自由度串联机械臂系统与本地服务器相连。使用基于 Winsock 的进程通信方法实现客户机与服务器之间的数据连接与交换。为了增强控制的实时性能,数据传输选用高速、简单的 UDP 协议。由于研究的是单台客户机所进行的网络控制,所以不存在多用户管理与控制权处理的问题。远程客户机将规划后的运动轨迹目标点通过网络发送给本地服务器,服务器接收到控制指令后交付伺服机构以驱动机械臂运动,同时传感器采集机械臂的运动状态数据并反馈给远程控制端。系统中的关节部件被事件驱动串行接收控制指令,因此使用控制器与执行器同为事件驱动的节点工作方式。网络远程控制的控制目标是能在实时性、准确性和稳定性上尽可能接近本地控制的效果。

《图4》

图4    基于网络的机械臂远程控制系统框图

Fig.4 Block diagram of network -based robot arm remote control system

从客户机端测得的网络回路延时可以看出,实验所使用的局域网的网络状况比较稳定,网络回路延时绝大部分集中在(155 ms,160 ms)的区间上[8]。并且,测得客户机端的每次循环的处理时间在 220 ms 左右。把机械臂在任意两相邻目标点间运行的最短时间定为 225 ms,根据式(3),计算期望轨迹上的 17 段路径所需的最大合成速度,结果见表 1。

《表1》

表1     期望轨迹上17 段路径各自所需的最大合成运行速度

Table 1 Maximum synthesized velocities needed for 17 paths in desired trajectory

选取最小值 2.17 (脉冲) /(插补周期) 作为最大合成速度的最终设定值。合成加速度设为默认值 0.2 (脉冲)/(插补周期)2。远程实验的结果和基于 PTP 控制的结果进行了比较,见表 2。可以看到,在 CP 控制方式下,机械臂绘图过程连续,绘出的图线平滑,并且完成时间更短。

《表2》

表2 PTP 控制与 CP 控制下实际远程实验结果比较

Table 2 Comparison between practical results of remote experiments by PTP control and CP control

为了进一步考察机械臂运动过程的平稳性,还将 CP 控制与 PTP 控制下任务完成时间的走势进行了比较,为此统一将机械臂远程绘图原期望的执行时间 7.38 s 作为目标,用上述同样的方法计算得出,机械臂在 CP 控制方式下的远程绘图时关节运动所需的最大合成速度为 1.9 (脉冲) /(插补周期)。由于追求的仅为运行时间上的差异,所以运用了侧视图的表现方法,如图 5,以重点突出远程绘图过程中折线上每个点的完成时间。很明显,PTP控制下机械臂在每个目标点的完成过程中都要经历等待过程,并且在缩短了的指定完成时限内不得不提高速度,因此机械臂关节呈现出“快速走—停—快速走”的运动态势;而 CP 控制由于具备了缓冲区处理的优势,所以不仅能保证关节运动的连续性,而且也实现了机械臂稳定、平滑的运行效果。

《图5》

图5 PTP 控制与 CP 控制下实际远程绘图的位置 -时间曲线比较图

Fig.5 Comparison between position -time curves by PTP control and CP control in remote drawing

《5 结语》

5 结语

PTP 控制与 CP 控制是机器人运动轨迹的两种控制方式。在对机器人进行远程控制时,PTP 方式在每个目标点完成时速度归零、向远程端发送返回值并等待下一目标指令的过程,不仅延长了任务完成时间,还造成了机械抖动;而 CP 方式具有连续运动的特性,只要在当前任务完成前接收到下一条目标指令,就能够保证运动的连续性,且运动控制器提供的缓冲区预处理策略也有助于获得良好的运动性能。通过实际的远程控制实验对二者进行了比较,同时实验结果也证实了 CP 方式在机器人的远程控制中更有优势。