一种无人车机动能力模型构建方法

文档序号:30073020发布日期:2022-05-18 02:32阅读:199来源:国知局
一种无人车机动能力模型构建方法

1.本发明涉及无人车自动控制领域,特别是涉及一种无人车机动能力模型构建方法。


背景技术:

2.对自动化技术要求不断提高的需求下,无人智能车已成为自动化物流运输、柔性生产组织等系统的关键设备。无人车可以在无人驾驶的情况下仅根据指令即可完成相应的行驶任务。目前无人车也被广泛应用到其他领域,例如,刑侦监视、警戒巡逻、定位引导、高危作业、特种作战、物资运输等任务。近年来,市场需求推动着无人车功能不断复杂化,无人车集群协同作业属于其热点技术之一。高动态情况下无人车的行使位置偏差,将会造成无人车个体和集群的任务失败,因此如何实现高动态情况下的高精度轨迹控制是无人车自动控制的关键之一。
3.当前,虽然无人车动力学、路径规划有了进一步突破,但与真正的自动化、智能化相比还有较大的差距。近年来,国内外围绕自动控制路径规划算法方面展开了大量的研究,并相应提出了许多可行的算法和控制流程,力求达到高精度实时自动化控制。在路径规划方面提出诸如图搜索、曲线拟合、数值优化、人工势场和采样等算法。但是这些算法没有直接考虑无人车控制指令,难以用于实际无人车控制。目前,控制策略主要考虑无人车运行稳定性和鲁棒性,并未考虑无人车控制指令所产生的驱动力关系对无人车运动的影响。因此如何得到无人车控制指令与无人车本身驱动力之间的对应关系,从而准确得到不同控制指令对应的无人车行使状态,是实现高动态情况下高精度性轨迹控制所需要解决的问题。


技术实现要素:

4.本发明的目的是解决现有技术的不足,提供一种无人车机动能力模型构建方法。
5.为了解决上述问题,本发明采用如下技术方案:
6.一种无人车机动能力模型构建方法,包括如下步骤:
7.步骤1:通过数据采集平台获取无人车的姿态数据;其中姿态数据用于训练模型;
8.步骤2:对采集的姿态数据,通过归一化和标准化处理后作为模型训练的输入变量和输出变量;
9.步骤3:基于归一化的姿态数据,通过长短期记忆神经网络完成模型的训练,获得模型,结束步骤;
10.所述步骤1中的姿态数据包括输入数据;输入数据包括无人车行驶状态时的速度、偏航角、电池电压以及对应的时间戳数据;速度包括当前时刻的速度以及下一时刻的速度,偏航角包括当前时刻偏航角和下一时刻偏航角;
11.姿态数据还包括输出数据;输出数据包括无人车的速度控制变量以及角度控制变量。
12.进一步的,所述步骤3中获得的模型包括输入层、隐藏层、训练层以及输出层;
13.所述输入层用于得到姿态数据中的输入数据集时,对数据进行特征提取,获取原始数据之间的特征关系;输入数据为无人车的速度、偏航角、电压、时间戳、下一时刻速度、下一时刻偏航角;
14.隐藏层用于根据输入数据,并基于训练获得的参数矩阵获得隐藏层输出;隐藏层输出会传输到输出层转换为输出数据;
15.所述训练层用于根据理论模型的输出值计算获得实际损失函数值;
16.所述输出层用于对隐藏层的输出数据进行反归一化和标准化处理,获得可输入无人小车的实际控制量。
17.进一步的,所述输入层获取原始数据的特征关系后,再将数据集划分,分为训练数据集和测试数据集;最后初始化网络模型参数,对数据进行归一化处理,再进行标准化处理;完成处理的数据会输入隐藏层。
18.进一步的,所述输入层中对数据的标准化处理包括如下过程:
19.设定获取的输入数据序列集为x,其中每类数据序列各自归纳为数据集,通过式(1.2)获得数据序列均值
[0020][0021]
其中,xi,i∈(1,m),表示数据序列集x中的第i个数据;m表示数据序列集中的数据数量;
[0022]
获得数据序列集的方差σ2,表示为:
[0023][0024]
通过式(1.3)获得标准化数据表示为:
[0025][0026]
其中,表示数据xi标准化后的数据。
[0027]
进一步的,所述隐藏层分为两层,每层设置有128个单元。
[0028]
进一步的,所述隐藏层中将归一化和标准化后的当前输入数据x
t
结合隐藏层的在上一时刻的历史信息输出c
t-1
以及上一时刻的隐藏层输出h
t-1
,获得当前时刻的历史信息输出c
t
以及当前时刻的隐藏层输出h
t

