数据驱动的水下潜航器在线建模及运动控制技术

2022-01-19 05:17耿令波霍雨佳赵海阔胡志强
数字海洋与水下攻防 2021年6期
关键词:建模状态机器人

耿令波,霍雨佳,赵海阔,胡志强

(1.中国科学院沈阳自动化研究所 机器人学国家重点实验室,辽宁 沈阳 110016;2.中国科学院机器人智能制造与创新研究院,辽宁 沈阳 110169;3.中国科学院沈阳自动化研究所,辽宁 沈阳 110016)

0 引言

目前水下潜航器大都采用基于PID 的控制方法,PID控制方法大都不基于模型,参数调试严重依赖调试人员经验,对于单自由度系统或静态目标控制,可以实现较高的控制精度。但对于多自由度耦合、强非线性系统,难以简单通过状态量的变化实现参数整定,人工调参费时费力。基于模型的控制可以将人工调参转换为数值优化问题,模型的主要作用是为控制律设计及控制参数优化提供指导,尤其是对多自由度耦合系统。

除此之外,PID控制仅依赖当前时间步的误差,对于静态或缓变目标控制可以取得较高的精度,但难以实现对快速变化控制目标的准确跟踪。面向未来高机动水下潜航器的控制需求,本文主要研究MPC及基于模型的强化学习控制技术。MPC在控制时考虑未来多步的目标,动态性能好,在无人机[1-2]、双足机器人等领域取得了广泛应用,波士顿动力、MIT等多足机器人控制算法均以 MPC为主[3-4]。目前,强化学习方法在空中和水下机器人的运动控制均有着不同程度的应用,Hwuang等[5]利用确定性策略搜索方法实现了四旋翼无人机空中三维位置的跟踪。Koch[6]利用ROS和Gazebo仿真软件,分别运用DDPG、TRPO和PPO 3种深度强化学习算法实现对Iris四旋翼机器人的姿态控制,并与充分调参的PID控制器进行对比,获得了更好的控制效果。Song等利用PPO算法实现了四旋翼无人机的竞速任务[7]。

在水下航行器控制方面,MPC多应用于轨迹规划[8],直接应用于运动控制的较少。一方面是由于目前水下航行器多为弱机动,而PID本身对静态或缓变目标控制效果较好。另一方面,受水动力非线性影响,水下航行器动力学建模困难,限制了MPC等基于模型控制技术的发展。

模型是制约MPC在水下潜航器应用的主要障碍,为此,本文首先研究了数据驱动的水下潜航器建模方法,可以根据航行器历史数据实现对未来运动状态的长时预报。基于此建模方法,本文基于仿真平台研究了MPC及基于模型的强化学习两种运动控制技术,并基于无人机进行了控制试验。

1 数据驱动的水下潜航器在线建模

精确的模型是基于模型运动控制的基础,受水动力影响,水下潜航器运动学具有强非线性特点,水下潜航器常见的建模方法包括基于数值仿真(computional fluid dynamics,CFD)的建模方法、基于实航数据的参数辨识方法[9]以及数据驱动的在线建模方法。基于 CFD的建模方法多用于性能评估,由于仿真环境与真实环境的差异以及仿真过程中的模型简化,导致基于CFD建立的模型与真实模型存在一定差异,影响控制精度。基于实航数据的参数辨识方法利用观测状态数据来计算未知的水动力系数,主要包括卡尔曼滤波、最大似然估计等,该方法需要事先提供水动力模型表达式,参数辨识精度受水动力模型表达式精度影响很大,而水动力模型表达式一般由CFD计算得到,与实际有一定偏差,影响最终辨识精度。

水下潜航器水动力受运动状态影响很大,当机器人跟踪动态目标或进行强机动时,其水动力参数是实时变化的,此时需要对水动力模型进行实时在线辨识,计算量过大,影响实时性。随着深度学习技术的发展,基于深度学习的数据驱动建模方法也得到了一定发展,数据驱动建模本质是把传统泰勒级数水动力模型用神经网络表示,神经网络离线训练过程相当于传统建模方法的参数辨识过程,由于神经网络具有强非线性拟合能力,数据驱动建模方法可实现水下潜航器全工况建模,无需在线实时辨识过程,计算量大大减小。

