CN113821035A - 无人船轨迹追踪控制方法和装置 - Google Patents
无人船轨迹追踪控制方法和装置 Download PDFInfo
- Publication number
- CN113821035A CN113821035A CN202111108184.XA CN202111108184A CN113821035A CN 113821035 A CN113821035 A CN 113821035A CN 202111108184 A CN202111108184 A CN 202111108184A CN 113821035 A CN113821035 A CN 113821035A
- Authority
- CN
- China
- Prior art keywords
- unmanned ship
- motion model
- controller
- training data
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 174
- 238000012549 training Methods 0.000 claims abstract description 121
- 230000008569 process Effects 0.000 claims abstract description 76
- 238000004088 simulation Methods 0.000 claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 45
- 230000003993 interaction Effects 0.000 claims abstract description 31
- 238000013528 artificial neural network Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 50
- 238000011217 control strategy Methods 0.000 claims description 36
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000007613 environmental effect Effects 0.000 claims description 14
- 238000005265 energy consumption Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 13
- 230000006399 behavior Effects 0.000 claims description 11
- 230000002401 inhibitory effect Effects 0.000 claims description 9
- 238000013178 mathematical model Methods 0.000 claims description 8
- 230000010355 oscillation Effects 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000000670 limiting effect Effects 0.000 claims description 6
- 238000013016 damping Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 3
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 10
- 230000001737 promoting effect Effects 0.000 abstract 1
- 230000002787 reinforcement Effects 0.000 description 29
- 230000009471 action Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000021824 exploration behavior Effects 0.000 description 2
- 230000005764 inhibitory process Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/0206—Control of position or course in two dimensions specially adapted to water vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
Abstract
本申请提供了一种无人船轨迹追踪控制方法和装置,其中,该方法包括:建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程;在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器;将训练后的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。通过上述方案解决了现有的无人船模型所存在的适应性和通用性较差的问题,达到了有效提升适应性和通用性的技术效果。
Description
技术领域
本申请属于设备控制技术领域,尤其涉及一种无人船轨迹追踪控制方法和装置。
背景技术
目前,无人车、无人机等无人系统飞速发展,然而无人船的发展处于相对落后的状态。然而,随着海洋环境的复杂化和海洋资源开发监测越来越重要,智能化成为船舶的发展趋势,全自主无人船相比较传统船舶能更灵活、安全、高效的适应民用军用的多种应用场景。在民用领域,无人船能够提供全天候的海洋环境监测、大范围海事搜救、海上运输等能力,同时对于水运路网发达的城市,无人船能够通过组成船队作为交通工具减轻城市陆路交通负载、全天候运送货物、组成临时水上桥梁等基础设施。在军用领域,无人船可以部署在无法派遣载人船只的水域,执行海岸巡逻、反潜等任务,降低人员伤亡风险。
全自主无人船的应用依赖于定位、模式识别、路径规划、控制等多种基础技术的研究。其中,在无人船控制领域有很多需要解决的问题,例如:位置保持、定点追踪、路径跟随、轨迹追踪等。其中,在追定点等更基础问题上发展出的轨迹追踪问题,能够直接承接路径规划模块产生的目标轨迹,作为完整控制器,控制无人船产生某种控制量保证航行符合目标轨迹。具体而言,轨迹追踪是指在时间约束条件下,控制无人船按照设定的目标轨迹航行,即控制无人船在指定时间到达指定位置点。路径跟随要求无人船沿着目标路径航行,但没有时间上的约束,只求在控制下的无人船航迹能够和目标路径最大程度重合即可。轨迹追踪问题不仅需要关注船只的航角控制,还需要对无人船进行航行速度控制,而不像路径跟随问题中通常设置恒定的船只航速仅关注航角调整来拟合目标路径。同时轨迹追踪问题中的目标轨迹描述也会是包含时间信息的位置点序列,而不像路径跟随问题中的目标路径通常仅仅是一系列位置点。有时间约束的轨迹追踪问题是泊船控制、多船协同等时间敏感或连续变速航行应用场景的基础,因此有更高控制要求的轨迹追踪问题具有研究价值。同时,在风、浪等不确定环境因素、物理系统测量噪声及不理想电机等问题的干扰下,保持高精度追踪随时间变化的目标点(即含时间参数的目标轨迹)相对面临的问题更多,难度更大。
目前,针对无人船轨迹追踪的控制问题,已经存在多种控制方法,例如:自适应比例-积分-微分(PID)、滑模控制、反步法、模型预测控制等,并都在一定的应用场景下取得了较好的控制效果。然而,这些方法都是基于模型的方法,因为用于进行优化计算的无人船数学模型是固定的,不能实时根据环境调整,使得这些方法天然的存在对环境不确定性及变化适应性差的问题,同时由于实际物理系统及开放海洋环境的复杂性,对无人船进行准确的数学建模也是困难的,这也会很大程度影响基于模型的方法的性能。随着人工智能技术的不断发展,以AlphaGo为代表的深度强化学习技术得到广泛的关注,被视为最接近通用人工智能的解决方案,其主要用于解决决策问题的特点适合机器人控制问题的应用场景。因此,将深度强化学习技术应用在无人船控制领域是值得探索的方向。深度强化学习技术主要是将经过训练得到的神经网络作为控制器,利用其强大的数学映射能力拟合最优控制策略,不断根据无人船航行状态输出控制量实现船只控制。
然而,上述这些方法存在着不同程度的问题,例如:比例-积分-微分(PID)方法在算法参数确定的过程中是使用仿真船估计系统来进行计算的,但由于无人船模型无法准确进行数学表征且实际运行中受外界干扰影响模型也会发生变化,估计系统和真实无人船系统的输出必然会存在偏差,这会导致控制精度受估计模型准确性影响较大且对环境的适应性差,往往只能用于单一简单的应用场景,场景更换需要重新进行参数确定的过程。同时,参数确定的过程依靠耗时且需要经验的人工调参过程,得到的参数还不具有普适性,十分低效。而且,随着控制量数量增多,比如在轨迹追踪任务中需要进行速度航角联合控制,人工确定参数的难度也会大大提升。
滑模控制方法中,在系统状态轨迹接近滑膜面的过程中,当其比较远的时候趋紧过程会比较平滑且直接,但当靠近滑膜面后由于惯性或外界不确定干扰的影响,系统状态轨迹会在滑膜面两侧来回穿越震荡,从而形成抖叠加在理想滑动模态上。这会导致控制伴随着高频振动,不仅影响控制的精确性还会增加能量消耗,并容易破坏实际系统性能损坏控制器部件。
模型预测控制方法中,由于求解二次规划问题中代入了无人船运动模型,其对模型准确性的依赖度是很高的。尤其是在实际应用环境中,因风浪等不确定干扰导致无人船运行模型发生变化时,就需要对计算模型做参数修正,否则算法无法适应。其次,由于每个时间步都需要求解多参数的最优化问题数学方程,预测范围越大,计算的复杂度就越高,计算复杂度和控制精度之间互为矛盾。这对无人船携带的微机性能提出更高的要求,且会限制控制频率的提升,进而影响控制精度。
路径跟踪问题比轨迹追踪问题更好解决,因为其目标路径是一系列位置点,与时间无关,而轨迹追踪的目标轨迹是带有时间信息的位置序列。在有风浪等不确定环境因素干扰下,实现轨迹追踪就更加困难。同时轨迹追踪控制问题中必须同时解决航角和航速两方面的控制,要能实现任意类型(折线/曲线)轨迹的变速追踪,其联合控制律会更难探索得到、准确拟合。
现有的深度强化学习解决轨迹追踪问题的算法设计,仅保证了控制的位置误差性能,但未关注航角误差、控制量平稳性(解决震颤问题)等其他追踪性能,也未考虑在实际无人船上部署会遇到的控制时延、噪声、不理想电机等问题。同时,其算法设计仅能实现训练得到的神经网络模型适配于某一种目标轨迹,不同的轨迹需要分别进行针对性训练才能得到可用的控制器,即,得到的神经网络模型不具有普适性,不能适应多种多样的目标轨迹。
针对如何进行准确高效的轨迹追踪,目前尚未提出有效的解决方案。
发明内容
本申请目的在于提供一种无人船轨迹追踪控制方法和装置,可以解决现有的无人船运动模型适应性和兼容性较差的技术问题。
一方面,提供了一种无人船轨迹追踪控制方法,所述方法包括:
建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程;
在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器;
将训练后的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。
在一个实施方式中,建立无人船运动模型包括:
通过可微非线性方程建立如下的无人船运动模型:
η=T(η)v
v=M-1(τ+τenv)-M-1(C(v)+D(v))v
其中,x、y表示在地球坐标系下的无人船位置,ψ∈[-π,π]表示无人船的航向角,是在船体坐标系下的无人船速度,u表示纵荡速度,v表示横荡速度,ω表示艏摇速度,T(η)表示地球坐标系和船体坐标系之间的转换矩阵,M(v)表示正定对称附加质量和惯性矩阵,D(v)表示阻尼矩阵,表示向心力与科里奥利矩阵,表示在3自由度无人船上的力和力矩,τenv表示环境干扰产生的力矩。
在一个实施方式中,在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器包括:
在对无人船运动模型的仿真交互的过程中产生训练数据;
建立奖励函数来评价训练数据的控制行为;
通过所述训练数据,以最大化累计奖励值对所述无人船控制器进行训练网络迭代更新,直至拟合得到最优控制策略。
在一个实施方式中,所述奖励函数包括以下奖励项:最小化追踪位置误差项、最小化航角误差项、角速度误差限制项、控制量震荡抑制项、能耗抑制项。
在一个实施方式中,通过所述训练数据,以最大化累计奖励值对所述无人船运动模型进行训练网络迭代更新,直至拟合得到最优控制策略,包括:
以预设时间步长作为迭代更新的循环周期;
按照所述循环周期,通过所述训练数据所述无人船控制器进行训练网络迭代更新;
在迭代更新的过程中,计算每个循环周期之前预定时间内各周期的平均奖励值,确定当前循环周期是否奖励值已收敛,在确定已收敛的情况下,将当前循环周期得到的运动模型作为最优控制策略。
在一个实施方式中,构建的仿真环境包括:
通过建模和参数发现,构建无人船模型;
选择轨迹曲线,通过对选定的轨迹曲线进行方程迭代,以生成目标起点随机方向上的目标轨迹,并在每个预设时间步长上给出目标轨迹上待追踪目标点的位置、航角、速度的状态信息;
通过数学模型仿真,生成风浪特性;
将构建的无人船模型、生成的目标轨迹和风浪特性,作为构建的仿真环境。
另一方面,提供了一种无人船轨迹追踪控制装置,包括:
建立模块,用于建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程;
训练模块,用于在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器;
修正模块,用于将训练后的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。
在一个实施方式中,所述训练模块包括:
生成单元,用于在对无人船运动模型的仿真交互的过程中产生训练数据;
建立单元,用于建立奖励函数来评价训练数据的控制行为;
训练单元,用于通过所述训练数据,以最大化累计奖励值对所述无人船控制器进行训练网络迭代更新,直至拟合得到最优控制策略。
又一方面,提供了一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述方法的步骤。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述方法的步骤。
本申请提供的无人船轨迹追踪控制方法和装置,通过建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程,在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练;将训练后的得到的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。即,不需要对无人船运动模型的先验知识,仅通过无人船和环境的交互不断产生训练样本数据,通过目标无人船的实际运行数据对模型进行修正,从而使得训练后的无人船控制器可以适应于多个无人船模型,解决了现有的无人船模型所存在的适应性和通用性较差的问题,达到了有效提升适应性和通用性的技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的无人船轨迹追踪控制方法一种实施例的方法流程图;
图2是本申请提供的深度强化学习算法结构图;
图3是本申请提供的训练过程平均奖励值随训练局次变化图;
图4是本申请提供的sin曲线深度强化学习控制器和NMPC控制器轨迹追踪图;
图5是本申请提供的直线深度强化学习控制器和NMPC控制器轨迹追踪图;
图6是本申请提供的变速自由曲线深度强化学习控制器和NMPC控制器轨迹追踪图;
图7是本申请提供的变速自由曲线深度强化学习控制器和NMPC控制器速度图;
图8是本申请提供的变速自由曲线深度强化学习控制器电机力图;
图9是本申请提供的无人船轨迹追踪控制装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
考虑到现有的在面对无人船的路径跟随问题时,一般需要对无人船运动模型的先验知识,这样就导致训练数据较为缺乏,且模型的普适性不高。
为此,在本例中提供了一种无人船轨迹追踪控制方法,该方法不需要对无人船运动模型的先验知识,仅通过无人船和环境的交互不断产生训练样本数据,设计奖励函数来评价样本数据中控制行为的好坏,以此数据训练网络迭代更新直到拟合出最优控制策略,实现轨迹追踪控制目标。如图1所示,该方法可以包括如下步骤:
步骤101:建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程;
步骤102:在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器;
步骤103:将训练后的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。
即,通过建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程,在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练;将训练后得到的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。即,不需要对无人船运动模型的先验知识,仅通过无人船和环境的交互不断产生训练样本数据,通过目标无人船的实际运行数据对模型进行修正,从而使得训练后的无人船控制器可以适应于多个无人船模型,解决了现有的无人船模型所存在的适应性和通用性较差的问题,达到了有效提升适应性和通用性的技术效果。
为了实现无人船运动模型的简单准确建立,且使得无人船运动模型可以尽量多的考虑船多方面的参数,可以通过可微非线性方程建立如下的无人船运动模型:
η=T(η)v
v=M-1(τ+τenv)-M-1(C(v)+D(v))v
其中,x、y表示在地球坐标系下的无人船位置,ψ∈[-π,π]表示无人船的航向角,是在船体坐标系下的无人船速度,u表示纵荡速度,v表示横荡速度,ω表示艏摇速度,T(η)表示地球坐标系和船体坐标系之间的转换矩阵,M(v)表示正定对称附加质量和惯性矩阵,D(v)表示阻尼矩阵,表示向心力与科里奥利矩阵,表示在3自由度无人船上的力和力矩,τenv表示环境干扰产生的力矩。
进一步的,通过在仿真中交互运行产生训练数据,可以避免事故的发生,可以节省时间。之后,再将仿真中训练得到的控制器直接部署在实际无人船上,在实际运行中对算法神经网络进行小幅修正更新,让其能准确适应实际环境,并在实际环境发生变化时也会随之响应进行小幅更新,保证对环境变化的强适应性。具体的,在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器的时候,可以是在对无人船运动模型的仿真交互的过程中产生训练数据;建立奖励函数来评价训练数据的控制行为;通过所述训练数据,以最大化累计奖励值对所述无人船控制器进行训练网络迭代更新,直至拟合得到最优控制策略。即,通过建立奖励函数的方式来进行模型训练的控制,可以实现最优迭代更新的目的。
上述的奖励函数可以包括以下奖励项:最小化追踪位置误差项、最小化航角误差项、角速度误差限制项、控制量震荡抑制项、能耗抑制项。通过设置多个奖励项的方式,可以在模型训练过程中关注多角度性能,保证训练得到模型的准确性。
在进行模型迭代更新的时候,可以设置时间步长,即,以时间步长作为循环周期进行训练,通过对时间步长的调整,可以实现对控制频率的调整,从而实现对模型精度的有效把控。具体的,通过所述训练数据,以最大化累计奖励值对所述无人船控制器进行训练网络迭代更新,直至拟合得到最优控制策略,可以包括:以预设时间步长作为迭代更新的循环周期;按照所述循环周期,通过所述训练数据所述无人船控制器进行训练网络迭代更新;在迭代更新的过程中,计算每个循环周期之前各周期的平均奖励值,确定当前循环周期是否奖励值已收敛,在确定已收敛的情况下,将当前循环周期得到的运动模型作为最优控制策略。
上述的仿真环境中可以包括:无人船模型、目标轨迹生成器、风浪模拟这几部分。具体的,经过建模和参数发现,可以得到完整的无人船运动模型。实现的目标轨迹生成器可以包含多种可供选择的常用轨迹(例如:直线、sin曲线、变速环形曲线等),能够通过方程迭代生成随机/指定起点随机方向的目标轨迹,在每个时间步给出目标轨迹上待追踪目标点位置、航角、速度的完整状态信息。风浪等环境干扰力的模拟,可以采用数学模型仿真实现,程序运行时可以指定风浪特性,设定参数。相应的,在构建的仿真环境的时候,可以是通过建模和参数发现,构建无人船模型;选择轨迹曲线,通过对选定的轨迹曲线进行方程迭代,以生成目标起点随机方向上的目标轨迹,并在每个预设时间步长上给出目标轨迹上待追踪目标点的位置、航角、速度的状态信息;通过数学模型仿真,生成风浪特性;将构建的无人船模型、生成的目标轨迹和风浪特性,作为构建的仿真环境。
下面结合一个具体实施例对上述方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
在本例中提供了一种基于深度强化学习的无人船轨迹追踪控制方法,能够克服现有的基于模型的控制方法对环境适应性差、无人船运动模型难以准确进行数学描述、在线求解最优化问题复杂度高等问题。具体的,不仅利用了深度强化学习算法无模型的优势,还面向工程应用在应对环境干扰、测量噪声、电机不理想、节能及控制量平稳等问题上提出了解决方案,能够训练得到对多类型目标轨迹普适性的轨迹追踪控制器。该方法不需要对无人船运动模型的先验知识,仅通过无人船和环境的交互不断产生训练样本数据,设计奖励函数来评价样本数据中控制行为的好坏,以此数据训练网络迭代更新直到拟合出最优控制策略,实现轨迹追踪控制目标。
具体的,该无人船轨迹追踪控制方法可以包括如下步骤:
步骤1:建立无人船运动数学模型,构建仿真训练环境。
深度强化学习算法所需的数据可以是在无人船和环境交互过程中产生的,在学习的初期控制器对最优控制策略还没有任何了解时,如果采用随机试错的探索性策略,会产生很多极端错误的动作选择,这其中的一些错误的动作选择会直接导致无人船撞向实验场地边界或造成电机损坏等问题。因此,直接在实际环境中对算法进行训练具有很高的成本。为此,在本例中通过建立无人船的运动模型,并根据建立的运动模型构建仿真环境,模拟实际无人船和环境的交互过程,以产生训练数据。通过在仿真中交互运行产生训练数据,可以避免事故的发生,可以节省时间。之后,再将仿真中训练得到的控制器直接部署在实际无人船上,在实际运行中对算法神经网络进行小幅修正更新,让其能准确适应实际环境,并在实际环境发生变化时也会随之响应进行小幅更新,保证对环境变化的强适应性。为了保证仿真训练的控制器能够直接应用在实际无人船上,尽量减少仿真环境和实际环境间的偏差显得尤为重要。
在本例中,采用可微非线性方程来建立无人船的运动模型,相比较计算流体动力学(computational fluid dynamics,CFD)能够在尽量少的不确定参数条件下平衡模型准确性和计算速度(CFD更精确但计算速度慢很多),该无人船的运动模型可以表示为:
η=T(η)v
v=M-1(τ+τenv)-M-1(C(v)+D(v))v
其中,x、y是在地球坐标系下的无人船位置,ψ∈[-π,π]是无人船的航向角;是在船体坐标系下的无人船速度,u、v、ω分别是纵荡、横荡、艏摇速度;T(η)是地球坐标系和船体坐标系之间的转换矩阵;M(v)为正定对称附加质量和惯性矩阵,表示为M=diag{m11,m22,m33};D(v)为阻尼矩阵,表示为D=diag{d11,d22,d33};为向心力与科里奥利矩阵,表示为:
然而,根据不同的船体结构,从控制量τ到实际电机/舵机的映射关系会有不同,以平板船为例,其采用四电机驱动,控制量τ到4电机力u的映射关系可以表示为:
其中,B是平板船结构决定的控制分配矩阵,u是控制量;a向螺旋桨之间的距离,b为纵向螺旋桨之间的距离,f1、f2、f3、f4是四个推进器的电机力。
在完成无人船运动模型建模后,可以采用信赖域(trust-region reflectivealgorithm)算法求解非线性最优化问题确定其中的超参m11,m22,m33,d11,d22,d33。采用非线性灰盒模型来实现无人船运行模型并指定待确定参数,算法迭代的目标是最小化无人船实际实验状态数据和仿真模型产生的状态数据间的速度量误差。算法迭代的过程是首先随机初始化参数值和信赖域半径,然后利用二次方程去近似表示目标函数计算出参数变化量,得到新的参数值,接着根据目标函数的下降量来判定扩大或缩小信赖域,不断重复上述过程迭代参数,直到收敛到能最小化目标函数的参数估计值上。
其中,仿真环境中可以包括:无人船模型、目标轨迹生成器、风浪模拟这几部分。经过建模和参数发现,可以得到完整的无人船运动模型。实现的目标轨迹生成器可以包含多种可供选择的常用轨迹(例如:直线、sin曲线、变速环形曲线等),能够通过方程迭代生成随机/指定起点随机方向的目标轨迹,在每个时间步给出目标轨迹上待追踪目标点位置、航角、速度的完整状态信息。风浪等环境干扰力的模拟,可以采用数学模型仿真实现,程序运行时可以指定风浪特性,设定参数。同时对仿真环境进行可视化,在无人船运行过程中能够实时看到环境状态,并查看各环境观测量数值。
步骤2:对轨迹追踪问题进行数学建模。
轨迹追踪问题是要找到一种保证无人船在时间约束下能准确追踪目标轨迹的控制规律。可以用ηd(t)=[xd(t)yd(t)ψd(t)]T表示目标轨迹,η(t)=[x(t)y(t)ψ(t)]T表示时间t时无人船的状态,控制器就是要产生使|η(t)-ηd(t)|趋近于0的控制量操纵无人船航行。
因为控制信号一般都是以一定的频率(控制周期)间隔发出的,这里的t是一个离散时间变量。控制量的决策取决于此时无人船和目标轨迹的状态信息,而当前时间步的控制量又会直接影响下一步无人船的状态。为此,在本例中建模成离散时间马尔科夫决策过程,相应的,为了找到最小化误差,可以求解离散时间马尔科夫决策过程最优化问题。具体的,对马尔科夫过程中状态、动作、奖励方程、转移方程的建模过程描述如下:
在轨迹追踪问题中,在每个时间步无人船从环境中观测当前状态st∈S,根据实现状态st到动作at的映射关系的控制策略π(at∣st),选择一个控制动作at∈A。其中,S表示状态空间,A表示动作空间。然后,无人船执行这个动作,并从环境中得到下一个时间步的新观测状态st+1。对每一个时间步的动作,都会有一个设计好的奖励函数rt(st,at)以完成轨迹追踪任务为目标来评估该动作的好坏程度。那么,在策略π下的无人船航行轨迹可以表示为(s0,s1,…)。在本例中,定义在时间步t的折扣回报表示该步动作能够带来的未来累积回报。因此,求解的最优化问题就是找到一个能够最大化每一步期望回报的最优控制策略π★,即:
步骤3:决策神经网络模型搭建及深度强化学习算法设计。
深度强化学习能够解决离散时间马尔科夫决策过程最优化问题,其基本思想是让智能体通过试错的探索行为与环境交互,并通过奖励给出行为好坏的评估,在此过程中学习到能够最大化累计奖励值的决策策略,即为最优策略。本例所采用的深度强化学习方法结构图,可以如图2所示。
首先,进行决策神经网络结构的搭建,如图3所示,选择采用演员-评论家框架,从而能够结合基于值的强化学习方法和基于策略的强化学习方法的优势,既能够实现离线训练提高数据利用效率、破拆数据相关性,又能够输出连续的动作值更符合控制问题的需求。采用演员网络来代表当前的控制策略,根据输入的状态值s直接产生动作a,采用评论家网络来评估当前的控制策略,根据输入的状态动作决策对(s,a)输出价值函数Q值(价值函数即为累积回报的估计函数),通过不断的更新训练过程演员网络能在评论家网络准确的评价下更新学习到最优控制策略。为了解除数据相关性,保证算法收敛,演员和评论家网络可以采用在线网络和目标网络的双网络结构,算法迭代参数的更新在在线网络上进行,目标网络参数更新采用软更新策略复制在线网络的参数。所有网络均采用3层全连接网络结构,隐藏层间激活函数使用的是Relu函数,演员网络的输出层激活函数采用的是Tanh函数。
在确定了智能体所采用的网络结构后,可以如图4所示采用如下流程进行深度强化学习:
首先,分别用随机参数θπ,θQ初始化演员网络π(s∣θπ)和评论家网络Q(s,a∣θQ),并用同样的参数初始化目标演员网络π′(s∣∣θπ′)和目标评论家网络Q′(s,a∣∣θQ′)。同时初始化经验回放池,用来存储近期的交互样本数据供随机抽取为批数据用于网络更新。完成初始化准备工作后,就可以开始训练对局循环了。开启新的对局,先初始化无人船和目标轨迹的起始状态。接着在每一个时间步,代表控制策略的演员网络根据当前的状态观测值st产生动作选择,在此基础上叠加一个OU探索噪声随机值作为待执行控制量无人船执行该动作,在下一个时间步再从环境获取新的状态观测值st+1,计算奖励值rt,并判定任务是否失败/完成,失败的话结束此对局,完成的话标注done并结束此局。然后,将该时间步的样本数据(st,at,rt,st+1,done)存进经验回放池里。接着,从经验池里随机抽取N个数据进行学习,采用梯度下降法以最小化损失函数为目的计算,进行反向传播更新演员和评论家网络参数。评论家网络的损失函数采用真实价值函数值Q(si,ai)和目标价值函数值Qt(si,ai)=ri+γQ′(si+1,π′(si+1∣∣∣θπ′)∣∣∣θQ′)间的TD-error,表示为 以损失函数对各参数的梯度进行梯度下降,目的是最小化输出价值评估和目标间的差异,使评论家网络能对策略进行准确的好坏评估。演员网络采用策略梯度进行梯度下降计算,该策略梯度是由评论家网络参与产生的,以此引导演员网络参数更新是希望在策略评估的引导下其收敛到能获得最大回报价值的最优策略。完成在线网络的更新后,通过软更新策略更新目标网络参数值。在每个时间步不断循环上述过程,直到对局结束。每局结束,通过前若干局的平均奖励值来判定算法是否已经收敛。算法收敛后得到的决策网络模型即为无人船最优控制器。在整个算法运行过程中,通过调节加在演员网络输出动作上的探索噪声来控制具有试错探索状态空间性质的探索行为和使用网络已学到的知识产生的动作的利用行为之间的关系。
步骤4:深度强化学习算法实施中状态、动作、奖励函数的设计。
深度强化学习中的状态S设计决定了控制器做决策依据的信息量,也会影响算法学习收敛的难度和速度。在本例中所设计的状态量中同时考虑了无人船和待追目标点的状态信息,且基本使用了原始观测量,不对其进行过度的人工特征提取加工,充分发挥算法的端到端学习能力。其中,位置量直接采用无人船和目标点间的位置相对偏差量,可以避免对绝对位置坐标值的依赖,保证对任意位置坐标的通用性。同时,考虑进去了上一步的动作值,这样动作选择就会在考虑历史选择的基础下进行,是保证控制量连续性提高性能的前提条件。
采用的状态S为:St=[Δx(t)Δy(t)ψd(t)ψ(t)Δu(t)Δv(t)ωd(t)ω(t)a(t-1)]T
其中,Δx,Δy是目标点和无人船间在x轴和y轴方向上的位置偏差,ψd,ψ分别是目标点和无人船的航角,Δu,Δv是目标点和无人船纵荡和横荡速度的偏差,ωd,ω分别是目标点和无人船的艏摇速度,a(t-1)是上一个时间步采用的动作。
在动作A的设计上,采用A[τu(t)τv(t)τω(t)]T,其中τu,τv,τω分别是无人船在前进,横移,旋转方向上的力/力矩。这种方式相较于针对某一种无人船的具体结构设计深度强化学习算法输出动作直接为某几个电机/舵机力的值(比如在4电机平板船中动作设置为f1,f2,f3,f4),采用3自由度力/力矩作为动作输出,能够兼容各种船结构,提高了算法的通用性。针对不同的船结构再将力/力矩控制量映射为电机力即可。以4电机平板船为例,根据其结构决定的控制量τ到4电机力u的映射关系可以表示:
针对该映射关系,需要在保证力矩值的条件下,将其分配到四个电机上。以最小化电机能耗为目标进行分配,通过拉格朗日乘子法能够求出,4电机力的表达式为:
考虑到学习更新的目标是最大化累计奖励,通过奖励值评价每个动作的好坏。在轨迹追踪问题中最直观判断行为好坏的就是追踪的位置欧式距离误差和航角误差。仅凭这两项作为奖励函数能够在理想条件下的仿真中有效,但在实际部署到无人船上会面对测量噪声、环境不确定风浪干扰、电机不理想等多种问题,同时有保证控制量平滑连续、运行保持低能耗等更多性能需求,简单的奖励函数形式无法使用。因此,为了保证能得到在复杂物理系统上的最优控制策略,在本例中设计的奖励函数可以包括:
最小化追踪位置误差项:
在本例中,没有直接采用距离误差eL是因为用指数函数对误差进行整形再作为奖励值能够解决强化学习中奖励值震荡范围过大的问题,同时非线性函数也更利于梯度下降算法,保证网络能够进行有效的学习。这样的形式保证了位置误差越小、对应的奖励项rL越大。同时,提出了误差敏感性动态调整因子的方法,增加Δu作为调节因子,对奖励对误差的敏感性进行动态调节。位置误差产生的原因有两大类:一类是仅由于噪声干扰等问题造成的位置偏移,一类是因目标变化/风浪等造成的速度量变化导致的对位置量持续的偏移影响。对前者,如果是小误差,不应当进行过度反应,否则会导致控制量反复因为小扰动大幅调整震荡,如果误差较大,控制量需要响应,也即对这部分误差希望rL的响应不敏感一些。但对后者,一旦有速度上的误差,因其可能对位置偏移的长期影响,需要及时矫正,因此rL的响应需要敏感一些,给出较大的惩罚引导控制动作快速调整。在eL上增加Δu调节因子,能够在同时有速度和距离误差时放大距离误差的影响,在仅有距离误差时缩小距离误差的影响。这种动态调节的机制既能适应轨迹追踪任务中可能出现的变速场景,又能保证在随机干扰下控制量的平稳响应。
最小化航角误差项:
其中,ψ是无人船的航角,ψs是视距航角,k2是参数。
在本例中,采用视距航角替代目标点航角,和无人船航角求差,误差越小,奖励值越大。选取0.5π作为分界点,是因为当误差大于0.5π意味着无人船在向着预期方向的反方向半轴前进,希望对这种行为给出rψ<0的惩罚项,而误差小于0.5π意味着在向预期方向半轴前进,希望给出rψ>0的奖励项。如图3所示,视距航角是通过改进LOS(line id sight)算法计算得到的。在本例中,定义视距长度为L,视距点Ps是目标点Pd向着速度切线方向延伸L长度的距离处的点,视距点和无人船位置点Pc连线和x轴正半轴间的夹角就是视距航角ψs。用视距航角替代直接采用目标点航角能够解决平行误差(当无人船位置不在目标点的速度切线上,但航角却一致时,若采用目标点航角作为目标,其航角误差为0,但若不进行航角相关的转动控制量调整,无人船会以一条平行于目标轨迹的航迹运行,就会造成平行误差)的问题,且这种目标航角确定方法能够适应多样的曲线。
角速度误差限制项:
其中,Δω是目标点和无人船的艏摇速度误差,k3是参数。
艏摇速度误差越大,该项产生的惩罚值越大,因此,该项能够抑制艏摇速度误差,进一步达到抑制转动控制量超调的效果,保证航角控制量稳定平滑缓变。
控制量震荡抑制项:
其中,Δτu=τu(t)-τu(t-1)表示当前时间步前进,Δτω=τω(t)-τω(t-1)表示旋转控制量和上一个时间步间的差。在本项中,相邻时间步间的控制量差越大,惩罚越大。经多种误差方案对比(控制量标准差,控制量效益比率等),采用相邻步差简单且效果更好,能够有效抑制控制量的大幅高频震荡,优化控制量性能。在前进和旋转项上配置了不同的前置系数是因为在实际物理环境中,前进位置变化受到的水面阻力更大,旋转受到的阻力更小,因此很小的旋转力变化能带来较剧烈的航角变化,那么对其控制量的抑制就要占比更多一些。
能耗抑制项:
其中,fi是第i个电机的电机力大小。所有电机力的平方和表示了无人船的总能耗,该项保证了总能耗越大,惩罚越大。因实际无人船要长期航行,其能耗问题作为性能优化的重点,也需要被考虑,通过能耗抑制项的设置能够保证算法收敛到能量最优的控制策略上。
综上,奖励函数的完整表达式可以表示为:
其中,LB是边界距离,当无人船的位置和目标点间距离超过边界距离时就给出一个巨大的惩罚项并结束对局(认为该对局非正常结束,未完成任务)。该奖励函数能引导无人船控制策略收敛到保证在实际系统中有效鲁棒运行在最优策略上。
步骤5:方法有效性验证。
深度强化学习控制器模型通过在仿真环境中以随机sin曲线为目标轨迹进行训练,能够收敛得到稳定的最优控制策略。如图3所示,随着训练的进行对局奖励值逐渐增大直到平稳,证明了本例所提出的方法具有对最优控制律的自学习能力。
以sin曲线、直线和某种变速自由曲线为目标轨迹验证方法的有效性及普适性,选择非线性模型预测控制(Nonlinear Model Predictive Control,NMPC)作为对比算法。图4、图5、图6分别展示了sin曲线、直线和变速自由曲线的追踪轨迹图。从图中能看出,本例所提出的方法可以准确实现轨迹追踪的目标,且其位置和航角误差能够达到和NMPC同样的性能,同时控制力平滑稳定,通过该方法可以学习到以神经网络形式表现的最优控制策略。通过这种比对方法可以证明本例所提供方法的有效性,且在能够克服NMPC计算复杂度高、对环境适应性差的问题的同时,保证与NMPC持平的追踪性能。同时,训练得到的模型能够在不同目标轨迹的任务测试中均表现优异,即,本例所提供的方法具有多样轨迹普适性,其学习到的是通用的控制策略。图7、图8分别展示了变速自由曲线追踪的速度图和电机控制力图,选择用于测试的变速自由曲线很接近船从无速度启动、巡航、到自动停下的实际应用场景。由图7和图8可以看出本例的方法对复杂的变速轨迹,控制器也能产生较为平稳的控制量,适应速度跃变,即,具有对变速轨迹追踪的良好能力。
在上例中,将深度强化学习这一无模型算法应用在无人船轨迹追踪问题上,设计了基于演员评论家框架的方法流程和控制器神经网络结构,用神经网络迭代更新拟合最优控制策略。同时,通过参数发现算法确定无人船运动模型,以此构建仿真环境,能够低成本高效的训练得到最优控制策略,再部署在实际环境上继续一边运行一边训练学习,不断自主微调网络参数以适应环境变化。即,在本例中提出了最优控制方法中包含的状态、动作和奖励函数设计方法,针对无人船轨迹追踪任务在实际部署中的各种噪声干扰及不理想情况设计相关机制,保证了同一模型对多种轨迹的高精度通用控制,同时能保持控制量稳定低功耗,该方法具有一定的鲁棒性和稳定性。即,基于深度强化学习,提出了一种无须海量运行数据和对无人船准确运动模型的先验知识,通过在运行过程中的探索试错自学习到最优控制策略,解决无人船轨迹追踪控制问题的方法及处理流程。提出了一种适合深度强化学习算法实际部署应用的训练方法,先在仿真环境中训练得到基本最优控制策略,再部署在实际环境中边运行边训练微调网络参数准确适应环境变化。
通过上述方案解决了无人船高精度轨迹追踪智能控制问题,生成了多轨迹通用的深度强化学习控制器,能控制无人船沿着预设的目标轨迹航行。相对于现有的基于模型的控制方法,在保证最优的控制性能的同时,解决了其对无人船模型依赖度高因而要求准确建模、对环境变化适应性差、计算复杂度高等问题,同时借助深度学习的优势具有处理图片、视频等高维输入状态信息的拓展性,并相比较人工特征提取/数学最优化方程求解利用神经网络能利用更多人类无法预知的信息辅助决策。此外,提出了奖励函数设计方法,针对性解决了实际工程应用中会出现的测量噪声、环境干扰、物理系统承受能力限制等问题,是无人船智能控制方法在实际工程应用方面的重要探索,能保证在非理想环境下鲁棒稳定低能耗的最优控制,满足实际应用需求并已在物理环境中得到验证,有真正的使用价值。
基于同一发明构思,本申请实施例中还提供了一种无人船轨迹追踪控制装置,如下面的实施例所述。由于无人船轨迹追踪控制装置解决问题的原理与无人船轨迹追踪控制方法相似,因此无人船轨迹追踪控制装置的实施可以参见无人船轨迹追踪控制方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图9是本申请实施例的无人船轨迹追踪控制装置的一种结构框图,如图9所示,可以包括:建立模块901、训练模块902和修正模块903,下面对该结构进行说明。
建立模块901,用于建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程;
训练模块902,用于在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器;
修正模块903,用于将训练后的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。
在一个实施方式中,训练模块902可以包括:生成单元,用于在对无人船运动模型的仿真交互的过程中产生训练数据;建立单元,用于建立奖励函数来评价训练数据的控制行为;训练单元,用于通过所述训练数据,以最大化累计奖励值对所述无人船控制器进行训练网络迭代更新,直至拟合得到最优控制策略。
在一个实施方式中,上述建立模块901具体可以通过可微非线性方程建立如下的无人船运动模型:
η=T(η)v
v=M-1(τ+τenv)-M-1(C(v)+D(v))v
其中,x、y表示在地球坐标系下的无人船位置,ψ∈[-π,π]表示无人船的航向角,是在船体坐标系下的无人船速度,u表示纵荡速度,v表示横荡速度,ω表示艏摇速度,T(η)表示地球坐标系和船体坐标系之间的转换矩阵,M(v)表示正定对称附加质量和惯性矩阵,D(v)表示阻尼矩阵,表示向心力与科里奥利矩阵,表示在3自由度无人船上的力和力矩,τenv表示环境干扰产生的力矩。
在一个实施方式中,上述奖励函数可以包括以下奖励项:最小化追踪位置误差项、最小化航角误差项、角速度误差限制项、控制量震荡抑制项、能耗抑制项。
在一个实施方式中,通过所述训练数据,以最大化累计奖励值对所述无人船控制器进行训练网络迭代更新,直至拟合得到最优控制策略,可以包括:以预设时间步长作为迭代更新的循环周期;按照所述循环周期,通过所述训练数据所述无人船控制器进行训练网络迭代更新;在迭代更新的过程中,计算每个循环周期之前预定时间内各周期的平均奖励值,确定当前循环周期是否奖励值已收敛,在确定已收敛的情况下,将当前循环周期得到的运动模型作为最优控制策略。
在一个实施方式中,构建的仿真环境可以包括:通过建模和参数发现,构建无人船模型;选择轨迹曲线,通过对选定的轨迹曲线进行方程迭代,以生成目标起点随机方向上的目标轨迹,并在每个预设时间步长上给出目标轨迹上待追踪目标点的位置、航角、速度的状态信息;通过数学模型仿真,生成风浪特性;将构建的无人船模型、生成的目标轨迹和风浪特性,作为构建的仿真环境。
本申请的实施例还提供能够实现上述实施例中的无人船轨迹追踪控制方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的无人船轨迹追踪控制方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程;
步骤2:在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器;
步骤3:将训练后的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。
从上述描述可知,本申请实施例通过建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程,在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练;将训练后的得到的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。即,不需要对无人船运动模型的先验知识,仅通过无人船和环境的交互不断产生训练样本数据,通过目标无人船的实际运行数据对模型进行修正,从而使得训练后的无人船控制器可以适应于多个无人船模型,解决了现有的无人船模型所存在的适应性和通用性较差的问题,达到了有效提升适应性和通用性的技术效果。
本申请的实施例还提供能够实现上述实施例中的无人船轨迹追踪控制方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的无人船轨迹追踪控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程;
步骤2:在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器;
步骤3:将训练后的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。
从上述描述可知,本申请实施例通过建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程,在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练;将训练后的得到的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。即,不需要对无人船运动模型的先验知识,仅通过无人船和环境的交互不断产生训练样本数据,通过目标无人船的实际运行数据对模型进行修正,从而使得训练后的无人船控制器可以适应于多个无人船模型,解决了现有的无人船模型所存在的适应性和通用性较差的问题,达到了有效提升适应性和通用性的技术效果。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (10)
1.一种无人船轨迹追踪控制方法,其特征在于,所述方法包括:
建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程;
在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器;
将训练后的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。
3.根据权利要求1所述的方法,其特征在于,在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器包括:
在对无人船运动模型的仿真交互的过程中产生训练数据;
建立奖励函数来评价训练数据的控制行为;
通过所述训练数据,以最大化累计奖励值对所述无人船控制器进行训练网络迭代更新,直至拟合得到最优控制策略。
4.根据权利要求3所述的方法,其特征在于,所述奖励函数包括以下奖励项:最小化追踪位置误差项、最小化航角误差项、角速度误差限制项、控制量震荡抑制项、能耗抑制项。
5.根据权利要求3所述的方法,其特征在于,通过所述训练数据,以最大化累计奖励值对所述无人船控制器进行训练网络迭代更新,直至拟合得到最优控制策略,包括:
以预设时间步长作为迭代更新的循环周期;
按照所述循环周期,通过所述训练数据所述无人船控制器进行训练网络迭代更新;
在迭代更新的过程中,计算每个循环周期之前预定时间内各周期的平均奖励值,确定当前循环周期是否奖励值已收敛,在确定已收敛的情况下,将当前循环周期得到的运动模型作为最优控制策略。
6.根据权利要求1所述的方法,其特征在于,构建的仿真环境包括:
通过建模和参数发现,构建无人船模型;
选择轨迹曲线,通过对选定的轨迹曲线进行方程迭代,以生成目标起点随机方向上的目标轨迹,并在每个预设时间步长上给出目标轨迹上待追踪目标点的位置、航角、速度的状态信息;
通过数学模型仿真,生成风浪特性;
将构建的无人船模型、生成的目标轨迹和风浪特性,作为构建的仿真环境。
7.一种无人船轨迹追踪控制装置,其特征在于,包括:
建立模块,用于建立无人船运动模型,并通过构建的仿真环境模拟无人船和环境的交互过程;
训练模块,用于在对无人船运动模型的仿真交互的过程中产生训练数据,通过所述训练数据对所述无人船运动模型进行训练得到无人船控制器;
修正模块,用于将训练后的无人船控制器部署至目标无人船中,在所述目标无人船实际运行的过程中,对所述无人船控制器中的算法神经网络进行修正。
8.根据权利要求7所述的装置,其特征在于,所述训练模块包括:
生成单元,用于在对无人船运动模型的仿真交互的过程中产生训练数据;
建立单元,用于建立奖励函数来评价训练数据的控制行为;
训练单元,用于通过所述训练数据,以最大化累计奖励值对所述无人船控制器进行训练网络迭代更新,直至拟合得到最优控制策略。
9.一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111108184.XA CN113821035A (zh) | 2021-09-22 | 2021-09-22 | 无人船轨迹追踪控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111108184.XA CN113821035A (zh) | 2021-09-22 | 2021-09-22 | 无人船轨迹追踪控制方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821035A true CN113821035A (zh) | 2021-12-21 |
Family
ID=78920849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111108184.XA Pending CN113821035A (zh) | 2021-09-22 | 2021-09-22 | 无人船轨迹追踪控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821035A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114337875A (zh) * | 2021-12-31 | 2022-04-12 | 中国人民解放军陆军工程大学 | 面向多辐射源追踪的无人机群飞行轨迹优化方法 |
CN114721298A (zh) * | 2022-06-09 | 2022-07-08 | 中国海洋大学 | 一种小型无人船的虚拟仿真控制系统 |
CN115979275A (zh) * | 2023-03-20 | 2023-04-18 | 中国船舶集团有限公司第七〇七研究所 | 一种海域全覆盖的能耗最优航路规划方法 |
CN116796521A (zh) * | 2023-06-02 | 2023-09-22 | 中国人民解放军国防科技大学 | 水面战斗群对抗战模拟方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108803321A (zh) * | 2018-05-30 | 2018-11-13 | 清华大学 | 基于深度强化学习的自主水下航行器轨迹跟踪控制方法 |
CN109765916A (zh) * | 2019-03-26 | 2019-05-17 | 武汉欣海远航科技研发有限公司 | 一种水面无人艇路径跟踪控制器设计方法 |
CN110018687A (zh) * | 2019-04-09 | 2019-07-16 | 大连海事大学 | 基于强化学习方法的无人水面船最优轨迹跟踪控制方法 |
US20190217476A1 (en) * | 2018-01-12 | 2019-07-18 | Futurewei Technologies, Inc. | Robot navigation and object tracking |
CN110673600A (zh) * | 2019-10-18 | 2020-01-10 | 武汉理工大学 | 面向无人船舶的自动驾驶集成系统 |
CN112034711A (zh) * | 2020-08-31 | 2020-12-04 | 东南大学 | 一种基于深度强化学习的无人艇抗海浪干扰控制方法 |
JP2021034050A (ja) * | 2019-08-21 | 2021-03-01 | 哈爾浜工程大学 | 強化学習に基づくauv行動計画及び動作制御方法 |
CN113052372A (zh) * | 2021-03-17 | 2021-06-29 | 哈尔滨工程大学 | 一种基于深度强化学习的动态auv追踪路径规划方法 |
CN113110504A (zh) * | 2021-05-12 | 2021-07-13 | 南京云智控产业技术研究院有限公司 | 一种基于强化学习和视线法的无人艇路径跟踪方法 |
CN113221449A (zh) * | 2021-04-27 | 2021-08-06 | 中国科学院国家空间科学中心 | 一种基于最优策略学习的船舶航迹实时预测方法及系统 |
-
2021
- 2021-09-22 CN CN202111108184.XA patent/CN113821035A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190217476A1 (en) * | 2018-01-12 | 2019-07-18 | Futurewei Technologies, Inc. | Robot navigation and object tracking |
CN108803321A (zh) * | 2018-05-30 | 2018-11-13 | 清华大学 | 基于深度强化学习的自主水下航行器轨迹跟踪控制方法 |
CN109765916A (zh) * | 2019-03-26 | 2019-05-17 | 武汉欣海远航科技研发有限公司 | 一种水面无人艇路径跟踪控制器设计方法 |
CN110018687A (zh) * | 2019-04-09 | 2019-07-16 | 大连海事大学 | 基于强化学习方法的无人水面船最优轨迹跟踪控制方法 |
JP2021034050A (ja) * | 2019-08-21 | 2021-03-01 | 哈爾浜工程大学 | 強化学習に基づくauv行動計画及び動作制御方法 |
CN110673600A (zh) * | 2019-10-18 | 2020-01-10 | 武汉理工大学 | 面向无人船舶的自动驾驶集成系统 |
CN112034711A (zh) * | 2020-08-31 | 2020-12-04 | 东南大学 | 一种基于深度强化学习的无人艇抗海浪干扰控制方法 |
CN113052372A (zh) * | 2021-03-17 | 2021-06-29 | 哈尔滨工程大学 | 一种基于深度强化学习的动态auv追踪路径规划方法 |
CN113221449A (zh) * | 2021-04-27 | 2021-08-06 | 中国科学院国家空间科学中心 | 一种基于最优策略学习的船舶航迹实时预测方法及系统 |
CN113110504A (zh) * | 2021-05-12 | 2021-07-13 | 南京云智控产业技术研究院有限公司 | 一种基于强化学习和视线法的无人艇路径跟踪方法 |
Non-Patent Citations (2)
Title |
---|
ZHANG, S. , ET AL.: "Autonomous Surface Vehicle Control Method Using Deep Reinforcement Learning", 《2020 CHINESE AUTOMATION CONGRESS (CAC)》 * |
马琼雄: "基于深度强化学习的水下机器人最优轨迹控制", 《华南师范大学学报(自然科学版)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114337875A (zh) * | 2021-12-31 | 2022-04-12 | 中国人民解放军陆军工程大学 | 面向多辐射源追踪的无人机群飞行轨迹优化方法 |
CN114337875B (zh) * | 2021-12-31 | 2024-04-02 | 中国人民解放军陆军工程大学 | 面向多辐射源追踪的无人机群飞行轨迹优化方法 |
CN114721298A (zh) * | 2022-06-09 | 2022-07-08 | 中国海洋大学 | 一种小型无人船的虚拟仿真控制系统 |
CN115979275A (zh) * | 2023-03-20 | 2023-04-18 | 中国船舶集团有限公司第七〇七研究所 | 一种海域全覆盖的能耗最优航路规划方法 |
CN115979275B (zh) * | 2023-03-20 | 2023-05-12 | 中国船舶集团有限公司第七〇七研究所 | 一种海域全覆盖的能耗最优航路规划方法 |
CN116796521A (zh) * | 2023-06-02 | 2023-09-22 | 中国人民解放军国防科技大学 | 水面战斗群对抗战模拟方法、装置、电子设备及存储介质 |
CN116796521B (zh) * | 2023-06-02 | 2024-03-26 | 中国人民解放军国防科技大学 | 水面战斗群对抗战模拟方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113821035A (zh) | 无人船轨迹追踪控制方法和装置 | |
Dawson et al. | Safe control with learned certificates: A survey of neural lyapunov, barrier, and contraction methods | |
Zhao et al. | Control method for path following and collision avoidance of autonomous ship based on deep reinforcement learning | |
Sun et al. | AUV path following controlled by modified Deep Deterministic Policy Gradient | |
Zhang et al. | AUV path tracking with real-time obstacle avoidance via reinforcement learning under adaptive constraints | |
CN114115262B (zh) | 基于方位角信息的多auv执行器饱和协同编队控制系统和方法 | |
Zhang et al. | Improved composite learning path-following control for the underactuated cable-laying ship via the double layers logical guidance | |
CN111880546B (zh) | 一种基于自适应动态规划算法的虚拟引导船舶自动靠泊控制方法 | |
Wang et al. | Unscented Kalman Filter trained neural network control design for ship autopilot with experimental and numerical approaches | |
Gao et al. | Online optimal control for dynamic positioning of vessels via time-based adaptive dynamic programming | |
Wang et al. | Experimental and numerical study of autopilot using Extended Kalman Filter trained neural networks for surface vessels | |
Zhuang et al. | Motion control and collision avoidance algorithms for unmanned surface vehicle swarm in practical maritime environment | |
Løver et al. | Explainable AI methods on a deep reinforcement learning agent for automatic docking | |
Blekas et al. | RL-based path planning for an over-actuated floating vehicle under disturbances | |
Kanazawa et al. | A multiple-output hybrid ship trajectory predictor with consideration for future command assumption | |
Meng et al. | Intelligent control algorithm for ship dynamic positioning | |
Amendola et al. | Navigation in restricted channels under environmental conditions: Fast-time simulation by asynchronous deep reinforcement learning | |
CN118192584A (zh) | 基于mpc-ndqn的无人机着艇方法、设备、介质 | |
Zhang et al. | Finite-time adaptive event-triggered control for USV with COLREGS-compliant collision avoidance mechanism | |
Zhang et al. | AUV 3D docking control using deep reinforcement learning | |
Li et al. | Model Predictive Control with Disturbance Observer for Unmanned Surface Vessels Path Tracking | |
Wang et al. | NN-backstepping for diving control of an underactuated AUV | |
Sinisterra et al. | Nonlinear and machine-learning-based station-keeping control of an unmanned surface vehicle | |
Kinjo et al. | Trajectory tracking of a fully-actuated surface vessel using nonlinear model predictive control: Experimental results | |
Kohler et al. | PID tuning using cross-entropy deep learning: A Lyapunov stability analysis |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211221 |