[0029]
进一步的,所述获得当前时刻的历史信息输出c
t
以及当前时刻的隐藏层输出 h
t
,具体包括如下过程:
[0030]
首先根据当前输入数据x
t
以及上一时刻的隐藏层输出h
t-1
,获得隐藏层中设置的遗忘门、输入门、输出门以及变换后的新的历史信息,如式(1.4)、(1.5)、 (1.6)以及(1.7)所示:
[0031]ft
=sigmoid(wfx
t
+ufh
t-1
+bf)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1.4)
[0032]it
=sigmoid(wix
t
+u
iht-1
+bi)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1.5)
[0033]ot
=sigmoid(wox
t
+u
oht-1
+bo)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1.6)
[0034][0035]
其中,f
t
表示t时刻的遗忘门;i
t
表示t时刻的输入门;o
t
表示t时刻的输出门;表
示t时刻通过变换后获得的新的历史信息;wf、wi、wo以及wc分别表示遗忘门、输入门、输出门以及历史信息中的输入层到隐藏层的参数举证; uf、ui、uo以及uc分别表示遗忘门、输入门、输出门以及历史信息中的隐藏层到隐藏层的自循环参数矩阵;bf、bi、bo以及bc分别表示遗忘门、输入门、输出门以及历史信息中的偏置参数矩阵;sigmoid表示sigmoid函数;tanh表示双曲正切函数;
[0036]
通过遗忘门f
t
和输入门i
t
分别控制需要遗忘的上一时刻的历史信息输出c
t-1
以及需要保存的新的历史信息获得当前时刻的历史信息输出c
t
,表示为:
[0037][0038]
其中,

表示矩阵的哈达玛积;
[0039]
通过输出门o
t
根据当前时刻的历史信息输出c
t
,获得当前时刻的隐藏层输出h
t
,如式(1.9):
[0040]ht
=o
t

