空间机械臂智能规划与控制技术
2022-03-17高贤渊赵治恺黄泽远符颖卓费军廷
陈 钢,高贤渊,赵治恺,黄泽远,符颖卓,费军廷
(北京邮电大学自动化学院,北京 100876)
随着空间技术的快速发展和人类太空活动的日趋频繁,空间操控任务日益增多。空间机械臂作为空间操控自主化和智能化的关键设备之一,正在改变着人类载人航天、深空探测等太空探索活动的方式[1]。由于太空环境具有微重力、高温差、强辐射等特点,严重威胁执行出舱任务的宇航员生命安全,空间机械臂因其运动灵活、有效作业空间大等特点,展现出人类宇航员不具备的强大在轨作业能力,可降低宇航员出舱活动的频率。另外,空间机械臂也是星表科学探测最有效的装备之一[2⁃3]。鉴于此,近些年来空间机械臂被广泛用于航天器在轨组装、在轨辅助宇航员舱外活动、空间碎片清理、空间实验以及星表探测等任务,不仅提高了太空作业效率,避免了宇航员舱外活动的潜在风险,还节省了大量人力物力[4⁃5]。
空间机械臂在执行空间操控任务时,或脱离了地球引力的约束,或面临着星表环境与地表环境之间的巨大差异,这导致空间机械臂的动力学特性与地面机械臂有很大不同,并且操作任务的对象大多都是高价值的航天器。所以,空间机械臂执行任务时的稳定性与安全性对于空间操控任务至关重要。如何在考虑空间机械臂的复杂运动规律以及操作过程中力与力矩的变化的情况下,实现规划出可执行的空间机械臂动作序列与轨迹序列,是实现空间机械臂的可靠稳定运行、确保空间操控任务的顺利执行的关键。因此,广大学者开展了对空间机械臂规划与控制技术的研究。
本文概述了空间机械臂的发展情况及其关键技术,重点介绍了国内外专家在任务规划、运动规划与运动控制中的研究成果与贡献,并对未来空间机械臂智能规划与控制技术的发展提出了建议。
1 空间机械臂发展及相关技术概述
1.1 国内外空间机械臂发展现状
世界上最早应用的空间机械臂系统是1981 年加拿大研制的SRMS(Shuttle remote manipulator system),如图1 所示。该臂具有6 个自由度,采用“肩关节⁃肘关节⁃腕关节”构型,可通过遥操作控制方式进行大负载操作任务,完成了捕获哈勃太空望远镜、空间站装配和维修等任务[6]。在此基础之上,加拿大为国际空间站开发了移动服务系统(Mobile service system,MSS),如图2 所示。该系统由空间站远程操作臂系统SSRMS、专用灵巧机械臂SPDM、活动基座系统MBS 组成。其中SS⁃RMS 由两个七自由度长臂杆组成,主要功能是搬运和组装大型物体,SPDM 是安装在SSRMS 末端的灵巧手,用于执行一些精细操作任务,灵巧手的本体装配在远程操作臂系统的末端来代替宇航员的出舱活动。随后,欧洲一些国家和日本也展开了空间机械臂技术的研究工作。德国开展了空间机械臂技术试验(Space robot technology experiment,ROTEX),如图3 所示。ROTEX 机械臂具有6 个自由度,臂杆展开长度为1 m,在哥伦比亚号航天飞机上进行的飞行演示,执行了桁架装配等任务,验证了宇航员在轨遥操作、地面遥操作等操作模式[7]。国际空间站日本舱段装配的日本臂JEM⁃RMS(Japanese experiment module remote manipu⁃lator system),如图4 所示。该机械臂采用宏微机械臂串联构型,由主臂和小臂串联构成,主臂由6个关节和两个臂杆组成,小臂由6 个关节、两个臂杆和一个末端执行器组成,主要用于载荷照料、物资搬运和ORU 更换[8]。国际空间站俄罗斯舱段装配的欧洲机械臂(European robotic arm,ERA)具有7 个自由度,如图5 所示。该机械臂完全对称且可重定位,臂长约9.5 m,质量650 kg,最大有效载荷80 t,用于对舱段进行装配和维护[9]。美国研制的机器人宇航员R2(Robo⁃naut2)系统,如图6 所示。具备头部、颈部、腰部、双臂、灵巧手等类人特征,可以模仿人类宇航员的工作能力,完成国际空间站舱内辅助宇航员操作技术验证[10]。
图1 空间机械臂系统:SRMSFig.1 Space manipulator system—SRMS
图2 空间站遥操作机械臂系统:MSSFig.2 Space station teleoperated manipulator system—MSS
图3 机器人技术试验系统Fig.3 Robot technology experiment system
图4 日本实验舱远程机械臂Fig.4 Japanese experiment module remote manipulator system
图5 空间站七自由度机械臂:ERAFig.5 Space station seven degrees of freedom robotic arm—ERA
图6 机器人宇航员R2Fig.6 Robo⁃naut 2
中国空间机械臂技术研究相较于国外起步较晚,但追赶速度很快。天宫二号机械臂系统主要用于验证在轨人机协作关键技术和在轨遥操作技术[12],如图7 所示。嫦娥五号月球表面采样机械臂完成了月面采样返回任务[13⁃14],如图8 所示。中国空间站机械臂系统承担空间站建造、运营和维修等任务[15],空间站配备了核心舱机械臂和实验舱机械臂两套机器人系统,如图9、10 所示。两个机械臂展开长度分别约为10 和5 m,最大有效载荷分别为25 000 kg 和3 000 kg,都为七自由度机械臂,由3 个肩关节、1 个肘关节和3 个腕关节组成。核心舱机械臂主要负责完成空间站舱段转位、辅助对接、宇航员辅助支持等任务,实验舱机械臂主要负责暴露载荷照料、光学实验平台照料和辅助支持宇航员等任务。两个机械臂可以独立工作,也可以串联形成组合臂协同工作。
图7 天宫二号机械臂和宇航员Fig.7 The Tiangong⁃2 robotic arm and astronauts
图8 月面采样机械臂Fig.8 Lunar surface surface sampling manipulator
图9 核心舱机械臂Fig.9 Core cabin manipulator
图10 实验舱机械臂Fig.10 Experimental cabin manipulator
1.2 空间机械臂规划与控制技术概述
空间操控任务按照航天器环绕地球与否,分为在轨服务与深空探测两类。在轨服务主要包括在轨装配与在轨维护。在轨装配可以实现航天器的组装及其功能扩展,具体指在太空中将部组件组装起来构建成复杂的空间结构。在轨维护可以保障并延长空间系统寿命,具体指对空间系统提供检查、维修以及轨道清理等活动。深空探测指对地球以外的天体展开的探索活动,具体包括对行星表面物质的勘测与研究,以及星表建筑的建造与维护等空间探索任务。
空间机械臂是上述各项空间操控任务的关键设备,在任务开展的过程中到了至关重要的作用。在在轨服务任务中,空间机械臂通过对操作目标的逼近、抓取、搬运等基本操作,完成装配或维修任务。在深空探测任务中,空间机械臂配合不同的末端执行器,可以完成对星表岩石、土壤的勘测、取样任务,通过移动、组装完成星表基地、太阳能电站的建造任务。在任务执行的过程中,机械臂操作通常分为“感知—规划—控制”3 层。先通过传感器获得机械臂自身及环境的信息,然后在考虑空间机械臂运动特性和环境约束的情况下,规划出空间机械臂的动作序列和轨迹序列,驱动电机执行操作任务。
1.2.1 感知技术
空间机械臂感知技术决定了空间机械臂系统对环境的感知与测量,辅助展开任务执行过程中的规划与控制。空间机械臂可以通过各种类型的传感器测量系统本身和所处环境数据,再通过对数据的处理实现后续的建模与分析。感知技术使得空间机械臂可以完成对自身工况的读取、对目标状态的识别以及对环境约束的判断,从而为后续的规划与控制提供更多的信息输入。视觉感知技术和触觉/力觉感知技术目前是在空间机械臂领域应用最为广泛的感知技术。
利用视觉传感器获取到图像数据后,需要对图像数据进行处理和计算,比较常见的应用有视觉测量和目标检测。视觉测量一般用于对合作目标的位姿测量,通过视觉传感器对视场范围内的标志器(如靶标、反射器等)的识别,计算目标与机械臂末端执行器之间的相对位置与相对姿态,作为后续规划和控制的输入。技术关键在于利用特征点间的约束关系和相机的空间配置关系,求解空间特征点相对相机光心的距离。目标检测一般用于对非合作目标的纹理及形状等特征的提取,继而计算其位姿。若目标的几何和结构特征参数已知,则可将目标模型简化为可观测特征的点模型,再利用基于点特征的视觉测量技术实现位姿计算。若目标的几何和结构特征参数未知,先对图像数据进行边缘匹配,再通过位姿非线性优化算法求解非合作目标位姿参数。若没有目标模型,可以分解目标特征作为识别对象,提取边缘线条与实际形状对比,从而计算目标位姿。
触觉/力觉感知是空间机械臂与环境直接交互的方式之一,被广泛应用于空间在轨装配、空间载荷实验或空间目标抓捕等接触作业中。触觉感知通常用来获取空间机械臂末端执行器与环境的作用信息和测量被接触物体的特征信息。比如获取灵巧手、抓取工具在抓取过程中的接触力信息,实现目标刚度、几何特征的测量。力觉感知主要用来检测末端执行器与被操作对象间的作用力、反作用力大小,比如保证机械臂与宇航员的安全交互,辅助机械臂对环境输出主动柔顺控制。
目前视觉感知的技术难点在于提高目标检测与位姿估计的技术水准,以能够处理视场内覆盖大量已知对象、光照条件较差或图像对比度强烈的问题,做到准确、高效估计快速翻滚的非合作目标的六维位姿。触觉/力觉传感器的性能及相关算法非常依赖材料、电子学等其他学科的发展,距离类人级的水平还有一定的距离。此外,基于视觉、触觉、力觉等多传感器的信息融合与特征突破了单一类型感知信息的限制,使机械臂的环境感知能力大大提升。但是,多类型感知信息的内在关联的提取十分依赖数据驱动的方法,基于此的多类型感知信息的计算模型需要更多深入的研究。
1.2.2 规划技术
为了规划出使得机械臂有效完成操控任务的运动状态序列与选择合适的控制策略,需要充分掌握空间机械臂的运动规律以及操作过程中的作用力与力矩的变化,即空间机械臂运动学与动力学建模是空间机械臂规划与控制的基础。其中,运动学模型从几何学角度描述机械臂连杆与基座运动随时间的变化规律,动力学模型研究机械臂在力、力矩作用下的运动特性。通过机械臂运动学与动力学模型,根据机械臂系统相关参数与外部作用力,可以确定机械臂的运动过程;并且,机械臂系统可以根据机械臂末端位姿、速度或者力,通过运动学与动力学模型反解机械臂系统自身的状态参数。由此可见,空间机械臂运动学与动力学模型的建立直接决定了后续机械臂执行任务中的规划过程与控制策略的选择。
在空间机械臂运动学、动力学模型基本完善并成熟的基础之上,规划空间机械臂的运动过程。空间机械臂的规划技术总的来说是按照空间操控任务的需求和约束,规划机械臂的运动过程,可细分为任务规划、路径规划、轨迹优化3 个层级。任务规划指将任务需求、空间机械臂自身与环境作为约束条件,将机械臂的初始状态和规划目标状态所确定的规划问题作为输入,合理规划出机械臂完成任务所需的行为决策和动作序列。路径规划指规划出一条以指定位姿或期望构型到达目标点的末端执行器路径,是一个仅包含中间位置和姿态的几何信息的集合。一般分为关节空间路径规划和笛卡尔空间路径规划,关节空间规划一般使用基于梯形速度插值函数、基于多项式插值函数、基于样条曲线等几种插值函数生成轨迹,笛卡尔空间路径规划包含直线路径规划、圆弧路径规划、约束曲线等几种规划形式。轨迹的定义是指在几何信息的基础之上增加时间信息,即位置矢量和姿态角度对时间的微分信息,轨迹优化一般指在路径规划基础之上对路径点的位置、速度、加速度进行优化,进而达到对空间机械臂运动性能、任务执行效率等指标的优化。轨迹优化的典型应用有避障轨迹规划、避奇异轨迹规划和非完整轨迹规划3 种。
传统的轨迹规划方法大多依赖系统的运动学、动力学建模,计算量大,效率低下。并且,因为难以实现空间机械臂的自动建模、自动求解、自动控制,因此使得空间机械臂的应用过程中缺乏可靠性与智能化。近年来随着基于机器学习的人工智能算法的发展,将空间机械臂直接抽象为智能体,既能考虑到执行任务所经历的中间路径、速度、加速度对任务执行效率的影响,也能结合机械臂自身约束及环境障碍约束,实现了输入目标状态从而直接规划出一条包含时间信息的机械臂关节角序列或者末端执行器的轨迹序列。因此,机器学习类算法模糊了传统路径规划和轨迹优化的界限,使两者融合为一种广义的运动规划过程。
1.2.3 控制技术
空间机械臂的控制技术指的是将规划系统规划出的期望动作作为输入,结合传感器采集的自身工况和环境感知信息,经过控制算法计算后,输出机械臂各个执行机构的控制信号,驱动机械臂完成期望动作。控制算法的性能直接决定了机械臂任务执行的效率。
学术界有大量的空间机械臂控制方法被提出,经典的控制方法主要有PID 控制、自适应控制、滑模变结构控制以及相关衍生方法。比例⁃积分⁃微分控制(Proportional⁃integral⁃derivative control,PID)是最早发展起来的控制策略,其应用广泛遍布于各个控制领域,其结构简单,只根据期望值和实际输出值构成控制偏差对被控对象进行控制,但易忽略系统中的非线性因素,难以实现高精度的控制。自适应控制方法主要针对被控对象的数学模型、结构参数的不确定性,修正自己的特性以适应对象和扰动的动态特性的变化,在空间机械臂领域也有较多的应用,但是在一些高度复杂、存在非线性时变的系统上的表现并不理想。滑模控制是一种非线性控制方法,根据系统状态偏离“滑动模态”的程度来切换控制器,由于该控制器的效果主要取决于滑模面的设计,因此对外界干扰、模型参数摄动和未建模动态特性有很强的鲁棒性,但是当状态轨迹在切换面两侧来回切换时会产生振动。
空间机械臂作为一类典型的非线性、强耦合多体系统,其对控制方法的稳定性、精确性有着较高的要求。大量学者以基本控制方法为基础,针对某一特定场景或任务,提出了许多典型控制方法,例如柔顺控制、视觉伺服控制、轨迹跟踪控制、协调控制等。这几种典型的智能控制方法解决了经典控制在面对复杂任务时的局限性,极大地丰富了空间机械臂可执行的任务种类与提高了任务执行的效率。
2 空间机械臂智能规划
传统空间机械臂操控主要采用预编程和遥操作两种工作模式,前一模式下,空间机械臂按照预先编制的程序执行任务,会限制可执行任务种类;后一模式下,人类在地面端对机械臂实施操控,会由于通讯延时导致任务执行效率低下。近年来,随着在轨服务与深空探测的不断深入,空间机械臂需要执行的任务种类增多,任务复杂程度增高,两种传统的工作模式难以满足使用需求,因而其作业方式逐渐向“半自主”或“全自主”转变,这一过程驱动着智能决策与规划方法的进一步发展[16⁃18]。
2.1 任务规划
空间机械臂的各种单一动作难以实现比如替换、转移操作物这种复杂任务,此类任务有较强的逻辑约束,因此需要引入任务规划技术。任务规划包含任务约束、规划目标与优化原理3 个核心要素。任务约束包含机械臂自身约束与环境约束,机械臂自身约束指机械臂运动学、动力学模型、关节限位以及关节驱动能力等,环境约束指观测设备视场、工作空间内障碍物约束等;规划目标包含任务执行策略、任务执行时间以及末端行程要求等;优化原理指的是在任务约束的条件下,结合规划目标求解空间机械臂高效完成操作任务过程中由初始状态向目标状态转移所经历的中间状态序列的过程。任务规划技术是实现智能化、自主化在轨操控的顶层,在任务的决策到最终执行过程中起到了至关重要的作用。
最开始的机械臂任务规划技术主要研究动作序列的自主生成过程。樊滨温等[19]提出了一种基于环境模型的空间机械臂任务规划算法,通过对三自由度空间机械臂捕获静态物体并在指定位置放置物体的任务研究,指出任务规划的结果是机器人及其手爪在空间运动的目标位置的序列,采用拓扑降维法通过分解旋转映射图、构造特征网、搜索联通路径进行路径规划得到机械臂执行任务时的关节角度序列。
在早期的人工智能领域,Fikes 等[20]针对智能规划问题提出了STRIPS 规划方法,这也是最早的规划建模语言,是其他规划建模语言的雏形。进一步,Ghallab 等[21]提出了规划领域定义语言(Plan⁃ning domain definition language,PDDL),该语言具有较完备的建模能力,形成了系统的任务描述形式。阎慧等[22]在PDDL 语言基础之上,考虑空间机械臂太空作业的特殊性,根据空间机械臂任务规划的特点,拓展了对资源和活动实例定义、活动的持续时间和活动效果属性,提高了描述的准确性以及规划的效率。
基于STRIPS、PDDL 等格式语言描述的任务规划方法只适用于假设的任务场景,难以适用于繁杂且不定的太空操作任务。为了更好地描述任务规划过程,Blum 等[23]将STRPIS 型问题转变为通过搜索可以解决的规划问题,提出了图规划方法。该算法简洁、拓展性强,但搜索效率较低,实际工作中会结合A*算法、模拟退火算法等提高其规划效率。Likhachev 等[24]提出了启发式搜索算法,通过启发项在空间中搜索可行规划解,避免状态空间的完全遍历。黄旭东[25]建立了空间机械臂任务规划的通用框架,该框架采用分层模式规划空间机械臂操作任务,基于改进图规划算法实现任务剖面分析以获得任务动作子序列,其中针对移动任务,引入启发式算法,将不能直接规划的路径分解为多段简单路径的组合。
随着太空探索任务的开展,空间机械臂待执行任务的复杂度逐步提升,这一特点对任务规划算法提出了更高需求,如复杂环境下更高的任务规划效率等。为适应任务发展,任务规划的研究向着群体化与智能化的方向继续发展。刘晓莹等[26]将正交混沌蚁群算法首次应用于群机器人的任务规划中,成功解决了中大规模任务规划问题,提高了多机器人执行任务的效率。余伶俐等[27]提出一种交互式仿生群协进化混合算法体系框架,求解速度较快,求解质量较优。Mokhtari 等[28]提出了一种可以使机器人根据以往经验进行学习的任务规划方法,赋予机器人获取知识、执行各种任务和交互、适应开放环境的能力,但难以适用于多机器人协同工作,且容易出现过拟合的情况。
任务规划常在机械臂状态空间中搜索可行解,然而一旦遇到规模庞大且复杂的任务场景,机械臂状态空间维度可能会出现指数爆炸。分层任务网络规划(Hierarchical task network planning,HTN)的提出[29]很好地解决了这类问题,HTN 将目标状态用抽象的目标任务替代,极大简化了规划过程的复杂度。Stock 等[30]以HTN 为基础,解决复杂服务机器人的任务规划问题。Tomás 等[31]提出了一种用于解决多模态操控问题的HTN⁃DARRTH 框架,用于解决机械臂移动物体任务。王一帆等[32]针对空间机械臂在轨环境复杂、约束繁多、任务多样的特点,提出了一种基于分层结构的多约束任务规划方法,将任务规划过程划分为任务剖面分析与任务中间点规划两个层次分别进行。刘茜等[33]针对月面着陆姿态、工作环境和机械臂变形等多种不确定因素,提出了月面采样机械臂的动态任务规划方法;设计了包括任务整体规划、采样策略规划和运动控制规划在内的3 层规划体系,将复杂月面采样作业任务规划问题分解为空间约束、时序推理和运动控制3 个维度分别求解。
上述的任务规划算法大多针对特定任务场景,面对复杂、动态的场景泛化性较差,基于强化学习(Reinforcement learning,RL)的任务规划算法在未来空间操控项目中的部署是一种必然趋势。目前基于强化学习的任务规划算法在地面工业、家用机器人系统中蓬勃发展,但是由于空间机械臂的操作对象一般是高价值的航天器,容错率低,相关规划策略仍处于研究验证阶段。因此,如何将仿真场景中训练好的任务规划策略网络迁移至空间机械臂系统中,是今后空间机械臂任务规划技术研究的关键。
2.2 运动规划
为使空间机械臂以最优的性能稳定地完成操作任务,既要规划出空间机械臂的工作路径,也要规划出满足运行时间、能耗、避障等多方面约束的轨迹,即对空间机械臂进行运动规划。星表机械臂一般固定在移动设备上,基座固定,其轨迹规划方法可以沿用地面机械臂的轨迹规划方法。但是,在轨服务状态下的空间机械臂处于失重状态,基座不固定且受到机械臂运动的影响,导致整个系统存在非完整性约束,无法使用地面机械臂轨迹规划方法求解。并且基座与机械臂之间存在动力学耦合,导致规划过程中易出现动力学奇异问题[34]。
为解决上述问题,传统方法先对空间机械臂系统进行动力学耦合分析,在此基础之上对机械臂进行轨迹规划。Yoshida等[35]采用求广义雅可比逆矩阵的方式进行轨迹规划。Xi等[36]回避了对系统广义雅可比矩阵的逆运动学解算,利用机械臂的雅可比矩阵提出了3 种避免动态奇异点的方法:隐式近似⁃线性规划方法(Implicit approximate⁃linear⁃programming,IALP)和两种加速隐式近似⁃线性规划方法(Accel⁃erated implicit approximate⁃linear⁃programming mothods)AIALPA 和AIALPB,但算法精度较低。刘厚德[37]通过建立“基座质心等效机械臂模型”,分析等效机械臂位置级逆运动学,求解平衡臂的运动轨迹,从而回避了雅可比奇异问题。徐文福[38]使用多项式函数对关节角进行参数化,通过参数化的关节轨迹得到末端位姿相对于待定参数之间的函数关系,再使用牛顿迭代法求解待定参数。黄兴宏等[39]使用最优控制策略,将轨迹规划问题转换为最优控制问题,设计了一种全程恒定基座姿态零扰动的末端位姿轨迹规划方法。
随着群体智能算法的兴起,Lin[40]提出一种基于粒子群算法和K⁃means 聚类的方法来求解最小加速度关节轨迹的近似最优解,计算速度快,方法统一。刘勇[41]针对大负载点到点的空间机械臂轨迹优化问题,提出了一种基于多目标粒子群优化的轨迹优化算法,有效提升了空间机械臂的最大负载能力。随后,有学者提出基于快速扩展随机树(Rapidly⁃exploring random trees,RRT)的机械臂全局规划方法,基于RRT 的算法在一定程度上解决了奇点问题[42]。关英姿等[43]提出一种改进RRT算法,在机械臂接近捕获目标的过程中,若目标运动状态估计的精度不够高,则使用此改进RRT 算法规划安全轨迹。闫硕[44]针对任务目标可变的空间机械臂路径重规划任务,提出了一种结合概率人工势场法的RRT 优化策略,使机械臂执行采样任务时可以适应任务环境和目标的变化。
上述针对空间机械臂的轨迹规划大多基于多体动力学模型来实现,若是遇到柔性部件的航天器,动力学模型难以确立,群体智能算法又通常会陷入局部最优解。随着人工智能技术研究的兴起,广大学者将深度学习、强化学习等学习类算法运用到机械臂的运动规划过程中。深度学习(Deep learning,DL)适合归纳与总结经验、知识,强化学习利用智能体与环境交互获得的样本信息为深度学习提供经验数据。因此,将深度学习与强化学习结合起来的深度强化学习(Deep reinforcement learning,DRL)可以实现机械臂从感知到决策控制的端到端的学习。Actor⁃Critic 框架是目前深度强化学习的一种通用架构,包括策略网络(Actor)和评价网络(Critic)。
徐帷等[45]针对实现空间机械臂目标跟踪及避障的规划问题,使用Sarsa(λ)强化学习方法,基于目标偏差和障碍距离设计奖励函数,进行机械臂转动动作的强化训练,更新机械臂关节的状态⁃动作值函数表,用于自主路径规划与智能决策。解永春等[18]使用标准Actor⁃Critic 算法框架,研究在轨燃料补加的自主规划问题,将仿真场景中训练好的策略网络迁移到现实物理试验系统中,使机械臂具备端到端的视觉伺服能力。
捕获任务的规划目前是强化学习在空间机械臂应用中的研究热点之一。Liang 等[46]设计了一种基于Actor⁃Critic 算法的机器人深度强化学习运动控制模型,通过三角函数变换奖励函数,统一了距离和角度的评价标准,极大提高了收敛效率,并且在仿真平台中实现了六自由度空间机械臂对目标的捕获。Wu 等[47]针对目标相对于自由漂浮空间机械臂有相对运动的情况,提出一种无模型强化学习策略,即深度确定性策略梯度算法(Deep de⁃terministic policy gradient,DDPG),在不建立空间机械臂动力学和运动学模型的情况下训练在线轨迹规划策略,使空间机械臂能够快速调度和执行动作。赵毓等[48]针对空间机械臂对匀速运动目标捕捉问题,提出了一种改进深度确定性策略梯度算法,基于机械臂与目标相对距离以及任务操作的总时间设计奖励函数,建立了“线下集中学习,线上分布执行”的目标捕捉训练系统。曹钰雪等[49]基于DDPG 框架分别提出了使用双估值网络和策略参数噪声的改进算法及基于后见经验回放(Experience replay)的多目标算法,实现了针对固定或者随机目标的抓捕操作。孙康等[50]使用DDPG 框架,结合关节控制力矩、抓捕距离以及相对速度设计奖励函数,实现对空间漂浮基机械臂的快速抓捕控制,且能有效降低接触碰撞力的大小。俞志成[51]使用DDPG 框架学习冗余机械臂双臂路径规划策略,实现了空间球形旋转球形(Spherical⁃revolute⁃spherical,SRS)冗余机械臂对目标卫星的捕获。杜德嵩[52]分别使用传统捕获控制方法、无模型深度强化学习方法和基于模型的强化学习算法展开了对空间机械臂智能捕获策略的研究,对比3 种方法的优劣,得出:传统控制方法不需要训练,捕获位置精度高于其他方法,但是对控制器参数非常敏感;而另外两种基于强化学习方法的捕获策略对于不同参数的控制器适应能力较强,但是完成任务耗时低于传统方法。Yan 等[53]使用Soft⁃Q 算法来训练基于随机能量场的空间机械臂运动规划策略,首先基于最大熵目标构造了Soft⁃Q 网络和状态条件随机策略网络,然后构建经验重放池来存储在SQL 过程下训练两个网络的训练样本,接着训练策略,使累积奖励和策略熵最大化,最后在仿真环境中实现了单臂和双臂自由漂浮空间机械臂的目标捕获。
空间机械臂实现自主运动规划能力的一个关键在于从以往的操作任务经验中学习,实现对已有知识的更新和推理,并通过不断地自学习或互学习获取新知识,提升自主运动规划的性能以能够处理将来会遇到的任务需求。使用深度强化学习方法进行空间机械臂运动规划的优点在于:面对不同的环境约束算法的泛化性较强;回避了空间机械臂的运动学和动力学建模;不易陷入局部最优解;降低了实时计算量。但是,现阶段大多数基于强化学习的运动规划算法都在仿真场景中学习、训练,向真实环境中的移植与迁移略显匮乏。
3 空间机械臂运动控制
空间机械臂在不同的应用场景下或不同的任务背景下,其约束、指标等也会有所区别。例如自由漂浮或者自由飞行状态下的空间机械臂基座不固定,并且关节运动时会与基座产生耦合运动。因此,相关学者基于基本控制方法,提出了专门针对特定任务场景的空间机械臂控制技术。
3.1 柔顺控制
利用空间机械臂执行接触型操作任务时,机械臂末端会因为与目标载荷发生接触碰撞产生碰撞力或碰撞扰动。例如,当空间机械臂进行装配工作时,控制误差会导致机械臂装配过程中挤压到目标物体的管壁从而产生较大的应力,通过六维力传感器让机械臂感应到与目标物体之间的相互作用力,柔顺控制会针对受力方向对规划好的路径进行修正,使装配任务正常进行,防止机械臂和目标物体在碰撞过程中损坏。
传统柔顺控制方式主要分3 种:力/位混合控制、阻抗控制和自适应控制。力/位混合控制可以直接实现对接触力的控制,徐文福等[54]针对空间机械臂在轨更换ORU 模块过程中提出了一种改进的力位混合控制方法,采用加权选择矩阵代替经典力/位混合控制中原有的选择矩阵,实现了位置、力混合控制的平滑切换。阻抗控制对于机械臂与环境接触状态的切换有很强的适应性,Hogan[55]提出了阻抗控制用来处理机械臂和环境的动力学耦合;Stolfi 等[56]采用力矩控制的阻抗控制方法进行机器人装配,通过末端的力、速度、加速度这些间接量来控制机械臂输出力矩的大小。周昱城[57]针对空间机械臂大负载自主装任务的力接触问题,结合空间机械臂动力学方程与离散和连续碰撞力的分析,先对自主装系统闭链式结构进行动力学建模,再设计阻抗控制策略实现任务过程中的力接触跟踪。Wang 等[58]针对机械臂末端与自旋目标之间发生接触的场景,先消除基座加速度项对关节运动和基座运动解耦,再构建空间双臂机器人协调操作系统的统一动力学模型,设计了一种协调操作柔顺控制策略,实现了对接触力的精确控制。Pan等[59]基于滑模阻抗控制律,建立了一种改进的等效刚度模型,设计了接触扰动的最优补偿项,有效地减轻了由于接触力的突然变化而引起的碰撞。但上述方法无法对外界的干扰进行修正,且控制精度会受控制模型影响。因此在此基础上引入自适应控制方法,通过对比任务要求性能指标和实际性能指标获得的信息来修正控制器,减小模型参数与实际参数不匹配的问题。Love 等[60]较早使用了递归最小二乘法来辨识环境刚度,从而调整柔顺控制器的参数。Colton 等[61]使用了指数加权递归最小二乘法辨识非线性模型,实现对非线性系统的精确控制。自适应控制不需要精确的动力学模型,并且可以根据动力学特征和环境特征自适应,但是自适应算法的计算量较大。这3 种柔顺控制方法都需要建立机械臂动力学方程,但是空间机械臂的工作环境复杂、耦合关系复杂、不确定性强,其动力学模型难以精确描述。
为解决这一问题,有人提出将智能算法引入柔顺控制的想法,利用智能算法高度非线性逼近映射的能力解决上述问题。Touati 等[62]将神经网络引入力/位混合控制,可以在没有准确的系统动力学模型的情况下实现力/位控制完成轴孔装配任务。Tsuji 等[63]针对特定的接触型操作任务,提出了一种使用神经网络调节机械臂末端执行器阻抗参数的方法。该方法在自由运动过程中训练用于位置和速度控制的神经网络,在接触运动过程中训练用于力控制和环境识别的神经网络,从而减少位置和力的控制误差,以达到更好的柔顺控制效果。
在柔顺控制中的不确定因素主要来源于两个方面,一方面是太空中碰撞模型复杂难以描述,另一方面是环境信息难以测量和辨识。利用以神经网络为代表的智能算法可以有效地逼近真实的碰撞模型,对模型中的未知项进行描述,提高控制模型的精度,从而提升柔顺控制的效果。
3.2 视觉伺服控制
为了增强空间机械臂对环境的感知能力,引入了视觉伺服控制。视觉伺服可以为机器臂提供自身定位、目标物体的位姿和环境信息,给空间机械臂系统规划和控制提供依据。视觉伺服按相机安装位置可分为手眼相机(Eye⁃in⁃hand)、全局相机(Eye⁃to⁃hand)两种,按特征类型可分为基于位置的视觉伺服(Position⁃based visual servo,PBVS)、基于图像特征的视觉伺服(Image⁃based visual ser⁃vo,IBVS)两种,其中基于图像特征的手眼相机系统的视觉伺服研究最为广泛[64]。
基于位置的视觉伺服需要将视觉信息转换到笛卡尔空间,在3D 笛卡尔空间构成闭环控制系统。在空间机械臂的研究中,有许多基于位置的视觉伺服方案,例如SPDM 完成的在轨燃料加注实验中,地面操作人员利用机械臂自带的相机观察工具槽上的视觉标记作为视觉反馈。Nagamatsu 等[65]提出了一种针对翻滚卫星的捕获任务的视觉伺服控制策略,利用安装在基座的相机,结合卡尔曼滤波方法,根据图像信息去估计目标卫星的位姿,但是目标特征点可能会被机械臂遮挡。刘冬雨等[66]为完成空间机械臂系统在轨拧松螺钉任务,提出了一种基于人机协同的空间机械臂在轨维修视觉伺服操控策略,修正了微重力环境和机械臂、模拟维修单机在轨安装导致的位姿偏差,并通过了在轨实施。胡硕等[67]提出了一种基于加速鲁棒特征(Speeded up robust features,SURF)的静态目标识别算法,通过对目标图像提取SURF 与目标图像特征点匹配,然后利用先验知识求解目标的位置信息,实现伺服定位。
基于图像特征的视觉伺服方法利用视觉信息获得被观测对象在2D 图像空间的特征,与期望的图像特征相比较形成误差,根据该误差设计控制律。通常利用图像雅克比矩阵设计机器人的控制律,具有较好的局部稳定性以及较高的精度。有很多视觉伺服任务中通常使用的方法是复合视觉伺服,即先通过基于位置的方法进行初步的对准,再通过基于图像的方法进行精确的趋近。Hafez等[68]提出了一种用于双臂空间机械臂的IBVS 策略,以视觉伺服为主要任务,以姿态干扰最小化为次要任务,采用基于增广广义雅可比矩阵的控制和任务函数的方法,实现了机械臂末端执行器的对齐。Alepuz 等[69]提出了一种IBVS 控制策略来实现自由漂浮机器人的制导,该控制策略结合了空间机械臂系统运动学和动力学,获得了被观测对象的期望位置,实现了对其的轨迹跟踪。Marchionne等[70]将两种IBVS 策略依次使用,一种只关注末端执行器的线性运动,一种只关注末端执行器的旋转,有效缓解了特征识别和匹配过程中的小误差在控制计算中产生大误差的现象,提高了机械臂执行任务的成功率。徐昊[71]提出了一种空间机械臂在轨捕获过程中,自由漂浮机械臂手眼相机构型下的一种IBVS 控制策略,推导了深度独立视觉雅可比矩阵、设计了目标特征点运动估计器,从而估计目标的运动以及特征点的深度信息。张国亮等[72]提出了一种复合视觉伺服控制策略,通过在线估计目标的深度和旋转姿态来选择PBVS 和IBVS 控制器,涉及旋转伺服的大范围运动时选择PBVS 控制器,小范围运动时则使用IBVS 控制器,同时保留了两种伺服方法的优点。
基于位置的视觉伺服具有3 大缺陷:由相机标定引入的测量误差、视野范围内特征点丢失以及对特征点的几何信息的先验知识,因此无法实现高精度的控制。基于图像的视觉伺服在参数求解时容易出现的多解问题以及图像雅克比矩阵奇异问题导致其在全局性能上表现不好,容易丢失目标。基于深度学习的IBVS 控制器以更优秀的特征提取能力、去噪能力获得很多研究人员的青睐,但是由于模型参数规模和计算量巨大的问题难以实现在轨验证。
3.3 轨迹跟踪控制
空间机械臂轨迹跟踪控制是在轨服务完成特定任务的关键技术,轨迹跟踪控制就是采用对应的控制算法解算,生成机械臂关节的控制力矩,使空间机械臂在关节空间和笛卡尔空间中随期望的路径运动。
由于漂浮空间机械臂系统的高度非线性、非完整性、强耦合性,使轨迹跟踪的控制问题变得十分复杂,传统的控制算法如分解运动速率控制(Re⁃solved motion rate control,RMRC)和分解加速度控 制(Resolved motion acceleration control,RMAC)无法满足机械臂控制中的不确定性,也没考虑整体机器人系统的强耦合性,在此基础上加入了自适应算法来解决轨迹控制过程中的不确定性。Walker 等[73]对空间机械臂系统惯性参数不确定性问题提出了一种全局稳定的自适应轨迹跟踪方法,该方法可以实现对机械臂和基座卫星姿态角的稳定跟踪。Gu 等[74]针对自由漂浮空间机械臂提出了扩展机器人模型,并基于此模型设计了一个自适应控制策略,克服了动力学方程参数化及笛卡尔空间转到关节空间的不确定性问题。自适应算法可以有效处理系统中的不确定项,但其计算复杂、收敛时间慢,无法满足机械臂控制系统的实时性。除了自适应算法,鲁棒控制方法也是常用的处理系统中不确定项的常用方法之一。Chu 等[75]提出了一种自由漂浮空间机械臂轨迹跟踪控制方法,该方法将空间机械臂动力学中的关节耦合项和模型不确定性统一看作集中干扰,并采用观测器对干扰进行观测。Tang 等[76]对双臂自由漂浮空间机械臂,提出了一种鲁棒反步控制方法,有效地克服了系统不确定性。但鲁棒控制方法的精度较低,在空间机械臂进行精细操作的时候无法满足任务要求。
近几年随着机器学习的兴起,通过将智能控制算法与主流控制算法结合来解决自适应算法计算复杂、收敛速度慢和鲁棒控制算法精度低的问题。吴爱国等[77]针对多自由度机械臂在实现轨迹跟踪控制时过于依赖机械臂的精确数学模型和跟踪精度低等问题,提出了一种将自适应神经网络、局部模型与积分型终端滑模相结合的控制方法,提高了系统的收敛速度和控制精度,实现机械臂高精度轨迹跟踪。刘元基等[78]设计了基于强化学习的机械臂输入饱和固定时间轨迹跟踪控制方法,赋予控制器对模型不确定性的在线学习能力,以适应太空中的不确定因素。但是,算法依旧存在一些问题,比如其控制系统需要大量的时间训练,经过大量的试错才能达到比较精确的控制效果,而这些条件在太空上是难以满足的。
在轨迹跟踪控制中,限制空间机械臂轨迹跟踪精度的因素主要有两个方面,一方面是机械臂动力学模型中的不确定项,另一方面是太空环境干扰所带来的不确定因素。智能算法可以通过神经网络的在线学习能力使实际控制输出量越来越接近目标输出,并对太空之中不定项进行拟合,提高轨迹跟踪控制的精度和鲁棒性,且控制器的控制参数会随环境改变而变化,以提高空间机械臂对环境的适应性。
3.4 协调控制
多臂机器人比单臂机器人具有更高的工作效率和更多样的任务能力,可以适应更多的应用场景而受到关注。多臂机器人的协同控制就是根据任务需求,多机械臂之间配合工作提升工作效率,防止竞争的产生。目前的协调算法主要分成两种:把轨迹作为约束条件的主从控制和在约束环境不同方向上进行位置和力控制的位置/力混合控制算法。主从控制是先规划出主机械臂的轨迹将其作为从机械臂的约束条件。位置/力混合控与单臂的位置/力混合控制方法类似但更加复杂[79]。
赵阁等[80]用拓扑学的知识,定义主从机械臂间同步误差,基于无向图放松约束条件,设计同步控制算法,减小主从机械臂间的同步误差。李树荣等[81]对受柔性关节和时间滞后影响的多机械臂位置/力控制问题,提出了一种自适应位置/力控制策略来保证闭环系统稳定性和多机械臂的运动跟踪性能,通过利用神经网络的拟合能力来避免多机械臂系统建模对稳定性的影响,并考虑了位置误差和力误差对控制算法的影响。Ge 等[82]出了一种阻抗控制算法,该算法允许多个机械臂协调控制捕获目标,通过在机械臂末端引入参考阻抗,使末端执行器能像质量阻尼⁃弹簧系统一样响应末端执行器与非合作目标之间的任何接触力,该方法具有良好的控制性能。传统的协调控制算法大多采用的控制方法基于机械臂复杂的数学模型,这导致算法对环境模型有很强的依赖性。控制算法的精度会随工作环境的改变而降低。
相比于传统的控制算法,基于智能学习的协调控制算法不依赖环境模型具有良好的有鲁棒性、通用性。刘钱源[83]设计了一种基于深度强化学习的多智能体协同算法,该算法能够自主探索动作空间,减少智能体之间的竞争,增加整体协作能力。周顺[84]将强化学习算法应用到三机械臂抓取长方体物块的任务中,提高了三机械臂机器人的控制算法的泛化性。基于智能学习的协调控制算法虽然有良好的鲁棒性、通用性,但每当多臂系统更换工作环境的时候都需要较长的时间训练控制器参数,才能达到满足任务需求的操作精度和工作效率。
在协调跟踪控制中,由于多臂系统比单臂系统的控制参数更多,受外界干扰的影响更大,神经网络可以有效地应对外界的干扰并且依靠其强大的非线性拟合能力拟合多臂系统的动力学模型,对动力学模型中的未知项进行更准确的描述,避免通过多臂系统中复杂的耦合关系解算控制输出量,减小算法的运算量,从而提高控制效率。但是智能算法需要更长的时间对控制参数进行训练,才能达到相应的控制精度,并且在训练过程中有可能造成机械臂的损坏。
4 发展趋势与展望
空间机械臂技术是实现空间操控自主化和智能化关键技术之一,人工智能技术将极大地提升空间机械臂的自主能力和协作能力。随着人工智能的发展和计算机性能的不断提高,空间机械臂有望在复杂、非结构化环境中的感知、规划和控制,以及处理突发、复杂情况等方面获得突破。一方面可提高空间机械臂灵活性以应对复杂的环境和操作任务;另一方面提高空间机械臂系统的稳定性以实现长期可靠服役。基于此,本文总结了以下几点对空间机械臂技术的发展趋势,并对其应用进行了展望。
4.1 多模态感知融合
人工智能算法可以将视觉、触觉、听觉、力觉等多种传感器的信息进行融合处理,提高空间机械臂感知的可靠性、鲁棒性以及可信度,为机械臂后续的决策、规划提供更加可靠的依据。然而,现阶段空间机械臂系统配备的各种类型的传感器主要还是独立使用。考虑到控制系统应该更有效地对多种类型的感知信息进行综合利用,后续的研究应当从数据层、特征层、决策层3 个层级对多类型感知信息进行融合。数据层融合是初级的信息融合,虽然能保留大量的原始信息数据,但数据量过于庞大、冗余。中间级别的特征层融合通过降维操作提取了原始感知数据的特征向量,为后续分类、匹配打下基础。最高级别的决策层融合了每种传感器数据经过特征层提取的特征后,决策出一致的最优值。
4.2 技能迁移
在轨装配、在轨维护与星表建设是执行长期空间操控任务的重要保证,其中充斥着大量的搬运、组装等同质化的劳动。传统的作业编程方式在面对简单机械式的重复劳动时效率较高。但是,在面对复杂、非重复性劳动时,传统作业编程方式难以迁移至新的任务环境中或者适应新的环境约束。技能迁移与示教学习方法通过降低搜索策略空间的复杂度,使机器人获得任务快速学习能力和技能优化能力,在面对空间操控任务中的不同约束下的同质化操作时,能够准确快速地对任务进行识别与复现,从而达到技能迁移的目的。然而,技能迁移需要采集大量人类示教数据并进行训练,对数据集的要求以及计算能力要求较高。在未来将示教学习方法运用到空间机械臂规划算法的过程中,最大的难点是如何在小规模的训练样本下,实现对任务特征的提取与建模。
4.3 自适应控制
自适应控制方法可以辨识随复杂、非线性系统的动力学模型,传统的自适应控制有稳定性差、收敛速度慢等问题。空间机械臂作为一种高度复杂的非线性系统,系统建模误差和外界扰动无法避免,这对基于模型的传统控制方法提出了很高的要求。与神经网络或强化学习结合的自适应控制方法,在模型未知、没有先验经验的条件下,能够快速适应对象动态特性的变化,并通过神经网络调整控制策略,由此提高轴孔装配、目标捕获等任务执行的可靠性。但是,空间机械臂特殊的作业环境导致其对控制系统稳定性的要求较高,基于学习的自适应控制方法目前仍然面临训练久、收敛难的问题,难以在理论上保证控制稳定性。上述问题均需要在未来研究中着重解决。
4.4 多智能体与多臂协同
当单臂系统难以完成甚至无法完成复杂的空间操控任务时,需要依靠多智能体协同的决策与规划技术,因此亟须针对不同类型的操作任务及空间机械臂系统,发展多智能体协同任务的集群智能规划与控制技术。虽然相对于单机械臂系统,多机械臂协同系统对于规划管理的难度呈指数级上升,增加了系统协调管理的难度、系统整体状态的不确定性等,但是通过多条机械臂共同完成任务,可以从根本上突破单机械臂运动空间与运动控制的限制,完成更高难度的操作任务。多臂协同系统已有在轨应用的实例但尚未成熟,许多协同操作任务仍处于地面试验阶段。
5 结束语
随着空间技术的不断发展,人类探索太空的活动获得了进一步的延伸,空间机械臂作为空间操控任务的重要装备,拥有广阔的应用前景。空间机械臂技术具有技术发展的“需求效应”,对机械、电子、通信、信息等行业有着强烈的牵引作用,可带动相关产业技术的进步和升级。空间机械臂技术更是卫星应用、太空农业、太空工业等领域的重要技术装备,极大地推动了国家经济与科研水平的发展。此外,随着人工智能、大数据、人机共融等前沿技术的兴起,许多新技术、新思想被引入空间机械臂系统的设计,为其发展带来新的可能与机遇。
现阶段空间机械臂的操作任务对象仍多为合作目标,但是空间操控任务复杂多变,以非合作为目标的操作对象的任务越来越多,亟须加强推进空间机械臂系统智能化的研究。本文介绍了空间机械臂关键技术中的任务规划、运动规划以及运动控制技术,这些技术在空间机械臂自主化、智能化道路上扮演了重要角色,极大地提升了空间机械臂的工作能力。设计高度智能化、自主化的,能够独立汲取经验、判断思考、自主决策的空间机械臂系统是未来研究的关键。虽然空间操控技术已发展将近40 年,但是空间机械臂系统在智能化道路上仍有许多阻碍。深度学习作为一种数据驱动的方法,需要大量高质量的数据集,但是天地数据传输成本大,且地面难以模拟真实空间环境,小样本数据训练的问题需要攻克。空间机械臂系统的复杂以及环境的多变,导致强化学习方法中奖励函数设计非常困难,直接影响到学习的快慢以及模型的收敛效果。学习类算法对硬件存储和计算的要求十分高,但是空间中受辐射、低温的影响,计算设备的能力上限相比地面大打折扣,深度学习在宇航级的硬件实现对计算机硬件技术提出了很高的要求。所以,将人工智能更深入地与空间机械臂相结合,需要更多的科研工作者的付出。