掌桥专利:专业的专利平台
掌桥专利
首页

面向复杂任务的空间机器人操作方法及装置

文献发布时间:2024-04-18 19:59:31


面向复杂任务的空间机器人操作方法及装置

技术领域

本发明涉及人工智能技术领域,特别涉及一种面向复杂任务的空间机器人操作方法及装置。

背景技术

随着科技的发展,空间机器人被广泛应用于卫星等在轨设备的空间操作,如在轨维修、在轨装配、燃料补加等。空间机器人的发展大大减轻了在轨活动的操作难度。

然而,相关技术中,空间机器人大部分采用遥操作或者传统机器人控制技术,严重依赖于结构化的操作环境和确定性的操作流程,只能处理简单的任务。而对于空间复杂、非结构化环境(如事先并不确定要操作目标的配置和状态)等复杂任务,则不能很好的完成。

因此,目前亟待需要一种面向复杂任务的空间机器人操作方法及装置来解决上述技术问题。

发明内容

本发明实施例提供了一种面向复杂任务的空间机器人操作方法及装置,可以使机器人准确地完成复杂的空间任务。

第一方面,本发明实施例提供了一种面向复杂任务的空间机器人操作方法,包括:

获取预先训练好的技能库,所述技能库中包括用于完成目标任务的多个子技能;

将所述技能库和所述目标任务输入预先训练好的强化学习模型中,得到在不同时刻需要执行的子技能;其中,在不同时刻下,与所述目标任务相关的环境状态不同,每个子技能分别用于执行所述目标任务中的一个子任务,所述强化学习模型是基于所述技能库和预设任务训练得到的;

基于各个子技能指导空间机器人依次完成相应子任务的空间操作,直至完成所述目标任务。

第二方面,本发明实施例还提供了一种面向复杂任务的空间机器人操作装置,包括:

获取模块,用于获取预先训练好的技能库,所述技能库中包括用于完成目标任务的多个子技能;

输入模块,用于将所述技能库和所述目标任务输入预先训练好的强化学习模型中,得到在不同时刻需要执行的子技能;其中,在不同时刻下,与所述目标任务相关的环境状态不同,每个子技能分别用于执行所述目标任务中的一个子任务,所述强化学习模型是基于所述技能库和预设任务训练得到的;

指导模块,用于基于各个子技能指导空间机器人依次完成相应子任务的空间操作,直至完成所述目标任务。

第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。

本发明实施例提供了一种面向复杂任务的空间机器人操作方法及装置,该方法首先训练技能库,使技能库中包括用于完成目标任务的所有子技能,以利用后续使用。通过使用该技能库和预设任务训练强化学习模型,可以使其在面对目标任务时,能够根据目标任务的不同环境状态确定出与之对应的子技能,并利用该子技能完成相应的子任务。也就是说,训练好的强化学习模型可以将目标任务分解为由技能库中的若干个子技能依照一定次序组合而成的子任务。最后,基于各个子技能指导空间机器人依次完成相应子任务的空间操作,直至完成目标任务。由此可见,本发明方法只需要将目标任务输入至预先训练好的强化学习模型,就可以得出准确的子技能组合,并指导机器人准确的完成复杂的空间任务。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的面向复杂任务的空间机器人操作方法的结构示意图;

图2是本发明一实施例提供的空间机器人操作系统的示意图;

图3是本发明一实施例提供的强化学习模型的结构示意图;

图4是本发明一实施例提供的一种电子设备的硬件架构图;

图5是本发明一实施例提供的一种面向复杂任务的空间机器人操作装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,本发明实施例提供了一种面向复杂任务的空间机器人操作方法,该方法包括:

步骤100,获取预先训练好的技能库,技能库中包括用于完成目标任务的多个子技能;

步骤102,将技能库和目标任务输入预先训练好的强化学习模型中,得到在不同时刻需要执行的子技能;其中,在不同时刻下,与目标任务相关的环境状态不同,每个子技能分别用于执行目标任务中的一个子任务,强化学习模型是基于技能库和预设任务训练得到的;