tanh(c
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1.9)
[0041]
其中,tanh表示双曲正切函数。
[0042]
本发明的有益效果为:
[0043]
通过利用长短期记忆神经网络(long short-term memory,lstm)完成无人车自动控制模型的训练,在输入与反馈以及避免爆发三者之间组成的一个长时间的时间差来维持一个不间断的误差值,最终达到避免梯度消失或梯度爆炸的问题;
[0044]
通过设置无人车当前时刻速度、当前时刻偏航角、电压值、时间戳、下一时刻速度和下一时刻偏航角数据作为模型训练的输入,将速度控制变量和角度控制变量作为模型训练的输出,准确表达无人车控制指令与无人车本身驱动力之间的关系,保证无人车能够准确识别并执行输入指令。
附图说明
[0045]
图1为本发明实施例一的模型训练流程图;
[0046]
图2为本发明实施例一的模型输入输出关系示意图;
[0047]
图3为本发明实施例一的t时刻lstm网络结构图;
[0048]
图4为本发明实施例一的无人车在右转5
°
时从30到53再到30的速度变化图;
[0049]
图5为本发明实施例一的无人车速度从30到53再到30变化时右转5
°
的角度变化图;
[0050]
图6为本发明实施例一的无人车在右转10
°
时从30到53再到30的速度变化图;
[0051]
图7为本发明实施例一的无人车速度从30到53再到30变化时右转10
°
的角度变化图;
[0052]
图8为本发明实施例一的无人车在左转8
°
时从30到53再到30的速度变化图;
[0053]
图9为本发明实施例一的无人车速度从30到53再到30变化时左转8
°
的角度变化图;
[0054]
图10为本发明实施例一的无人车在左转12
°
时从30到53再到30的速度变化图;
[0055]
图11为本发明实施例一的无人车速度从30到53再到30变化时左转12
°
的角度变化图;
[0056]
图12为本发明实施例一的无人车右转10
°
且速度由1m/s到2m/s再到 1m/s的轨迹
图;
[0057]
图13为本发明实施例一的无人车右转5
°
且速度由1m/s到2m/s再到1m/s 的轨迹图;
[0058]
图14为本发明实施例一的无人车左转8
°
且速度由1m/s到2m/s再到1m/s 的轨迹图;
[0059]
图15为本发明实施例一的无人车左转12
°
且速度由1m/s到2m/s再到 1m/s的轨迹图。
具体实施方式
[0060]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0061]
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0062]
实施例一:
[0063]
一种无人车机动能力模型构建方法,包括如下步骤:
[0064]
步骤1:通过数据采集平台获取无人车的姿态数据;其中姿态数据用于训练模型;
[0065]
步骤2:对采集的姿态数据,通过归一化和标准化处理后作为模型训练的输入变量和输出变量;
[0066]
步骤3:基于归一化的姿态数据,通过长短期记忆神经网络(long short-termmemory,lstm)完成模型的训练,获得模型,结束步骤。
[0067]
所述步骤1中的姿态数据包括输入数据和输出数据两部分,其中输入数据包括无人车行驶状态时的速度v、电池电压u、偏航角yaw以及对应的时间戳数据。由于无人车电池电压会随着行驶过程逐渐降低,在不同电压下无人车接收到相同的控制指令所响应的加速度是不同的。所以同样需要考虑电池电压对于该模型的影响,增加电池电压作为输入变量,这样可以更准确的控制无人车;输出数据包括无人车的控制变量,包括速度控制变量以及角度控制变量。其中输入数据中的速度v包括当前时刻的速度v
t
以及下一时刻的速度v
t+1
,偏航角包括当前时刻偏航角yaw
t
和下一时刻偏航角yaw
t+1
。其中通过输入下一时刻速度v
t+1
以及下一时刻偏航角yaw
t+1
,结合电压u,使模型获得无人车的动力控制与输出数据的关系,使输出到无人车的控制变量包含加速度和角加速度。
[0068]
所述步骤2中,确保迭代模型的准确性,本模型将每组数据前五条作为数据的启动前缀,保证模型顺利运行。
[0069]
如图1所示,所述步骤3中获得的模型包括输入层、隐藏层、训练层以及输出层。其中模型的时间步设置为5,模型的学习率设置为0.005,迭代次数设置为200次。模型的时间步为5表示模型的启动前缀为5条数据
[0070]
所述输入层用于得到姿态数据中的输入数据集时,对数据进行特征提取,主要目的是获取原始数据之间的特征关系,输入数据为无人车的速度、偏航角、电压、时间戳、下一时刻速度、下一时刻偏航角;获取原始数据的特征关系后,再将数据集划分,分为训练数据集和测试数据集;最后初始化网络模型参数,对数据进行归一化处理,再进行标准化处理;完成处理的数据会输入隐藏层。输入层设置有6个单元,在本例中单元表示神经元节点。
[0071]
所述隐藏层分为两层,每层设置有128个单元,在保证模型预测的准确率的前提下,尽可能降低训练花费的时间。隐藏层用于根据输入数据,并基于训练获得的参数矩阵获得隐藏层输出,隐藏层输出会传输到输出层转换为输出数据。
[0072]
所述训练层用于根据理论模型的输出值与理论的输出值进行比较,计算获得实际损失函数值,并反馈给隐藏层,实现对隐藏层输出数据的校正。
[0073]
所述输出层用于对隐藏层的输出数据进行反归一化和标准化处理,获得可输入无人小车的实际控制量。输出层设置有2个单元。
[0074]
如图2所示,在输入层中,设定了无人车训练的输入数据序列,包括无人车行驶时的速度v
t
、行驶时的偏航角yaw
t
、行驶时的电压v、下一时刻的速度v
t+1
和方向偏航角yaw
t+1
。输入层采集的数据包括直行和n种设定的不同转向角度的策略,在本例中不同转向角度包括左转8
°
、左转12
°
、右转5
°
以及右转10
°
等;为了保证数据的充足,在每种策略采集51组数据,合计255组数据,每组数据包括若干条数据,每条数据均包括模型的输入数据和输出数据,即输入的速度、偏航角、电压、时间戳、下一时刻速度、下一时刻偏航角,以及输出的速度控制量、角度控制量,需要说明的是每条数据中的输入数据和输出数据不同,保证用于训练的数据的多样性。在本例中输入层采集的每条数据还包括无人小车的 x方向加速度、y方向加速度、z方向加速度、目标速度、目标角度等姿态信息,需要说明的是这些数据用于判断无人小车的运动姿态,并不会参与模型的训练和输出过程。
[0075]
在输入层中,对数据的标准化处理包括如下过程:
[0076]
设定获取的输入数据序列集为x,其中每类数据序列各自归纳为数据集,通过式(1.2)获得数据序列均值
[0077][0078]
其中,xi,i∈(1,m),表示数据序列集x中的第i个数据;m表示数据序列集中的数据数量。进一步的获得数据序列集的方差σ2,表示为:
[0079][0080]
通过式(1.3)获得标准化数据表示为:
[0081][0082]
其中,表示数据xi标准化后的数据。
[0083]
如图3所示,在隐藏层中,将归一化和标准化后的当前输入数据x
t
结合隐藏层的在上一时刻的历史信息输出c
t-1
以及上一时刻的隐藏层输出h
t-1
,获得当前时刻的历史信息输出c
t
以及当前时刻的隐藏层输出h
t
;在本例中c
t-1
为上一个隐藏层的lstm细胞的状态,h
t-1
为上一个lstm细胞的输出;获得当前时刻t的隐藏层输出具体包括如下过程:
[0084]
首先根据当前输入数据x
t
以及上一时刻的隐藏层输出h
t-1
,获得隐藏层中设置的
遗忘门、输入门、输出门以及变换后的新的历史信息,如式(1.4)、(1.5)、(1.6)以及(1.7)所示:
[0085]ft
=sigmoid(wfx
t
+ufh
t-1
+bf)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1.4)
[0086]it
=sigmoid(wix
t
+u
iht-1
+bi)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1.5)
[0087]ot
=sigmoid(wox
t
+u
oht-1
+bo)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1.6)
[0088][0089]
其中,f
t
表示t时刻的遗忘门;i
t
表示t时刻的输入门;o
t
表示t时刻的输出门;表示t时刻通过变换后获得的新的历史信息;wf、wi、wo以及wc分别表示遗忘门、输入门、输出门以及历史信息中的输入层到隐藏层的参数举证; uf、ui、uo以及uc分别表示遗忘门、输入门、输出门以及历史信息中的隐藏层到隐藏层的自循环参数矩阵;bf、bi、bo以及bc分别表示遗忘门、输入门、输出门以及历史信息中的偏置参数矩阵;sigmoid表示sigmoid函数;tanh表示双曲正切函数。
[0090]
通过遗忘门f
t
和输入门i
t
分别控制需要遗忘的上一时刻的历史信息输出c
t-1
以及需要保存的新的历史信息获得当前时刻的历史信息输出c
t
,表示为:
[0091][0092]
其中,

