一种基于离线强化学习的机甲车自动行驶训练与控制方法

未命名 07-19 阅读:117 评论:0


1.本发明属于离线强化学习和机甲车自动行驶与控制领域,具体涉及一种基于离线强化学习的机甲车自动行驶训练与控制方法。


背景技术:

2.深度强化学习在围棋、游戏、智能控制与决策等方面取得了令人瞩目的成就,它的学习训练过程是通过智能体与环境进行交互试错,目的是学习得到最大化累计期望奖励来完成对应的任务,凭借神经网络来拟合策略函数与价值函数的优势,因而被广泛应用到连续控制和决策问题中。
3.机甲车由于其机动性和灵活性比较强,在实地探测、搜索救人、物资派发等领域得到了广泛的应用,此外,由于其速度快并且可以使用红外线和装甲弹进行射击,在竞速比赛和机打比赛中也广泛关注。在地面路况未知的情况下,传统的自动行驶控制方法只能在简单的环境中实现启动行驶和停止,但是在地面复杂、充满障碍物的环境中难以得到满意的结果。深度强化学习方法适用于解决复杂环境场景下的决策和控制问题,有利于提高机甲车自动行驶的安全性和稳定性,但由于在真实环境上交互,可能会导致机甲车与环境中的障碍物发生碰撞造成损坏或者电机短路,形成较大的损失,这也是深度强化学习方法应用到机甲车自动行驶领域中面临的巨大挑战。本发明采用一种离线强化学习算法进行训练,人为控制机甲车收集行驶数据制作数据集,利用这个数据集去训练和评估智能体,不断迭代训练过程和测试过程,直到机甲车可以自主完成行驶任务。


技术实现要素:

4.为了克服现有技术的不足,本发明提供了一种基于离线强化学习的机甲车自动行驶训练与控制方法,通过构建机甲车行驶数据集使用离线强化学习算法在数据集上训练和测试,限制使用数据集中不存在的状态和动作,进而减少智能体对其q值的推测误差,使其估计更准确。
5.一种基于离线强化学习的机甲车自动行驶训练与控制方法,包括以下步骤:
6.步骤1:通过使用机甲车遥控器或者app去控制机甲车按照地面的指定路线行驶,当机甲车遇到障碍物时手动控制进行避障操作,收集机甲车行驶过程中的数据,存储机甲车在行驶过程中每个时刻的环境状态se、自身状态sm、机甲车控制行驶指令a和奖励信息r
t
,也就是存储机甲车行驶过程的轨迹数据t,利用存储的这些数据构建机甲车行驶数据集
7.步骤2:在机甲车行驶数据集上使用离线强化学习算法bcq练机甲车的自动行驶控制策略;首先从机甲车行驶数据集中采集样本,每个样本包括机甲车在当前时刻的观测s、机甲车做出的动作a、下一时刻的观测s

