面向冗余机械臂避障运动规划的触控交互技术
2024-01-16张宝琛惠建江刘正雄黄攀峰
张宝琛, 惠建江, 张 琦, 刘正雄,*, 黄攀峰
(1. 西北工业大学航天学院, 陕西 西安 710072; 2. 北京跟踪与通信技术研究所, 北京 100094;3. 中国航天空气动力技术研究院, 北京 100074)
0 引 言
冗余机械臂是一种运动机动度大于末端位姿运动自由度的机械臂[1],相较于常见的非冗余机械臂,理论上存在无数组关节空间构型与末端位姿相对应。冗余机械臂具有工作空间自由灵活、避障能力强等特点。当周围存在障碍时,可进行相应的构型调整,有良好的应用前景[2-3]。然而,冗余机械臂构型的灵活性也带来了如何在避障过程中调整和确定机械臂构型的问题。
针对上述问题,有研究者提出通过启发式算法进行机械臂构型的解算,例如:概率路标法(probabilistic road map, PRM)[4-5]、快速扩展随机树法(rapidly exploring random trees,RRT)[6-8]。这些算法在不引入视觉[9-10]、触觉[11-14]等其他传感器的情况下,只能进行结构化工作环境下的避障。而引入视觉、触觉等传感器,虽可对非结构化环境进行避障,但增加了机械臂的硬件成本[15]。同时,上述算法一方面解算效率不高,另一方面解算结果不稳定,使得冗余机械臂难以进行重复性的实施操作。
随着人机交互技术的发展,也有学者将人机交互技术用于解决机械臂构型选择、避障规划的问题。人机交互作为一种实现用户与计算机之间信息交换的方式[16],通过交互设备将人引入操作回路,充分发挥人的决策能力和操作能力,来解决冗余机械臂构型选择问题、降低硬件成本,典型的交互设备包括:手控器[17]、虚拟现实[18-20]、外骨骼[21]等。但是,上述交互方式不论是对操作人员的编程能力,还是对设备的使用熟练程度,都有较高的要求[22]。此外,冗余机械臂构型选择、避关节限位等基于冗余特性的交互功能并不能通过上述方式体现。
近些年,触控交互方式逐渐受到人们的关注[23]。触控交互方式操作简单、学习成本低,符合人的自然操作习惯,可视化程度高,给人们带来了更为直观的视觉体验[24]。但是,在通过触控方式操作机械臂时,存在二维屏幕坐标到三维操作空间坐标的映射过程。升维时的维度缺失问题,使得映射到三维操作空间的坐标均在同一平面上,这就决定了如果通过触控交互方式操作机械臂,至少需结合两个以上的相机视角,才能完成机械臂末端在三维空间中的移动,以达到预期位置以及完成避障,这大大降低了操作效率。
为充分发挥人在回路的作用,提高人机交互的效率,降低冗余机械臂的运动操控难度,本文研究了一种面向冗余机械臂避障规划的触控交互技术,该技术在保证操作交互友好性的同时,可进行结构化、非结构化障碍的躲避。
本文以库卡轻型机械臂KUKA iiwa为例,进行避障运动规划的触控交互研究。
1 触控交互实现原理
1.1 坐标系定义
世界坐标系:世界坐标系OwXwYwZw是用来提供其他坐标系基准的坐标系。在世界坐标系下,对象有相同的参考标准,拥有自己的绝对坐标。
屏幕坐标系:屏幕坐标系OsXsYs是为了表征触控位置坐标而建立的二维坐标系。屏幕坐标系以仿真环境视口中心为坐标原点,以仿真视口宽度方向为X轴方向,以高度方向为Y轴方向。
基坐标系:基坐标系O0X0Y0Z0是用来描述机械臂模型的坐标系。在基坐标系下,机械臂各关节的位置和姿态均可以表示,建立D-H坐标系进行正逆运动学的解算。
裁剪坐标系:裁剪坐标系OtXtYtZt是针对仿真环境中模型相对于相机的投影来建立的,投影方式包括正交投影和透视投影[25]。裁剪坐标系是绝对坐标转化为相机坐标系坐标的中介。
相机坐标系:操作人员通过虚拟相机来观察仿真环境中的场景。当用仿真环境视口观察对象时,对象以相机坐标系OcXcYcZc作为参考标准。
上述坐标系均为右手坐标系,如图1所示。
图1 坐标系示意图Fig.1 Schematic diagram of coordinates
1.2 坐标系转换关系
对于屏幕坐标系下的任一点Qs(xs,ys),其在裁剪坐标系下的坐标为
(1)
式中:nx和ny为相机近裁剪平面宽度与高度; width和height分别为屏幕宽度与高度。
在仿真物理引擎中,相机采用透视投影的方式。因此, 对于裁剪坐标系下的任一点Qt(xt,yt,zt),其在相机坐标系下的坐标为
(2)
式中:a为相机镜头宽高比;FOV为视场角;|n|、|f|分别为相机近裁剪平面深度与远裁剪平面深度,f 对于相机坐标系下的任一点Qc(xc,yc,zc),其在基坐标系下的坐标Q0(x0,y0,z0)为 (3) 式中:Rc和Pc分别为相机坐标系相对基坐标系的旋转矩阵与平移矩阵。 冗余机械臂的逆运动学解算方法主要可分为两类:数值法和解析法。常用的数值法如引言中提到的PRM、RRT等,具有通用性好、但时间开销较大等特点。而解析法主要有锁定关节角[26]、臂型角[27-28]等方法,具有实时性强但通用性较差的特点。本文将实现实时的触控交互、改变机械臂构型,故采用臂型角方法来进行逆运动学的解算。 作为冗余机械臂,KUKA iiwa机械臂的7个连杆关节两两垂直。连杆1~连杆3可视为一个3自由度的球关节,连杆4可视为一个单独的旋转关节[29],连杆5~连杆7也可视为一个3自由度的球关节,其简化结构如图2所示。 图2 KUKA iiwa简化图Fig.2 Simplification of KUKA iiwa 图3 臂型角示意图Fig.3 Schematic diagram of arm-angle 设定一个臂型角,按文献[28]中方法进行逆解,即可得到符合要求的逆解,取与上一时刻逆解向量差值2范数最小的一组逆解,作为逆解结果。 (4) 式中:θ∈R7×1为逆运动学结果;0T7∈R4×4表示机械臂末端相对于基座的位姿矩阵。 1.4.1 触控移动机械臂末端实现原理 触控移动机械臂末端的实现原理是,寻找触控屏幕空间与机械臂运动空间的坐标映射关系,实时计算指尖触控屏幕对应的机械臂末端坐标,使得机械臂末端跟随触控屏幕的指尖进行运动,如图4所示。 图4 触控移动机械臂末端实现原理Fig.4 Implementation principle of manipulator motion bytouch interaction 1.4.2 改变机械臂构型实现原理 基于臂型角的逆运动学,以臂型角和末端位姿矩阵作为输入条件。利用这一特性,通过拖动所设计软件的进度条,设置期望的臂型角,角度范围为0~2π rad。将进度条设置的臂型角和当前机械臂末端位姿作为逆解算法输入,进行实时解算,由此改变机械臂构型,如图5所示。 图5 改变机械臂构型实现原理Fig.5 Implementation principle of manipulator configurationchanging by touch interaction 对比式(1)和式(2),由式中Qs(xs,ys)求得Qc(xc,yc,zc)的过程中,Qt(xt,yt,zt)的zt坐标是未知定值,因此将二维屏幕坐标映射到三维操作空间时,得到的基坐标系下坐标Q0(x0,y0,z0)均在同一平面γ上。|zt|即平面γ与裁剪坐标系原点的距离。针对坐标升维后均在同一平面、操作效率不高的问题,本文对机械臂末端的平面路径进行柱面运动规划。 下面阐述柱面运动规划的具体过程。 步骤 1建立规划坐标系。以结构化障碍的结构中心O作为规划坐标系原点,y轴垂直于屏幕空间坐标映射到操作空间的平面,且指向该平面方向,z轴平行于基坐标系O0Z0方向,x轴方向由右手定则确定,如图6所示。 图6 避障运动规划步骤1Fig.6 Step 1 of obstacle avoidance motion planning 步骤 2建立圆柱。以规划坐标系的Oz轴为圆柱的旋转轴,以障碍中心O与避障实验开始时机械臂末端位置Qlast的欧氏距离作为圆柱半径(见图7),其表达式为 图7 避障运动规划步骤2Fig.7 Step 2 of obstacle avoidance motion planning r=|OQlast| (5) 步骤 3以障碍中心O为端点,向映射到平面γ的机械臂末端坐标Q0(x0,y0,z0)方向作射线,射线与圆柱面相交于Q1。为使规划前后的z轴坐标一致,将Q1坐标变换为Q2(见图8),计算过程如式(6)~式(9)所示。 图8 避障运动规划步骤3Fig.8 Step 3 of obstacle avoidance motion planning (6) (7) (8) (9) 步骤 4最后,将Q2坐标变换到基坐标系下: (10) 进行避障运动规划后,操作人员只需在单视角下进行操作,即可实现机械臂末端绕结构化障碍进行圆柱面自动避障。 本文基于虚幻4(Unreal Engine 4)游戏开发引擎,开发触控交互软件。操作人员可通过触控的方式进行UI交互,可实现移动机械臂末端、改变臂型角、改变视角等功能。 本文以KUKA iiwa R800机械臂作为对象,使用开发的触控交互软件进行躲避结构化障碍仿真实验,以下简称实验1。 3.2.1 实验1设计 实验内容为操作人员将移动机械臂末端移动到目标区域,同时躲避结构化障碍,如图9所示。 图9 实验1示意图Fig.9 Schematic diagram of Experiment 1 操作人员将采用本文规划的柱面避障运动规划方法(a组实验)与平面结合多个视角的方法(b组实验)进行对比实验,测试两种方法的操作效率及与障碍的碰撞频率。两组实验的实验流程如图10和图11所示。 图10 实验1 a组实验流程Fig.10 Group a procedure of Experiment 1 图11 实验1 b组实验流程Fig.11 Group b procedure of Experiment 1 3.2.2 实验1结果及分析 实验1中的两组实验分别进行了10次,实验结果如表1所示。 表1 实验1数据Table 1 Data of Experiment 1 两组实验均采用虚幻引擎里的定时器计时。a组实验平均时长为1.88 s,机械臂均未与障碍α碰撞。b组实验平均时长为11.39 s,实验机械臂与障碍α碰撞2次。 通过分析对比实验结果可以得出如下结论: (1) 与进行避障运动规划前的平面躲避结构化障碍相比,柱面避障只需对单个相机视角进行操作,平均缩短操作时间83%,显著提高了操作效率。 (2) 平面躲避结构化障碍在实验中出现了2次机械臂与障碍碰撞的情况,而柱面规划之后没有出现碰撞,降低了操作员的出错频率。 (3) 触控交互相较于PRM、RRT等算法避障,有效地降低了算法实现的时间开销,具有更高效的人机交互效能。 实验内容仍然为操作机械臂使末端移动到目标区域,同时躲避非结构化障碍,以下简称实验2。 3.3.1 实验2设计 图12 实验2示意Fig.12 Schematic diagram of Experiment 2 3.3.2 实验2结果及分析 实验2共进行了5次,机械臂末端均到达目标区域,且过程中未与非结构化障碍发生碰撞,实验过程如图13所示。 图13 实验2过程Fig.13 Process of Experiment 2 通过分析以上结果,验证了通过触控交互方式改变冗余机械臂构型,从而躲避非结构化障碍的方法切实可行,具有可操作性。 本文提出了一种面向冗余机械臂避障运动规划的触控交互方法。实验证明,此种方法可快速地躲避结构化障碍,有效地躲避非结构化障碍,在发挥人的决策能力和操作能力的同时,提高了触控交互的操作效率,降低了操作人员的出错率,具有较高效的人机交互性。1.3 KUKA iiwa机械臂逆运动学
1.4 触控交互实现原理
2 避障运动规划
3 仿真验证
3.1 仿真环境
3.2 躲避结构化障碍实验
3.3 躲避非结构化障碍实验
4 结 论