表示矩阵的哈达玛积。
[0093]
通过输出门o
t
根据当前时刻的历史信息输出c
t
,获得当前时刻的隐藏层输出h
t
,如式(1.9):
[0094]ht
=o
t

tanh(c
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1.9)
[0095]
其中,tanh表示双曲正切函数。
[0096]
所述训练层中,通过损失函数获取损失函数值,包括回归损失函数以及分类损失函数,在本例中通过回归损失函数中的均方误差函数,获得损失函数值,具体包括如下式子:
[0097][0098]
其中,yi表示期望的理想输出数据,通过当前输入数据x
t
直接获得;表示模型拟合后的输出数据;n表示设置的范围值大小;mse表示均方误差。根据均方误差的定义,可知mse越小,说明模型选择和拟合更好,数据预测也越准确。
[0099]
如图4-11所示,在实施过程中,还通过均方误差函数对模型输出的准确度进行校验。其中设定无人车速度控制指令为30到53到30,角度分别为右转5 度、右转10度、左转8度、左转12度,获取训练预测模型的输出结果。根据训练预测模型输出结果与期望输出进行比对,能够看出右转5度时的速度控制量均方误差为2.332,角度控制量均方误差为0.0221;右转10度时的速度控制量均方误差为5.8084、角度控制量均方误差为0.0012;左转8度时的速度控制量均方误差为0.0167,角度控制量均方误差为0.0001;左转12度时的速度控制量均方误差为1.2095,角度控制量均方误差为0.0091。实验结果表明本实施例中基于lstm的无人小车模型的预测结果与实际需求结果相近,满足预测需求。
[0100]
如图12-15所示,通过上述设定为右转5度、右转10度、左转8度、左转 12度时获得的4组预测数据模型,结合搭建的系统平台,定位方式为单目视觉加里程计融合方式定位,进行轨迹验证,获取实际与模型验证后的轨迹图,进行误差分析,进一步验证本实施例中的
模型的可靠性。将获得的右转10度、右转 5度、左转8度、左转12度,速度皆为1m/s到2m/s再到1m/s的训练模型导入平台,获训练模型控制无人小车得到的轨迹图。将练模型控制无人小车得到的轨迹图与模拟获得的实际轨迹图进行对比;其中图12中轨迹整体误差率为 8.937%,图13中轨迹整体误差率为8.423%,图14中轨迹的整体误差率为 6.437%,图15中轨迹的整体误差率为7.902%。通过上述实验结果分析,在存在环境因素影响的情况下,训练模型得到的轨迹误差率整体都在10%以下,因此本实施例的方案获得的模型是准确可靠的。
[0101]
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1