深谷技术 | 双臂协作机器人的技术研究及实现

发布日期:2023-03-10 浏览次数:3054

       欧美、日韩等发达国家在机器人领域的研究历史较久,对于双臂协作机器人技术的研究开展较早,目前较为成熟的双臂机器人有几十种,各国学者从双臂机器人的本体设计、双臂运动规划、视觉定位、碰撞检测等方面做出了突出的贡献。


一、多场景下的双臂协作机器人

       PR2(Personal Robot 2)为美国 Willow Garage 公司开发的面向家庭环境下的可执行物体自动识别与抓取任务的著名双臂协作机器人(如图 1 所示)。PR2 的左右手臂各为 7 自由度冗余机械臂,其末端执行器可执行简单的夹取,其末端执行器上配有力矩传感器,可以进行力反馈。其软件平台依托于强大的分布式 ROS 系统,结合新进的硬件设备,PR2 可以完成开门、打开冰箱取食物等复杂任务。对于其双臂路径规划问题 Sandip Aine 等人提出了多启发式的A*算法。


图1 PR2机器人


       德国KIT大学研制的ARMAR-III ,如图2所示,是具有移动底座的仿人双臂机器人,双手各有5 根手指,能够实现抓取厨房内的碗碟、收拾碗柜等工作。


图2 ARMAR-III 机器人


       2012 年,美国的RethinkRobotics公司推出的Baxter[5],定位于人机协作,如图3所示,Baxter装有多个摄像头,能够实现对物体的定位,同时采用顺应式手臂并具有力度探测功能,能够适应变化的环境,可“感知”异常现象并引导部件就位,在生产环境中操作安全,不需要防护栏。

图3 Baxter双臂机器人


       日本安川开发的 MOTOMAN-SDA10[6](如图4所示),机器人的上身固定在底部基座上,只有 Z 轴方向上的旋转自由度。两个带有力矩传感器的夹爪其可以完成打击乐器、烹饪食物、上菜、折叠衣服等动作。单臂长度接近 200 cm,在一定范围内可抓持将近 10 kg 的重物。



图4 MOTOMAN-SDA10机器人


       ABB 公司 2015 年推出的YuMi机器人(如图5所示)是一款精度极高的双臂协作机器人。YuMi 机器人精度在0.5mm以内,对于常见的轴孔装配等问题可完美完成。同时为增强人机交互过程中的安全性,YuMi机器人在末端执行器上安装了力和力矩传感器,以达到柔顺控制的目的,从而保障了人机交互和合作过程中的安全。


图5 ABB的YuMi机器人


      除此上述之外,国外还有许多经典的双臂机器人,如:HRP-3 机器人、QRIO 机器人、NEXTAGE 机器人等。

      国内对于双臂协调的研究起步较晚,只在部分高校与企业进行研究。在国家863重点课题的支持下,浙江大学设计出一款能打乒乓球的机器人“悟”“空”,如图6 所示,其配备了两条七自由度机械臂,双机器人对打创下过最高114个回合的记录,但其双臂上没有安装力矩传感器,在人机交互方面显得不足。沈阳新松公司开发的双臂协作机器人DSCR3,如图7所示,具有安全、易用、灵活的特点。头部选装的相机可以辅助机器人的定位,其各项性能指标基本达到了国际上领先的机器人公司的性能指标。机器人宇航员“小天”于2015年的第17届工业博览会上亮相,如图8所示,未来可以应用于太空中有人与无人的环境中。


图6 “悟”“空”机器人


图7 DSCR3机器人


图8 机器人宇航员“小天”


二、双臂协作机器人的碰撞检测、路径规划、协调运动规划研究现状

(1)碰撞检测研究现状

       当双机械臂协调系统中两个机械臂在工作空间中相互干扰或其中有障碍物时,避免碰撞是两个机械臂安全工作的前提。碰撞检测的目的是检测两个物体之间的碰撞并报告碰撞。采用离线仿真技术,通过模拟双机械臂协调系统的运动来进行双机械臂的碰撞检测是保证其安全工作的一种有效的方法。碰撞检测的分类如图9所示。


       运用离散碰撞检测算法进行碰撞检测,有可能出现实际发生了碰撞却没有检测出来的情况,这是由于该算法的检测原理是预先将连续路径离散为一系列路径点,在每个路径点执行检测,如果实际碰撞发生的位置没有被离散为待检测的路径点,就会有上述情况的发生;虽然说连续碰撞检测算法无上述情况的发生,但其计算量巨大。离散碰撞检测有基于图像和基于图形两类,它们检测原理上各不相同,前者是根据相交物体的图像信息来实现碰撞检测,后者是通过相交物体的三维几何特性来实现检测。基于图形的算法中,包围盒法和空间分割法应用较为成熟。空间分割法是将整个空间划分成体积相等的网格单元,场景中的每个物体对应在一个或多个单元中,如果两个物体占据不同的网格单元,则说明两个物体没有碰撞,反之则发生碰撞。常用的空间分割法有K-D树,八叉树和BSP树法等。层次包围盒的方法核心思想是用一个简单的包围盒将复杂的几何物体围住,当两个物体做碰撞检测时,首先检测两者的包围盒是否相交,若不相交则说明两个物体未产生碰撞,否则在进一步对两个物体做检测。