现有数据驱动建模方法大都属单步预报[2],模型预测控制需要潜航器未来多个时间步的状态信息,单步预报模型会带来较大的累积误差,本文提出一种多步预报模型,可以对潜航器未来运动状态进行长时预报,为智能决策、规划以及基于模型的运动控制提供基础。

水下潜航器运动学可以表示为

下一时刻的运动状态取决于历史状态及当前时刻的控制量输入,可以看作序列到序列的翻译任务,本文借鉴机器翻译领域广泛使用的Transformer网络结构,在其基础上进行一定适应性改造,得到用于水下潜航器建模的神经网络模型,如图2所示。编码器由一维卷积构成,主要接收历史数据,用于对潜航器当前所处状态进行学习。解码器由LSTM构成,主要接收未来输入数据,用于在历史状态基础上驱动潜航器达到未来的状态。

图1 不同建模方法Fig.1 Different methods for hydrodynamic modeling

图2 水下潜航器运动建模网络结构Fig.2 Network structure for underwater vehicle motion modeling

Encoder输入为过去10个时间步的状态量及操纵控制量,状态量包括俯仰角、横滚角、加速度及角速度,操纵控制量包括舵角控制量、推进器控制量、轮缘推进器控制量。Decoder输入为未来50时间步的操纵控制量,网络输出为未来50时间步的待预报状态量,本文以俯仰角预报为例说明该建模方法的效果。图3给出的是在训练集上的拟合效果,拟合优度为0.97,图3给出在预报集上的预报效果,拟合优度为0.82,由图4可知,在50时间步预报周期内,网络可以对俯仰角的动态变化准确预报,预报趋势与实际变化趋势完全一致。

图3 训练集预报效果Fig.3 Prediction result of pitch angle on the training dataset

图4 俯仰角50步预报Fig.4 50-step ahead prediction of pitch angle on the testing dataset

2 无声学传感信息的线速度在线长时预报

水下潜航器一般借助声学传感器实现速度预报,声学测速存在以下限制:1)隐蔽作业时不可用;2)微小型水下机器人难以搭载声学传感器;3)近海面时,声信号难以打底;4)强机动运动时,载体俯仰或横滚较大,声学测速信息不准确。基于以上限制,本文提出一种不利用声学传感信息的速度预报技术,仅利用惯导数据及机器人执行机构控制信号,实现对机器人未来速度的长时预报。

所采用的网络结构与第1节一致,Encoder输入为惯导历史数据及操纵机构控制信号,decoder输入为未来50步的操纵机构控制信号,输出为未来50步的前向速度。所采用的水下潜航器如图5所示。

图5 微小型水下潜航器Fig.5 Micro vehicle for the field test

该潜航器直径为124 mm,长1.8 m,重量为18 kg。本文采用其水面航行数据进行建模,水面航行受波浪影响,航行条件更加恶劣,采用水面数据验证建模方法能更加说明本文方法的合理性。该潜航器头部安装有多普勒声学测速仪,该数据仅用于训练及测试,并不作为网络输入。值得指出的是,传统基于物理的建模方法均需要推进器转速、舵板转角作为输入,对于微小型潜航器来说,受限于有限的内部空间,加装用于测量转速或舵角的编码器无法实现。本文所提出的建模方法仅需要控制器发出的控制信号,如图6(a),无需测量推进器转速及舵角,更加适用于微小型水下潜航器。

图6 所采用的控制输入及训练集拟合效果Fig.6 The control input and the fitting result on the training dataset

图 6(b)给出了本文建模方法在训练集上的拟合效果,在训练集上拟合优度可达0.98,在测试集上的拟合效果如图7,拟合优度分别为0.82与0.71。图7给出的测试集属于不同天、不同航次的试验数据。由图7可以看出,在50步预报周期内,网络对潜航器减速过程及加速过程以及减速加速转折点均可准确预报,对于如图7(b)出现的前向速度小幅波动也能实现预报趋势完全一致。预报集上误差来源可能是不同航次试验水面波浪情况有所差别,而建模时波浪载荷没有作为输入。

