核心技术
Core technology
视觉驱动机械臂自主作业技术
视觉是对周边环境进行感知的重要方式之一。视觉控制机械臂自主作业很早就被提出,它的发展主要是从基于分析的方法到基于数据驱动的方法。随着成像系统及计算机技术的不断发展,视觉伺服控制成为有效的控制方法之一,该方法通过图像反馈的信息实现闭环控制。对于简单场景下的抓取操作,视觉伺服的控制已经取得了显著成效,如在分拣、搬运等流水作业上。但是视觉伺服控制难以应对复杂场景和非结构化环境下的自主作业,如水下复杂动态场景下目标的抓取。近年来,随着硬件水平的提高,尤其是GPU等高速并行模块的开发,以及深度学习在机器视觉领域的快速发展,基于数据驱动的方法得到广泛关注。基于数据驱动的方法包括监督学习的方法和无监督学习的方法。监督学习的方法重点在于对环境的感知,一般通过目标检测或语义分割等技术得到最佳的抓取位姿,然后采用逆运动学变换的方法控制机械臂抓取。但是这种方法一般采用的是开环控制,难以满足动态变化场景下的自主作业需求。无监督学习的方法将机械臂自身与环境进行交互,通过经验进行学习,为机械臂训练一个像人一样的大脑来对外界环境进行感知并决策出最合适的动作完成既定任务。这一类方法一般对抓取任务进行顺序上的推理,在复杂动态场景中展现出巨大的潜力。

基于几何驱动的机械臂自主作业
几何驱动是通过几何学、运动学等进行解析从而规划出最合理的抓取的姿态。这一类方法主要处 理数据库中已知物体的抓取,需要事先将待抓取物体的模型存入数据库中,通常与传统的视觉伺服相结合。视觉伺服的概念于1979年被提出,指的是利用计算机视觉控制机器人的运动,是一种闭环控制方式。它通过传感器不断采集到图像信息作为反馈信号,对机器做进一步控制或自适应调整的行为.Hutchinson等在1996年编写的视觉伺服的教程中将视觉伺服分为基于位置的视觉伺服和基于图像的视觉伺服。1999年,,Malis等提出了混合视觉伺服的概念。
基于位置的视觉伺服(PBVS)控制方法的反馈信号以笛卡尔坐标系的形式给出,输入的误差信号为期望位姿与当前位姿的差值,如图所示。首先将传感器采集到的图像信息进行处理,提取特征点,根据相机标定求取目标物位置处的期望位姿与机械臂末端执行器位姿的差值,然后利用逆运动学求解关节转动角度进而实现对机械臂的控制。其核心任务为根据提取的物体特征等实现对物体的位姿估计。针对位姿估计有多种方法,如解析法、迭代法、 基于滤波的方法等。随着Intel RealSense、Kinect等高性能RGB·D相机的出现,越来越多的人通过深度相机预测目标位姿,李树春等针对非结构化环境,使用Kinect获取目标点云,然后通过提取快速点特征直方图描述子结合奇异值分解算法来估计目标位姿。

基于图像的视觉伺服(IBVS)实现了在图像空间的闭环控制,如图所示。该控制方法的反馈信号为图像特征的期望值与当前值的差,将测量得到的图像信号与目标位置的图像信号进行比较,利用所获得的图像的误差进行控制。该方法提取出图像中的特征点,但无需进行位姿估计计算,而是将机器人的运动与图像特征点的运动通过雅可比矩阵建立起一个动态的控制模型,然后根据该动态控制模型得到计算机的控制指令。其核心为找到稳定的特征点建立起视觉空间和机器人运动空间之间的非线性映射关系,常见的几何特征如点、线特征,或者基于图像矩的特征。另外,也有将整幅图像作为特征建立目标函数来描述图像特征的运动模型。如基于点的特征,设特征点相对于相机坐标系的空间坐标记为(x,y,z),映射至成像平面的像素点坐标记为(X,Y,1),其中,X=x/z,Y=y/z.可得,相机运动引起目标点(x,y,z)的变化,从而引起(X,Y,1)的变化。平面像素点特征的雅可比矩阵LP描述了相机运动速率和像素点坐标变化速率之间的转化关系。其中,Vcam=[Vx,Vy,Vz]T,Wcam=[Wx,Wy,Wz]T分别为相机的线速度向量和角速度向量,(2)在基于图像的视觉伺服系统中模型主要是指图像雅可比矩阵与机械臂运动学模型,如何快速地求取图像雅可比矩阵是一个关键的问题。