步骤104,基于各个子技能指导空间机器人依次完成相应子任务的空间操作,直至完成目标任务。

在本发明实施例中,首先训练技能库,使技能库中包括用于完成目标任务的所有子技能,以利用后续使用。通过使用该技能库和预设任务训练强化学习模型,可以使其在面对目标任务时,能够根据目标任务的不同环境状态确定出与之对应的子技能,并利用该子技能完成相应的子任务。也就是说,训练好的强化学习模型可以将目标任务分解为由技能库中的若干个子技能依照一定次序组合而成的子任务。最后,基于各个子技能指导空间机器人依次完成相应子任务的空间操作,直至完成目标任务。由此可见,本发明方法只需要将目标任务输入至预先训练好的强化学习模型,就可以得出准确的子技能组合,并指导机器人准确的完成复杂的空间任务。

下面描述图1所示的各个步骤的执行方式。

首先,针对步骤100,获取预先训练好的技能库,技能库中包括用于完成目标任务的多个子技能。

在该步骤中,目标任务可以是模块更换任务,以开合舱门式空间模块更换为例,空间机器人的机械臂需要依次完成“撕开包覆层-拧下螺母-开门-拉出旧模块-送至仓库-抓取新模块-推入新模块-关门-拧上螺母”等子任务。这种包括多个步骤的复杂操作任务一方面具有模块化的特点,每个步骤界定比较清晰,另一方面某些步骤之间具有通用性,本质上可以作为一个子技能单独学习,然后通过组合的方式实现更加复杂的操作。

基于此,空间机器人在完成上述任务时,需要具备基本的动作策略,如抵近、抓取、插拔和拧螺丝等。各个动作策略进行组合,即可形成一个技能库Skill={k0,…,kn},其中每个子技能ki为一个操作策略,可表达为一个函数fi:s→A采用深度神经网络表示。其中,s为当前环境状态,A为机器人下一时刻关节角速度,n为子技能的数量。当然,技能库中可以包括更多的技能,用户可以根据需要确定,以使其具备通用性。

此外,在对技能库进行训练时,可以采用强化学习方法对每个子技能进行单独训练。以抓取技能例,可以利用不同类型、不同大小的物体对抓取子技能进行训练,使训练好的抓取子技能可以对任意类型和任意大小的物体进行抓取。同理,用户可以根据需要对其它各个子技能进行训练,从而得到训好的技能库。

然后,针对步骤102,将技能库和目标任务输入预先训练好的强化学习模型中,得到在不同时刻需要执行的子技能;其中,在不同时刻下,与目标任务相关的环境状态不同,每个子技能分别用于执行目标任务中的一个子任务,强化学习模型是基于技能库和预设任务训练得到的。

在该步骤中,如图2所示,强化学习模型应用于空间机器人操作系统的上位机中,空间机器人操作系统包括服务卫星和受体卫星,服务卫星和受体卫星绕预设的空间轨道运动。空间机器人搭载于服务卫星上,以用于对受体卫星上的被操作对象进行空间操作。空间机器人包括机械臂、手爪和敏感器模块,该敏感器模块包括RGBD相机和力传感器等,用于采集机械臂与环境的交互数据,对采集信号进行滤波处理后发送至上位机中;上位机根据输入的环境感知信息,运行强化学习模型,输出相应的子技能(即控制电压)到机械臂,使机械臂执行相应动作,完成在轨操作的子任务。

在一些实施方式中,如图3所示,强化学习模型包括感知模块、分解模块、执行模块、评价模块和控制模块;

感知模块用于获取在不同时刻下与目标任务相关的环境状态,环境状态包括目标位姿、机械臂的关节角和角速度、机械臂末端力传感器采集的力和力矩信息;

分解模块和评价模块用于基于不同时刻下的环境状态从技能库中获取相应的子技能;

执行模块用于基于感知模块获取的当前时刻的环境状态和与该环境状态对应的子技能,输出空间机器人的机械臂在下一时刻的关节角速度;

