[0053] 下面结合附图对本发明做进一步说明:
[0054] 如图2所示,本发明在水面放有浮标继电器,用其对水下机器人进行自定位,控制中心给出水下机器人的期望轨迹信息,并发送至水下机器人;水下机器人控制器根据系统控制控制驱动器进行驱动,完成水下机器人的运动。
[0055] 如图1所示,本发明阐述了一种基于强化学习的水下机器人控制方法,其方法包括以下步骤:
[0056] 步骤一水下机器人在水下受到周围环境的影响,需要对水下机器人模型中的不确定因素进行评估,方可完成水下机器人控制器对驱动器的控制;水下机器人有上、下、左、右、前、后六个自由度,其动力学特性可由两种参考系进行描述,基于机器人自身期望轨迹位置的固定参考系和水下环境不确定因素的惯性参考系。其中固定参考系、惯性参考系均分别考虑上下、左右、前后三个方向,水下的惯性参考系将水下的浪涌、摇摆和升沉等因素作为不确定因素进行不确定参数的引用。
[0057] 惯性参考系中,浪涌,摇摆和升沉三个方向的线速度两两垂直,同时在线速度的方向上考虑横摇、俯仰和偏航对水下机器人角速度的影响。
[0058] 步骤二 由于水下环境的随机影响,分别对水下机器人惯性参考系的三个方向上的不确定参数进行估计:根据不确定参数各自的概率密度函数,为每个参数选择一组采样点,利用这些采样点分别进行计算,使机器人模型的阶数减少,从而可以通过较少次数的计算获得控制器输出结果的同时,保证输出均值与原模型的输出均值相同,使水下机器人适应水下环境并且实现更准确的控制。
[0059] 具体如下:对于惯性参考系,在前后、左右、上下三个方向上构建由基于不确定因素的系统映射机器人输出模型:
[0060]
[0061] ai是水下机器人受到的第i个不确定因素,在本实施例中将水下的浪涌、摇摆和升沉等因素作为不确定因素进行不确定参数的引用。 为系数。每个不确定参数(或称不确定因素)ai都遵循独立的概率密度函数
[0062] 根据不确定因素各自的概率密度函数,为每个不确定因素定点采样,利用采样点对系统映射机器人输出模型进行训练,构建降阶系统映射机器人输出模型:
[0063]
[0064] 其中 是低阶映射中不确定参数新的系数。降阶系统映射机器人输出模型的输出均值E'(G'(a1,a2,a3)),与系统映射机器人输出模型的输出均值E(G(a1,a2,a3))相同,即E'(G'(a1,a2,a3))=E(G(a1,a2,a3))。
[0065] 步骤三 将水下机器人真实位置转化为步骤1的固定参考系中的坐标,并获取步骤2惯性参考系中的机器人降阶系统映射的模型输出;
[0066] 步骤四 定义水下机器人在不同的状态k下其自身位置为
[0067] p(k)=[x(k),y(k),z(k)]T,
[0068] 要进行追踪的期望轨迹为:
[0069] pr(k)=[xr(k),yr(k),zr(k)]T。
[0070] 为了求得最优控制策略,即水下机器人进行位置追踪时每个状态下所进行的动作h,设置水下机器人在不同状态下的一步代价函数为
[0071] gk(p,u)=(x(k)-xr(k))2+(y(k)-yr(k))2+(z(k)-zr(k))2+u2(k)
[0072] 其中(x-xr)2+(y-yr)2+(z-zr)2代表追踪误差的代价,u是水下机器人控制器输入,u2代表消耗能量的代价。通过设置的一步代价函数计算价值函数:
[0073] V(p(k))=Ea(k){gk(p,u)+γV(p(k+1))}
[0074] 式中,γ∈(0,1)是折扣因子,Ea(k)表示状态k下的期望函数;
[0075] 令V=WTΦ(p),则价值函数可表示为:
[0076] Wj+1Φ(p(k))=Ea(k)[gk(p,u)+γWjΦ(p(k+1))]
[0077] 式中, 为基向量。W是权重向量,通过最小二乘法迭代求解。
[0078] 步骤五 得到价值函数后,在策略改进步骤中,同样利用设置基向量和权重向量的方法求解最优追踪控制策略,求解时,令h(p)=UTσ(p),其中权重向量U用梯度下降法进行更新,σ(p)为基向量。利用最小时的价值函数对控制策略进行改进:
[0079]
[0080] 其中h(p)是由水下机器人学习通过对环境的学习得到的控制策略,此策略即为最优控制策略。
[0081] 步骤六通过循环迭代价值更新和策略改进两个过程,当每次迭代价值更新和策略改进过程得到的权重变化小于阈值0.001时,视为收敛,迭代完成的h作为控制器的输出u输入至水下机器人的驱动器,完成对当前状态下最优控制策略的求解。
[0082] 步骤七 将最优控制策略输入到由步骤二得到的降阶系统中,水下机器人更新自身状态,
[0083] 再次重复步骤五、六得到对下一步动作的最优控制策略,再次输入到步骤二中......如此循环往复,最终完成控制方法。
[0084] 本发明还公开了一种利用水下机器人进行跟踪的控制方法,利用被跟踪物体不断移动产生的轨迹信息,将其作为上部步骤1中的期望轨迹信息,利用基于强化学习的水下机器人控制方法,对水下机器人进行控制,实现对被跟踪物体的跟踪。
[0085] 被跟踪物体移动的轨迹信息获得可由浮标继电器进行定位获取。
[0086] 下述给出一个实施例具体予以说明:
[0087] (1)如图2所示,在给定长6m、宽5m和深1.5m的水域内,部署水下机器人,本发明在水面放有浮标继电器,用其对水下机器人进行自定位,控制中心给出水下机器人的期望轨迹信息xr=2sin(0.1k),yr=0.1k,zr=-1,其中k∈[0,...,100s],并发送至水下机器人。
[0088] (2)水下机器人的运动学模型为Sk+1=Sk+Uk+Ak,Sk=[x(k),y(k),z(k)]T为水下机器人自身位置,Uk=[ux,uy,uz]T由强化学习获得,Ak=[a1(k),a2(k),a3(k)]T为不确定参数,其中 -0.2≤a1(k)≤0.3, -0.8≤a2(k)≤0.7,a3(k)=0。
[0089] (3)用强化学习的方法对位置进行追踪,在设置的一步代价函数V(p(k))=Ea(k){gk(p,u)+γV(p(k+1))}中,设置折扣因子γ=0.9。为了求得价值函数,令V=WTΦ(p),权重2 2 T
向量可由最小二乘法迭代得到,基向量为Φ(p)=[1,x,y,x ,y ,xy]。得到价值函数后,在策略改进步骤中,同样利用设置基向量和权重向量的方法求解最优追踪控制策略,求解时,令h(p)=UTσ(p),其中权重向量U用梯度下降法进行更新,σ(p)=[1,x,y]T。利用最小时的价值函数时对控制策略进行改进。
[0090] (4)通过循环迭代价值更新和策略改进两个过程,当每次迭代价值更新和策略改进过程得到的权重变化小于阈值0.001时,视为收敛,迭代完成的h作为控制器的输出u输入至水下机器人的驱动器,完成对当前状态下最优控制策略的求解。
[0091] (5)将最优控制策略作为输出输入到步骤2的系统映射机器人输出模型中,循环以上步骤,即可实现追踪任务。以上所述的实施仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。