水下机器人运动控制方法、装置、系统、设备和存储介质

文档序号:33505448发布日期:2023-03-18 00:07阅读:100来源:国知局
水下机器人运动控制方法、装置、系统、设备和存储介质

1.本发明涉及机器人技术领域,尤其涉及一种水下机器人运动控制方法、装置、系统、设备和存储介质。


背景技术:

2.目前,各式仿生水下机器人已被广泛应用在海洋和军事等领域,例如海洋生物观察、水下资源勘探、海上军事打击等。与传统螺旋桨推进的水下航行器相比,仿生水下机器人在机动性、稳定性、抗干扰能力、噪声等方面具有更大的优势,仿生水下机器人及其运动控制方法逐渐受到研究人员和工程师的关注。
3.现有大多数运动控制方法都是基于数学模型或自适应的方法来实现对不确定系统的控制。其中,基于模型的控制方法往往对机器人运动模型精度有较高的要求,但是由于仿生水下机器人的流体动力学复杂且不确定,同时水下存在的扰流难以模拟,因此很难为机器人建立精确的数学模型。另一方面,虽然自适应的控制方法不需基于精确的数学模型,但要求丰富的调试参数经验,同时面对较大的环境扰动时,调节范围有限。
4.强化学习作为目前应用较广的一种学习算法,不用基于精确的模型,通过机器人与环境交互来优化控制策略,实现对机器人的运动控制,具有良好的环境适应性。但在实际应用时仍存在较多问题与挑战,容易出现学习时间过长、虚实迁移后控制效果降低、收敛困难等问题。


技术实现要素:

