CN108507579B - 一种基于局部粒子滤波的重定位方法 - Google Patents

一种基于局部粒子滤波的重定位方法 Download PDF

Info

Publication number
CN108507579B
CN108507579B CN201810307437.8A CN201810307437A CN108507579B CN 108507579 B CN108507579 B CN 108507579B CN 201810307437 A CN201810307437 A CN 201810307437A CN 108507579 B CN108507579 B CN 108507579B
Authority
CN
China
Prior art keywords
particle
robot
pose
poses
map
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
Application number
CN201810307437.8A
Other languages
English (en)
Other versions
CN108507579A (zh
Inventor
张清泉
王军南
余饶东
唐杭生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dacheng Robot Technology Co ltd
Original Assignee
Zhejiang Dacheng Robot Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Dacheng Robot Technology Co ltd filed Critical Zhejiang Dacheng Robot Technology Co ltd
Priority to CN201810307437.8A priority Critical patent/CN108507579B/zh
Publication of CN108507579A publication Critical patent/CN108507579A/zh
Application granted granted Critical
Publication of CN108507579B publication Critical patent/CN108507579B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Abstract

本发明公开了一种基于局部粒子滤波的重定位方法,包括:步骤1:用户操作机器人在工作环境下进行地图构建。步骤2:开启定位导航模式,启动重定位。步骤3:生成随机初始位姿集合。步骤4:更新粒子滤波器。步骤5:判定粒子滤波器输出是否满足初始定位需求。步骤6:计算实际观测与地图间的偏差。本发明避免用户直接接触机器人底层部件,降低用户操作门槛,提高用户体验,采用上述技术方案使得机器人应用层面可以更加友好的与底层模块进行交互。

Description

一种基于局部粒子滤波的重定位方法
技术领域
本发明涉及机器人重定位技术领域,具体涉及一种基于局部粒子滤波的重定位方法。
背景技术
基于2d激光的机器人自主移动系统通常包括构建地图和定位导航两个部分。构建地图通常由操作人员控制机器人,在该机器人工作环境下行走,使用相应的构图算法获得工作环境下的地图。对于2d激光来说,得到的地图通常为栅格地图,存储为文件,供定位导航系统及后续应用使用。
定位导航系统载入构图系统生成的栅格地图,并在该地图中实现机器人自定位和导航。基于激光的机器人自定位算法通常采用粒子滤波算法,在机器人操作系统ROS(RobotOperating System)中的相应模块为amcl。2d激光的初始位姿首先需要用户在栅格地图中指定,包括机器人的位置和朝向信息,然后机器人可以在地图范围内进行自定位和导航。初始位姿的给定需要用户面对栅格地图,需要一定的操作技巧,提高了机器人使用门槛,降低了用户体验。
实际应用时,机器人需要将地图中的若干位置进行特殊的标注,例如商场服务机器人需要标注每个店的位置、厕所等位置,以便引导用户至相应的目的地。本发明旨在通过这些特定的位置辅助机器人进行初始位姿的给定。从而避免用户直接接触栅格地图等底层部件,并与机器人实际应用进行更好的对接。
发明内容
本发明所要解决的技术问题是:针对现有的基于2d激光的机器人重定位需要用户在栅格地图上进行,导致操作门槛高,用户体验差的问题,提出了一种基于局部粒子滤波的重定位方法。
本发明所述标注集合
Figure BDA0001621396070000011
其中P=(x,y,θ)表示地图中的特定位置,L表示上述位置对应的标注,位姿P1标注为L1,位姿Pi对应标注Li,位姿Pn对应标注Ln,不同的位姿对应不同的标注,例如充电桩、厕所等常用名词。初始该集合为空。
Figure BDA0001621396070000021
中n表示
Figure BDA0001621396070000022
中元素的个数。
本发明所述粒子位姿集合
Figure BDA0001621396070000023
其中P的定义与上述标注集合
Figure BDA0001621396070000024
中相同。
本发明所述激光观测scanM是指激光传感器单次扫描采集到的数据,scanM={(l11)...(lii)...(lMM)}。其中M表示激光传感器单次扫描获得的数据点数目,θi表示第i个数据点的偏转角,li表示第i个数据点的距离。
本发明采用的技术方案如下:
一种基于局部粒子滤波的重定位方法,包括以下步骤:
步骤1:用户操作机器人在工作环境下进行地图构建,在构图过程,用户指令当前位姿P1标注为L1,位姿Pi对应标注Li,位姿Pn对应标注Ln,不同的位姿对应不同的标注,形成标注集合
Figure BDA0001621396070000025
将构建完成的地图保存和标注集合
Figure BDA0001621396070000026
保存至本地,供后续步骤使用;
步骤2:开启定位导航模式,启动重定位,用户控制机器人至标注集合
Figure BDA0001621396070000027
中Li附近,指令告知机器人靠近Li,机器人检索
Figure BDA0001621396070000028
得到当前大致位姿Pi为(xi,yii);
步骤3:生成随机初始位姿,设置粒子范围阈值r,设置粒子数目为m,粒子位姿集合
Figure BDA0001621396070000029
开始为空集合;
使用下列公式生成粒子位姿P(x,y,θ):
x=xi+rand(-1,1)×r
y=yi+rand(-1,1)×r
θ=rand(0,1)×2π
其中,rand(a,b)表示[a,b]范围内随机数生成器,rand(-1,1)表示[-1,1]范围内随机数生成器,rand(0,1)表示[0,1]范围内随机数生成器,将P(x,y,θ)加入到
Figure BDA00016213960700000210
得到粒子位姿集合
Figure BDA00016213960700000211
判定
Figure BDA00016213960700000212
中粒子位姿个数n是否大于m,如果是,则进行步骤4,否则继续生成随机初始位姿;
步骤4:使用粒子位姿集合
Figure BDA00016213960700000213
初始化粒子滤波器,并通过程序向机器人发送机器人原地旋转指令,旋转过程中,粒子滤波器更新粒子状态;
步骤5:判定粒子滤波器输出是否满足初始定位需求,若满足初始定位需求进入步骤6,否则返回步骤3;
步骤6:计算实际观测与地图间的偏差,偏差符合要求,重定位成功,否则返回步骤3;
步骤7:开始自主定位和导航。
步骤1中,P=(x,y,θ)表示地图中的特定位置,P1为(x1,y11),Pi为(xi,yii),Pn为(xn,ynn),L表示P对应的标注,标注集合
Figure BDA0001621396070000031
位姿P1对应标注L1,位姿Pi对应标注Li,位姿Pn对应标注Ln,1、i、n为不同的序号。
步骤4中,以amcl为例,对于每个位姿
Figure BDA0001621396070000032
根据实际激光观测与栅格地图的一致程度更新粒子滤波器,使得粒子位姿趋向于尽可能使实际激光观测与栅格地图一致。
步骤5中,粒子滤波器通常输出最终位姿
Figure BDA0001621396070000033
以及所有滤波器样本位姿的协方差矩阵cov:
Figure BDA0001621396070000034
将该矩阵进行特征值分解,得到cov特征值为(λ123),其中λi越小表示粒子滤波器的粒子位姿相似程度越高,得到的位姿也越准确。如果对于λi∈(λ123),满足λi<ε,其中ε为设定阈值,则进行步骤6,否则返回步骤3;
步骤6中,对于最终位姿
Figure BDA0001621396070000035
将激光观测scanM={(l11)...(lii)...(lMM)}投影到栅格地图上,其中M表示激光传感器单次扫描获得的数据点数目,θi表示第i个数据点的偏转角,li表示第i个数据点的距离;
对于(lii),得到该点在栅格地图中的坐标为:
Figure BDA0001621396070000036
Figure BDA0001621396070000037
在栅格地图中查找距离(gx,gy)最近的障碍物坐标(ox,oy),计算两者之间的距离dist:
dist=sqrt((gx-ox)2+(gy-oy)2)
如果dist小于阈值S,则判定该观测点为内点,否则为异常点。最终计算scanM中内点所占的比例,如果该比例大于阈值R,则重定位成功,否则返回步骤3。
综上所示,由于采用了上述技术方案,本发明的有益效果是:
本发明避免用户直接接触机器人底层部件,降低用户操作门槛,提高用户体验。采用上述技术方案使得机器人应用层面可以更加友好的与底层模块进行交互。
附图说明
图1为本发明基于局部粒子滤波的重定位方法的流程示意图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任意方式组合。
如图1所示,一种基于局部粒子滤波的重定位方法,包括:
步骤1:用户操作机器人在工作环境下进行地图构建。
步骤2:开启定位导航模式,启动重定位。
步骤3:生成随机初始位姿集合。
步骤4:更新粒子滤波器。
步骤5:判定粒子滤波器输出是否满足初始定位需求。
步骤6:计算实际观测与地图间的偏差。
实施例1:
实施例以商用服务机器人为例,特定位置包括前台,厕所等常用地名。基于ros的navigation stack进行实现。
步骤1:用户操作机器人在工作环境下,使用gmapping进行地图构建。在构图过程,用户指令当前位姿P标注为L,将cov加入到集合Setlabel。将构建完成的地图保存和标注集合保存至本地,供后续步骤使用。
步骤2:开启定位导航模式。打开amcl模块,用户控制机器人至集合
Figure BDA0001621396070000041
中Li附近,指令告知机器人靠近Li,机器人检索
Figure BDA0001621396070000042
得到当前大致位置为(xi,yii)。
步骤3:设置粒子范围阈值r,设置粒子数目为m。
Figure BDA0001621396070000043
为空集合。使用下列公式生成粒子位姿:
x=xi+rand(-1,1)×r
y=yi+rand(-1,1)×r
θ=rand(0,1)×2π
其中rand(a,b)表示[a,b]范围内随机数生成器。将(x,y,θ)加入到
Figure BDA0001621396070000051
判定n是否大于m,如果是,则进行步骤4,否则继续生成随机初始位姿。
步骤4:使用粒子位姿集合初始化amcl,并通过程序向机器人发送机器人原地旋转指令。旋转过程中,粒子滤波器更新粒子状态。对于每个位姿
Figure BDA0001621396070000052
根据实际激光观测与栅格地图的一致程度更新粒子滤波器,使得粒子位姿趋向于尽可能使实际激光观测与栅格地图一致。
步骤5:判定粒子滤波器输出是否满足初始定位需求。
粒子滤波器通常输出最终位姿
Figure BDA0001621396070000053
以及所有滤波器样本位姿的协方差矩阵cov:
Figure BDA0001621396070000054
将该矩阵进行特征值分解,得到cov特征值为(λ123),其中λi越小表示粒子滤波器的粒子位姿相似程度越高,得到的位姿也越准确。如果对于λi∈(λ123),满足λi<ε,其中ε为设定阈值,则进行步骤6,否则返回步骤3。
步骤6:计算实际观测与地图间的偏差。
对于最终位姿
Figure BDA0001621396070000055
将激光观测scanM={(l11)...(lii)...(lMM)}投影到栅格地图上。对于(lii),得到该点在栅格地图中的坐标为:
Figure BDA0001621396070000056
Figure BDA0001621396070000057
在栅格地图中查找距离(gx,gy)最近的障碍物坐标(ox,oy),计算两者之间的距离dist:
dist=sqrt((gx-ox)2+(gy-oy)2)
如果dist小于阈值S,则判定该观测点为内点,否则为异常点。最终计算scanM中内点所占的比例,如果该比例大于阈值R,则重定位成功,否则返回步骤3。
步骤7:开始自主定位和导航。

Claims (2)

1.一种基于局部粒子滤波的重定位方法,其特征在于,包括以下步骤:
步骤1:用户操作机器人在工作环境下进行地图构建,在构图过程,用户指令当前位姿P1标注为L1,位姿Pi对应标注Li,位姿Pn对应标注Ln,不同的位姿对应不同的标注,形成标注集合
Figure FDA0002347332540000011
将构建完成的地图保存和标注集合
Figure FDA0002347332540000012
保存至本地,供后续步骤使用;
步骤2:开启定位导航模式,启动重定位,用户控制机器人至标注集合
Figure FDA0002347332540000013
中Li附近,指令告知机器人靠近Li,机器人检索
Figure FDA0002347332540000014
得到当前大致位姿Pi为(xi,yii);
步骤3:生成随机初始位姿,设置粒子范围阈值r,设置粒子数目为m,粒子位姿集合
Figure FDA0002347332540000015
开始为空集合;
使用下列公式生成粒子位姿P(x,y,θ):
x=xi+rand(-1,1)×r
y=yi+rand(-1,1)×r
θ=rand(0,1)×2π
其中,rand(a,b)表示[a,b]范围内随机数生成器,将P(x,y,θ)加入到
Figure FDA0002347332540000016
得到粒子位姿集合
Figure FDA0002347332540000017
判定
Figure FDA0002347332540000018
中粒子位姿个数n是否大于m,如果是,则进行步骤4,否则继续生成随机初始位姿;
步骤4:使用粒子位姿集合
Figure FDA0002347332540000019
初始化粒子滤波器,并通过程序向机器人发送机器人原地旋转指令,旋转过程中,粒子滤波器更新粒子状态;
步骤5:判定粒子滤波器输出是否满足初始定位需求,若满足初始定位需求进入步骤6,否则返回步骤3;
粒子滤波器通常输出最终位姿
Figure FDA00023473325400000110
以及所有滤波器样本位姿的协方差矩阵cov:
Figure FDA00023473325400000111
将该矩阵进行特征值分解,得到cov特征值为(λ123),如果对于λi∈(λ123),满足λi<ε,其中ε为设定阈值,则进行步骤6,否则返回步骤3;
步骤6:计算实际观测与地图间的偏差,偏差符合要求,重定位成功,否则返回步骤3。
2.根据权利要求1所述的基于局部粒子滤波的重定位方法,其特征在于,步骤6中,对于最终位姿
Figure FDA0002347332540000021
将激光观测scanM={(l11)...(lii)...(lMM)}投影到栅格地图上,其中,θi表示第i个数据点的偏转角,li表示第i个数据点的距离;
对于(lii),得到该点在栅格地图中的坐标为:
Figure FDA0002347332540000022
Figure FDA0002347332540000023
在栅格地图中查找距离(gx,gy)最近的障碍物坐标(ox,oy),计算两者之间的距离dist:
dist=sqrt((gx-ox)2+(gy-oy)2)
如果dist小于阈值S,则判定该观测点为内点,否则为异常点,最终计算scanM中内点所占的比例,如果该比例大于阈值R,则重定位成功,否则返回步骤3。
CN201810307437.8A 2018-04-08 2018-04-08 一种基于局部粒子滤波的重定位方法 Active CN108507579B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810307437.8A CN108507579B (zh) 2018-04-08 2018-04-08 一种基于局部粒子滤波的重定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810307437.8A CN108507579B (zh) 2018-04-08 2018-04-08 一种基于局部粒子滤波的重定位方法

Publications (2)

Publication Number Publication Date
CN108507579A CN108507579A (zh) 2018-09-07
CN108507579B true CN108507579B (zh) 2020-04-21

Family

ID=63381013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810307437.8A Active CN108507579B (zh) 2018-04-08 2018-04-08 一种基于局部粒子滤波的重定位方法

Country Status (1)

Country Link
CN (1) CN108507579B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109917332B (zh) * 2019-02-01 2022-12-16 广东工业大学 一种基于改进粒子滤波的室内机器人定位方法
CN110189358B (zh) * 2019-05-07 2022-03-15 武汉大学 一种基于协同特征学习的目标跟踪方法
CN110488818B (zh) * 2019-08-08 2020-07-17 深圳市银星智能科技股份有限公司 一种基于激光雷达的机器人定位方法、装置和机器人
CN110865393A (zh) * 2019-11-29 2020-03-06 广州视源电子科技股份有限公司 基于激光雷达的定位方法及系统、存储介质和处理器
CN111060113B (zh) * 2019-12-31 2022-04-08 歌尔股份有限公司 一种地图更新方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101509781A (zh) * 2009-03-20 2009-08-19 同济大学 基于单目摄像头的步行机器人定位系统
CN103487047A (zh) * 2013-08-06 2014-01-01 重庆邮电大学 一种基于改进粒子滤波的移动机器人定位方法
CN105806345A (zh) * 2016-05-17 2016-07-27 杭州申昊科技股份有限公司 一种用于变电站巡检机器人激光导航的初始化定位方法
CN106568432A (zh) * 2016-10-20 2017-04-19 上海物景智能科技有限公司 一种移动机器人初始位姿获取方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100601960B1 (ko) * 2004-08-05 2006-07-14 삼성전자주식회사 로봇의 위치 추적 및 지도 작성 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101509781A (zh) * 2009-03-20 2009-08-19 同济大学 基于单目摄像头的步行机器人定位系统
CN103487047A (zh) * 2013-08-06 2014-01-01 重庆邮电大学 一种基于改进粒子滤波的移动机器人定位方法
CN105806345A (zh) * 2016-05-17 2016-07-27 杭州申昊科技股份有限公司 一种用于变电站巡检机器人激光导航的初始化定位方法
CN106568432A (zh) * 2016-10-20 2017-04-19 上海物景智能科技有限公司 一种移动机器人初始位姿获取方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ActionSLAM: Using location-related actions as landmarks in pedestrian SLAM;Michael Hardegger etal.;《2012 International Conference on Indoor Positioning and Indoor Navigation》;20130124;第1-10页 *
Concurrent Estimation of Robot Pose and Landmark Locations in Underwater Robot;Tae Gyun Kim etal.;《2013 13th International Conference on Control, Automation and Systems (ICCAS 2013)》;20140109;第195-197页 *

Also Published As

Publication number Publication date
CN108507579A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
CN108507579B (zh) 一种基于局部粒子滤波的重定位方法
EP3660618B1 (en) Map building and positioning of robot
JP5018458B2 (ja) 座標補正方法、座標補正プログラム、及び自律移動ロボット
CN109459039B (zh) 一种医药搬运机器人的激光定位导航系统及其方法
US7392151B2 (en) Initializing position and direction of mining vehicle
JP5782708B2 (ja) 走行支援装置
KR20170088228A (ko) 다중로봇의 자기위치인식에 기반한 지도작성 시스템 및 그 방법
US11797023B2 (en) Controller, control method, and program
CN111694356A (zh) 一种行驶控制方法、装置、电子设备及存储介质
JP2018017826A (ja) 自律移動体と環境地図更新装置
CN112444246B (zh) 高精度的数字孪生场景中的激光融合定位方法
CN110861082B (zh) 辅助建图方法、装置、建图机器人及存储介质
CN111665868B (zh) 基于虚拟航道的无人船返航方法、装置、设备及存储介质
WO2020183659A1 (ja) 情報処理装置および移動ロボット
JP5852645B2 (ja) 軌跡補正方法、軌跡補正装置および移動体装置
EP4102327A1 (en) Position recognition method and position recognition system for vehicle
CN112904358A (zh) 基于几何信息的激光定位方法
CN115752474A (zh) 非平坦地面环境下的机器人导航规划方法、装置及机器人
CN112154429B (zh) 高精度地图定位方法、系统、平台及计算机可读存储介质
CN114777770A (zh) 机器人定位方法、装置、控制终端以及可读存储介质
CN112127417B (zh) 用于生成工程机械周围的环境数据的装置及包括其的工程机械
Guan et al. TNES: terrain traversability mapping, navigation and excavation system for autonomous excavators on worksite
JP3009372B2 (ja) 自律走行車の走行制御方法
JP7338048B2 (ja) 移動体システム
WO2023216651A1 (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