李 正,刘晓源,王紫阳,张 骁,李俊麟
1.中国科学院沈阳自动化研究所机器人学国家重点实验室,沈阳 110016 2.中国科学院机器人与智能制造创新研究院,沈阳 110169
空间机器人是指在太空环境下进行空间作业的机器人[1],可在地面工作人员辅助下替代宇航员在空间作业中执行危险或长期的空间任务[2]。随着空间任务的多样性和复杂化,对空间机器人天地协同和实时操作的交互要求越来越高,其遥科学的作用和地位也越来越重要[3-4]。遥科学是一种人在回路的遥操作与遥现场相结合的操作方式,充分发挥了地面与空间机器人交互能力,有效地利用人的知识与经验,最大限度地参与到机器人任务中[5-7]。但是天地交互会引起通信的时延,空间遥操作系统回路的时延通常可达几秒甚至几十分钟[8],降低了空间机器人执行复杂任务的控制实时性和准确性。目前多采用延时预测控制律[8]、通信延时补偿[9]、自适应任务空间同步控制[10-11]和虚拟现实预测仿真等[12-14]手段克服时延带来的不利影响。
中国空间站[15]科学手套箱内放置有支撑生命科学精细操作的灵巧臂系统,某些科学实验需要航天员辅助及与地面天地协同开展遥科学。在开展空间科学实验前,需要对灵巧臂任务开展预仿真推演和操作验证。本文探索了一种我国空间机器人的遥科学任务模式,以机器人语言遥编程和预仿真技术为手段,将灵巧臂任务分解为语言自动化控制动作的集合,由人规划时间事件流,通过科学的组合实现任务,形成可执行后置代码,上载到空间应用系统,再由航天员辅助和天地遥科学方式实现天地协同。在实际工程应用中避免了天地传输实时控制指令带来的时延问题,可实现灵巧臂在轨的自主性和任务自动化,提高科学实验任务执行的效率,满足灵巧臂工程任务可靠性与便捷性的遥科学要求。
遥科学用于从远距离实施空间科学研究工作。主要由地面、空间和通信网络3部分构成。“地面”是由人、遥操作平台及预仿真验证平台组成,可以开展遥操作和遥现场。由人作为主体对空间机器人进行任务规划、过程验证和任务执行观察。其中遥操作可以由人机界面进行控制,也可以由力反馈控制器手柄[16-17]等装置进行控制,遥现场可采用虚拟现实技术遥现空间真实的现场。“空间”由空间应用信息系统及空间机器人系统组成,可接收来自地面的控制指令及任务,按指令要求完成任务。“通信网络”是天地通信的链路,它的带宽和时延对遥科学系统的控制效果有绝对性作用。遥科学交互原理见图1。
图1 遥科学交互原理
科学手套箱位于手套箱与低温存储柜中,是一个集成温、湿、光和风控制于一体的可操作洁净容器,里面放置用于开展生命科学实验的视频监控、显微操作系统和灵巧臂系统,如图2所示,灵巧臂系统如图3所示。
图2 科学手套箱
图3 灵巧臂系统
图4 灵巧臂坐标系统
灵巧臂为六自由度机器人,其构型坐标系建立如下:
其DH参数表为:
表1 灵巧臂DH参数
则根据连杆变换通式
机器人的运动控制方程为:
作者采用Visual Basic(VB)脚本[18]语言设计的机器人语言结合灵巧臂运动控制方程能方便地完成灵巧臂的编程任务,作为机器人编程语言,融合了灵巧臂运动控制指令,通过语言编程的方式在灵巧臂关节空间和笛卡尔空间完成人和灵巧臂之间的控制交互。灵巧臂运动控制编程语言指令见表2。通过指令设置θ1~θ6的关节值或末端位姿值,即可实现对灵巧臂的各种运动控制。
表2 灵巧臂运动控制指令
结合我国空间站对手套箱中灵巧臂系统进行遥科学设计,采用三维仿真人机界面对灵巧臂工作环境进行遥现,实现地面镜像监控。当正常开展实验时,人尽量少介入,充分发挥机器人语言控制的自主性。而当非正常或非理想情形出现时,则应充分运用遥操作的交互能力,让人最大限度地进行干预,见图5。
图5 灵巧臂遥科学设计
采用VB脚本计算机语言可以编程出复杂的机器人任务。地面操作人员编写灵巧臂任务代码,规划任务,然后在地面预仿真环境中进行过程仿真,经过推演验证,可以将生成的后置代码上行到灵巧臂控制器中,再由灵巧臂在轨执行。这样,灵巧臂在执行任务时直接依赖于本地控制指令,避免了天地大量实时控制指令传输的过程。通过提供开放性的语言平台和编程接口,地面操作人员可以针对灵巧臂任务需求自由地进行离线编程。
地面镜像设计有两种方式,一是遥现场三维仿真,根据先知空间站手套箱环境建立仿真场景,通过IP隧道下行遥测数据,并将实际的遥测数据用于仿真动画驱动,在地面上显示出灵巧臂在空间的实际工作状态,为地面操作人员提供反馈参考。二是遥现场视频监控,通过在轨监视相机,将灵巧臂工作场景画面以视频实时下传,作为遥现场的实际状态监控画面,有利于实际的感知。在灵巧臂工作过程中,地面人员依据镜像监控可实时对灵巧臂的工作情况作出人为判断,并作出控制决策。
3.2.1 遥编程交互
设计灵巧臂系统的控制指令为立即指令Pi和延时指令Ci两种类型,指令数据区中含有子指令、要执行任务的ID、时间码等信息。立即指令发出后可被灵巧臂控制器直接执行,延时指令为带有时间戳的指令,需等待到指定的时间方能执行,则灵巧臂控制指令集合为{Pi}∪{Ci}。由灵巧臂运动控制指令集和VB脚本语言组成的灵巧臂编程任务可生成灵巧臂任务块为Ti。控制指令中的任务ID为Ti的索引序号,将指令与要执行的任务关联起来。任务块以文件形式保存,形成灵巧臂任务池{Ti}。以VB脚本语言遥编程的方式可快速对灵巧臂任务进行开发和描述,控制指令通过事件表可以对Ti进行复用和重组,实现灵巧臂任务快速开发和组合实现。
3.2.2 任务预仿真验证
按照灵巧臂系统先知环境构建机器人三维仿真环境,结合计算机图形学技术和机器人遥编程技术,对于空间任务复杂的运动进行描述和编程,并进行高精度的仿真,实现复杂运动轨迹和运动参数的优化。通过遥编程交互,进一步对灵巧臂执行指令过程的三维可视化动画和轨迹进行显示,从而先知推演验证任务的完成情况。经过确认后,生成的任务块Ti可由地面人员通过天地通信链路快速传输到灵巧臂控制系统存储,等待任务规划器调用和执行,由于文件的特殊性,Ti可以被任务复用,为某些重复的任务流程和使用带来便利。
我国航天系统除常规数据链路通信外,已经建设成具有独自特色的空间网络通信系统。IP隧道通信带宽下行达到1Gbps以上,可满足科学应用数据的下行和数据注入上行要求,保证遥现场的实时性。所以将灵巧臂工作环境的视频图像数据和工程数据实时下行到地面镜像监控系统,由地面人员实时观测灵巧臂执行任务时的状态。同时,地面操作人员将规划的机器人可执行任务块和控制指令直接上行到在轨灵巧臂控制器,就实现了天地之间的数据遥交互通信。
3.4.1 时间流事件的自主控制
任务规划器执行时间流事件示意见图6。任务规划器接收到延时指令Ci后,将其存储在任务规划器的延时事件表中。事件表是一个带时间流的事件队列,是地面人员拆分灵巧臂的任务流程形成的指令流。执行完的事件被清空,事件表可被重复规划使用。通过延时任务管理器,当扫描到时间符合事件执行时,将该延时指令Ci取出并执行。Ci中有要执行的任务ID,根据ID去任务池中查找任务块Ti,将Ti加载到灵巧臂控制器执行,实现灵巧臂在本地自主执行任务的目的。对于空间站在非测控区时,该方式还可以有效控制灵巧臂完成一定的自主任务。为了实现安全性,灵巧臂设计了关节过流和干涉故障保护的安全性措施。
图6 任务规划器指令处理
3.4.2 测控区的天地遥操作
当空间站处于测控区开展天地遥操作时,可直接采用立即指令Pi对灵巧臂进行遥控任务操作。为了某些科学实验的精细运动控制,地面人员可采用步进式的增量控制方式,在Pi中设定每一次运动的步长,通过地面镜像监控确认Pi运动控制每一次都完成,不会因天地通信回路时延或反馈造成控制超量。虽然该方法效率低,但可保证实验操作的精细控制和实验步骤的正确性。同时,也可以结合任务池中Ti任务,由立即指令Pi执行Ti进行部分自主控制,实现机器人遥操作和自主任务的耦合交互,同样可以避免天地通信时延问题。
采用设计的任务规划与预仿真平台拟开展空间任务对某棉片进行消杀,如图7。
图7 拟执行目标任务
任务目标为100 mm×200 mm的矩形对象,开展遥编程仿真推演任务过程如图8。
图8 机器人遥编程控制
通过仿真平台界面可推演该矩形面消杀运动轨迹任务,驱动仿真机器人运动,仿真机器人将自主按机器人语言指令完成任务规划和过程仿真,并得到任务块T。通过预仿真平台仿真推演,可预验证任务的正确性,得到验证的任务后置代码将用于在轨任务执行。
依托我国空间站中科学实验柜科学手套箱灵巧臂系统,设计了一种符合我国航天应用信息系统的空间机器人遥科学模式:
1)将在轨灵巧臂系统实际状态在地面镜像,以VB机器人语言遥编程方式规划和描述灵巧臂任务,开展任务预仿真推演和验证,形成可执行任务块;
2)采用复用延时事件表任务规划和时间流事件驱动机制在轨自主执行灵巧臂任务块;
3)实现了灵巧臂可复用任务池的自主任务和遥操作相结合的交互工作方式,绕开了通信时延对空间机器人实时控制过程中的不确定影响,提高了遥科学任务的适应性、稳定性和自主性。
目前,通过在地面测试及在轨实验,系统能满足在轨科学实验任务要求。而采用虚拟现实增强遥现场的临场感,研制友好的人机遥操作界面、仿真界面,以及提高机器人在轨自主安全性控制将是后续要继续深入研究的内容。