5.本发明提供一种水下机器人运动控制方法、装置、系统、设备和存储介质,用以解决现有技术中要求丰富的调试参数经验,并且调节范围有限,同时容易出现学习时间过长、虚实迁移后控制效果降低、收敛困难的缺陷。
6.本发明提供一种水下机器人运动控制方法,包括:获取待控制的水下机器人的当前运动状态和任务目标;将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
7.根据本发明提供的水下机器人运动控制方法,所述基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制,包括:对所述第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作;将所述叠加控制动作输入至驱动控制模型,对所述水下机器人进行运动控制。
8.根据本发明提供的水下机器人运动控制方法,所述残差控制器基于如下步骤训练
得到:构建所述水下机器人的仿真环境;基于反馈控制器和初始残差模型,以及所述仿真环境,得到所述水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态,所述仿真环境基于周期性参数随机化策略调整;基于所述多组历史状态数据,对所述初始残差模型进行训练,得到所述残差控制器。
9.根据本发明提供的水下机器人运动控制方法,所述仿真环境基于如下公式进行参数随机化策略调整:;其中,表示仿真环境的初始参数;表示参数随机化范围;为随机化函数,用于生成0到1之间的随机数;表示仿真环境的参数,表示仿真环境的参数集合。
10.根据本发明提供的水下机器人运动控制方法,所述构建所述水下机器人的仿真环境,包括:确定所述水下机器人的任务目标和约束条件;构建所述水下机器人的运动学模型;基于所述运动学模型,构建所述水下机器人的动力学模型和驱动控制模型;基于所述任务目标和约束条件、所述动力学模型和驱动控制模型,构建所述水下机器人的仿真环境。
11.根据本发明提供的水下机器人运动控制方法,所述反馈控制器包括自抗扰控制模块和参数映射模块,所述将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作,包括:将所述当前状态和任务目标输入至反馈控制器中的自抗扰控制模块,得到所述自抗扰控制模块输出的偏转力矩;将所述偏转力矩输入至反馈控制器中的参数映射模块,得到所述参数映射模块输出的所述第一控制动作。
12.本发明还提供一种水下机器人运动控制装置,包括:状态获取单元,用于获取待控制的水下机器人的当前运动状态和任务目标;第一动作获取单元,用于将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;第二动作获取单元,用于将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;运动控制单元,用于基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
13.本发明还提供一种水下机器人运动控制系统,包括:如上所述的水下机器人运动控制装置,水下机器人和状态反馈模块;所述水下机器人运动控制装置用于接收所述状态反馈模块发送的当前状态,并对所述水下机器人进行运动控制;
所述状态反馈模块包括航姿参考子模块和状态转换子模块,所述航姿参考子模块与所述水下机器人连接,用于获取所述水下机器人的实时位姿,所述状态转换子模块用于对所述实时位姿进行状态转换,并将状态转换后得到的当前状态发送至所述水下机器人运动控制装置。
14.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述水下机器人运动控制方法。
15.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述水下机器人运动控制方法。
16.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述水下机器人运动控制方法。
17.本发明提供的水下机器人运动控制方法、装置、系统、设备和存储介质,基于反馈控制器输出的第一控制动作,和残差控制器输出的第二控制动作,对水下机器人进行运动控制,该方法避免了对运动模型精度要求较高、学习时间过长、虚实迁移后控制效果降低、收敛困难等问题,实现了水下机器人高效、精准的运动控制。
18.此外,残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整,参数随机化策略避免了需要丰富的调试参数经验的限制,即使在面对较大的环境扰动时,也可实现高效、精准的运动控制,提高了水下机器人针对复杂环境的运动控制能力。
附图说明
19.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明提供的水下机器人运动控制方法的流程示意图;图2是本发明提供的初始残差模型的结构示意图;图3是本发明提供的残差控制器训练方法的流程示意图;图4是本发明提供的反馈控制器的结构示意图;图5是本发明提供的水下机器人运动控制装置的结构示意图;图6是本发明提供的水下机器人运动控制系统的结构示意图;图7是本发明提供的水下机器人运动控制对比实验航向变化曲线示意图;图8是本发明提供的电子设备的结构示意图。
具体实施方式
21.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.目前水下机器人通常基于数学模型或自适应的方法来实现运动控制,考虑到水下机器人所处的水下环境复杂,很难建立精确的数学模型;另外,自适应的方法要求丰富的调试参数经验,且调节范围有限。强化学习的方法虽具有良好的环境适应性,但容易出现学习时间过长、虚实迁移后控制效果降低、收敛困难等问题。
23.鉴于此,本发明实施例提供一种水下机器人运动控制方法,应用在需要对水下机器人进行运动控制的场景。
24.图1是本发明提供的水下机器人运动控制方法的流程示意图,该方法的执行主体可以是水下机器人运动控制装置,该装置可以通过软件和/或硬件实现,该装置可以集成在电子设备中,电子设备可以是个人电脑、云端设备、智能手机或平板电脑等。如图1所示,该方法包括以下步骤:步骤110,获取待控制的水下机器人的当前运动状态和任务目标。
25.具体地,待控制的水下机器人即需要进行运动控制的机器人,该机器人的运动环境是水下,比如可以是仿豹鲂鮄水下机器人。当前运动状态可反映水下机器人的实时状态,比如当前的位置、航向、速度、推进力矩或扰动力矩等。
26.在一个实施例中,安装在水池顶部的全局视觉跟踪系统通过通用串行总线(universal serial bus,usb)连接到控制台,通过处理水下机器人和它周围环境的图像,控制台能实时计算出水下机器人当前的位置、航向与速度,结合水下机器人自身携带的航姿参考系统,控制台可获得当前运动状态。
27.任务目标即水下机器人需要实现的运动目标,比如任务目标可以是水下机器人按照目标航向角运动,还可以是按照目标速度运动,还可以是按照目标深度运动,可根据需要灵活设置,本发明实施例对此不作具体限定。任务目标可以是预先设置好的,例如可设置目标航向角的范围,进一步地可设置水下机器人的实际航向角与目标航向角之间的误差绝对值小于误差阈值。
28.步骤120,将当前运动状态和任务目标输入至反馈控制器,得到反馈控制器输出的第一控制动作。
29.具体地,得到当前运动状态和任务目标的基础上,即可将当前运动状态和任务目标输入至反馈控制器,得到反馈控制器输出的第一控制动作。此处的反馈控制器可以是采用反馈控制方法预先构建的。比如可利用自抗扰控制(active disturbance rejection control,adrc)技术构建反馈控制器。
30.步骤130,将当前运动状态和任务目标输入至残差控制器,得到残差控制器输出的第二控制动作,残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整。
31.具体地,考虑到水下机器人的流体动力学复杂且不确定,同时水下存在的扰流难以模拟,很难为水下机器人建立精确的与真实环境完全一致的反馈控制模型,因此反馈控制器输出的第一控制动作可能会存在误差,为了更加准确快速的控制机器人实现任务目标,可在此基础上,将当前运动状态和任务目标输入至残差控制器,得到残差控制器输出的第二控制动作。此处的残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整。
32.可理解的是,仿真环境即针对水下机器人的运动控制问题构建的仿真环境,例如
可以包括水下机器人的外部扰动、运动学模型、动力学模型和马尔可夫决策过程模型等。针对水下机器人的任务目标,预先构建仿真环境,在仿真环境中基于强化学习方法对初始残差网络进行训练得到残差控制器。
33.残差控制器在训练过程中,不断与水下机器人所处的水下环境进行交互,在与环境交互的过程中优化控制策略,最终达成任务目标,完成残差控制器的参数迭代。
34.同时,残差控制器是在通过反馈控制器获得第一控制动作的基础上进行强化学习,相比于从零开始学习,避免了学习时间过长,收敛困难的问题,使得机器人可以更快地学习到更加鲁棒的模型,从而实现了水下机器人高效、精准地运动控制。
35.此外,考虑到水下环境的复杂性,为了使水下机器人能适应更加复杂的环境,本发明实施例中的仿真环境基于周期性参数随机化策略调整。其中,仿真环境的参数调整与残差控制器的参数迭代异步进行。
36.在一个实施例中,首先在当前仿真环境中采用强化学习方法对残差控制器进行参数迭代,迭代完成后对当前仿真环境的参数进行随机化调整,并在参数调整后的仿真环境中继续采用强化学习方法对残差控制器进行参数迭代,由此训练得到的残差控制器能适应更加复杂的水下环境,在面对复杂的水下环境时,能够实现高效、精准地运动控制。
37.步骤140,基于第一控制动作和第二控制动作,对水下机器人进行运动控制。
38.具体地,得到反馈控制器输出的第一控制动作和残差控制器输出的第二控制动作的基础上,即可根据第一控制动作和第二控制动作,对水下机器人进行运动控制。
39.在一个实施例中,可将第一控制动作和第二控制动作同时输入驱动模型,由驱动模型对第一控制动作和第二控制动作进行相应的分析,将动作解析为机器人各个运动频率,从而驱动水下机器人运动并完成目标任务;还可首先对第一控制动作和第二控制动作进行融合,将融合后得到的最终控制动作输入驱动模型,从而驱动水下机器人运动并完成目标任务。
40.本发明实施例提供的方法,基于反馈控制器输出的第一控制动作,和残差控制器输出的第二控制动作,对水下机器人进行运动控制,该方法避免了对运动模型精度要求较高、学习时间过长、虚实迁移后控制效果降低、收敛困难等问题,实现了水下机器人高效、精准的运动控制。
41.此外,残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整,参数随机化策略避免了需要丰富的调试参数经验的限制,即使在面对较大的环境扰动时,也可实现高效、精准的运动控制,提高了水下机器人针对复杂环境的运动控制能力。
42.基于上述任一实施例,步骤140具体包括:步骤141,对第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作;步骤142,将叠加控制动作输入至驱动控制模型,对水下机器人进行运动控制。
43.具体地,得到第一控制动作和第二控制动作的基础上,可对第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作,叠加控制动作可表示为如下形式:;式中,表示叠加控制动作,表示第一控制动作,表示第二控制动作,表示加权比例系数,可手动调整。
44.得到叠加控制动作后,将叠加动作输入到驱动控制模型,以仿豹鲂鮄水下机器人为例,驱动控制模型可以是底层鱼鳍驱动控制器。鱼鳍驱动控制器将叠加控制动作解析为各个鱼鳍运动频率,进一步生成机器人底层电机控制信号,从而驱动机器人运动并完成目标任务。
45.基于上述任一实施例,残差控制器基于如下步骤训练得到:步骤201,构建水下机器人的仿真环境;步骤202,基于反馈控制器和初始残差模型,以及仿真环境,得到水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态,仿真环境基于周期性参数随机化策略调整;步骤203,基于多组历史状态数据,对初始残差模型进行训练,得到残差控制器。
46.具体地,为了得到残差控制器,可首先构建水下机器人的仿真环境和初始残差模型。
47.图2是本发明提供的初始残差模型的结构示意图,如图2所示,初始残差模型为多层神经网络,由第一隐藏层210、第二隐藏层220和一个输出层230全连接构成,其中第一隐藏层包含800神经细胞,第二隐藏层包含600神经细胞,输出层包含3神经细胞。relu函数作为隐藏层激活函数,tanh作为输出层激活函数。将机器人的当前运动状态和任务目标输入至初始残差模型,得到初始残差模型输出的第二控制动作。
48.图3是本发明提供的残差控制器训练方法的流程示意图,如图3所示,仿真环境具体可包括水下机器人的外部扰动、驱动控制模型、运动学模型、动力学模型和马尔可夫决策过程(markov decision process,mdp)模型。初始残差模型联合反馈控制器,在仿真环境中采用强化学习算法进行模型训练,得到残差控制器。
49.需说明的是,图3中实线箭头表示信号传输,虚线箭头表示参数更新。
50.首先确定随机目标,将随机目标输入至mdp模型,得到当前时间步状态。
51.将机器人当前时间步状态输入到反馈控制器,反馈控制器中的反馈控制策略输出控制动作。
52.同时将机器人当前时间步状态输入到初始残差模型,根据当前策略网络输出控制动作。
53.将与进行加权叠加,得到当前时间步控制动作:;将动作输入到预先构建的仿真环境,经过仿真环境中的驱动控制模型,输出机器人的三个仿生鱼鳍产生的推进力或力矩。其中水下环境对仿生水下机器人产生的外部扰动力或力矩用表示,将和输入动力学模型、运动学模型以及mdp模型,得到当前时间步奖励,与机器人下一时间步状态。并将下一时间步状态确定为当前时间步状态。
54.由此得到水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态。同时,仿真环境基于周期性参数随机化策略调整。
55.将经验数组存入经验池。从经验池随机抽取数组用于软演员-评
论家(soft actor-critic,sac)强化学习算法离线训练初始残差模型的策略网络,直至训练完成,得到残差控制器。
56.基于上述任一实施例,仿真环境基于如下公式进行参数随机化策略调整:;其中,表示仿真环境的初始参数;表示参数随机化范围;为随机化函数,用于生成0到1之间的随机数;表示仿真环境的参数,表示仿真环境的参数集合。
57.具体地,如图3所示,在仿真环境中训练残差初始模型得到残差控制器的过程中,周期性地对仿真环境的模型参数在一定范围内进行随机化处理。在一个实施例中,更新的仿真环境模型参数包括外部扰动参数与机器人动力学模型参数。
58.可理解的是,根据上述公式对仿真环境的模型参数进行随机化调整,并基于参数调整后的仿真环境,对残差控制器进行训练。一方面避免了丰富的调试参数经验的要求限制,同时面对较大的环境扰动时,具有更强的调节能力;另一方面,由此训练得到的残差控制器能够适应更复杂的水下环境,由此实现了水下机器人高效、精准的运动控制。
59.基于上述任一实施例,步骤201具体包括:步骤201-1,确定水下机器人的任务目标和约束条件;步骤201-2,构建水下机器人的运动学模型;步骤201-3,基于运动学模型,构建水下机器人的动力学模型和驱动控制模型;步骤201-4,基于目标航向角和约束速度、动力学模型和驱动控制模型,构建水下机器人的仿真环境。
60.具体地,水下机器人的仿真环境可基于如下步骤构建:首先执行步骤201-1,确定水下机器人的目标任务及约束条件,此处的目标任务可以是机器人以目标航向角运动,约束条件可以是对机器人的速度进行约束。
61.在一个实施例中,目标任务可参数化描述为:;其中,任务目标,为期望航向角,为水下机器人的航向角,为允许误差;约束条件,为水下机器人纵荡方向速度,为允许最小速度,即水下机器人在纵荡方向需保持一定速度,从而按照期望航向向前运动。
62.接着执行步骤201-2,构建水下机器人的运动学模型。
63.本实施例考虑水下机器人在靠近水面的运动控制,由于水下机器人的浮心和重心之间的距离较大,同时与水的垂直接触面积比较大。因此,水下机器人在横滚和俯仰方向具有良好的稳定性。在本实施例中忽略仿生水下机器人的滚动和俯仰运动。因此,水下机器人在世界坐标系的位姿可描述为:;其中,为水下机器人在坐标系中的位置坐标,为水下机器人在坐标系中的偏转角。因此,水下机器人在世界坐标系中的速度可描述为:;进一步,水下机器人在体坐标系中的速度可描述为:
;其中,纵荡方向速度为水下机器人在轴方向线速度,横荡方向速度为水下机器人在轴方向线速度,航向角速度为水下机器人在偏航方向的角速度。两个坐标系间坐标变换如下所示:;得到水下机器人运动学模型的基础上,即可执行步骤201-3,根据运动学模型,构建水下机器人的动力学模型和驱动控制模型。
64.在体坐标系中,作用于机器人的纵荡、横荡和偏航方向的力或力矩可描述为:;其中,表示水下机器人的三个仿生鱼鳍产生的推进力或力矩,表示水下环境对仿生水下机器人产生的扰动力或力矩。
65.进一步,水下机器人动力学模型可描述为:;;;;其中,表示水下机器人的惯性矩阵,包括水动力附加惯性;表示线性阻尼矩阵;表示科里奥利力和向心力矩阵;由水下机器人的惯性和额外质量效应决定;由线性流体动力阻尼决定。
66.经过底层驱动控制器的控制,水下机器人的一对左右柔性长鳍可以进行幅值、频率与的波动运动,当时,通过波动产生向后的行波,对机器人作用向前的力,当时,通过波动产生向前的行波,对机器人作用向后的力,从而产生偏航力矩;水下机器人的尾鳍可以进行幅值、频率的摆动运动,从而产生向前的推进力。经过测力实验拟合,鱼鳍运动的控制参数与产生力或力矩的关系可描述为:;其中,、、、、、为实验拟合参数,为左右柔性长鳍的波动幅值,与分别为左右柔性长鳍的波动频率,为尾鳍的摆动幅值,为尾鳍的摆动频率。此处的底层驱动控制器即驱动控制模型。
67.然后执行步骤201-4,基于任务目标和约束条件、动力学模型和驱动控制模型,构
建水下机器人的仿真环境。
68.将机器人运动控制问题描述为马尔可夫决策过程的形式。其中,为状态空间,为动作空间,为状态转移的概率分布,为奖励函数。
69.任务目标由步骤201-1给出,状态可描述为:;;动作可作为底层驱动控制器的输入,即步骤201-3中鱼鳍运动的控制参数。为简化计算,在本实施例中幅值参数与设置为合适的常数,因此动作可描述为:;状态转移概率,意味着机器人当前的状态仅由上一时间步的状态和动作决定。在无模型强化学习算法中,机器人通过直接与环境交互到达下一状态。因此,转移概率分布可以是未知的。
70.每一时间步的奖励函数可描述为:;其中,为奖励函数系数,引导水下机器人转向并保持在期望航向。所设计非线性的奖励函数可以提高对控制精度的灵敏度。总奖励可描述为:;本发明实施例提供的方法,基于任务目标和约束条件、动力学模型和驱动控制模型,构建水下机器人的仿真环境。由此构建的仿真环境可用于机器人策略网络的训练,例如用于在仿真环境中对残差控制器进行训练。
71.基于上述任一实施例,反馈控制器包括自抗扰控制模块和参数映射模块,步骤120具体包括:步骤121,将当前状态和任务目标输入至反馈控制器中的自抗扰控制模块,得到自抗扰控制模块输出的偏转力矩;步骤122,将偏转力矩输入至反馈控制器中的参数映射模块,得到参数映射模块输出的第一控制动作。
72.具体地,为了得到第一控制动作,可通过反馈控制方法构建反馈控制器,控制策略可根据运动控制目标与机器人运动状态,输出相应第一控制动作。
73.图4是本发明提供的反馈控制器的结构示意图,如图4所示,反馈控制器400包括自抗扰控制(adrc)模块410和参数映射模块420,其中adrc模块410包括跟踪微分器(tracking differentiator,td)模块411、状态误差反馈模块412和扩张状态观测器413(extended state observer,eso)。
74.adrc模块用于估计一般扰动,通过使用eso对不确定性进行实时估计,并在控制信号中进行动态补偿。在本实施例水下机器人运动控制任务中,目标航向作为控制器输入,第一控制动作作为输出,机器人的航向角作为反馈。td模块输出的跟踪信号和跟踪微分信号。adrc模块输出偏转力矩到参数映射模块,参数映射模块根据步骤201-3建立的鱼鳍控制参数与产生力或力矩的关系模型,计算并输出第一控制动作。
75.进一步,所建立离散型自抗扰控制器可表述为:;其中,表示第个离散采样时间步,为控制周期,与为eso估计的状态误差,与为eso估计的机器人在偏航方向的状态,为eso估计的扰动,分别为eso增益,函数可由下式计算:;其中,表示为符号函数。
76.基于上述任一实施例,还提供一种水下机器人运动控制方法,该方法包括:s1,获取待控制的水下机器人的当前运动状态和任务目标。
77.s2,将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作。反馈控制器是利用反馈控制方法构建的。反馈控制器包括自抗扰控制模块和参数映射模块。
78.s3,将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作。其中,残差控制器基于步骤s4-s6训练得到的:s4,构建所述水下机器人的仿真环境。其中,s4包括如下步骤:s41,初始化,确定目标任务,给定目标及约束条件。
79.s42,根据任务目标及约束条件,构建系统模型,其中,表示系统模型参数集合。根据水下机器人的运动学与动力学模型构建相应仿真环境,用于机器人策略网络的训练。
80.s5,基于反馈控制器和初始残差模型,以及所述仿真环境,得到所述水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态,所述仿真环境基于周期性参数随机化策略调整。
81.s6,基于所述多组历史状态数据,对所述初始残差模型进行训练,得到所述残差控制器。
82.s7,对所述第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作;将所述叠加控制动作输入至驱动控制模型,对所述水下机器人进行运动控制。
83.下面对本发明提供的水下机器人运动控制装置进行描述,下文描述的水下机器人运动控制装置与上文描述的水下机器人运动控制方法可相互对应参照。
84.图5是本发明提供的水下机器人运动控制装置的结构示意图,如图5所示,水下机器人运动控制装置500包括:状态获取单元510,用于获取待控制的水下机器人的当前运动状态和任务目标;第一动作获取单元520,用于将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;第二动作获取单元530,用于将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;运动控制单元540,用于基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
85.本发明实施例提供的装置,基于反馈控制器输出的第一控制动作,和残差控制器输出的第二控制动作,对水下机器人进行运动控制,该装置避免了对运动模型精度要求较高、学习时间过长、虚实迁移后控制效果降低、收敛困难等问题,实现了水下机器人高效、精准的运动控制。
86.此外,残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整,参数随机化策略避免了需要丰富的调试参数经验的限制,即使在面对较大的环境扰动时,也可实现高效、精准的运动控制,提高了水下机器人针对复杂环境的运动控制能力。
87.基于上述任一实施例,运动控制单元540进一步用于:对所述第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作;将所述叠加控制动作输入至驱动控制模型,对所述水下机器人进行运动控制。
88.基于上述任一实施例,水下机器人运动控制装置还包括残差控制器训练单元,用于:构建所述水下机器人的仿真环境;基于反馈控制器和初始残差模型,以及所述仿真环境,得到所述水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态,所述仿真环境基于周期性参数随机化策略调整;基于所述多组历史状态数据,对所述初始残差模型进行训练,得到所述残差控制器。
89.基于上述任一实施例,所述仿真环境基于如下公式进行参数随机化策略调整:;其中,表示仿真环境的初始参数;表示参数随机化范围;为随机化函数,用于生成0到1之间的随机数;表示仿真环境的参数,表示仿真环境的参数集合。
90.基于上述任一实施例,水下机器人运动控制装置还包括仿真环境构建单元,用于:确定所述水下机器人的任务目标和约束条件;
构建所述水下机器人的运动学模型;基于所述运动学模型,构建所述水下机器人的动力学模型和驱动控制模型;基于所述任务目标和约束条件、所述动力学模型和驱动控制模型,构建所述水下机器人的仿真环境。
91.基于上述任一实施例,第一动作获取单元520进一步用于:将所述当前状态和任务目标输入至反馈控制器中的自抗扰控制模块,得到所述自抗扰控制模块输出的偏转力矩;将所述偏转力矩输入至反馈控制器中的参数映射模块,得到所述参数映射模块输出的所述第一控制动作。
92.图6是本发明提供的水下机器人运动控制系统的结构示意图,如图6所示,该系统包括:如上所述的水下机器人运动控制装置500,水下机器人610和状态反馈模块620;所述水下机器人运动控制装置500用于接收所述状态反馈模块620发送的当前运动状态,并对所述水下机器人进行运动控制;所述状态反馈模块620包括航姿参考子模块622和状态转换子模块621,所述航姿参考子模块与所述水下机器人连接,用于获取所述水下机器人的实时位姿,所述状态转换子模块用于对所述实时位姿进行状态转换,并将状态转换后得到的当前运动状态发送至所述水下机器人运动控制装置500。
93.为验证水下机器人运动控制系统的有效性,例如,可在5m
×
4m
×
1.1m的室内水池进行机器人运动控制任务验证。安装在水池侧边的高压水枪用于制造外部扰动。安装在水池顶部的全局视觉跟踪系统通过usb连接到控制台,通过处理水下机器人和它周围环境的图像,控制台能实时计算出水下机器人当前的位置、航向与速度,结合水下机器人自身携带的航姿参考系统与任务目标航向,控制台可获得实时状态。通过输入到反馈控制器与训练好的残差控制器中获得动作,并通过无线通信发送给水下机器人内部鱼鳍控制器实现运动控制。
94.图7是本发明提供的水下机器人运动控制对比实验航向变化曲线示意图,如图7所示,水下机器人的期望航向角是180
°
,分别采用三种方法对水下机器人进行运动控制试验。其中,pr-rrl表示采用本发明提供的运动控制方法,即反馈控制器和残差控制器相结合的方法得到的曲线图;adrc表示采用现有的自抗扰控制方法得到的曲线图;rrl表示只用残差强化学习方法得到的曲线图。从图7可以看出,相比较现有的adrc方法及只用残差强化学习方法,本发明实施例提供的方法能够使水下机器人较快地调整航向角到期望航向,遇到扰动时可以快速调整并保持在期望航向。实现在扰动情况下对水下机器人进行高效、精准的运动控制。
95.图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(communications interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行水下机器人运动控制方法,该方法包括:获取待控制的水下机器人的当前运动状态和任务目标;将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;将所述当前运动状态
和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
96.此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
97.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的水下机器人运动控制方法,该方法包括:获取待控制的水下机器人的当前运动状态和任务目标;将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
98.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的水下机器人运动控制方法,该方法包括:获取待控制的水下机器人的当前运动状态和任务目标;将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
99.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
100.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
101.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管
参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1