CN110631592A - 基于lstm模型的室内自主导航agv运动轨迹融合方法 - Google Patents
基于lstm模型的室内自主导航agv运动轨迹融合方法 Download PDFInfo
- Publication number
- CN110631592A CN110631592A CN201911033073.XA CN201911033073A CN110631592A CN 110631592 A CN110631592 A CN 110631592A CN 201911033073 A CN201911033073 A CN 201911033073A CN 110631592 A CN110631592 A CN 110631592A
- Authority
- CN
- China
- Prior art keywords
- yaw
- lstm
- agv
- odom
- combined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
本发明公开了一种基于LSTM模型的室内自主导航AGV运动轨迹融合方法,该方法首先采集AGV在一次运动的过程中里程计、惯性测量单元、经卡尔曼滤波融合里程计和惯性测量单元数据后的数据,经处理后得到AGV角度数据,将角度数据进行分组得到训练集和测试集,利用训练集对搭建的LSTM网络进行训练,测试集测试训练结果;将经过训练的模型部署上线后,向模型实时输入通过里程计和惯性测量单元得到的角度数据,得到实时的AGV角度,结合该角度和里程计计算AGV的运动轨迹。本发明在保证精度的基础上,不需要确定噪声的统计特性,不易受到外界环境影响,节约了时间成本,且不需要在输入传感器数据时进行传感器数据的同步。
Description
技术领域
本发明涉及室内AGV信息感知与数据融合技术领域,具体涉及一种基于LSTM模型的室内自主导航AGV运动轨迹融合方法。
背景技术
对于能够实现室内自主导航的自动导引运输车,以下简称室内自主导航AGV(Automated Guided Vehicle),要使它能够保持长期正常工作的状态,最重要的一点是要保证它对自身的定位准确。然而,仅靠其自身内部的里程计很难对AGV的状态进行正确的估计,它是依靠车轮转动圈数来对AGV的位置进行估计的,但由于存在车轮打滑和累计误差的情况,所以里程计会出现一定的偏差。因此需要多种传感器互相协作来完成这一任务,实现AGV对自身位置的准确估计,其中十分常用的传感器是惯性测量单元。
数据融合方法主要包括加权平均法、卡尔曼滤波法、多贝叶斯估计法、D-S证据推理方法、产生式规则法、模糊逻辑推理法、人工神经网络法等。其中,由于卡尔曼滤波方法能够用于任何含有不确定信息的动态系统,对系统下一步的状态做出有根据的预测,所以当前人们经常使用卡尔曼滤波法对从传感器上获取的信息进行数据融合,来对AGV的姿态和位置进行估计。
虽然使用卡尔曼滤波法的融合效果比较精确,但它仍然存在一定的限制。该方法在使用时需要预先确定噪声的统计特性,且在面对复杂多变的环境时,噪声的统计特性容易受到外界环境的影响而改变。因此当有设备更换或者外界环境发生改变时,经常需要重新通过实验来确定噪声的统计特性,这会占用大量的时间成本,对于科学研究或者产品的实际使用都是不利的。
传统的人工神经网络融合方法多是基于BP神经网络、SOFM等浅层网络模型,这些模型易出现过拟合、模型训练陷入局部极小、收敛速度过慢等问题,导致算法效率降低、特征提取分类能力变弱,且无法有效地处理高维数据。但是随着近年来人工智能算法发展迅速,人工神经网络方法又重新进入人们的视野,使用该方法可以不需要预先确定噪声的统计特性,且实现过程简单,提高了系统对不同环境的适应能力。
发明内容
本发明的目的是为了能够降低时间成本,提高系统对环境的适应性,提供一种基于LSTM模型的室内自主导航AGV运动轨迹融合方法,该方法采集各种传感器数据并进行预处理,得到能输入到LSTM模型中的数据格式,将这些数据输入LSTM模型,对该模型进行训练,在使用时通过直接将训练完毕的模型部署在待使用的软件平台上来完成对多传感器数据的实时融合。
本发明的目的可以通过采取如下技术方案达到:
一种基于LSTM模型的室内自主导航AGV运动轨迹融合方法,所述的运动轨迹融合方法包括以下步骤:
S1、采集数据:
首先设置参考坐标系,以AGV启动位置为原点,启动位置的车头方向为x轴正向,启动位置车头朝向的左方向为y轴正向,垂直地面向上的方向为z轴正向,AGV逆时针旋转为正。控制AGV在一空旷范围内以一定的线速度和角速度自由运动,保证AGV在结束运动时,其至少绕z轴旋转了360度。采集通过里程计(以下简称odom)测量得到的AGV偏航角(即AGV绕z轴旋转的角度,以下简称yaw),把通过odom测量得到的yaw称为odom_yaw;采集通过惯性测量单元(以下简称imu)测量得到的yaw,把通过imu测量得到的yaw称为imu_yaw;同时通过卡尔曼滤波融合方法融合odom与imu,得到融合里程计(以下简称ekf_combined),采集通过ekf_combined测量得到的yaw,并将其作为融合结果的期望值,把通过ekf_combined测量得到的yaw称为ekf_combined_yaw;
S2、制作数据集并划分训练集与测试集:
将odom_yaw、imu_yaw、ekf_combined_yaw分别保存到3个数组中,得到3组数据,第1组为odom_yaw;第2组为imu_yaw,第3组为ekf_combined_yaw。按照时间顺序,取第1、2组的同一位置的数据和第3组对应的下一个位置的数据为1个批次,取总批次的前70%-85%为训练集,其余为测试集;
S3、建立LSTM模型:
所采用的LSTM模型包含1个输入层,2个隐藏层,1个Dropout层和1个全连接层,训练数据按顺序通过输入层、第1个隐藏层、第2个隐藏层、Dropout层、全连接层,最后输出得到融合数据,称LSTM模型输出的融合数据为lstm_combined_yaw;
S4、训练并保存LSTM模型:
每个隐藏层采用的激活函数为Relu,优化器采用Adam方法,损失函数采用均方差MSE;初始学习率为0.001,输入训练数据对LSTM模型进行训练,训练完成后保存到指定路径;
S5、部署模型上线,实现实时融合数据:
利用gRPC框架,分别建立服务端和客户端,服务端将已训练的模型部署至线上,客户端接收待融合的odom_yaw与imu_yaw作为其输入,输出lstm_combined_yaw;
S6、根据odom实时测量得到的AGV位移和LSTM模型实时输出的lstm_combined_yaw计算AGV的运动轨迹。
进一步地,所述的步骤S1的实现过程如下:
为保证数据集质量,需要采集同一时刻的odom_yaw、imu_yaw、ekf_combined_yaw,由于odom、imu、ekf_combined直接输出的数据是四元数,所以需要将四元数转换为yaw,四元数是表示物体在三维空间中旋转的一种方法,它包含四个参数:x,y,z,w;x表示物体绕x轴的旋转,y表示物体绕y轴的旋转,z表示物体绕z轴的旋转,且有约束如下式:
x2+y2+z2+w2=1
根据下式计算把四元数转换为yaw:
yaw=arctan{2(w×z+x×y)÷[1-2(y2+z2)]}
其中,x、y、z、w为传感器测得的四元数的4个参数,即x表示AGV绕x轴的旋转,y表示AGV绕y轴的旋转,z表示AGV绕z轴的旋转。
进一步地,所述的步骤S2中一个批次的具体组成描述为:
一个批次的数据包含有1个odom_yaw值,1个imu_yaw值,以及1个ekf_combined_yaw值,表示为:
ODOM_YAWi={odom_yawt}
IMU_YAWi={imu_yawt}
EKF_COMBINED_YAWi={ekf_combined_yawt+Δt}
其中,t为该组数据中第一个数据开始采集的时间,Δt为采集间隔,ODOM_YAWi为第i个批次中的odom_yaw,IMU_YAWi为第i个批次中的imu_yaw,EKF_COMBINED_YAWi为第i个批次中的ekf_combined_yaw。
进一步地,所述的步骤S3中所建立的LSTM模型,输入层包含2个神经元,分别输入前一个时刻的odom_yaw和imu_yaw;输出层只包含1个神经元,输出lstm_combined_yaw;每个隐藏层包含128个LSTM单元,LSTM单元除神经元外,还包括遗忘门、输入门、输出门,遗忘门决定从神经元中舍弃的信息量,输入门决定向神经元中保存的信息量,输出门决定从神经元中输出的信息量;
LSTM单元的关键公式如下:
ft=σ(Wf·[ht-1,xt]+bf)
it=σ(Wi·[ht-1,xt]+bi)
Ct0=tanh(Wc·[ht-1,xt]+bc)
Ct=ft×Ct-1+it×Ct0
ot=σ(Wo·[ht-1,xt]+bo)
ht=ot×tanh(Ct)
其中,ft,it,Ct0,Ct,ot,ht,ht-1分别表示遗忘门限,输入门限,前一时刻神经元状态,当前神经元状态,输出门限,当前神经元的输出,前一时刻神经元的输出;Wf,Wi,Wc,Wo分别表示的是遗忘门、输入门、神经元、输出门的权重矩阵;bf,bi,bc,bo分别表示的是遗忘门、输入门、神经元、输出门的偏置向量;tanh为激活函数;σ为sigmod函数。
进一步地,所述的步骤S4中隐藏层激活函数Relu公式:
Relu(x)=max(0,x)
损失函数为均方差,其计算公式:
其中,yi是输入的训练值,y’i是LSTM输出的预测值,n为数据总批次数,共训练100轮,每次训练包含72个批次,训练采用Google开源的keras深度学习框架,训练完成后保存模型到指定路径。
进一步地,所述的步骤S5实现过程如下:
服务端将保存的LSTM模型部署上线,等待客户端向服务端发送请求,控制AGV行走一个圆形,同时客户端实时处理odom与imu测得的数据,获得odom_yaw和imu_yaw后将其通过客户端发送给服务端;服务端接收到客户端请求后给予响应,返回输出结果lstm_combined_yaw。
进一步地,所述的步骤S6中计算AGV运动轨迹的过程如下:
首先计算odom测得的位移量,计算公式为:
Δx=odomX1-odomX0
Δy=odomY1-odomY0
其中,odomX1、odomY1表示当前时刻odom测得的小车位置,odomX0、odomY0表示前一时刻odom测得的小车位置,Δx、Δy、Δs分别表示odom测得的AGV在x方向的位移量、AGV在y方向的位移量、两个时刻之间的直线距离;
结合lstm_combined_yaw,得到融合后AGV在坐标系中的位置,计算方法如下:
ΔX=Δs×cos(lstm_combined_yaw)
ΔY=Δs×sin(lstm_combined_yaw)
lstm_combined_x=lstm_combined_x+ΔX
lstm_combined_y=lstm_combined_y+ΔY
其中ΔX、ΔY分别表示AGV按lstm_combined_yaw这个角度运动时在x方向和y方向的位移量,lstm_combined_x、lstm_combined_y分别表示融合后AGV在坐标系中的x、y坐标,lstm_combined_x和lstm_combined_y在AGV启动时初始化为0。
本发明相对于现有技术具有如下的优点及效果:
(1)对比卡尔曼滤波融合方法,本发明不需要预先确定噪声的统计特性,节约了进行数据融合的时间成本;
(2)对比卡尔曼滤波融合方法,本发明在处理传感器数据时,不要求对传感器的输入数据进行时间同步,简化了计算步骤;
(3)对比卡尔曼滤波融合方法,本发明不受外部环境的影响,具有更好的鲁棒性;
(4)对比传统的神经网络数据融合方法,本发明使用LSTM模型,有助于利用传感器数据的时序性,提高数据融合精度;
附图说明
图1是本发明中公开的基于LSTM模型的室内自主导航AGV运动轨迹融合方法流程图;
图2是LSTM模型结构示意图
图3是本发明实施例中采集训练集时AGV的行走轨迹示意图;
图4是LSTM单元结构示意图;
图5是本发明实施例中采用融合算法前后AGV的轨迹对比图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,本实施例提供一种基于LSTM模型的室内自主导航AGV运动轨迹融合方法,包括以下6个步骤:
S1、采集数据:
首先设置参考坐标系,以AGV启动位置为原点,启动位置的车头方向为x轴正向,启动位置车头朝向的左方向为y轴正向,垂直地面向上的方向为z轴正向,AGV逆时针旋转为正。控制AGV在一空旷范围内以一定的线速度和角速度自由运动,保证AGV在结束运动时,其至少绕z轴旋转了360度。采集通过里程计(以下简称odom)测量得到的AGV偏航角(即AGV绕z轴旋转的角度,以下简称yaw),把通过odom测量得到的yaw称为odom_yaw;采集通过惯性测量单元(以下简称imu)测量得到的yaw,把通过imu测量得到的yaw称为imu_yaw;同时通过卡尔曼滤波融合方法融合odom与imu,得到融合里程计(以下简称ekf_combined),采集通过ekf_combined测量得到的yaw,并将其作为融合结果的期望值,把通过ekf_combined测量得到的yaw称为ekf_combined_yaw;
S2、制作数据集并划分训练集与测试集:
将odom_yaw、imu_yaw、ekf_combined_yaw分别保存到3个数组中,得到3组数据,第1组为odom_yaw;第2组为imu_yaw,第3组为ekf_combined_yaw。按照时间顺序,取第1、2组的同一位置的数据和第3组对应的下一个位置的数据为1个批次,取总批次的前70%-85%为训练集,其余为测试集;
S3、建立LSTM模型:
所采用的LSTM模型包含1个输入层,2个隐藏层,1个Dropout层和1个全连接层,训练数据按顺序通过输入层、第1个隐藏层、第2个隐藏层、Dropout层、全连接层,最后输出得到融合数据,称LSTM模型输出的融合数据为lstm_combined_yaw;
S4、训练并保存LSTM模型:
每个隐藏层采用的激活函数为Relu,优化器采用Adam方法,损失函数采用均方差MSE;初始学习率为0.001,输入训练数据对LSTM模型进行训练,训练完成后保存到指定路径;
S5、部署模型上线,实现实时融合数据:
利用gRPC框架,分别建立服务端和客户端,服务端将已训练的模型部署至线上,客户端接收待融合的odom_yaw与imu_yaw作为其输入,输出lstm_combined_yaw;
S6、根据odom实时测量得到的AGV位移和LSTM模型实时输出的lstm_combined_yaw计算AGV的运动轨迹。
实施例二
本实施例中,步骤S1的具体实施方式如下:
控制AGV在室内较空旷场地中行走轨迹如图3所示,并在期间包含AGV的旋转运动。为保证数据集质量,需要采集同一时刻的odom_yaw、imu_yaw、ekf_combined_yaw。由于odom、imu、ekf_combined直接输出的数据是四元数,所以需要将四元数转换为yaw。四元数是表示物体在三维空间中旋转的一种方法。它包含四个参数:x,y,z,w。x表示物体绕x轴的旋转,y表示物体绕y轴的旋转,z表示物体绕z轴的旋转,且有约束如下式:
x2+y2+z2+w2=1
根据下式可计算把四元数转换为yaw:
yaw=arctan{2(w×z+x×y)÷[1-2(y2+z2)]}
其中,x、y、z、w为传感器测得的四元数的4个参数,即x表示AGV绕x轴的旋转,y表示AGV绕y轴的旋转,z表示AGV绕z轴的旋转;
步骤S2的具体实施方式如下:
保存采集到的odom_yaw、imu_yaw、ekf_combined_yaw,得到3列数组。接下来结合表1来做进一步说明。
表1.数据分组方式表
如表1,假设每个数组均采集到15个数据,将表1中被粗边框包围的部分设为一个批次,下一个批次则将粗边框向下移动1个单元格,所以表中共有14个批次,取总批次的前80%组成训练集,后20%组成测试集,则有前11个批次组成训练集,后3个批次组成测试集。训练集和测试集又各自人为的分为两部分,训练集包含train_X和train_Y,测试集包括test_X和test_Y,其中train_X和test_X包含odom_yaw和imu_yaw,train_Y和test_Y包含ekf_combined_yaw。
步骤S3的具体实施方式如下:
所建立的LSTM模型,输入层包含2个神经元,分别输入前一个时刻的odom_yaw和imu_yaw;输出层只包含1个神经元,输出lstm_combined_yaw;每个隐藏层包含128个LSTM单元,LSTM单元除神经元外,还包括遗忘门、输入门、输出门,遗忘门决定从神经元中舍弃的信息量,输入门决定向神经元中保存的信息量,输出门决定从神经元中输出的信息量。LSTM单元的结构如图4所示。
LSTM单元的关键公式如下:
ft=σ(Wf·[ht-1,xt]+bf)
it=σ(Wi·[ht-1,xt]+bi)
Ct0=tanh(Wc·[ht-1,xt]+bc)
Ct=ft×Ct-1+it×Ct0
ot=σ(Wo·[ht-1,xt]+bo)
ht=ot×tanh(Ct)
其中,ft,it,Ct0,Ct,ot,ht,ht-1分别表示遗忘门限,输入门限,前一时刻神经元状态,当前神经元状态,输出门限,当前神经元的输出,前一时刻神经元的输出;Wf,Wi,Wc,Wo分别表示的是遗忘门、输入门、神经元、输出门的权重矩阵;bf,bi,bc,bo分别表示的是遗忘门、输入门、神经元、输出门的偏置向量;tanh为激活函数;σ为sigmod函数;
步骤S4的具体实施方式如下:
输入数据对已建立的LSTM模型进行训练,共训练100轮,每次训练包含72个批次。训练采用Google开源的keras深度学习框架。训练完成后保存模型到指定路径。
步骤S5的具体实施方式如下:
服务端将保存的LSTM模型部署上线,等待客户端向服务端发送请求。控制小车行走一个圆形,同时客户端实时处理odom与imu测得的数据,获得odom_yaw和imu_yaw,并把它们通过客户端发送给服务端。服务端接收到客户端请求后给予响应,返回输出结果lstm_combined_yaw。
步骤S6的具体实施方法如下:
计算AGV运动轨迹的方法如下:
首先计算odom测得的位移量,计算公式为:
Δx=odomX1-odomX0
Δy=odomY1-odomY0
其中,odomX1、odomY1表示当前时刻odom测得的小车位置,odomX0、odomY0表示前一时刻odom测得的小车位置,Δx、Δy、Δs分别表示odom测得的AGV在x方向的位移量、AGV在y方向的位移量、两个时刻之间的直线距离;
结合lstm_combined_yaw,得到融合后AGV在坐标系中的位置,计算方法如下:
ΔX=Δs×cos(lstm_combined_yaw)
ΔY=Δs×sin(lstm_combined_yaw)
lstm_combined_x=lstm_combined_x+ΔX
lstm_combined_y=lstm_combined_y+ΔY
其中ΔX、ΔY分别表示AGV按lstm_combined_yaw这个角度运动时在x方向和y方向的位移量,lstm_combined_x、lstm_combined_y分别表示融合后AGV在坐标系中的x、y坐标,lstm_combined_x和lstm_combined_y在AGV启动时初始化为0。
如图5,图5中虚线部分为根据odom实时测量得到的AGV位移数据绘制的AGV运动轨迹,实线部分为根据odom实时测量得到的AGV位移数据与LSTM模型实时输出的lstm_combined_yaw计算得到的轨迹。可以肯定的是,该方法在一定精度上起到了融合的作用,且该模型一旦训练完成,就可以不用确定噪声的统计特性。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种基于LSTM模型的室内自主导航AGV运动轨迹融合方法,其特征在于,所述的运动轨迹融合方法包括以下步骤:
S1、采集数据:
首先设置参考坐标系,以AGV启动位置为原点,启动位置的车头方向为x轴正向,启动位置车头朝向的左方向为y轴正向,垂直地面向上的方向为z轴正向,AGV逆时针旋转为正,控制AGV在一空旷范围内以一定的线速度和角速度自由运动,保证AGV在结束运动时,其至少绕z轴旋转360度,采集通过里程计odom测量得到的AGV偏航角,即AGV绕z轴旋转的角度,以下简称yaw,把通过odom测量得到的yaw称为odom_yaw;采集通过惯性测量单元imu测量得到yaw,把通过imu测量得到的yaw称为imu_yaw;同时通过卡尔曼滤波融合方法融合odom与imu,得到融合里程计,以下简称ekf_combined,采集通过ekf_combined测量得到的yaw,并将其作为融合结果的期望值,把通过ekf_combined测量得到的yaw称为ekf_combined_yaw;
S2、制作数据集并划分训练集与测试集:
将odom_yaw、imu_yaw、ekf_combined_yaw分别保存到3个数组中,得到3组数据,第1组为odom_yaw;第2组为imu_yaw,第3组为ekf_combined_yaw,按照时间顺序,取第1、2组的同一位置的数据和第3组对应的下一个位置的数据为1个批次,取总批次的前70%-85%为训练集,其余为测试集;
S3、建立LSTM模型:
所采用的LSTM模型包含1个输入层,2个隐藏层,1个Dropout层和1个全连接层,训练数据按顺序通过输入层、第1个隐藏层、第2个隐藏层、Dropout层、全连接层,最后输出得到融合数据,称LSTM模型输出的融合数据为lstm_combined_yaw;
S4、训练并保存LSTM模型:
每个隐藏层采用的激活函数为Relu,优化器采用Adam方法,损失函数采用均方差MSE;初始学习率为0.001,输入训练数据对LSTM模型进行训练,训练完成后保存到指定路径;
S5、部署模型上线,实现实时融合数据;
利用gRPC框架,分别建立服务端和客户端,服务端将已训练的模型部署至线上,客户端接收待融合的odom_yaw与imu_yaw作为其输入,输出lstm_combined_yaw;
S6、根据odom实时测量得到的AGV位移和LSTM模型实时输出的lstm_combined_yaw计算AGV的运动轨迹。
2.根据权利要求1所述的基于LSTM模型的室内自主导航AGV运动轨迹融合方法,其特征在于,所述的步骤S1的实现过程如下:
采集同一时刻的odom_yaw、imu_yaw、ekf_combined_yaw,由于odom、imu、ekf_combined直接输出的数据是四元数,将四元数转换为yaw,其中,四元数是表示物体在三维空间中旋转的一种方法,它包含四个参数:x,y,z,w;x表示物体绕x轴的旋转,y表示物体绕y轴的旋转,z表示物体绕z轴的旋转,且有约束如下式:
x2+y2+z2+w2=1
根据下式计算把四元数转换为yaw:
yaw=arctan{2(w×z+x×y)÷[1-2(y2+z2)]}
其中,x、y、z、w为传感器测得的四元数的4个参数,即x表示AGV绕x轴的旋转,y表示AGV绕y轴的旋转,z表示AGV绕z轴的旋转。
3.根据权利要求1所述的基于LSTM模型的室内自主导航AGV运动轨迹融合方法,其特征在于,所述的步骤S2中一个批次的具体组成描述为:
一个批次的数据包含有1个odom_yaw值,1个imu_yaw值,以及1个ekf_combined_yaw值,表示为:
ODOM_YAWi={odom_yawt}
IMU_YAWi={imu_yawt}
EKF_COMBINED_YAWi={ekf_combined_yawt+Δt}
其中,t为该组数据中第一个数据开始采集的时间,Δt为采集间隔,ODOM_YAWi为第i个批次中的odom_yaw,IMU_YAWi为第i个批次中的imu_yaw,EKF_COMBINED_YAWi为第i个批次中的ekf_combined_yaw。
4.根据权利要求1所述的基于LSTM模型的室内自主导航AGV运动轨迹融合方法,其特征在于,所述的步骤S3中所建立的LSTM模型,输入层包含2个神经元,分别输入前一个时刻的odom_yaw和imu_yaw;输出层只包含1个神经元,输出lstm_combined_yaw;每个隐藏层包含128个LSTM单元,LSTM单元除神经元外,还包括遗忘门、输入门、输出门,遗忘门决定从神经元中舍弃的信息量,输入门决定向神经元中保存的信息量,输出门决定从神经元中输出的信息量;
LSTM单元的关键公式如下:
ft=σ(Wf·[ht-1,xt]+bf)
it=σ(Wi·[ht-1,xt]+bi)
Ct0=tanh(Wc·[ht-1,xt]+bc)
Ct=ft×Ct-1+it×Ct0
ot=σ(Wo·[ht-1,xt]+bo)
ht=ot×tanh(Ct)
其中,ft,it,Ct0,Ct,ot,ht,ht-1分别表示遗忘门限,输入门限,前一时刻神经元状态,当前神经元状态,输出门限,当前神经元的输出,前一时刻神经元的输出;Wf,Wi,Wc,Wo分别表示的是遗忘门、输入门、神经元、输出门的权重矩阵;bf,bi,bc,bo分别表示的是遗忘门、输入门、神经元、输出门的偏置向量;tanh为激活函数;σ为sigmod函数。
6.根据权利要求1所述的基于LSTM模型的室内自主导航AGV运动轨迹融合方法,其特征在于,所述的步骤S5实现过程如下:
服务端将保存的LSTM模型部署上线,等待客户端向服务端发送请求,控制AGV行走一个圆形,同时客户端实时处理odom与imu测得的数据,获得odom_yaw和imu_yaw后将其通过客户端发送给服务端;服务端接收到客户端请求后给予响应,返回输出结果lstm_combined_yaw。
7.根据权利要求1所述的基于LSTM模型的室内自主导航AGV运动轨迹融合方法,其特征在于,所述的步骤S6中计算AGV运动轨迹的过程如下:
首先计算odom测得的位移量,计算公式为:
Δx=odomX1-odomX0
Δy=odomY1-odomY0
其中,odomX1、odomY1表示当前时刻odom测得的小车位置,odomX0、odomY0表示前一时刻odom测得的小车位置,Δx、Δy、Δs分别表示odom测得的AGV在x方向的位移量、AGV在y方向的位移量、两个时刻之间的直线距离;
结合lstm_combined_yaw,得到融合后AGV在坐标系中的位置,计算方法如下:
ΔX=Δs×cos(lstm_combined_yaw)
ΔY=Δs×sin(lstm_combined_yaw)
lstm_combined_x=lstm_combined_x+ΔX
lstm_combined_y=lstm_combined_y+ΔY
其中ΔX、ΔY分别表示AGV按lstm_combined_yaw这个角度运动时在x方向和y方向的位移量,lstm_combined_x、lstm_combined_y分别表示融合后AGV在坐标系中的x、y坐标,lstm_combined_x和lstm_combined_y在AGV启动时初始化为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033073.XA CN110631592B (zh) | 2019-10-28 | 2019-10-28 | 基于lstm模型的室内自主导航agv运动轨迹融合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033073.XA CN110631592B (zh) | 2019-10-28 | 2019-10-28 | 基于lstm模型的室内自主导航agv运动轨迹融合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110631592A true CN110631592A (zh) | 2019-12-31 |
CN110631592B CN110631592B (zh) | 2022-03-29 |
Family
ID=68977924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911033073.XA Active CN110631592B (zh) | 2019-10-28 | 2019-10-28 | 基于lstm模型的室内自主导航agv运动轨迹融合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110631592B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111623778A (zh) * | 2020-05-14 | 2020-09-04 | 成都众树信息科技有限公司 | 一种室内定位轨迹分析的方法及装置 |
CN111680786A (zh) * | 2020-06-10 | 2020-09-18 | 中国地质大学(武汉) | 一种基于改进权重门控单元的时序预测方法 |
CN112783133A (zh) * | 2021-01-25 | 2021-05-11 | 南京航空航天大学 | 一种agv运行状态预测方法 |
CN112965494A (zh) * | 2021-02-09 | 2021-06-15 | 武汉理工大学 | 固定区域纯电动自动驾驶专用车控制系统及方法 |
CN113190036A (zh) * | 2021-04-02 | 2021-07-30 | 华南理工大学 | 一种基于lstm神经网络的无人机飞行轨迹预测方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319293A (zh) * | 2018-01-17 | 2018-07-24 | 哈尔滨工程大学 | 一种基于lstm网络的uuv实时避碰规划方法 |
US20180232947A1 (en) * | 2017-02-11 | 2018-08-16 | Vayavision, Ltd. | Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types |
CN108897614A (zh) * | 2018-05-25 | 2018-11-27 | 福建天晴数码有限公司 | 一种基于卷积神经网络的内存预警方法及服务端 |
CN109034376A (zh) * | 2018-07-18 | 2018-12-18 | 东北大学 | 一种基于lstm的无人机飞行状态预测方法及系统 |
CN109521454A (zh) * | 2018-12-06 | 2019-03-26 | 中北大学 | 一种基于自学习容积卡尔曼滤波的gps/ins组合导航方法 |
CN109655059A (zh) * | 2019-01-09 | 2019-04-19 | 武汉大学 | 一种基于θ-增量学习的视觉-惯性融合导航系统及方法 |
WO2019138225A1 (en) * | 2018-01-10 | 2019-07-18 | Oxford University Innovation Limited | Determining the location of a mobile device |
CN110118560A (zh) * | 2019-05-28 | 2019-08-13 | 东北大学 | 一种基于lstm和多传感器融合的室内定位方法 |
CN110232169A (zh) * | 2019-05-09 | 2019-09-13 | 北京航空航天大学 | 基于双向长短时记忆模型和卡尔曼滤波的轨迹去噪方法 |
-
2019
- 2019-10-28 CN CN201911033073.XA patent/CN110631592B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180232947A1 (en) * | 2017-02-11 | 2018-08-16 | Vayavision, Ltd. | Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types |
WO2019138225A1 (en) * | 2018-01-10 | 2019-07-18 | Oxford University Innovation Limited | Determining the location of a mobile device |
CN108319293A (zh) * | 2018-01-17 | 2018-07-24 | 哈尔滨工程大学 | 一种基于lstm网络的uuv实时避碰规划方法 |
CN108897614A (zh) * | 2018-05-25 | 2018-11-27 | 福建天晴数码有限公司 | 一种基于卷积神经网络的内存预警方法及服务端 |
CN109034376A (zh) * | 2018-07-18 | 2018-12-18 | 东北大学 | 一种基于lstm的无人机飞行状态预测方法及系统 |
CN109521454A (zh) * | 2018-12-06 | 2019-03-26 | 中北大学 | 一种基于自学习容积卡尔曼滤波的gps/ins组合导航方法 |
CN109655059A (zh) * | 2019-01-09 | 2019-04-19 | 武汉大学 | 一种基于θ-增量学习的视觉-惯性融合导航系统及方法 |
CN110232169A (zh) * | 2019-05-09 | 2019-09-13 | 北京航空航天大学 | 基于双向长短时记忆模型和卡尔曼滤波的轨迹去噪方法 |
CN110118560A (zh) * | 2019-05-28 | 2019-08-13 | 东北大学 | 一种基于lstm和多传感器融合的室内定位方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111623778A (zh) * | 2020-05-14 | 2020-09-04 | 成都众树信息科技有限公司 | 一种室内定位轨迹分析的方法及装置 |
CN111623778B (zh) * | 2020-05-14 | 2023-09-12 | 成都众树信息科技有限公司 | 一种室内定位轨迹分析的方法及装置 |
CN111680786A (zh) * | 2020-06-10 | 2020-09-18 | 中国地质大学(武汉) | 一种基于改进权重门控单元的时序预测方法 |
CN111680786B (zh) * | 2020-06-10 | 2023-12-05 | 中国地质大学(武汉) | 一种基于改进权重门控单元的时序预测方法 |
CN112783133A (zh) * | 2021-01-25 | 2021-05-11 | 南京航空航天大学 | 一种agv运行状态预测方法 |
CN112783133B (zh) * | 2021-01-25 | 2022-04-22 | 南京航空航天大学 | 一种agv运行状态预测方法 |
CN112965494A (zh) * | 2021-02-09 | 2021-06-15 | 武汉理工大学 | 固定区域纯电动自动驾驶专用车控制系统及方法 |
CN113190036A (zh) * | 2021-04-02 | 2021-07-30 | 华南理工大学 | 一种基于lstm神经网络的无人机飞行轨迹预测方法 |
CN113190036B (zh) * | 2021-04-02 | 2023-10-13 | 华南理工大学 | 一种基于lstm神经网络的无人机飞行轨迹预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110631592B (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110631592B (zh) | 基于lstm模型的室内自主导航agv运动轨迹融合方法 | |
Yuan et al. | A novel GRU-RNN network model for dynamic path planning of mobile robot | |
Wang et al. | Deep-reinforcement-learning-based autonomous UAV navigation with sparse rewards | |
CN109034376B (zh) | 一种基于lstm的无人机飞行状态预测方法及系统 | |
Sun et al. | Motion planning for mobile robots—Focusing on deep reinforcement learning: A systematic review | |
CN107193279A (zh) | 基于单目视觉和imu信息的机器人定位与地图构建系统 | |
Lin et al. | A gated recurrent unit-based particle filter for unmanned underwater vehicle state estimation | |
CN106643715A (zh) | 一种基于bp神经网络改善的室内惯性导航方法 | |
CN108426582B (zh) | 行人室内三维地图匹配方法 | |
CN107014376A (zh) | 一种适用于农业机械精准作业的姿态倾角估计方法 | |
CN113031437B (zh) | 一种基于动态模型强化学习的倒水服务机器人控制方法 | |
CN107703953B (zh) | 一种无人机的姿态控制方法、装置、无人机及存储介质 | |
CN115416024A (zh) | 一种力矩控制的机械臂自主轨迹规划方法和系统 | |
CN114676877A (zh) | 基于动态滑动窗口辨识的机动目标轨迹在线预测方法 | |
CN117270398A (zh) | 基于神经网络和强化学习的机器人步态规划算法 | |
Broecker et al. | Distance-based multi-robot coordination on pocket drones | |
CN108051001A (zh) | 一种机器人移动控制方法、系统及惯性传感控制装置 | |
CN113916223B (zh) | 定位方法及装置、设备、存储介质 | |
CN116310991A (zh) | 一种基于强化学习的篮板落点预测方法及系统 | |
CN114510081A (zh) | 通信延迟约束下的多无人机集群导航方法 | |
CN106960440A (zh) | 基于物体图像特征点像素空间位置组合控制方法 | |
CN113847907A (zh) | 定位方法及装置、设备、存储介质 | |
Musić et al. | Adaptive fuzzy mediation for multimodal control of mobile robots in navigation-based tasks | |
Kobayashi et al. | Sensor selection based on fuzzy inference for sensor fusion | |
CN117437290B (zh) | 一种多传感器融合的自然保护区无人机三维空间定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |