CN115388893B - 基于遗传的滤波slam算法的移动机器人建图方法 - Google Patents
基于遗传的滤波slam算法的移动机器人建图方法 Download PDFInfo
- Publication number
- CN115388893B CN115388893B CN202211027811.1A CN202211027811A CN115388893B CN 115388893 B CN115388893 B CN 115388893B CN 202211027811 A CN202211027811 A CN 202211027811A CN 115388893 B CN115388893 B CN 115388893B
- Authority
- CN
- China
- Prior art keywords
- particle
- particles
- mobile robot
- time
- grid
- 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.)
- Active
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000002068 genetic effect Effects 0.000 title claims abstract description 18
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 16
- 238000001914 filtration Methods 0.000 title claims abstract description 12
- 239000002245 particle Substances 0.000 claims abstract description 153
- 238000010276 construction Methods 0.000 claims abstract description 15
- 230000035772 mutation Effects 0.000 claims abstract description 11
- 238000012952 Resampling Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000005259 measurement Methods 0.000 claims description 8
- 238000013519 translation Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 5
- 230000001133 acceleration Effects 0.000 claims description 3
- 239000011248 coating agent Substances 0.000 claims description 3
- 238000000576 coating method Methods 0.000 claims description 3
- 239000003086 colorant Substances 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 2
- 230000015556 catabolic process Effects 0.000 abstract description 5
- 238000006731 degradation reaction Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 description 7
- 238000004088 simulation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 240000007651 Rubus glaucus Species 0.000 description 1
- 235000011034 Rubus glaucus Nutrition 0.000 description 1
- 235000009122 Rubus idaeus Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/20—Instruments for performing navigational calculations
-
- 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/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
- G01C21/1652—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 with ranging devices, e.g. LIDAR or RADAR
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明提出了一种基于遗传的滤波SLAM算法的移动机器人建图方法,实现步骤为:构建移动机器人建图系统;对待建图区域进行栅格划分;初始化参数;传感器采集数据;建图模块每个时刻每个粒子的栅格状态信息进行更新;获取移动机器人的建图结果。本发明使用遗传交叉变异方法对每个粒子更新后的位姿对应的粒子进行交叉后进行变异,实现对每个粒子信息的更新,从而达到减少粒子退化,保留粒子的多样性的目的,能够保证较大区域和较复杂区域的高精度建图,且在对雷达点云数据进行扫描匹配时,使用点对线的扫描匹配方法代替现有技术中点对点的扫描匹配方法,有效的降低了扫描匹配的迭代次数,降低了计算资源开销。
Description
技术领域
本发明属于机器人领域,涉及一种移动机器人建图方法,具体涉及一种基于遗传的滤波SLAM算法的移动机器人建图方法,可用于物流智能配送、电力智能巡检、港口智能运输等领域。
背景技术
随着人工智能技术的快速发展,移动机器人因其优异的性能以及合理的价格在民用领域发挥着越来越大的作用,在物流智能配送、电力智能巡检、港口智能运输等领域通过移动机器人通过建立高精的二维地图,使移动机器人能够进行精确的可靠的自主导航和路径规划,这就引出了机器人领域热门研究的同时定位与建图问题(SimultaneousLocalization and Mapping,SLAM)。基于对移动机器人成本的考虑,移动机器人的机载计算能力较差,一般使用基于粒子滤波的方法解决SLAM问题,北京建筑大学在其专利申请文献“一种基于稀疏位姿调整的移动机器人的Gmapping建图方法”(申请号:CN202010515565.9申请日:2020.06.09申请公布号:CN111427370A)中,公开了一种基于稀疏位姿调整的移动机器人的Gmapping建图方法,该方法的实现步骤为:S1:初始化粒子位姿与分布;S2:扫描匹配;S3计算采样位置的xj目标分布;S4计算高斯近似;S5更新第i个粒子的权重;S6更新粒子地图;S3,S4的同时并行S3’位姿图构建及S4’闭环约;最终生成二维栅格地图。该发明一定程度上提升了原有粒子滤波算法的建图精度。但其存在的不足之处在于,该方法在消除粒子退化的过程中需要进行的多次重采样,而随着采样次数的增加,最终保留的粒子都是权重大的粒子及其复制而来的后代,在这个过程中产生粒子退化和粒子多样性减少的问题,会影响建图精度。且该发明使用点对点的扫描匹配方法,计算开销很大,若初始匹配效果不好时,匹配算法的迭代次数会增多,计算资源不足时会出现匹配速度慢,精度低的问题。
发明内容
本发明的目的在于针对上述现有技术的不足,提出了一种基于遗传的滤波SLAM算法的移动机器人建图方法,用于解决现有技术中存在的因对粒子进行多次重采样导致的粒子退化和粒子多样性减少,进而影响建图精度的技术问题,同时降低建图的计算资源开销。
为实现上述目的,本发明采取的技术方案包括如下步骤:
(1)构建移动机器人建图系统:
构建移动机器人建图系统,包括设置在待建图区域且搭载有传感器、建图模块、运动模块的移动机器人,以及设置在办公区域含有远程控制模块和显示界面的远程上位机,传感器包括激光雷达、惯性测量单元IMU和里程计;
(2)对待建图区域进行栅格划分:
将待建图区域划分为均匀的C×R个栅格Δ={Δ1,Δ2,...,Δc,...,ΔC},Δc={Δc,1,Δc,2,...,Δc,r,...,Δc,R},其中,C>2,R>2,Δc表示第c行包括R个栅格的子集,Δc,r表示Δc中的第r个栅格;
(3)初始化参数:
初始化建图时刻为t,结束建图时刻为tend,t时刻Δ对应的栅格状态信息为Oddt(Δ);初始化SLAM算法输入的粒子集合包含K个粒子K≥15,t时刻每个粒子Lk携带有移动机器人的位姿信息Pt k和栅格状态信息/>并令t=1;
(4)传感器采集数据:
移动机器人通过远程上位机发送的控制指令的控制开始运动,传感器中的激光雷达、惯性测量单元IMU、里程计分别采集t时刻的周围环境中I个点的雷达点云数据移动机器人的加速度信息at、移动机器人的移动距离信息dt和与x轴方向的夹角信息θt,并将zt和由at、dt、θt组成的轨迹信息ut={at,dt,θt}上传至建图模块,其中,I≥300,/>表示t时刻第i个点的雷达数据;
(5)建图模块对t时刻每个粒子的栅格状态信息进行更新:
(5a)建图模块通过t-1时刻每个粒子Lk的位姿信息和移动机器人轨迹信息ut-1,估计t时刻每个粒子Lk的位姿Pt k;
(5b)建图模块对t-1时刻雷达点云数据zt-1与t时刻雷达点云数据zt进行扫描匹配,得到两点云数据之间的相对位姿Pre,并通过Pre对Pt k进行更新,得到K个粒子更新后的位姿为Pt'={Pt'1,Pt'2,...,Pt'k,...,Pt'K}的粒子集合
(5c)建图模块使用遗传交叉变异方法对L'(t)中的每个粒子进行交叉后进行变异,得到遗传交叉变异后的粒子集合/>并判断根据Lcv(t)对应的权重集合/>所计算的粒子评价数目Neff与预设的重采样粒子数目门限阈值Nth是否满足Neff<Nth,若是,对Lcv(t)进行重采样,得到K个结果粒子,否则,将Lcv(t)中的K个粒子作为结果粒子,然后将其中权重最大的Neff个粒子/>作为有效粒子;
(5d)建图模块根据t-1时刻每个有效粒子中的栅格状态信息/>和位姿信息/>以及t时刻每个有效粒子/>的位姿信息Pt"neff,更新t时刻/>中的栅格状态信息/>
(6)获取移动机器人的建图结果:
(6a)上位机根据t时刻每个粒子的栅格状态信息/>中的每个栅格Δc,r的栅格状态信息/>和预先设置的可通行阈值σ和障碍物阈值τ确定每个栅格Δc,r的栅格状态信息Oddt(Δc,r):将Oddt(Δc,r)≤σ、Oddt(Δc,r)>τ、σ<Oddt(Δc,r)≤τ所对应的栅格Δc,r分别确定为通行状态、障碍物状态、未知状态,并将三种状态涂成不同的颜色,得到t时刻的栅格状态图;
(6b)判断t>tend是否成立,若是,将tend时刻的栅格状态图作为移动机器人的二维栅格地图,否则t=t+1,并执行步骤(4)。二维栅格地图
本发明与现有技术相比,具有以下优点:
1.本发明在基于遗传的滤波SLAM算法获取移动机器人的二维栅格地图的过程中,首先建图模块使用遗传交叉变异方法对每个粒子进行交叉后进行变异,实现对每个粒子信息的更新,从而达到减少粒子退化,保留粒子的多样性的目的,对比现有技术可以在计算资源有限并且不增加粒子数目的情况下,能够保证较大区域和较复杂区域的高精建图,实验结果表明,本发明提出的建图方法相较于现有技术具有更高的建图精度。
2.本发明在对雷达点云数据进行扫描匹配时,使用点对线的扫描匹配方法代替现有技术中点对点的扫描匹配方法,有效的降低了扫描匹配的迭代次数,在保证建图精度的情况下,降低了计算资源开销,降低了移动机器人的成本。
附图说明
附图1为本发明实现流程图;
附图2为本发明移动机器人建图系统的结构示意图;
附图3为本发明待建图区域的结构示意图;
附图4为本发明和现有技术小场景下的建图结果对比图;
附图5为本发明和现有技术小场景下的建图结果对比图。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步的详细描述。
参照图1,本发明包括如下步骤:
步骤1)构建移动机器人建图系统:构建移动机器人建图系统,包括设置在待建图区域且搭载有传感器、建图模块、运动模块的移动机器人,以及设置在办公区域含有远程控制模块和显示界面的远程上位机,传感器包括激光雷达、惯性测量单元IMU和里程计;
构建如图2所示的移动机器人建图系统,包括设置在如图3所示的待建图区域且搭载有传感器、建图模块、运动模块的移动机器人,以及设置在办公区域含有远程控制模块和显示界面的远程上位机,传感器包括激光雷达、惯性测量单元IMU和里程计;
待建图区域的长宽规格为9m×5m。
步骤2)对待建图区域进行栅格划分:
将待建图区域划分为均匀的C×R个栅格Δ={Δ1,Δ2,...,Δc,...,ΔC},Δc={Δc,1,Δc,2,...,Δc,r,...,Δc,R},其中,C>2,R>2,Δc表示第c行包括R个栅格的子集,Δc,r表示Δc中的第r个栅格,本实施例中C=R=1200;
面对不同建图分辨率要求,可以实时调整栅格的划分,避免过多无效的运算。
步骤3)初始化参数:
初始化建图时刻为t,结束建图时刻为tend,t时刻Δ对应的栅格状态信息为Oddt(Δ);初始化SLAM算法输入的粒子集合包含K个粒子K≥15,t时刻每个粒子Lk携带有移动机器人的位姿信息Pt k和栅格状态信息/>并令t=1,本实施例中K=30;
对于不同的环境,可以调整粒子的数目,使得在计算资源满足的情况下,达到更好的建图精度。
步骤4)传感器采集数据:
移动机器人通过远程上位机发送的控制指令的控制开始运动,传感器中的激光雷达、惯性测量单元IMU、里程计分别采集t时刻的周围环境中I个点的雷达点云数据移动机器人的加速度信息at、移动机器人的移动距离信息dt和与x轴方向的夹角信息θt,并将zt和由at、dt、θt组成的轨迹信息ut={at,dt,θt}上传至建图模块,其中,I≥300,/>表示t时刻第i个点的雷达数据,本实施例中I=359;
步骤5)建图模块对t时刻每个粒子的栅格状态信息进行更新:
(5a)建图模块通过t-1时刻每个粒子Lk的位姿信息和移动机器人轨迹信息ut-1,估计t时刻每个粒子Lk的位姿Pt k,位姿Pt k估计公式为:
其中,~是“服从于”符号,t=0时刻移动机器人轨迹信息为u0={0,0,0};
将Pt k用作步骤(5b)中扫描匹配的初值,可以有效的降低匹配失败的概率,有效的减少扫描匹配的计算量,
(5b)建图模块对t-1时刻雷达点云数据zt-1与t时刻雷达点云数据zt进行扫描匹配,得到两点云数据之间的相对位姿Pre,并通过Pre对Pt k进行更新,得到K个粒子更新后的位姿为Pt'={Pt'1,Pt'2,...,Pt'k,...,Pt'K}的粒子集合实现步骤为:
(5b1)建图模块获取zt-1中的待匹配点在zt中和它距离最近的两点的数据/>和将两点的数据表示为矢量/>
(5b2)建图模块将粒子中包含的位姿Pt k转化成旋转矩阵和平移矩阵作为扫描匹配的初值,根据旋转矩阵和平移矩阵对zt-1先旋转,然后平移,使其与zt匹配,使匹配误差小于设定的匹配阈值δ,其中,R和T分别表示着对zt-1的旋转和平移操作,即两点云数据之间的相对位姿Pre,/>表示矢量ei的转置结果,本实施例中δ=0.1;
(5b3)建图模块通过Pre对Pt k进行更新,得到K个粒子更新后的位姿为Pt'={Pt'1,Pt'2,...,Pt'k,...,Pt'K}的粒子集合Pt k的更新公式为:
Pt'k=RPt k+T。
其中,t=0时刻移动机器人的初始位姿为P0=(x0,y0,θ0),x0、y0分别表示移动机器人静止时在待建图区域上的初始横向、纵向坐标,θ0表示移动机器人静止时与x轴方向的夹角,t=0时刻雷达点云数据选择移动机器人在未开始移动前的雷达点云数据
现有技术中的点对点扫描匹配方法采用点与点之间的欧氏距离作为目标函数的误差度量,在点云数据中离群点较多或者噪声较大的情况下精度会有所降低;此外寻找对应点的计算开销很大,初始匹配效果不好时迭代轮数会增多,对系统的计算性能要求很高,若计算资源不充足则会出现匹配速度慢,精度低的问题。所以在处理扫描匹配的问题时本发明以zt-1中任一点到zt中距离其最近的两个点的连线的距离作为误差函数,提升了匹配成功概率,降低了计算开销。
(5c)建图模块使用遗传交叉变异方法对L'(t)中的每个粒子进行交叉后进行变异,得到遗传交叉变异后的粒子集合/>并判断根据Lcv(t)对应的权重集合/>所计算的粒子评价数目Neff与预设的重采样粒子数目门限阈值Nth是否满足Neff<Nth,若是,对Lcv(t)进行重采样,得到K个结果粒子,否则,将Lcv(t)中的K个粒子作为结果粒子,然后将其中权重最大的Neff个粒子/>作为有效粒子,实现步骤为:
(5c1)建图模块基于t时刻粒子中的栅格状态信息/>和位姿信息Pt'k、t时刻雷达点云数据zt,更新粒子/>的权重,并对/>的更新结果/>进行归一化,得到归一化权重集合/>其中,更新粒子/>的权重,以及对权重集合权重/>中的所有权重/>进行归一化的公式分别为:
其中,t=0时刻每个粒子Lk的栅格状态信息为Odd0(Δ);
(5c2)建图模块对中的K个权重进行降序排列,并将/>对应的粒子中小于预设的粒子权重阈值Wth的l粒子组成小权重粒子集合Ll,l≥7,将剩余的K-l粒子组成大权重粒子集合Lh,然后对从Ll、Lh中随机抽取一个粒子xl、xh进行交叉操作,得到交叉后的粒子集合/>其中对xl、xh进行交叉操作的公式为:
其中,表示交叉操作后产生的新粒子,α为交叉参数,本实施例中α=0.35。α可以影响小权重粒子传递给大权重粒子的信息的多少,α越大则保留的小权重粒子的信息越多。特别地,当α=0时表示小权重粒子与大权重粒子的信息没有交换;而当α=1时表示小权重粒子与大权重粒子的信息发生了互换。
(5c3)建图模块对交叉操作后的粒子进行变异,得到遗传交叉变异后的粒子集合/>并判断根据Lcv(t)对应的权重集合/>所计算的粒子评价数目Neff与预设的重采样粒子数目门限阈值Nth是否满足Neff<Nth,若是,对Lcv(t)中所有粒子进行重采样,得到K个结果粒子,否则,将Lcv(t)中所有粒子作为结果粒子,对结果粒子权重进行降序排列,取前Neff个为有效粒子/>其中对/>进行变异,以及Neff的计算公式分别为:
其中表示变异操作后产生的新粒子,pl为与/>的权重独立同分布的随机变量,pl∈[0,1],pm为变异概率,pm∈[0,1];
pm可以影响小权重粒子的变异概率,通过将小权重粒子中的信息进行变异,可以得到更佳的粒子位姿和地图状态信息,影响最终建图效果。
(5d)建图模块根据t-1时刻每个有效粒子中的栅格状态信息/>和位姿信息/>以及t时刻每个有效粒子/>的位姿信息Pt"neff,更新t时刻/>中的栅格状态信息/>更新公式为:
步骤6)获取移动机器人的建图结果:
(6a)上位机根据t时刻每个粒子中的栅格状态信息/>每个栅格Δc,r的栅格状态信息/>和预先设置的可通行阈值σ和障碍物阈值τ确定每个栅格Δc,r的栅格状态信息Oddt(Δc,r):将Oddt(Δc,r)≤σ、Oddt(Δc,r)>τ、σ<Oddt(Δc,r)≤τ所对应的栅格Δc,r分别确定为通行状态、障碍物状态、未知状态,并将三种状态涂成不同的颜色,得到t时刻的栅格状态图,其中σ=0.2,τ=0.65;
(6b)判断t>tend是否成立,若是,将tend时刻的栅格状态图作为移动机器人的二维栅格地图,否则t=t+1,并执行步骤(4)。
以下结合仿真实验,对本发明的技术效果作以说明。
1、仿真条件和内容:
仿真实验的远程上位机硬件平台为:Dell外星人笔记本电脑,处理器为NVIDIANX。软件平台为:Ubuntu18.04操作系统,ROS Melodic以及C++11。移动机器人的主机采用树莓派4B,该主机支持蓝牙及WIFI功能。
对本发明和现有移动机器人的Gmapping建图方法在小场景下和大场景下的分别进行10次建图对比仿真,其结果如表1和图4和图5所示。
2、仿真结果分析:
仿真实验采用地图长度相对误差来衡量建图的估计误差,相对误差计算公式:
其中,|·|表示取绝对值操作。
表1
测量长度 | 相对误差 | 测量宽度 | 相对误差 | |
现有技术 | 9.24 | 2.667% | 5.11 | 2.200% |
本发明 | 8.95 | 0.556% | 5.04 | 0.800% |
参照表1,可以看到10次建图实验中本发明对地图长度的估计结果的均值远好于现有方法对地图长度的估计结果的均值,可见本发明的建图精度更高,能够减少错误估计。
参照图4,其中图4(a)为现有技术创建的地图,图4(b)为现有技术构建的地图在整体的效果上出现了倾斜现象,而且右下角的边缘轮廓不够清晰,有较为明显的颗粒感,而本发明在整体的建图效果上没有明显的倾斜或者重叠现象,较为准确地展现了实验场地的真实场景。
参照图5,其中图5(a)为现有技术创建的地图,图5(b)为本发明创建的地图,在地图更大环境更加复杂的图5中,由于现有技术消耗的计算资源较大,重采样次数过多,导致现有技术构建的地图整体效果上出现了倾斜,地图边缘模糊,而本发明则较为准确地展现了实验场地的真实场景。
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
Claims (5)
1.一种基于遗传的滤波SLAM算法的移动机器人建图方法,其特征在于,包括如下步骤:
(1)构建移动机器人建图系统:
构建移动机器人建图系统,包括设置在待建图区域且搭载有传感器、建图模块、运动模块的移动机器人,以及设置在办公区域含有远程控制模块和显示界面的远程上位机,传感器包括激光雷达、惯性测量单元IMU和里程计;
(2)对待建图区域进行栅格划分:
将待建图区域划分为均匀的C×R个栅格Δ={Δ1,Δ2,...,Δc,...,ΔC},Δc={Δc,1,Δc,2,...,Δc,r,...,Δc,R},其中,C>2,R>2,Δc表示第c行包括R个栅格的子集,Δc,r表示Δc中的第r个栅格;
(3)初始化参数:
初始化建图时刻为t,结束建图时刻为tend,t时刻Δ对应的栅格状态信息为Oddt(Δ);初始化SLAM算法输入的粒子集合包含K个粒子t时刻每个粒子Lk携带有移动机器人的位姿信息Pt k和栅格状态信息/>并令t=1;
(4)传感器采集数据:
移动机器人通过远程上位机发送的控制指令的控制开始运动,传感器中的激光雷达、惯性测量单元IMU、里程计分别采集t时刻的周围环境中I个点的雷达点云数据移动机器人的加速度信息at、移动机器人的移动距离信息dt和与x轴方向的夹角信息θt,并将zt和由at、dt、θt组成的轨迹信息ut={at,dt,θt}上传至建图模块,其中,I≥300,/>表示t时刻第i个点的雷达数据;
(5)建图模块对t时刻每个粒子的栅格状态信息进行更新:
(5a)建图模块通过t-1时刻每个粒子Lk的位姿信息和移动机器人轨迹信息ut-1,估计t时刻每个粒子Lk的位姿Pt k;
(5b)建图模块对t-1时刻雷达点云数据zt-1与t时刻雷达点云数据zt进行扫描匹配,得到两点云数据之间的相对位姿Pre,并通过Pre对Pt k进行更新,得到K个粒子更新后的位姿为的粒子集合/>
(5c)建图模块使用遗传交叉变异方法对L'(t)中的每个粒子进行交叉后进行变异,得到遗传交叉变异后的粒子集合/>并判断根据Lcv(t)对应的权重集合/>所计算的粒子评价数目Neff与预设的重采样粒子数目门限阈值Nth是否满足Neff<Nth,若是,对Lcv(t)进行重采样,得到K个结果粒子,否则,将Lcv(t)中的K个粒子作为结果粒子,然后将其中权重最大的Neff个粒子/>作为有效粒子;
(5d)建图模块根据t-1时刻每个有效粒子中的栅格状态信息/>和位姿信息以及t时刻每个有效粒子/>的位姿信息/>更新t时刻/>中的栅格状态信息
(6)获取移动机器人的建图结果:
(6a)上位机根据t时刻每个粒子的栅格状态信息/>中的每个栅格Δc,r的栅格状态信息/>和预先设置的可通行阈值σ和障碍物阈值τ确定每个栅格Δc,r的栅格状态信息Oddt(Δc,r):将Oddt(Δc,r)≤σ、Oddt(Δc,r)>τ、σ<Oddt(Δc,r)≤τ所对应的栅格Δc,r分别确定为通行状态、障碍物状态、未知状态,并将三种状态涂成不同的颜色,得到t时刻的栅格状态图;
(6b)判断t>tend是否成立,若是,将tend时刻的栅格状态图作为移动机器人的二维栅格地图,否则t=t+1,并执行步骤(4)。
2.根据权利要求1所述的基于遗传的滤波SLAM算法的移动机器人建图方法,其特征在于,步骤(5a)中所述的估计t时刻每个粒子Lk的位姿Pt k,估计公式为:
其中:~是“服从于”符号。
3.根据权利要求1所述的基于遗传的滤波SLAM算法的移动机器人建图方法,其特征在于,步骤(5b)中所述的建图模块对t-1时刻雷达点云数据zt-1与t时刻雷达点云数据zt进行扫描匹配,得到两点云数据之间的相对位姿Pre,并通过Pre对Pt k进行更新,实现步骤为:
(5b1)建图模块获取zt-1中的待匹配点在zt中和它距离最近的两点的数据/>和/>将两点的数据表示为矢量/>
(5b2)建图模块将粒子中包含的位姿Pt k转化成旋转矩阵和平移矩阵,根据旋转矩阵和平移矩阵对zt-1先旋转,然后平移,使其与zt匹配,使匹配误差小于我们设定的匹配阈值δ,其中,R和T分别表示着对zt-1的旋转和平移操作,即两点云数据之间的相对位姿Pre,/>表示矢量ei的转置结果;
(5b3)建图模块通过Pre对Pt k进行更新,得到K个粒子更新后的位姿为的粒子集合/>其中Pt k的更新公式为:
4.根据权利要求1所述的基于遗传的滤波SLAM算法的移动机器人建图方法,其特征在于,步骤(5c)中所述的K个结果粒子,其获取过程包括如下步骤:
(5c1)建图模块基于t时刻粒子中的栅格状态信息/>和位姿信息/>t时刻雷达点云数据zt,更新粒子/>的权重,并对/>的更新结果/>进行归一化,得到归一化权重集合/>其中,更新粒子/>的权重,以及对权重集合权重/>中的所有权重/>进行归一化的公式分别为:
(5c2)建图模块对中的K个权重进行降序排列,并将/>对应的粒子中小于预设的粒子权重阈值Wth的粒子组成小权重粒子集合Ll,将剩余的粒子组成大权重粒子集合Lh,然后对从Ll、Lh中随机抽取一个粒子xl、xh进行交叉操作,得到交叉后的粒子集合/>其中对xl、xh进行交叉操作的公式为:
其中,表示交叉操作后产生的新粒子,α为交叉参数,α∈[0,1];
(5c3)建图模块对交叉操作后的粒子进行变异,得到遗传交叉变异后的粒子集合并判断根据Lcv(t)对应的权重集合/>所计算的粒子评价数目Neff与预设的重采样粒子数目门限阈值Nth是否满足Neff<Nth,若是,对Lcv(t)中所有粒子进行重采样,得到K个结果粒子,否则,将Lcv(t)中所有粒子作为结果粒子,对结果粒子权重进行降序排列,取前Neff个为有效粒子/>其中对/>进行变异,以及Neff的计算公式分别为:
其中表示变异操作后产生的新粒子,pl为与/>的权重独立同分布的随机变量,pl∈[0,1],pm为变异概率,pm∈[0,1]。
5.根据权利要求1所述的基于遗传的滤波SLAM算法的移动机器人建图方法,其特征在于,步骤(5d)中所述的更新t时刻中的栅格状态信息/>更新公式为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211027811.1A CN115388893B (zh) | 2022-08-25 | 2022-08-25 | 基于遗传的滤波slam算法的移动机器人建图方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211027811.1A CN115388893B (zh) | 2022-08-25 | 2022-08-25 | 基于遗传的滤波slam算法的移动机器人建图方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115388893A CN115388893A (zh) | 2022-11-25 |
CN115388893B true CN115388893B (zh) | 2024-05-14 |
Family
ID=84123069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211027811.1A Active CN115388893B (zh) | 2022-08-25 | 2022-08-25 | 基于遗传的滤波slam算法的移动机器人建图方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115388893B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107246873A (zh) * | 2017-07-03 | 2017-10-13 | 哈尔滨工程大学 | 一种基于改进的粒子滤波的移动机器人同时定位与地图构建的方法 |
CN112882056A (zh) * | 2021-01-15 | 2021-06-01 | 西安理工大学 | 基于激光雷达的移动机器人同步定位与地图构建方法 |
CN113050658A (zh) * | 2021-04-12 | 2021-06-29 | 西安科技大学 | 一种基于狮群算法优化的slam算法 |
WO2021237667A1 (zh) * | 2020-05-29 | 2021-12-02 | 浙江大学 | 一种适用于腿足机器人规划的稠密高度地图构建方法 |
CN114608585A (zh) * | 2022-04-01 | 2022-06-10 | 常州大学 | 一种移动机器人同步定位与建图方法及装置 |
-
2022
- 2022-08-25 CN CN202211027811.1A patent/CN115388893B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107246873A (zh) * | 2017-07-03 | 2017-10-13 | 哈尔滨工程大学 | 一种基于改进的粒子滤波的移动机器人同时定位与地图构建的方法 |
WO2021237667A1 (zh) * | 2020-05-29 | 2021-12-02 | 浙江大学 | 一种适用于腿足机器人规划的稠密高度地图构建方法 |
CN112882056A (zh) * | 2021-01-15 | 2021-06-01 | 西安理工大学 | 基于激光雷达的移动机器人同步定位与地图构建方法 |
CN113050658A (zh) * | 2021-04-12 | 2021-06-29 | 西安科技大学 | 一种基于狮群算法优化的slam算法 |
CN114608585A (zh) * | 2022-04-01 | 2022-06-10 | 常州大学 | 一种移动机器人同步定位与建图方法及装置 |
Non-Patent Citations (1)
Title |
---|
结合退火优化和遗传重采样的RBPF算法;孙弋;张笑笑;;西安科技大学学报;20200330(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115388893A (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102292277B1 (ko) | 자율 주행 차량에서 3d cnn 네트워크를 사용하여 솔루션을 추론하는 lidar 위치 추정 | |
CN111971574B (zh) | 用于自动驾驶车辆的lidar定位的基于深度学习的特征提取 | |
CN111427370B (zh) | 一种基于稀疏位姿调整的移动机器人的Gmapping建图方法 | |
KR102350181B1 (ko) | 자율 주행 차량에서 rnn 및 lstm을 사용하여 시간적 평활화를 수행하는 lidar 위치 추정 | |
CN109798896B (zh) | 一种室内机器人定位与建图方法及装置 | |
Song et al. | Online coverage and inspection planning for 3D modeling | |
CN114387319B (zh) | 点云配准方法、装置、设备以及存储介质 | |
CN112328715B (zh) | 视觉定位方法及相关模型的训练方法及相关装置、设备 | |
CN112284376A (zh) | 一种基于多传感器融合的移动机器人室内定位建图方法 | |
CN113436223B (zh) | 点云数据的分割方法、装置、计算机设备和存储介质 | |
CN111190211A (zh) | 一种gps失效位置预测定位方法 | |
Feng et al. | Point cloud registration algorithm based on the grey wolf optimizer | |
CN114925627B (zh) | 一种基于图形处理器的直升机流场数值模拟系统及方法 | |
CN115388893B (zh) | 基于遗传的滤波slam算法的移动机器人建图方法 | |
CN112947481B (zh) | 一种家庭服务机器人自主定位控制方法 | |
CN111761583A (zh) | 一种智能机器人运动定位方法及系统 | |
CN115239899B (zh) | 位姿图生成方法、高精地图生成方法和装置 | |
CN115655311A (zh) | 一种基于扫描匹配的阿克曼型机器人里程计标定方法 | |
Peng et al. | Autonomous Navigation for Mobile Robot | |
CN114323055B (zh) | 一种基于改进遗传算法的机器人弱拒止区域路径规划方法 | |
CN110849392A (zh) | 一种机器人的里程计数据校正方法及机器人 | |
Gao et al. | Near-ground trajectory planning for UAVs via multi-resolution hybrid voxel-surfel map | |
Yin et al. | GPU-based heuristic escape for outdoor large scale registration | |
Jiang et al. | Research on the Positioning and Navigation Accuracy Based on Multi-sensor Smart Car | |
Wang et al. | PCR-DAT: a new point cloud registration method for lidar inertial odometry via distance and Gauss distributed |
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 |