图7 不同航次前向速度预报效果Fig.7 Prediction results of surging velocity in different field tests

3 基于模型的水下潜航器运动控制

面向未来高机动水下航行器的控制需求,本文研究水下航行器 MPC控制技术,本节所用到的模型均采用第2节建模方法得到。MPC控制原理如图 8,基于历史数据建立机器人运动模型,基于该模型对机器人未来状态进行预报,通过优化算法优化出最接近目标的控制量。本文所采取的优化算法为粒子群算法,在仿真环境下实现对AUV定速、定深及定向控制,控制效果如图8,可以看出 MPC控制器可以实现对阶跃及正弦目标的有效跟踪。

图8 水下潜航器三自由度空间运动MPC控制效果Fig.8 Dynamic control of underwater vehicle based on MPC

MPC控制需要对控制量进行在线优化,优化器的选择及优化目标设计对最终结果有较大影响,受限于机器人较高的控制频率和有限的在线计算资源,这种优化往往无法取得最优解,这也是限制MPC在机器人大规模应用的一个主要因素。而基于模型的强化学习采用离线优化方式,对计算量和优化步数没有限制,可以取得更优的控制策略。采用本文第2节提出的建模方法,利用有限的试验数据即可构建出精确的预报模型,基于该模型进行虚拟训练,大大提升数据的利用效率和学习速率。

本文利用仿真平台,采用LSTMDPG算法对机器人控制策略进行训练。实验对象为传统的舵桨布局的水下机器人,通过控制水下机器人的方向舵实现机器人在水平面的航向控制,并与传统的PID可控制器和DDPG控制器相较,如图9(a)。实验结果表明:当前航向轨迹与目标航向轨迹不一致时,通过优化,强化学习(包括DDPG和LSTMDPG)方法可以实现较小的跟踪误差,如图9(b)。同时LSTMDPG可以保证航向控制的快速性,并减少了方向舵的反复调节,如图9(c)。

图9 不同控制方法轨迹跟踪性能对比Fig.9 Trajectory tracking with different control methods

即使在有风环境下,机器人依然可以实现精确的定点控制,验证了该方法的有效性。机器人起飞后,保持稳定在高度2 m,如图11,期间实验现场有微风,风速约为2 m/s。由图12可以看出,机器人姿态角始终保持在较小值,说明机器人在有风干扰条件下始终可以保持姿态平稳。

图10 试验无人机平台Fig.10 UAV platform

图11 无人机定点控制实验Fig.11 Position control of UAV

图12 无人机定点控制姿态及轨迹Fig.12 Attitude and trajectory of UAV

4 结束语

传统控制方法仅针对当前误差进行优化,动态控制精度差,这本质是由控制算法“短视”造成的。基于模型的控制通过模型的引入,使控制器具备对未来状态的“预见”能力,可将对未来的影响引入当前控制量的优化过程,进而提升动态控制精度。利用本文提出的数据驱动建模方法,研究了 MPC及基于模型的强化学习控制,并基于无人机试验平台初步验证了控制方法可行性。

模型是数据驱动建模方法在机器人应用的基础,可极大提升数据利用率及训练效率。传统基于物理的建模方法难以处理环境或工况改变引起的强非线性,针对这一问题,本文基于神经网络,在无任何先验知识前提下,仅利用机器人历史数据实现对机器人未来状态的长时预报。该方法仅利用机器人自身感知数据,具备在线学习能力,可有效克服传统建模方法适应性差的不足。

深度学习与控制技术相结合是机器人发展的必然趋势,深度学习强大的拟合能力及学习能力使复杂控制策略设计变为可能,可实现机器人控制由“通用化”向“个性化”转变,必将极大提升机器人智能水平及环境适应能力。

猜你喜欢
建模状态机器人
物理建模在教与学实践中的应用
在经历中发现在探究中建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
智珠二则
生命的另一种状态
机器人来帮你
认识机器人
机器人来啦
“牛顿第一定律”练习