以及当前动作的奖励rt;所述机甲车对当前时刻的观测s包括环境状态se和自身状态sm;所述机甲车做出的动作a是机甲车控制行驶指令;采集到的样本通过使用生成模型g
ω
(s)重新生成,增加扰动神经网络ξ
φ
(s,a,φ)对动作添加扰动,扰动范围是[-φ,φ],采用变分自编码器vae(e
w1
,d
w2
),使得生成的状态动作对和机
甲车在自动行驶过程中的状态动作对更加的相似。
[0008]
步骤3:将机甲车在自动行驶过程中的状态动作对和机甲车行驶数据集中的状态动作对的相似度建模成一个状态条件概率将策略表示为π,策略训练过程中,尽量减少机甲车行驶数据集中不存在的状态和动作,进而减少智能体对其q值的推测误差,使其估计更准确。
[0009]
步骤4:训练两个动作值网络对动作的q值进行评估,取它们的最小值作为动作值的估计;智能体执行这个网络返回的动作a,环境根据机甲车的中心到指定路线的偏移距离和是否碰撞到障碍物返回给智能体奖励,然后更新目标网络的参数θ和扰动网络算法的参数φ。
[0010]
步骤5:使用训练好的模型换到另外一条路线去测试机甲车的自动行驶控制策略,操作员时刻监测机甲车的自动行驶状态,收集其中完成程度比较好的数据,将其加入到机甲车行驶数据集对数据集进行随机分布。
[0011]
步骤6:迭代训练过程和测试过程,直到测试过程中机甲车可以自主完成行驶任务。
[0012]
所述步骤1中机甲车自动行驶训练和控制方法需要的硬件包括:摄像头、机械云台、麦克纳姆轮、电机、感应装甲、遥控器。
[0013]
所述步骤1中机甲车行驶过程中观测到的环境状态包括机甲车搭载的摄像头所获取到的图像视频信息;机甲车自身的状态包括行驶速度(v)、四个麦克纳姆轮中的发动机转速(ω1,ω2,ω3,ω4)、机甲车所在的位置(x,y)、机械云台旋转的角度机甲车到障碍物的距离(d);机甲车的控制行驶指令a包括前进、后退、左移、右移、以及机械云台的朝向。
[0014]
所述步骤4中返回给智能体的奖励r
t
由安全性奖励函数r1和准确性奖励函数r2构成;所述的安全性奖励函数是指机甲车的感应装甲是否碰到路线中布置的障碍物,以及碰到障碍物之后机甲车自身的状态,环境反馈给智能体安全性奖励r1,如果没有发生碰撞,说明机甲车可以准确识别障碍物并躲避,获得的安全性奖励也就越多;所述的准确性奖励函数是指机甲车与指定路线之间的偏移距离,环境反馈给智能体的准确性奖励r2,如果机甲车的偏移越少,说明和指定路线之间的差距越小,那么机甲车获得的准确性奖励也就越多。
[0015]
所述步骤6中的训练和测试过程,通过机甲车的摄像头获取到的环境观测信息和自身状态输入到特征网络,提取状态特征,然后策略网络根据状态特征输出相应的机甲车控制指令,多次进行训练和测试过程,直到机甲车可以自主完成行驶任务。
附图说明
[0016]
图1为本发明的整体框架示意图;
[0017]
图2为本发明的特征网络、q网络、策略网络的示意图;
[0018]
图3为本发明的机甲车的自动行驶控制策略的训练流程图。
具体实施方式
[0019]
为了更好地理解本发明的技术特征和实施效果,下面结合附图进一步阐述本发明。
[0020]
图1是本发明的整体框架示意图,首先利用遥控器或者app控制机甲车在指定路线
上行驶,机甲车搭载的摄像头可以获取到路面的图像信息,根据接收到的路面信息和障碍物的位置,调整机甲车行驶控制指令,存储机甲车的状态,包括包括行驶速度、四个麦克纳姆轮中的发动机转速、机甲车所在的位置、机械云台旋转的角度、机甲车到障碍物的距离。基于存储的数据信息构建机甲车行驶数据集使用离线强化学习算法在数据集上训练,将机甲车放到真实环境中测试,机甲车获取图像信息和状态信息,通过特征网络提取环境的特征信息,q网络和策略网络根据特征信息,输出机甲车的控制行驶指令,机甲车在真实环境中行驶,环境反馈给机甲车奖励,调整机甲车的下一步行驶指令。迭代训练过程和测试过程,同时收集表现比较的数据重新加入到机甲车行驶数据集中,直到机甲车可以进行自动行驶和避障任务。
[0021]
图2是本发明的特征网络、q网络、策略网络的示意图,输入的观测信息包括机械云台上的摄像头捕获的图像视频信息、位置信息和机甲车的状态信息,将图像输入到特征网络中提取图像特征,通过图像特征计算机甲车到地面规定路线的中心距离和到障碍物的距离,同时输入的观测信息还包括机甲车的自身状态信息,图像特征信息和机甲车的状态信息加起来作为特征网络的输出。策略网络输出一个四维向量,代表前、后、左、右机甲车控制行驶指令,控制麦克纳姆轮前进。
[0022]
如图3所示,是机甲车的自动行驶控制策略的训练流程图,描述如下。首先初始化机甲车自动行驶数据集,然后人为控制机甲车收集行驶数据,加入到自动行驶数据集中,从机甲车行驶数据集中采集样本,输入学习率、折扣率等训练过程中的超参数。
[0023]
初始化两个q网络、两个目标网络、一个扰动网络、一个生成网络,将机甲车在自动行驶过程中的状态动作对和机甲车行驶数据集中的状态动作对的相似度建模成一个状态条件概率为了避免出现分布之外的状态动作对导致q值的过估计问题,需要最小化自动行驶过程中的状态动作对和机甲车行驶数据集中的状态动作之间的分布偏差,也就是最大化状态条件概率通过减少q值的推测误差,使其估计更准确;使用生成模型g
ω
(s)对数据集中的状态动作对进行采样,增加扰动网络ξ
φ
(s,a,φ),对动作a添加的扰动范围是[-φ,φ],采用变分自编码器vae,使得生成的状态动作对和机甲车在自动行驶过程中的状态动作对更加的相似,然后最大化使用生成模型,此时的策略表示为π,策略的训练目标是最大化q值,其中动作ai由生成网络产生。
[0024][0025]
扰动网络算法的训练目标是φ;
[0026][0027]
借鉴clipped double q-learning的做法,使用两个q网络的估计的最小值
[0028][0029]
更新参数
[0030]
θ