图9 碰撞检测算法的分类


      对于双臂机器人避碰路径规划来讲多应用包围盒法对双机械臂避碰路径规划中的碰撞进行检测。常见包围盒,如图 10所示,包围球Sphere)、轴向包围盒AABB、方向包围盒OBB、离散方向包围盒K-DOP,它们的特性比较如表1所示。球体建模简化的优势是建模简单,无需考虑模型姿态,进行碰撞检测时只需进行球心与球心之间的距离计算,计算量小,但利用球体建模简化关节紧密性很差,检测结果不准确。Quinlan利用球体群建模优化这一不足,但增加了计算量,且紧密性依旧不好。Bosscher、李坤等利用圆柱加半球建模简化的方式检测机器人间的碰撞状态,将连杆简化为圆柱,两端关节简化为半球体。这种建模方式建模简单,计算量适中,但检测精度不高,无法准确表示机器人关节的位姿。AABB 的紧密性较差,一般用于粗略的碰撞检测或者快速剔除仿真环境中不会发生碰撞的物体。OBB 和 K-DOP 的紧密性较好,很多学者分别使用 OBB和 K-DOP 对物体进行碰撞检测,但是建模困难,检测计算时间较长。

图10 不同类型的包围盒示意图

(2) 路径规划研究现状

       路径规划主要研究的是基于起始点、目标点和障碍物环境,规划出一条连接起点和目标点且与环境不碰撞的路径。不同于单机械臂的运动路径规划,双机械臂协作的避障路径规划提出了更高的技术要求。在双臂机器人路径规划中需要考虑机械臂内部、机械臂之间、机械臂与环境三类碰撞问题。避障规划是保障机器人设备安全、高效地完成任务的前提和基础。


       对于双臂的路径均不能改变的情况,即起点和终点之间的路径已经确定,常用的方法有:延时启动、速度修正及优先度分配法。然而这三种方法不能对路径进行修改,具有局限性。


      对于双臂的路径可以修改的情况,Cetin O提出了一种基于人工势场法的避障路径规划方法,在障碍区域设置斥力场,在目标位置设置引力场,这种方式更适用于移动机器人的路径规划,对于机械臂这样的高维空间规划,设置势场是比较困难的;Ju首先规划一条机械臂的路径,通过驱动另一条机械臂通过的速度进行避碰;陈锋将两条两自由度机械臂等效为四边形,首先规划主臂的轨迹,通过碰撞检测建立从臂的无碰撞状态数据库(CSDB),利用 A*算法进行从臂的无碰撞路径规划,这种方式适用于自由度较低的情况;Tsai在C空间结合时间信息利用 RRT 算法对双臂协调系统进行避障路径规划;UPenn大学的Benjamin采用基于搜索的算法,对抓取物体进行路径规划。


(3)双臂协调运动规划技术研究现状

       双臂协调系统的运动规划可以分为路径规划和轨迹规划两部分,双臂协调系统通过路径规划算法得到根据任务生成的无碰撞路径点,对这些路径点(包括位置和姿态)赋予时间信息即为双臂协调系统轨迹规划。


       国外的 Pashkevich针对由一个六自由度机械臂和三自由度变位机组成的协调焊接系统,将焊接任务解耦,针对机械臂和变位机制定了不同的运动规划策略;Papakostas针对工业环境中的复杂装配任务,对多臂协调的轨迹规划问题进行了研究,在离线编程环境下实现了多臂的协调轨迹规划;Carlos对多臂协调过程中机械手的位置规划问题提出了规划算法,并进行了实验验证;在国内,东南大学的张曦针对多臂协调焊接中的运动规划问题,分别建立了松协调和紧协调的模型,并针对板板、管管、管板焊接三种情况的运动规划问题进行了研究,并通过在solidworks中仿真进行验证;浙江大学的吴潮华通过离线编程的方法对两台工业机器人的基于约束关系的协调运动规划方法进行了研究,并搭建了离线仿真平台;王雷对由两条ER16机械臂组成的双臂协调系统进行轨迹插补算法的研究,并进行了仿真实验;孟石将双臂协调的运动分为两类:耦合远动和叠加运动,并分别给出了示教方法,在VA1400和HP20机械臂上进行了实验验证。


       综上,单臂的轨迹规划是双臂协调系统轨迹规划的基础,不同之处在于两条机械臂在进行轨迹规划时存在时间或空间约束,因此单臂的轨迹规划算法可以推广到双臂协调系统中。在进行双臂轨迹规划时,若对机械臂末端的运动路径没有严格约束,只对起始和目标位姿有要求,例如松协调运动过程,则可以在关节空间内进行轨迹规划;若对末端路径有严格约束,例如紧协调运动过程,则需要在笛卡尔空间进行轨迹规划,包括位置规划和姿态规划,位置规划常用梯形、三角函数形、指数形及 S 形曲线进行速度规划构造位置曲线,姿态规划常用的是 Shoemaker[39]提出的基于单位四元数插补的 SLERP 算法和 SQUAD算法,但这两种算法只能构造 C1 连续的曲线,有待进一步改进。