控制模块用于以执行模块输出的关节角速度为期望目标,以空间机器人当前时刻的关节角和角速度、机械臂末端力传感器采集的力和力矩信息为输入,输出机械臂关节力矩,以控制空间机器人完成相应的空间操作。

在该实施例中,强化学习模型通过设置上述模块,可以通过自学习的方法把复杂任务分解为基本技能的组合,以解决非结构化环境多种复杂任务的操作问题,具有较强的通用性。

在一些实施方式中,感知模块利用深度神经网络对非结构化环境进行兴趣目标的检测识别和位姿估计。例如,感知模块以空间机器人机械臂末端的RGBD相机采集的图像为输入,通过预设的目标检测识别算法输出目标类别和目标在像平面中的位置;以及通过PoseCNN位姿估计算法输出目标的六自由度位姿。其中,预设的目标检测识别算法包括YOLO法、Faster RCNN法、Mask RCNN法、DeepLab法中的至少一种。

此外,分解模块以当前环境状态S为输入,输出为下一时刻要执行的技能ki,即子任务,网络结构可以采用LSTM、RNN和MLP等网络模型。执行模块以感知模块输出的目标位姿和机械臂的关节角为输入、以机械臂下一时刻关节角速度为输出,网络结构可以采用LSTM、RNN和MLP等网络模型。

在一些实施方式中,强化学习模型是通过如下方法训练得到的:

S1,基于预设任务构建仿真模型,仿真模型与感知模块和控制模块通讯连接;

S2,初始化评价模块、分解模块和执行模块,并加载技能库;

S3,利用感知模块获取当前时刻下仿真模型的当前环境状态;利用分解模块和评价模块基于该当前环境状态从技能库中选择与该当前环境状态对应的胜算最大的子技能;基于该子技能和该当前环境状态,利用执行模块输出空间机器人的机械臂在下一时刻的关节角速度;将该关节角速度作为执行模块的期望目标,并以该当前环境状态为输入,输出机械臂相应的关节力矩,基于该关节力矩控制空间机器人完成与该子技能对应的子空间操作;

S4,判断是否完成该预设任务的全部空间操作,若是,则执行S5;若否,则将执行完该子空间操作后的环境状态作为该仿真模型的当前环境状态,并返回执行S3;

S5,判断完成全部空间操作后是否满足预设任务的期望,若是,则判定强化学习模型训练完成;若否,则将仿真模型恢复至初始状态,并重新执行S3,直至强化学习模型规划出的子技能序列能够满足预设任务的期望。

通过上述训练,可以使训练好的强化学习模型能够将复杂任务分解为基本技能的组合,以解决非结构化环境多种复杂任务的操作问题,

在一些实施方式中,分解模块基于蒙特卡洛树法从技能库中找出不同环境状态下胜算最大的子技能。

在一些实施方式中,基于蒙特卡洛树法从技能库中选择不同环境状态下胜算最大的子技能的具体步骤为:

根据当前环境状态从当前节点选择胜算最大的子技能ki,胜算的计算公式为:

式中,Q(a)为评价模块的输出,N(a)为子技能ki被访问的次数,π(a|s;θ)为分解模块π

选择结束后,到达一个未访问节点且非叶子节点;

对于每个已经展开的叶子节点,调用相应的子技能ki进行仿真;

用仿真结果回溯更新导致该仿真结果的每个节点中的获胜次数和访问次数。

通过采用蒙特卡洛树法,可以针对目标任务求解基本技能的序列组合。

如图4、图5所示,本发明实施例提供了一种面向复杂任务的空间机器人操作装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图4所示,为本发明实施例提供的一种面向复杂任务的空间机器人操作装置所在电子设备的一种硬件架构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在电子设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。

本实施例提供的一种面向复杂任务的空间机器人操作装置,包括:

获取模块500,用于获取预先训练好的技能库,技能库中包括用于完成目标任务的多个子技能;