argmin
θ
∑(y-q
θ
(s,a))2;
[0031]
θ
′i←
τθ+(1-τ)θ
′i;
[0032]
奖励函数r
t
由安全性奖励函数r1和准确性奖励函数r2构成,其中r1的表示如下:
[0033][0034]
准确性奖励函数r2如下:
[0035][0036]
其中x是机甲车垂直中心到路面指定路线的距离。
[0037]
通过离线强化学习算法训练机甲车的自动行驶策略,然后在另一个路线上设置障碍物进行测试,迭代训练过程和测试过程,直到机甲车可以顺利完自动行驶的任务。
[0038]
尽管上述已经描述了发明的实施例,可以理解的是上述实施例是示例性,不能理解为对本发明的限制。

技术特征:
1.一种基于离线强化学习的机甲车自动行驶训练与控制方法,其特征在于,包括以下步骤:步骤1:通过使用机甲车遥控器或者app去控制机甲车按照地面的指定路线行驶,当机甲车遇到障碍物时手动控制进行避障操作,收集机甲车行驶过程中的数据,存储机甲车在行驶过程中每个时刻的环境状态s
e
、自身状态s
m
、机甲车控制行驶指令a和奖励信息r
t
,也就是存储机甲车行驶过程的轨迹数据t,利用存储的这些数据构建机甲车行驶数据集步骤2:在机甲车行驶数据集上使用离线强化学习算法bcq练机甲车的自动行驶控制策略;首先从机甲车行驶数据集中采集样本,每个样本包括机甲车在当前时刻的观测s、机甲车做出的动作a、下一时刻的观测s