基于混合视觉伺服(HVS)包含了笛卡尔坐标空间的闭环控制和图像空间的闭环控制,又被称为2.5D视觉伺服.该控制方法的反馈信号为期望图像与当前图像之间的单应性矩阵,通过对单应性矩阵的分解获取姿态控制分量.该方法融合了PBVS和IBVS的优势,增强了算法的鲁棒性,但其计算量较大,实时性也较差。也有的研究人员通过在不同的 视觉伺服控制方式间切换实现机械臂的控制,如2020年Haviland等提出了PBVS和IBVS进行切换的方法实现非静止目标的抓取,先采用PBVS的视觉伺服从远处接近目标,然后切换到IBVS继续接近目标,实现了由粗到精的视觉伺服策略。
基于数据驱动的控制
随着深度学习的快速发展,研究人员将该领域运用到视觉驱动机械臂自主作业中,形成数据驱动的控制方法。数据驱动的控制方法包括监督学习的方法和无监督学习的方法。基于监督学习的机械臂自主抓取的研究主要集中在抓取位姿的估计上。基于深度学习的自主控制大致流程和几何驱动的控制一致,相比于几何驱动的方法,基于深度学习的数据驱动借助于神经网络这一强有力的特征提取架构在杂乱、有遮挡的作业 场景中更具有鲁棒性,可实现对已知、相似、未知物体的抓取。
强化学习也是机器学习的一个领域,属于无监督学习的方法。如图所示,强化学习是一种通过智能体与环境进行互动,对外界环境进行感知,然后根据感知到的状态进行决策,进而得到环境反馈的评价,根据与环境交互所得到的信息不断调整策略以获得最大奖励的机器学习的方法。由于其具有自主学习能力且能够模拟人类和动物的学习过程而被认为是一种能有效解决控制与决策问题的机器学习方法。强化学习主要算法包含基于价值的方法、基于策略的方法以及两者相结合的方法。基于价值的方法估计某一状态或某一状态-动作对的期望回报,并通过最大化这个期望回报得到最佳的策略,通常用于处理离散的动作空间。基于价值的方法有Q-learning 、Sarsa等。为了能够处理连续的动作空间,基于策略搜索的方法采用参数化的策略,并对这个参数化的策略进行优化得到最优策略,如Policy gradient的方法。但是基于策略搜索的方法存在高方差的问题,因此将基于价值的思想与基于策略的思想相结合,即actor-critic的方法,如DDPG等。

基于监督学习的机械臂控制
基于监督学习的机械臂自主作业的研究将外界 感知与运动控制分离。通过深度神经网络实现外界 的感知,得到抓取位姿,然后通过逆运动学变换等实 现控制机械臂.基于深度学习的机械臂控制研究主 要集中在抓取检测上,根据抓取环境的不同,主要分 为2D 平面的抓取和6个自由度(6Degree of freedom,6DOF)的抓取。
基于无监督学习的机械臂控制
无监督的强化学习方法使机械臂在与环境进行交互的过程中自主学习,不需要对环境进行建模,因而得到广泛关注。目前使用强化学习算法进行机械臂自主作业控制的研究主要处于实验阶段。近年来有各种相关的技术和算法不断被提出,新的研究成果不断涌现。很多机械臂的训练环境直接将机械臂 位姿参数或是目标位姿参数作为强化学习状态输入实现机械臂控制,这种方法训练速度快且效果较好,但是实际使用中直接使用机械臂或目标位姿参数训练是不现实的,图像输入是更为通用可行的方式.