输入模块502,用于将技能库和目标任务输入预先训练好的强化学习模型中,得到在不同时刻需要执行的子技能;其中,在不同时刻下,与目标任务相关的环境状态不同,每个子技能分别用于执行目标任务中的一个子任务,强化学习模型是基于技能库和预设任务训练得到的;

指导模块504,用于基于各个子技能指导空间机器人依次完成相应子任务的空间操作,直至完成目标任务。

在本发明实施例中,获取模块500可用于执行上述方法实施例中的步骤102,输入模块502可用于执行上述方法实施例中的步骤102,指导模块504可用于执行上述方法实施例中的步骤104。

在一些实施方式中,强化学习模型包括感知模块、分解模块、执行模块、评价模块和控制模块;

感知模块用于获取在不同时刻下与目标任务相关的环境状态,环境状态包括目标位姿、机械臂的关节角和角速度、机械臂末端力传感器采集的力和力矩信息;

分解模块和评价模块用于基于不同时刻下的环境状态从技能库中获取相应的子技能;

执行模块用于基于感知模块获取的当前时刻的环境状态和与该环境状态对应的子技能,输出空间机器人的机械臂在下一时刻的关节角速度;

控制模块用于以执行模块输出的关节角速度为期望目标,以空间机器人当前时刻的关节角和角速度、机械臂末端力传感器采集的力和力矩信息为输入,输出机械臂关节力矩,以控制空间机器人完成相应的空间操作。

在一些实施方式中,强化学习模型是通过如下方法训练得到的:

S1,基于预设任务构建仿真模型,仿真模型与感知模块和控制模块通讯连接;

S2,初始化评价模块、分解模块和执行模块,并加载技能库;

S3,利用感知模块获取当前时刻下仿真模型的当前环境状态;利用分解模块和评价模块基于该当前环境状态从技能库中选择与该当前环境状态对应的胜算最大的子技能;基于该子技能和该当前环境状态,利用执行模块输出空间机器人的机械臂在下一时刻的关节角速度;将该关节角速度作为执行模块的期望目标,并以该当前环境状态为输入,输出机械臂相应的关节力矩,基于该关节力矩控制空间机器人完成与该子技能对应的子空间操作;

S4,判断是否完成该预设任务的全部空间操作,若是,则执行S5;若否,则将执行完该子空间操作后的环境状态作为该仿真模型的当前环境状态,并返回执行S3;

S5,判断完成全部空间操作后是否满足预设任务的期望,若是,则判定强化学习模型训练完成;若否,则将仿真模型恢复至初始状态,并重新执行S3,直至强化学习模型规划出的子技能序列能够满足预设任务的期望。

在一些实施方式中,分解模块基于蒙特卡洛树法从技能库中找出不同环境状态下胜算最大的子技能。

在一些实施方式中,基于蒙特卡洛树法从技能库中选择不同环境状态下胜算最大的子技能的具体步骤为:

根据当前环境状态从当前节点选择胜算最大的子技能ki,胜算的计算公式为:

式中,Q(a)为评价模块的输出,N(a)为子技能ki被访问的次数,π(a|s;θ)为策略模块πh的输出,η为超参数;

选择结束后,到达一个未访问节点且非叶子节点;

对于每个已经展开的叶子节点,调用相应的子技能ki进行仿真;

用仿真结果回溯更新导致该仿真结果的每个节点中的获胜次数和访问次数。

在一些实施方式中,感知模块以空间机器人机械臂末端的RGBD相机采集的图像为输入,通过预设的目标检测识别算法输出目标类别和目标在像平面中的位置;以及通过PoseCNN位姿估计算法输出目标的六自由度位姿。

在一些实施方式中,预设的目标检测识别算法包括YOLO法、Faster RCNN法、MaskRCNN法、DeepLab法中的至少一种。

可以理解的是,本发明实施例示意的结构并不构成对一种面向复杂任务的空间机器人操作装置的具体限定。在本发明的另一些实施例中,一种面向复杂任务的空间机器人操作装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。

上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种面向复杂任务的空间机器人操作方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种面向复杂任务的空间机器人操作方法。

具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术分类

06120116524803