以及当前动作的奖励r
t
;所述机甲车对当前时刻的观测s包括环境状态s
e
和自身状态s
m
;所述机甲车做出的动作a是机甲车控制行驶指令;采集到的样本通过使用生成模型g
ω
(s)重新生成,增加扰动神经网络ξ
φ
(s,a,φ)对动作添加扰动,扰动范围是[-φ,φ],采用变分自编码器vae(e
w1
,d
w2
),使得生成的状态动作对和机甲车在自动行驶过程中的状态动作对更加的相似;步骤3:将机甲车在自动行驶过程中的状态动作对和机甲车行驶数据集中的状态动作对的相似度建模成一个状态条件概率将策略表示为π,策略训练过程中,尽量减少机甲车行驶数据集中不存在的状态和动作,进而减少智能体对其q值的推测误差,使其估计更准确;步骤4:训练两个动作值网络对动作的q值进行评估,取它们的最小值作为动作值的估计;智能体执行这个网络返回的动作a,环境根据机甲车的中心到指定路线的偏移距离和是否碰撞到障碍物返回给智能体奖励,然后更新目标网络的参数θ和扰动网络算法的参数φ;步骤5:使用训练好的模型换到另外一条路线去测试机甲车的自动行驶控制策略,操作员时刻监测机甲车的自动行驶状态,收集其中完成程度比较好的数据,将其加入到机甲车行驶数据集对数据集进行随机分布;步骤6:迭代训练过程和测试过程,直到测试过程中机甲车可以自主完成行驶任务。2.根据权利要求1所述的一种基于离线强化学习的机甲车自动行驶训练与控制方法,其特征在于,机甲车自动行驶训练和控制方法需要的硬件包括:摄像头、机械云台、麦克纳姆轮、电机、感应装甲、遥控器。3.根据权利要求1所述的一种基于离线强化学习的机甲车自动行驶训练与控制方法,其特征在于,机甲车行驶过程中观测到的环境状态包括机甲车搭载的摄像头所获取到的图像视频信息;机甲车自身的状态包括行驶速度(v)、四个麦克纳姆轮中的发动机转速(ω1,ω2,ω3,ω4)、机甲车所在的位置(x,y)、机械云台旋转的角度(θ)、机甲车到障碍物的距离(d);机甲车的控制行驶指令a包括前进、后退、左移、右移、以及机械云台的朝向。4.根据权利要求1所述的一种基于离线强化学习的机甲车自动行驶训练与控制方法,其特征在于,决策更新过程中的奖励函数r
t
由安全性奖励函数r1和准确性奖励函数r2构成;所述的安全性奖励函数是指机甲车的感应装甲是否碰到路线中布置的障碍物,以及碰到障碍物之后机甲车自身的状态,环境反馈给智能体安全性奖励r1,如果没有发生碰撞,说明机甲车可以准确识别障碍物并躲避,获得的安全性奖励也就越多;所述的准确性奖励函数是
指机甲车与指定路线之间的偏移距离,环境反馈给智能体的准确性奖励r2,如果机甲车的偏移越少,说明和指定路线之间的差距越小,那么机甲车获得的准确性奖励也就越多。5.根据权利要求1所述的一种基于离线强化学习的机甲车自动行驶训练与控制方法,其特征在于,通过机甲车的摄像头获取到的环境观测信息和自身状态输入到特征网络,提取状态特征,然后策略网络根据状态特征输出相应的机甲车控制指令,多次进行训练和测试过程,直到机甲车可以自主完成行驶任务。

技术总结
本发明公开一种基于离线强化学习的机甲车自动行驶训练与控制方法,主要包括(1)人为控制机甲车按照制定路线行驶,获取机甲车行驶过程中的摄像头图像,位置信息和机甲车的状态信息,构建数据集;(2)使用离线强化学习算法在机甲车行驶数据集上训练,训练过程中在行驶控制指令中添加动作扰动;(3)获取机甲车的摄像头图像信息,使用特征网络提取机甲车自身位置和障碍物位置特征信息,Q网络和策略网络根据特征信息分别输出Q值和机甲车制行驶指令,设置安全性奖励函数和准确性奖励函数,智能体根据环境奖励反馈调整下一步行驶指令;(4)利用训练好的机甲车控制策略在真实环境中测试评估,迭代训练直到机甲车可以进行自动行驶和避障任务。障任务。障任务。


技术研发人员:周庆国 方家璇 王金强 雍宾宾 周睿 蒋远博 张胜杰
受保护的技术使用者:兰州大学
技术研发日:2023.03.28
技术公布日:2023/7/18
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