球形机器人具有球形外壳,可以在执行任务过程中实现快速稳定的运动,同时避免倾覆发生。其球形密闭空间可以保护内部机构不受各种复杂地形和路况的干扰和破坏[1]。由于其优异的运动性能、出色的地形适应能力和防侧翻的特性,球形机器人上被广泛应用于水下探测[2]、岸滩巡检[3]等需要适应复杂环境的场景[4]。然而,复杂的环境对球形机器人的自主决策能力提出了更高的要求。目标跟随任务作为机器人自主决策能力的一个重要体现[5],具有在巡检[6]、安防[7]等领域广泛应用的潜力。
目标跟随技术主要任务是根据目标的位置信息及跟随策略算法计算跟随动作,从而对球形机器人进行运动控制。对于球形机器人目标跟随算法的研究,国内外学者提出了诸多方法。吴若竹[8]根据球形机器人运动学简化模型,通过模型预测控制(model predictive control,MPC)预测系统状态未来的变化,以达到高精度目标跟随的效果。Zheng等[9]提出了一种基于PID的速度、距离控制算法,实现了球形机器人目标跟随。现有的研究成果主要集中于利用球形机器人简化运动学模型实现球形机器人目标跟随,而基于复杂动力学模型的球形机器人目标跟随方法则研究较少。
考虑球形机器人是一个不稳定且受非完整约束的系统,基于运动学模型完成目标跟随任务时,可能会遇到环境适应性差、跟随不可靠等问题。因此,为使球形机器人在面对各种未知环境时做出准确决策,需要提出一种基于动力学模型的目标跟随方法。然而,由于球形机器人具有非线性、欠驱动和高耦合性的特点,很难建立输入力矩与运动轨迹的准确模型,因此,传统方法在解决球形机器人目标跟随任务时,无法有效应对基于动力学建模和求解的问题。相比之下,数据驱动的深度强化学习方法能够有效解决该问题。
近年来,深度强化学习迅速发展,各种深度强化学习算法层出不穷。深度强化学习通过与环境不断交互,利用反馈逐渐改善决策能力,可实现离线训练,在线应用[10]。利用强化学习实现目标跟随,能够避免因动力学复杂模型导致的控制器设计繁琐、参数整定困难和计算复杂等问题,这为机器人实现目标跟随提供了新的启发和方向。如Li 等[11]在Carla仿真软件上利用深度确定性策略梯度算法(deep deterministic policy gradient,DDPG)实现了车辆跟随。Luo等[12]提出了一种基于异步优势行动者-评论家(asynchronous advantage actor-aritic,A3C)的端到端主动跟踪策略。Sampedro等[13]将DDPG算法应用于视觉伺服系统,成功实现了飞行器的目标跟随功能。Pang等[14]提出了一种基于混合监督强化学习的目标跟随算法。以上成果表明,国内外学者在机器人目标跟随问题上已经取得了一定的研究成果,并且强化学习在解决目标跟随问题上具有独特的优势。但目前强化学习在球形机器人上的研究较少,为此,本文中提出了一种基于强化学习的球形机器人目标跟随方法。
本文中利用PPO算法擅长处理连续动作空间和非线性策略问题的优点[15],将PPO算法和球形机器人目标跟随的控制问题相结合。以球形机器人为研究对象,以PPO算法为核心,开展球形机器人目标跟随算法研究。研究旨在提高球形机器人目标跟随可靠性,增强球形机器人自主决策能力,具有重要的理论意义和工程价值。
球形机器人的机械结构如图1所示,主要由球壳、框架、长轴驱动电机和短轴驱动电机构成[16]。该机器人由长、短轴驱动电机驱动2自由度重摆,重摆向前抬起将驱动机器人向前滚动,侧偏时机器人将完成转向运动。
图1 球形机器人结构图
Fig.1 Structure of spherical robot
为了方便建立球形机器人动力学模型,文献[16]将球形机器人模型简化为均质球壳、对称框架和重摆3部分。系统参数及变量符号如表1所示,系统坐标定义如图2所示。
表1 系统参变量符号定义
Table 1 System reference variable symbol definitions
参变量符号符号含义X,Y,Z惯性坐标系∑O中球心A点的坐标α,β,γ球形机器人进动角、章动角和自转角mb,mi,md球壳质量、框架质量和重摆质量r,l球壳半径和摆杆长度τ1,τ2球形机器人长短轴驱动力矩Ibxx,Ibyy,Ibzz球壳主惯性矩,分别绕xB,yB和zBIixx,Iiyy,Iizz框架主惯性矩,分别绕xC,yC和zC
图2 球形机器人坐标系及变量
Fig.2 Spherical robot coordinate system and variables
定义Sα=sinα、Cα=cosα,球形机器人初始静止状态α=γ=0,β=π/2,球形机器人运动约束方程为
(1)
式(1)中:和代表惯性坐标系下X方向线速度和Y方向线速度。由于前2个运动方程是不可积分的,球形机器人具有非完整约束。根据拉格朗日方程进行推导,可得球形机器人动力学模型线性化方程:
(2)
本文中机器人跟随目标过程中二维平面示意图如图3所示,并做如下假设:球形机器人与目标之间的相对距离D和相对角度θ可以通过深度相机获得;球形机器人进动角速度可以通过IMU获得;球形机器人自转角速度可以通过长轴电机编码器获得。
图3 目标跟随示意图
Fig.3 Target following schematic
PPO算法是在置信区域策略优化( trust region policy optimization,TRPO)算法的基础上进行改进的,本质上也是基于AC算法框架[15],包含动作网络和评估网络2个神经网络,通过动作网络获得动作,通过评估网络获得状态,根据奖励函数得到奖励值,使用梯度下降方法对动作网络和评估网络进行训练,以优化智能体的性能。
相比TRPO算法,PPO算法采用了多个Mini-Batch更新的方法,提升了模型的收敛速度。同时,PPO算法引入了截断的方式来更新目标函数,避免了约束优化问题,提高了算法训练的稳定性。这种截断方式通过限制新旧策略之间的KL散度来更新目标函数,避免了TRPO算法中的一些问题,如策略更新不稳定等。
clip(rt(θ),1-ε,1+ε)A(st,at))
(3)
式(3)中:ε表示截断系数、rt(θ)表示新旧策略的比值,计算公式如下所示:
(4)
A(st,at)表示优势函数,作用是在保持无偏差的情况下尽可能降低方差,计算公式如下所示:
A(st,at)=Q(st,at)-V(st)
(5)
PPO算法还在目标函数中引入值函数的目标函数和策略模型的熵函数S[πθ](st),完整的目标函数如下所示:
(6)
式(6)中:c1、c2分别表示值函数和熵函数的系数,和S[πθ](st)计算公式如下:
(7)
S[πθ](st)=-πθ(a|s)lgπθ(a|s)
(8)
式(7)中:代表目标网络的值函数估计值。
本文中选择球形机器人与目标之间的相对距离D和相对角度θ作为状态特征。为改善球形机器人运动轨迹震荡的情况,将球形机器人的一阶速度信息加入状态空间。状态输入形式为
(9)
智能体的动作空间由长短轴电机驱动力矩τ1、τ2构成。其动作输出形式为
A={aτ1,aτ2}
(10)
状态空间各状态量观测范围如表2所示。
表2 状态空间观测范围
Table 2 State space observation range
参数范围相对距离D/m[0,5]相对角度θ/rad[-0.85,0.85]进动角速度α/(rad·s-1)[-5,5]自转角速度 γ·/(rad·s-1)[0,8]
动作空间各动作量取值范围如表3所示。
表3 动作空间取值范围
Table 3 Range of action space values
参数范围长轴电机驱动力矩τ1/(N·m)[0,4.4]短轴电机驱动力矩τ2/(N·m)[-0.67,0.67]
球形机器人的驱动受电机力矩影响,自身惯性较大,加速度相对较小。为了更好地完成目标跟随任务,需要建立合适的奖励函数。通过在奖励函数中引入人工势场的方法,来使目标始终保持在机器人视野中心。设计的奖励函数由如下5部分组成。
1) 相对距离奖励项。相对距离奖励项是基于当前球形机器人与目标的相对距离D衡量,当目标处于相对适当的距离时,会给予球形机器人相应的奖励。引入相对距离奖励函数:
(11)
式(11)中: Dmin和Dmax分别表示相对距离合适的下限和上限。
2) 相对角度奖励项。相对角度奖励项是基于当前球形机器人与目标的相对角度θ衡量,当目标处于相对合适的角度时,会给予球形机器人相应的奖励。引入相对角度奖励函数:
(12)
式(12)中: θmin和θmax分别表示相对角度的合适下限和上限。
3) 中心距离度量惩罚项。为了确保目标始终位于球形机器人视野中心,引入中心距离度量惩罚项。中心距离度量惩罚函数R3表示为
R3=k1×|D-Dguide|
(13)
式(13)中:k1<0代表权重系数,Dguide代表球形机器人与视野中心的距离,公式如下:
(14)
4) 中心角度度量惩罚项。为了确保目标始终位于球形机器人视野中心,引入中心角度度量惩罚项。公式如下:
R4=k2×|θ|
(15)
式(15)中:k2<0代表权重系数。
5) 终止结算奖励。智能体在如下情况下结束当前回合:球形机器人发生侧翻,目标超出球形机器人的视野范围,或者球形机器人完成跟随目标超过2 000个时间步。针对不同的回合终止情况,给予智能体不同的奖励,终止结算奖励函数Rdone表示为
(16)
式(16)中: Lβ表示球形机器人失稳角度,Lθ表示球形机器人单侧视野角度最大角度,LD表示球形机器人最远视野距离。综上所述,本系统的总奖励数函数R如下式所示:
R=R1+R2+R3+R4+Rdone
(17)
奖励函数中各参数的取值如表4所示。
表4 奖励函数参数取值
Table 4 Reward function parameter values
参数数值相对距离合适下限Dmin/m2相对距离合适上限Dmax/m3相对角度合适下限θmin/rad-0.52相对角度合适上限θmax/rad0.52机器人距引导点的距离Dguide/m2.5机器人失稳角度Lβ/rad1.57单侧视野角度最大角度Lθ/rad0.85球形机器人最远视野距离LD/m5权重系数k1-1权重系数k2-1
图4是基于PPO算法的球形机器人目标跟随训练流程。
图4 基于PPO的球形机器人目标跟随训练流程
Fig.4 Flow chart of target following training of spherical robot based on PPO algorithm
首先,动作网络生成运动策略,该策略生成动作指令传递给控制器,控制器基于接收到的运动指令相应地控制长短轴电机转动。信息处理模块对机器人姿态、与目标相对状态进行处理,获取状态信息。随后,智能体通过奖励函数,利用状态信息计算出奖励值,并将状态、动作、奖励、下一个状态存储在经验池中。每过一段时间,智能体会从经验池中随机抽取一部分样本,对动作网络和评估网络进行训练,以优化智能体性能。此外,智能体还会将主网络的参数替换目标网络的参数,以确保训练的稳定性和可靠性。
在硬件配置为RTX3070GPU,软件配置为Python3.7、OpenAIGym、pytorch1.13.1的平台上进行训练和验证。PPO算法的主要超参数如表5所示。
表5 主要超参数
Table 5 Main hyperparameters
超参数数值超参数数值网络结构(64,64)优化器Adam学习率3.0×10-4衰减因子0.99截断率0.2
在训练过程中,采用正弦机动规律的目标对智能体进行训练。训练共进行了2 000 000步,训练收益以回合收益的形式呈现,为了更加直观地呈现结果,回合收益曲线经过了平滑处理,如图5所示。从图5中可以看出,收益整体呈上升趋势,并最终稳定在较高水平。证明所建立的模型已经收敛,可以进行下一步的仿真验证。
图5 训练收益
Fig.5 Training benefits
为验证PPO算法在球形机器人实时目标跟随策略中的有效性和泛化性,在2种不同的目标机动场景下,利用一种场景下训练所得模型进行实验验证。图6、图7展示了球形机器人在跟随不同随机运动目标时的跟随轨迹。图8展示了球形机器人在跟随上述2种机动目标时与目标的相对角度。图9展示了球形机器人在跟随上述2种机动目标时与目标的相对距离。
图6 机器人跟随小机动目标轨迹
Fig.6 Robot following small maneuvering target trajectory
图7 机器人跟随大机动目标轨迹
Fig.7 Robot following large maneuvering target trajectory
图8 机器人与目标相对角度
Fig.8 Relative angle between robot and target
图9 机器人与目标相对距离
Fig.9 Relative distance between robot and target
根据以上仿真结果,可以推断出球形机器人在运用基于PPO的跟随算法时,无论目标处于平稳运动还是大幅转弯的状态下,都能够可靠地跟随目标。
1) 提出了一种基于PPO算法的球形机器人目标跟随方法,为设计非线性、欠驱动的球形机器人的控制系统提供了一种新思路。
2) 针对正弦机动规律的目标进行训练,得到了一种基于PPO算法的决策模型。将该模型应用于其他机动方式的目标跟随仿真验证,该模型仍能够赋予球形机器人出色的自主决策能力,实现可靠目标跟随。表明该模型具有较强的泛化能力,可避免传统跟随算法中所需的多次复杂建模、参数辨识等问题。
3) 将球形机器人的一阶速度信息 加入状态空间,以提高状态的表征能力,使智能体更好地理解球形机器人与目标之间的动态关系,采取更加准确的行动策略。
4) 借助人工势场法设计奖励函数的思想,提出了一种使目标保持在视野中心的跟随方法,提高了球形机器人跟随可靠性。
[1]马龙.具有质心径向可变能力的球形机器人机构设计及控制方法研究[D].北京:北京邮电大学,2021.
MA Long.Research on the design and control method of spherical robot mechanism with radially variable center of mass[D].Beijing:Beijing University of Posts and Telecommunications,2021.
[2]刘志民,孙汉旭,贾庆轩,等.水下球形探测机器人的有限时间点镇定控制[J].机器人,2016,38(5):569-577.
LIU Zhimin,SUN Hanxu,JIA Qingxuan,et al.Finite time point sedation control for underwater spherical probe robot[J].Robotics,2016,38(5):569-577.
[3]CHI X,ZHAN Q.Design and modelling of an amphi-bious spherical robot attached with assistant fins[J].Applied Sciences,2021,11(9):3739—3757.
[4]LI M,GUO S,HIRATA H,et al.Design and performance evaluation of an amphibious spherical robot[J].Robotics and Autonomous Systems,2015,64(2):21-34.
[5]李艳,周莹亮,李可可.基于STM32的移动机器人目标自动跟随系统设计[J].电子器件,2019,42(2):403-410.
LI Yan,ZHOU Yingliang,LI Keke.Design of STM32-based automatic target following system for mobile robots[J].Electronic Devices,2019,42(2):403-410.
[6]张英,廖如超,廖建东,等.基于激光测距及ROS系统的无人机导线跟随方法研究[J].电子器件,2021,44(4):935-940.
ZHANG Ying,LIAO Ruchao,LIAO Jiandong,et al.Research on UAV lead following method based on laser ranging and ROS system[J].Electronic Devices,2021,44(4):935-940.
[7]SEEMAN M,BROXVALL M,SAFFIOTTI A,et al.An autonomous spherical robot for security tasks[C]//2006 IEEE International Conference on Computational Intelligence for Homeland Security and Personal Safety.IEEE,2006:51-55.
[8]吴若竹.基于机器视觉的球形机器人目标追踪系统研究[D].杭州:浙江大学,2022.
WU Ruozhu.Research on spherical robot target tracking system based on machine vision[D].Hangzhou:Zhejiang University,2022.
[9]ZHENG L,GUO S,PIAO Y,et al.Collaboration and task planning of turtle-inspired multiple amphibious spherical robots[J].Micromachines,2020,11(1):71-94.
[10]李世裴,韩家哺,路博凡,等.视觉引导下协作机器人抓取技术研究[J].重庆工商大学学报(自然科学版),2022,39(1):42-48.
LI Shipei,HAN Jiabu,LU Bofan,et al.Research on grasping technology of cooperative robot guided by vision[J].Journal of Chongqing Technology and Business University(Natural Science Edition),2022,39(1):42-48.
[11]LI L,JIANG W,SHI M,et al.Dynamic target following control for autonomous vehicles with deep reinforcement learning[C]//2022 International Conference on Advanced Robotics and Mechatronics (ICARM).IEEE,2022:386-391.
[12]LUO W,SUN P,ZHONG F,et al.End-to-end active object tracking and its real-world deployment via reinforcement learning[J].IEEE transactions on pattern analysis and machine intelligence,2019,42(6):1317-1332.
[13]SAMPEDRO C,RODIRIGUEZ-RAMOS A,GIL I,et al.Image-based visual servoing controller for multirotor aerial robots using deep reinforcement learning[C]//2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).IEEE,2018:979-986.
[14]PANG L,ZHANG Y,COLEMAN S,et al.Efficient hybrid-supervised deep reinforcement learning for person following robot[J].Journal of Intelligent &Robotic Systems,2020,97(2):299-312.
[15]SCHULMAN J,WOLSKI F,DHARIWAL P,et al.Proximal policy optimization algorithms[EB/OL].(2017-07-20)[2017-08-28].https://arxiv.org/abs/1707.06347.
[16]叶平,韩亮亮,张天石,等.具有立体视觉的球形机器人及其运动控制[J].机械工程学报,2013,49(11):8-15.
YE Ping,HAN Liangliang,ZHANG Tianshi,et al.A spherical robot with stereo vision and its motion control[J].Journal of Mechanical Engineering,2013,49(11):8-15.