CN115808931B - 水下机器人运动控制方法、装置、系统、设备和存储介质 - Google Patents
水下机器人运动控制方法、装置、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN115808931B CN115808931B CN202310071091.7A CN202310071091A CN115808931B CN 115808931 B CN115808931 B CN 115808931B CN 202310071091 A CN202310071091 A CN 202310071091A CN 115808931 B CN115808931 B CN 115808931B
- Authority
- CN
- China
- Prior art keywords
- underwater robot
- control
- state
- simulation environment
- motion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 171
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000009471 action Effects 0.000 claims abstract description 128
- 238000004088 simulation Methods 0.000 claims abstract description 97
- 238000012549 training Methods 0.000 claims abstract description 34
- 230000002787 reinforcement Effects 0.000 claims abstract description 25
- 230000000737 periodic effect Effects 0.000 claims abstract description 20
- 238000013507 mapping Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 11
- 239000011664 nicotinic acid Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000007613 environmental effect Effects 0.000 description 6
- 230000005012 migration Effects 0.000 description 6
- 238000013508 migration Methods 0.000 description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000013178 mathematical model Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000011217 control strategy Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 241001417523 Plesiopidae Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001141 propulsive effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241001519451 Abramis brama Species 0.000 description 1
- 241000251468 Actinopterygii Species 0.000 description 1
- 241000282373 Panthera pardus Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000001727 in vivo Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- HOWHQWFXSLOJEF-MGZLOUMQSA-N systemin Chemical compound NCCCC[C@H](N)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CC(O)=O)C(=O)OC(=O)[C@@H]1CCCN1C(=O)[C@H]1N(C(=O)[C@H](CC(O)=O)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H]2N(CCC2)C(=O)[C@H]2N(CCC2)C(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@@H](NC(=O)[C@H](C)N)C(C)C)CCC1 HOWHQWFXSLOJEF-MGZLOUMQSA-N 0.000 description 1
- 108010050014 systemin Proteins 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Feedback Control In General (AREA)
Abstract
本发明涉及机器人技术领域,提供一种水下机器人运动控制方法、装置、系统、设备和存储介质,其中方法包括:获取待控制的水下机器人的当前运动状态和任务目标;将当前运动状态和任务目标输入至反馈控制器,得到反馈控制器输出的第一控制动作;将当前运动状态和任务目标输入至残差控制器,得到残差控制器输出的第二控制动作,残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整;基于第一控制动作和第二控制动作,对水下机器人进行运动控制。本发明实施例提供的水下机器人运动控制方法、装置、系统、设备和存储介质,实现在扰动情况下对水下机器人进行高效、精准的运动控制。
Description
技术领域
本发明涉及机器人技术领域,尤其涉及一种水下机器人运动控制方法、装置、系统、设备和存储介质。
背景技术
目前,各式仿生水下机器人已被广泛应用在海洋和军事等领域,例如海洋生物观察、水下资源勘探、海上军事打击等。与传统螺旋桨推进的水下航行器相比,仿生水下机器人在机动性、稳定性、抗干扰能力、噪声等方面具有更大的优势,仿生水下机器人及其运动控制方法逐渐受到研究人员和工程师的关注。
现有大多数运动控制方法都是基于数学模型或自适应的方法来实现对不确定系统的控制。其中,基于模型的控制方法往往对机器人运动模型精度有较高的要求,但是由于仿生水下机器人的流体动力学复杂且不确定,同时水下存在的扰流难以模拟,因此很难为机器人建立精确的数学模型。另一方面,虽然自适应的控制方法不需基于精确的数学模型,但要求丰富的调试参数经验,同时面对较大的环境扰动时,调节范围有限。
强化学习作为目前应用较广的一种学习算法,不用基于精确的模型,通过机器人与环境交互来优化控制策略,实现对机器人的运动控制,具有良好的环境适应性。但在实际应用时仍存在较多问题与挑战,容易出现学习时间过长、虚实迁移后控制效果降低、收敛困难等问题。
发明内容
本发明提供一种水下机器人运动控制方法、装置、系统、设备和存储介质,用以解决现有技术中要求丰富的调试参数经验,并且调节范围有限,同时容易出现学习时间过长、虚实迁移后控制效果降低、收敛困难的缺陷。
本发明提供一种水下机器人运动控制方法,包括:
获取待控制的水下机器人的当前运动状态和任务目标;
将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;
将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;
基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
根据本发明提供的水下机器人运动控制方法,所述基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制,包括:
对所述第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作;
将所述叠加控制动作输入至驱动控制模型,对所述水下机器人进行运动控制。
根据本发明提供的水下机器人运动控制方法,所述残差控制器基于如下步骤训练得到:
构建所述水下机器人的仿真环境;
基于反馈控制器和初始残差模型,以及所述仿真环境,得到所述水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态,所述仿真环境基于周期性参数随机化策略调整;
基于所述多组历史状态数据,对所述初始残差模型进行训练,得到所述残差控制器。
根据本发明提供的水下机器人运动控制方法,所述仿真环境基于如下公式进行参数随机化策略调整:
根据本发明提供的水下机器人运动控制方法,所述构建所述水下机器人的仿真环境,包括:
确定所述水下机器人的任务目标和约束条件;
构建所述水下机器人的运动学模型;
基于所述运动学模型,构建所述水下机器人的动力学模型和驱动控制模型;
基于所述任务目标和约束条件、所述动力学模型和驱动控制模型,构建所述水下机器人的仿真环境。
根据本发明提供的水下机器人运动控制方法,所述反馈控制器包括自抗扰控制模块和参数映射模块,所述将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作,包括:
将所述当前状态和任务目标输入至反馈控制器中的自抗扰控制模块,得到所述自抗扰控制模块输出的偏转力矩;
将所述偏转力矩输入至反馈控制器中的参数映射模块,得到所述参数映射模块输出的所述第一控制动作。
本发明还提供一种水下机器人运动控制装置,包括:
状态获取单元,用于获取待控制的水下机器人的当前运动状态和任务目标;
第一动作获取单元,用于将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;
第二动作获取单元,用于将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;
运动控制单元,用于基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
本发明还提供一种水下机器人运动控制系统,包括:
如上所述的水下机器人运动控制装置,水下机器人和状态反馈模块;
所述水下机器人运动控制装置用于接收所述状态反馈模块发送的当前状态,并对所述水下机器人进行运动控制;
所述状态反馈模块包括航姿参考子模块和状态转换子模块,所述航姿参考子模块与所述水下机器人连接,用于获取所述水下机器人的实时位姿,所述状态转换子模块用于对所述实时位姿进行状态转换,并将状态转换后得到的当前状态发送至所述水下机器人运动控制装置。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述水下机器人运动控制方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述水下机器人运动控制方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述水下机器人运动控制方法。
本发明提供的水下机器人运动控制方法、装置、系统、设备和存储介质,基于反馈控制器输出的第一控制动作,和残差控制器输出的第二控制动作,对水下机器人进行运动控制,该方法避免了对运动模型精度要求较高、学习时间过长、虚实迁移后控制效果降低、收敛困难等问题,实现了水下机器人高效、精准的运动控制。
此外,残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整,参数随机化策略避免了需要丰富的调试参数经验的限制,即使在面对较大的环境扰动时,也可实现高效、精准的运动控制,提高了水下机器人针对复杂环境的运动控制能力。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的水下机器人运动控制方法的流程示意图;
图2是本发明提供的初始残差模型的结构示意图;
图3是本发明提供的残差控制器训练方法的流程示意图;
图4是本发明提供的反馈控制器的结构示意图;
图5是本发明提供的水下机器人运动控制装置的结构示意图;
图6是本发明提供的水下机器人运动控制系统的结构示意图;
图7是本发明提供的水下机器人运动控制对比实验航向变化曲线示意图;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前水下机器人通常基于数学模型或自适应的方法来实现运动控制,考虑到水下机器人所处的水下环境复杂,很难建立精确的数学模型;另外,自适应的方法要求丰富的调试参数经验,且调节范围有限。强化学习的方法虽具有良好的环境适应性,但容易出现学习时间过长、虚实迁移后控制效果降低、收敛困难等问题。
鉴于此,本发明实施例提供一种水下机器人运动控制方法,应用在需要对水下机器人进行运动控制的场景。
图1是本发明提供的水下机器人运动控制方法的流程示意图,该方法的执行主体可以是水下机器人运动控制装置,该装置可以通过软件和/或硬件实现,该装置可以集成在电子设备中,电子设备可以是个人电脑、云端设备、智能手机或平板电脑等。如图1所示,该方法包括以下步骤:
步骤110,获取待控制的水下机器人的当前运动状态和任务目标。
具体地,待控制的水下机器人即需要进行运动控制的机器人,该机器人的运动环境是水下,比如可以是仿豹鲂鮄水下机器人。当前运动状态可反映水下机器人的实时状态,比如当前的位置、航向、速度、推进力矩或扰动力矩等。
在一个实施例中,安装在水池顶部的全局视觉跟踪系统通过通用串行总线(Universal Serial Bus,USB)连接到控制台,通过处理水下机器人和它周围环境的图像,控制台能实时计算出水下机器人当前的位置、航向与速度,结合水下机器人自身携带的航姿参考系统,控制台可获得当前运动状态。
任务目标即水下机器人需要实现的运动目标,比如任务目标可以是水下机器人按照目标航向角运动,还可以是按照目标速度运动,还可以是按照目标深度运动,可根据需要灵活设置,本发明实施例对此不作具体限定。任务目标可以是预先设置好的,例如可设置目标航向角的范围,进一步地可设置水下机器人的实际航向角与目标航向角之间的误差绝对值小于误差阈值。
步骤120,将当前运动状态和任务目标输入至反馈控制器,得到反馈控制器输出的第一控制动作。
具体地,得到当前运动状态和任务目标的基础上,即可将当前运动状态和任务目标输入至反馈控制器,得到反馈控制器输出的第一控制动作。此处的反馈控制器可以是采用反馈控制方法预先构建的。比如可利用自抗扰控制(Active Disturbance RejectionControl,ADRC)技术构建反馈控制器。
步骤130,将当前运动状态和任务目标输入至残差控制器,得到残差控制器输出的第二控制动作,残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整。
具体地,考虑到水下机器人的流体动力学复杂且不确定,同时水下存在的扰流难以模拟,很难为水下机器人建立精确的与真实环境完全一致的反馈控制模型,因此反馈控制器输出的第一控制动作可能会存在误差,为了更加准确快速的控制机器人实现任务目标,可在此基础上,将当前运动状态和任务目标输入至残差控制器,得到残差控制器输出的第二控制动作。此处的残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整。
可理解的是,仿真环境即针对水下机器人的运动控制问题构建的仿真环境,例如可以包括水下机器人的外部扰动、运动学模型、动力学模型和马尔可夫决策过程模型等。针对水下机器人的任务目标,预先构建仿真环境,在仿真环境中基于强化学习方法对初始残差网络进行训练得到残差控制器。
残差控制器在训练过程中,不断与水下机器人所处的水下环境进行交互,在与环境交互的过程中优化控制策略,最终达成任务目标,完成残差控制器的参数迭代。
同时,残差控制器是在通过反馈控制器获得第一控制动作的基础上进行强化学习,相比于从零开始学习,避免了学习时间过长,收敛困难的问题,使得机器人可以更快地学习到更加鲁棒的模型,从而实现了水下机器人高效、精准地运动控制。
此外,考虑到水下环境的复杂性,为了使水下机器人能适应更加复杂的环境,本发明实施例中的仿真环境基于周期性参数随机化策略调整。其中,仿真环境的参数调整与残差控制器的参数迭代异步进行。
在一个实施例中,首先在当前仿真环境中采用强化学习方法对残差控制器进行参数迭代,迭代完成后对当前仿真环境的参数进行随机化调整,并在参数调整后的仿真环境中继续采用强化学习方法对残差控制器进行参数迭代,由此训练得到的残差控制器能适应更加复杂的水下环境,在面对复杂的水下环境时,能够实现高效、精准地运动控制。
步骤140,基于第一控制动作和第二控制动作,对水下机器人进行运动控制。
具体地,得到反馈控制器输出的第一控制动作和残差控制器输出的第二控制动作的基础上,即可根据第一控制动作和第二控制动作,对水下机器人进行运动控制。
在一个实施例中,可将第一控制动作和第二控制动作同时输入驱动模型,由驱动模型对第一控制动作和第二控制动作进行相应的分析,将动作解析为机器人各个运动频率,从而驱动水下机器人运动并完成目标任务;还可首先对第一控制动作和第二控制动作进行融合,将融合后得到的最终控制动作输入驱动模型,从而驱动水下机器人运动并完成目标任务。
本发明实施例提供的方法,基于反馈控制器输出的第一控制动作,和残差控制器输出的第二控制动作,对水下机器人进行运动控制,该方法避免了对运动模型精度要求较高、学习时间过长、虚实迁移后控制效果降低、收敛困难等问题,实现了水下机器人高效、精准的运动控制。
此外,残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整,参数随机化策略避免了需要丰富的调试参数经验的限制,即使在面对较大的环境扰动时,也可实现高效、精准的运动控制,提高了水下机器人针对复杂环境的运动控制能力。
基于上述任一实施例,步骤140具体包括:
步骤141,对第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作;
步骤142,将叠加控制动作输入至驱动控制模型,对水下机器人进行运动控制。
具体地,得到第一控制动作和第二控制动作的基础上,可对第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作,叠加控制动作可表示为如下形式:
得到叠加控制动作后,将叠加动作输入到驱动控制模型,以仿豹鲂鮄水下机器人为例,驱动控制模型可以是底层鱼鳍驱动控制器。鱼鳍驱动控制器将叠加控制动作解析为各个鱼鳍运动频率,进一步生成机器人底层电机控制信号,从而驱动机器人运动并完成目标任务。
基于上述任一实施例,残差控制器基于如下步骤训练得到:
步骤201,构建水下机器人的仿真环境;
步骤202,基于反馈控制器和初始残差模型,以及仿真环境,得到水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态,仿真环境基于周期性参数随机化策略调整;
步骤203,基于多组历史状态数据,对初始残差模型进行训练,得到残差控制器。
具体地,为了得到残差控制器,可首先构建水下机器人的仿真环境和初始残差模型。
图2是本发明提供的初始残差模型的结构示意图,如图2所示,初始残差模型为多层神经网络,由第一隐藏层210、第二隐藏层220和一个输出层230全连接构成,其中第一隐藏层包含800神经细胞,第二隐藏层包含600神经细胞,输出层包含3神经细胞。ReLU函数作为隐藏层激活函数,Tanh作为输出层激活函数。将机器人的当前运动状态和任务目标输入至初始残差模型,得到初始残差模型输出的第二控制动作。
图3是本发明提供的残差控制器训练方法的流程示意图,如图3所示,仿真环境具体可包括水下机器人的外部扰动、驱动控制模型、运动学模型、动力学模型和马尔可夫决策过程(Markov Decision Process,MDP)模型。初始残差模型联合反馈控制器,在仿真环境中采用强化学习算法进行模型训练,得到残差控制器。
需说明的是,图3中实线箭头表示信号传输,虚线箭头表示参数更新。
将动作输入到预先构建的仿真环境,经过仿真环境中的驱动控制模型,输出机器人的三个仿生鱼鳍产生的推进力或力矩/>。其中水下环境对仿生水下机器人产生的外部扰动力或力矩用/>表示,将/>和/>输入动力学模型、运动学模型以及MDP模型,得到当前时间步奖励/>,与机器人下一时间步状态/>。并将下一时间步状态确定为当前时间步状态。
基于上述任一实施例,仿真环境基于如下公式进行参数随机化策略调整:
具体地,如图3所示,在仿真环境中训练残差初始模型得到残差控制器的过程中,周期性地对仿真环境的模型参数在一定范围内进行随机化处理。在一个实施例中,更新的仿真环境模型参数/>包括外部扰动参数与机器人动力学模型参数。
可理解的是,根据上述公式对仿真环境的模型参数进行随机化调整,并基于参数调整后的仿真环境,对残差控制器进行训练。一方面避免了丰富的调试参数经验的要求限制,同时面对较大的环境扰动时,具有更强的调节能力;另一方面,由此训练得到的残差控制器能够适应更复杂的水下环境,由此实现了水下机器人高效、精准的运动控制。
基于上述任一实施例,步骤201具体包括:
步骤201-1,确定水下机器人的任务目标和约束条件;
步骤201-2,构建水下机器人的运动学模型;
步骤201-3,基于运动学模型,构建水下机器人的动力学模型和驱动控制模型;
步骤201-4,基于目标航向角和约束速度、动力学模型和驱动控制模型,构建水下机器人的仿真环境。
具体地,水下机器人的仿真环境可基于如下步骤构建:
首先执行步骤201-1,确定水下机器人的目标任务及约束条件,此处的目标任务可以是机器人以目标航向角运动,约束条件可以是对机器人的速度进行约束。
在一个实施例中,目标任务可参数化描述为:
其中,任务目标,/>为期望航向角,/>为水下机器人的航向角,/>为允许误差;约束条件/>,/>为水下机器人纵荡方向速度,/>为允许最小速度,即水下机器人在纵荡方向需保持一定速度,从而按照期望航向向前运动。
接着执行步骤201-2,构建水下机器人的运动学模型。
本实施例考虑水下机器人在靠近水面的运动控制,由于水下机器人的浮心和重心之间的距离较大,同时与水的垂直接触面积比较大。因此,水下机器人在横滚和俯仰方向具有良好的稳定性。在本实施例中忽略仿生水下机器人的滚动和俯仰运动。因此,水下机器人在世界坐标系的位姿可描述为:
得到水下机器人运动学模型的基础上,即可执行步骤201-3,根据运动学模型,构建水下机器人的动力学模型和驱动控制模型。
进一步,水下机器人动力学模型可描述为:
经过底层驱动控制器的控制,水下机器人的一对左右柔性长鳍可以进行幅值、频率/>与/>的波动运动,当/>时,通过波动产生向后的行波,对机器人作用向前的力,当时,通过波动产生向前的行波,对机器人作用向后的力,从而产生偏航力矩;水下机器人的尾鳍可以进行幅值/>、频率/>的摆动运动,从而产生向前的推进力。经过测力实验拟合,鱼鳍运动的控制参数与产生力或力矩的关系可描述为:/>
其中,、/>、/>、/>、/>、/>为实验拟合参数,/>为左右柔性长鳍的波动幅值,/>与/>分别为左右柔性长鳍的波动频率,/>为尾鳍的摆动幅值,/>为尾鳍的摆动频率。此处的底层驱动控制器即驱动控制模型。
然后执行步骤201-4,基于任务目标和约束条件、动力学模型和驱动控制模型,构建水下机器人的仿真环境。
每一时间步的奖励函数可描述为:
本发明实施例提供的方法,基于任务目标和约束条件、动力学模型和驱动控制模型,构建水下机器人的仿真环境。由此构建的仿真环境可用于机器人策略网络的训练,例如用于在仿真环境中对残差控制器进行训练。
基于上述任一实施例,反馈控制器包括自抗扰控制模块和参数映射模块,步骤120具体包括:
步骤121,将当前状态和任务目标输入至反馈控制器中的自抗扰控制模块,得到自抗扰控制模块输出的偏转力矩;
步骤122,将偏转力矩输入至反馈控制器中的参数映射模块,得到参数映射模块输出的第一控制动作。
图4是本发明提供的反馈控制器的结构示意图,如图4所示,反馈控制器400包括自抗扰控制(ADRC)模块410和参数映射模块420,其中ADRC模块410包括跟踪微分器(TrackingDifferentiator,TD)模块411、状态误差反馈模块412和扩张状态观测器413(ExtendedState Observer,ESO)。
ADRC模块用于估计一般扰动,通过使用ESO对不确定性进行实时估计,并在控制信号中进行动态补偿。在本实施例水下机器人运动控制任务中,目标航向作为控制器输入,第一控制动作/>作为输出,机器人的航向角/>作为反馈。TD模块输出/>的跟踪信号/>和跟踪微分信号/>。ADRC模块输出偏转力矩/>到参数映射模块,参数映射模块根据步骤201-3建立的鱼鳍控制参数与产生力或力矩的关系模型,计算并输出第一控制动作/>。
进一步,所建立离散型自抗扰控制器可表述为:
其中,表示第/>个离散采样时间步,/>为控制周期,/>与/>为ESO估计的状态误差,/>与/>为ESO估计的机器人在偏航方向的状态,/>为ESO估计的扰动,/>分别为ESO增益,函数/>可由下式计算:
基于上述任一实施例,还提供一种水下机器人运动控制方法,该方法包括:
S1,获取待控制的水下机器人的当前运动状态和任务目标。
S2,将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作。反馈控制器是利用反馈控制方法构建的。反馈控制器包括自抗扰控制模块和参数映射模块。
S3,将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作。其中,残差控制器基于步骤S4-S6训练得到的:
S4,构建所述水下机器人的仿真环境。其中,S4包括如下步骤:
S5,基于反馈控制器和初始残差模型,以及所述仿真环境,得到所述水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态,所述仿真环境基于周期性参数随机化策略调整。
S6,基于所述多组历史状态数据,对所述初始残差模型进行训练,得到所述残差控制器。
S7,对所述第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作;将所述叠加控制动作输入至驱动控制模型,对所述水下机器人进行运动控制。
下面对本发明提供的水下机器人运动控制装置进行描述,下文描述的水下机器人运动控制装置与上文描述的水下机器人运动控制方法可相互对应参照。
图5是本发明提供的水下机器人运动控制装置的结构示意图,如图5所示,水下机器人运动控制装置500包括:
状态获取单元510,用于获取待控制的水下机器人的当前运动状态和任务目标;
第一动作获取单元520,用于将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;
第二动作获取单元530,用于将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;
运动控制单元540,用于基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
本发明实施例提供的装置,基于反馈控制器输出的第一控制动作,和残差控制器输出的第二控制动作,对水下机器人进行运动控制,该装置避免了对运动模型精度要求较高、学习时间过长、虚实迁移后控制效果降低、收敛困难等问题,实现了水下机器人高效、精准的运动控制。
此外,残差控制器是基于强化学习方法在仿真环境中训练得到的,仿真环境基于周期性参数随机化策略调整,参数随机化策略避免了需要丰富的调试参数经验的限制,即使在面对较大的环境扰动时,也可实现高效、精准的运动控制,提高了水下机器人针对复杂环境的运动控制能力。
基于上述任一实施例,运动控制单元540进一步用于:
对所述第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作;
将所述叠加控制动作输入至驱动控制模型,对所述水下机器人进行运动控制。
基于上述任一实施例,水下机器人运动控制装置还包括残差控制器训练单元,用于:
构建所述水下机器人的仿真环境;
基于反馈控制器和初始残差模型,以及所述仿真环境,得到所述水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态,所述仿真环境基于周期性参数随机化策略调整;
基于所述多组历史状态数据,对所述初始残差模型进行训练,得到所述残差控制器。
基于上述任一实施例,所述仿真环境基于如下公式进行参数随机化策略调整:
基于上述任一实施例,水下机器人运动控制装置还包括仿真环境构建单元,用于:
确定所述水下机器人的任务目标和约束条件;
构建所述水下机器人的运动学模型;
基于所述运动学模型,构建所述水下机器人的动力学模型和驱动控制模型;
基于所述任务目标和约束条件、所述动力学模型和驱动控制模型,构建所述水下机器人的仿真环境。
基于上述任一实施例,第一动作获取单元520进一步用于:
将所述当前状态和任务目标输入至反馈控制器中的自抗扰控制模块,得到所述自抗扰控制模块输出的偏转力矩;
将所述偏转力矩输入至反馈控制器中的参数映射模块,得到所述参数映射模块输出的所述第一控制动作。
图6是本发明提供的水下机器人运动控制系统的结构示意图,如图6所示,该系统包括:
如上所述的水下机器人运动控制装置500,水下机器人610和状态反馈模块620;
所述水下机器人运动控制装置500用于接收所述状态反馈模块620发送的当前运动状态,并对所述水下机器人进行运动控制;
所述状态反馈模块620包括航姿参考子模块622和状态转换子模块621,所述航姿参考子模块与所述水下机器人连接,用于获取所述水下机器人的实时位姿,所述状态转换子模块用于对所述实时位姿进行状态转换,并将状态转换后得到的当前运动状态发送至所述水下机器人运动控制装置500。
为验证水下机器人运动控制系统的有效性,例如,可在5m×4m×1.1m的室内水池进行机器人运动控制任务验证。安装在水池侧边的高压水枪用于制造外部扰动。安装在水池顶部的全局视觉跟踪系统通过USB连接到控制台,通过处理水下机器人和它周围环境的图像,控制台能实时计算出水下机器人当前的位置、航向与速度,结合水下机器人自身携带的航姿参考系统与任务目标航向,控制台可获得实时状态。通过输入到反馈控制器与训练好的残差控制器中获得动作,并通过无线通信发送给水下机器人内部鱼鳍控制器实现运动控制。
图7是本发明提供的水下机器人运动控制对比实验航向变化曲线示意图,如图7所示,水下机器人的期望航向角是180°,分别采用三种方法对水下机器人进行运动控制试验。其中,PR-RRL表示采用本发明提供的运动控制方法,即反馈控制器和残差控制器相结合的方法得到的曲线图;ADRC表示采用现有的自抗扰控制方法得到的曲线图;RRL表示只用残差强化学习方法得到的曲线图。从图7可以看出,相比较现有的ADRC方法及只用残差强化学习方法,本发明实施例提供的方法能够使水下机器人较快地调整航向角到期望航向,遇到扰动时可以快速调整并保持在期望航向。实现在扰动情况下对水下机器人进行高效、精准的运动控制。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行水下机器人运动控制方法,该方法包括:获取待控制的水下机器人的当前运动状态和任务目标;将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的水下机器人运动控制方法,该方法包括:获取待控制的水下机器人的当前运动状态和任务目标;将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的水下机器人运动控制方法,该方法包括:获取待控制的水下机器人的当前运动状态和任务目标;将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种水下机器人运动控制方法,其特征在于,包括:
获取待控制的水下机器人的当前运动状态和任务目标;
将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;
将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;
基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制;
所述残差控制器基于如下步骤训练得到:
构建所述水下机器人的仿真环境;
基于反馈控制器和初始残差模型,以及所述仿真环境,得到所述水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态;
基于所述多组历史状态数据,对所述初始残差模型进行训练,得到所述残差控制器;
所述仿真环境基于如下公式进行参数随机化策略调整:
2.根据权利要求1所述的水下机器人运动控制方法,其特征在于,所述基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制,包括:
对所述第一控制动作和第二控制动作进行加权叠加,得到叠加控制动作;
将所述叠加控制动作输入至驱动控制模型,对所述水下机器人进行运动控制。
3.根据权利要求1所述的水下机器人运动控制方法,其特征在于,所述构建所述水下机器人的仿真环境,包括:
确定所述水下机器人的任务目标和约束条件;
构建所述水下机器人的运动学模型;
基于所述运动学模型,构建所述水下机器人的动力学模型和驱动控制模型;
基于所述任务目标和约束条件、所述动力学模型和驱动控制模型,构建所述水下机器人的仿真环境。
4.根据权利要求1-3中任一项所述的水下机器人运动控制方法,其特征在于,所述反馈控制器包括自抗扰控制模块和参数映射模块,所述将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作,包括:
将所述当前运动状态和任务目标输入至反馈控制器中的自抗扰控制模块,得到所述自抗扰控制模块输出的偏转力矩;
将所述偏转力矩输入至反馈控制器中的参数映射模块,得到所述参数映射模块输出的所述第一控制动作。
5.一种水下机器人运动控制装置,其特征在于,包括:
状态获取单元,用于获取待控制的水下机器人的当前运动状态和任务目标;
第一动作获取单元,用于将所述当前运动状态和任务目标输入至反馈控制器,得到所述反馈控制器输出的第一控制动作;
第二动作获取单元,用于将所述当前运动状态和任务目标输入至残差控制器,得到所述残差控制器输出的第二控制动作,所述残差控制器是基于强化学习方法在仿真环境中训练得到的,所述仿真环境基于周期性参数随机化策略调整;
运动控制单元,用于基于所述第一控制动作和第二控制动作,对所述水下机器人进行运动控制;
所述残差控制器基于如下步骤训练得到:
构建所述水下机器人的仿真环境;
基于反馈控制器和初始残差模型,以及所述仿真环境,得到所述水下机器人的多组历史状态数据,每一组历史状态数据包括当前时间步状态、当前时间步控制动作、当前时间步奖励和下一时间步状态;
基于所述多组历史状态数据,对所述初始残差模型进行训练,得到所述残差控制器;
所述仿真环境基于如下公式进行参数随机化策略调整:
6.一种水下机器人运动控制系统,其特征在于,包括:
如权利要求5所述的水下机器人运动控制装置,水下机器人和状态反馈模块;
所述水下机器人运动控制装置用于接收所述状态反馈模块发送的当前运动状态,并对所述水下机器人进行运动控制;
所述状态反馈模块包括航姿参考子模块和状态转换子模块,所述航姿参考子模块与所述水下机器人连接,用于获取所述水下机器人的实时位姿,所述状态转换子模块用于对所述实时位姿进行状态转换,并将状态转换后得到的当前运动状态发送至所述水下机器人运动控制装置。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述水下机器人运动控制方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述水下机器人运动控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310071091.7A CN115808931B (zh) | 2023-02-07 | 2023-02-07 | 水下机器人运动控制方法、装置、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310071091.7A CN115808931B (zh) | 2023-02-07 | 2023-02-07 | 水下机器人运动控制方法、装置、系统、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115808931A CN115808931A (zh) | 2023-03-17 |
CN115808931B true CN115808931B (zh) | 2023-06-02 |
Family
ID=85487551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310071091.7A Active CN115808931B (zh) | 2023-02-07 | 2023-02-07 | 水下机器人运动控制方法、装置、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115808931B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10652966B2 (en) * | 2017-03-10 | 2020-05-12 | Signify Holding B.V. | Mitigating distortion in coded light |
CN110377031B (zh) * | 2019-06-28 | 2022-06-10 | 炬星科技(深圳)有限公司 | 运动模型更新方法、装置、电子设备及存储介质 |
CN110909859B (zh) * | 2019-11-29 | 2023-03-24 | 中国科学院自动化研究所 | 基于对抗结构化控制的仿生机器鱼运动控制方法、系统 |
US10962976B1 (en) * | 2019-11-29 | 2021-03-30 | Institute Of Automation, Chinese Academy Of Sciences | Motion control method and system for biomimetic robotic fish based on adversarial structured control |
CN113093779B (zh) * | 2021-03-25 | 2022-06-07 | 山东大学 | 基于深度强化学习的机器人运动控制方法及系统 |
CN113609786B (zh) * | 2021-08-27 | 2022-08-19 | 中国人民解放军国防科技大学 | 一种移动机器人导航方法、装置、计算机设备和存储介质 |
CN115303455B (zh) * | 2022-09-16 | 2023-04-25 | 北京大学 | 水下仿生机器人运动控制方法、装置、设备及存储介质 |
-
2023
- 2023-02-07 CN CN202310071091.7A patent/CN115808931B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115808931A (zh) | 2023-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | Mapless motion planning system for an autonomous underwater vehicle using policy gradient-based deep reinforcement learning | |
CN109625333B (zh) | 一种基于深度增强学习的空间非合作目标捕获方法 | |
CN106444806B (zh) | 基于生物速度调节的欠驱动auv三维轨迹跟踪控制方法 | |
CN112462792B (zh) | 一种基于Actor-Critic算法的水下机器人运动控制方法 | |
CN111240345A (zh) | 一种基于双bp网络增强学习框架的水下机器人轨迹跟踪方法 | |
CN110744541A (zh) | 一种视觉引导的水下机械臂控制方法 | |
Chocron et al. | Dynamic reconfiguration of autonomous underwater vehicles propulsion system using genetic optimization | |
Øvereng et al. | Dynamic positioning using deep reinforcement learning | |
CN114397899A (zh) | 一种仿生机器鱼三维路径跟踪控制方法及装置 | |
CN113070878A (zh) | 基于脉冲神经网络的机器人控制方法、机器人及存储介质 | |
Zhang et al. | Tracking fault-tolerant control based on model predictive control for human occupied vehicle in three-dimensional underwater workspace | |
Wang et al. | Path-following optimal control of autonomous underwater vehicle based on deep reinforcement learning | |
Amin et al. | Neural networks control of autonomous underwater vehicle | |
Plum et al. | SAUV—A bio-inspired soft-robotic autonomous underwater vehicle | |
CN114077258B (zh) | 一种基于强化学习ppo2算法的无人艇位姿控制方法 | |
Wang et al. | Obstacle avoidance for environmentally-driven USVs based on deep reinforcement learning in large-scale uncertain environments | |
Song et al. | Surface path tracking method of autonomous surface underwater vehicle based on deep reinforcement learning | |
Wang et al. | Adversarial deep reinforcement learning based robust depth tracking control for underactuated autonomous underwater vehicle | |
Hu et al. | Disturbance Observer-Based Model Predictive Control for an Unmanned Underwater Vehicle | |
Pan et al. | Learning for depth control of a robotic penguin: A data-driven model predictive control approach | |
CN115808931B (zh) | 水下机器人运动控制方法、装置、系统、设备和存储介质 | |
CN115453914B (zh) | 一种考虑海浪干扰的无人艇回收分布式决策仿真系统 | |
Huang et al. | Immersive virtual simulation system design for the guidance, navigation and control of unmanned surface vehicles | |
WO2023180585A1 (en) | Controlling robots using latent action vector conditioned controller neural networks | |
CN115303455A (zh) | 水下仿生机器人运动控制方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |