CN108507579B - 一种基于局部粒子滤波的重定位方法 - Google Patents
一种基于局部粒子滤波的重定位方法 Download PDFInfo
- 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
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/20—Instruments for performing navigational calculations
Abstract
本发明公开了一种基于局部粒子滤波的重定位方法,包括:步骤1:用户操作机器人在工作环境下进行地图构建。步骤2:开启定位导航模式,启动重定位。步骤3:生成随机初始位姿集合。步骤4:更新粒子滤波器。步骤5:判定粒子滤波器输出是否满足初始定位需求。步骤6:计算实际观测与地图间的偏差。本发明避免用户直接接触机器人底层部件,降低用户操作门槛,提高用户体验,采用上述技术方案使得机器人应用层面可以更加友好的与底层模块进行交互。
Description
技术领域
本发明涉及机器人重定位技术领域,具体涉及一种基于局部粒子滤波的重定位方法。
背景技术
基于2d激光的机器人自主移动系统通常包括构建地图和定位导航两个部分。构建地图通常由操作人员控制机器人,在该机器人工作环境下行走,使用相应的构图算法获得工作环境下的地图。对于2d激光来说,得到的地图通常为栅格地图,存储为文件,供定位导航系统及后续应用使用。
定位导航系统载入构图系统生成的栅格地图,并在该地图中实现机器人自定位和导航。基于激光的机器人自定位算法通常采用粒子滤波算法,在机器人操作系统ROS(RobotOperating System)中的相应模块为amcl。2d激光的初始位姿首先需要用户在栅格地图中指定,包括机器人的位置和朝向信息,然后机器人可以在地图范围内进行自定位和导航。初始位姿的给定需要用户面对栅格地图,需要一定的操作技巧,提高了机器人使用门槛,降低了用户体验。
实际应用时,机器人需要将地图中的若干位置进行特殊的标注,例如商场服务机器人需要标注每个店的位置、厕所等位置,以便引导用户至相应的目的地。本发明旨在通过这些特定的位置辅助机器人进行初始位姿的给定。从而避免用户直接接触栅格地图等底层部件,并与机器人实际应用进行更好的对接。
发明内容
本发明所要解决的技术问题是:针对现有的基于2d激光的机器人重定位需要用户在栅格地图上进行,导致操作门槛高,用户体验差的问题,提出了一种基于局部粒子滤波的重定位方法。
本发明所述标注集合其中P=(x,y,θ)表示地图中的特定位置,L表示上述位置对应的标注,位姿P1标注为L1,位姿Pi对应标注Li,位姿Pn对应标注Ln,不同的位姿对应不同的标注,例如充电桩、厕所等常用名词。初始该集合为空。中n表示中元素的个数。
本发明所述激光观测scanM是指激光传感器单次扫描采集到的数据,scanM={(l1,θ1)...(li,θi)...(lM,θM)}。其中M表示激光传感器单次扫描获得的数据点数目,θi表示第i个数据点的偏转角,li表示第i个数据点的距离。
本发明采用的技术方案如下:
一种基于局部粒子滤波的重定位方法,包括以下步骤:
步骤1:用户操作机器人在工作环境下进行地图构建,在构图过程,用户指令当前位姿P1标注为L1,位姿Pi对应标注Li,位姿Pn对应标注Ln,不同的位姿对应不同的标注,形成标注集合将构建完成的地图保存和标注集合保存至本地,供后续步骤使用;
使用下列公式生成粒子位姿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,θ)加入到得到粒子位姿集合判定中粒子位姿个数n是否大于m,如果是,则进行步骤4,否则继续生成随机初始位姿;
步骤5:判定粒子滤波器输出是否满足初始定位需求,若满足初始定位需求进入步骤6,否则返回步骤3;
步骤6:计算实际观测与地图间的偏差,偏差符合要求,重定位成功,否则返回步骤3;
步骤7:开始自主定位和导航。
步骤1中,P=(x,y,θ)表示地图中的特定位置,P1为(x1,y1,θ1),Pi为(xi,yi,θi),Pn为(xn,yn,θn),L表示P对应的标注,标注集合位姿P1对应标注L1,位姿Pi对应标注Li,位姿Pn对应标注Ln,1、i、n为不同的序号。
将该矩阵进行特征值分解,得到cov特征值为(λ1,λ2,λ3),其中λi越小表示粒子滤波器的粒子位姿相似程度越高,得到的位姿也越准确。如果对于λi∈(λ1,λ2,λ3),满足λi<ε,其中ε为设定阈值,则进行步骤6,否则返回步骤3;
步骤6中,对于最终位姿将激光观测scanM={(l1,θ1)...(li,θi)...(lM,θM)}投影到栅格地图上,其中M表示激光传感器单次扫描获得的数据点数目,θi表示第i个数据点的偏转角,li表示第i个数据点的距离;
对于(li,θi),得到该点在栅格地图中的坐标为:
在栅格地图中查找距离(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。将构建完成的地图保存和标注集合保存至本地,供后续步骤使用。
x=xi+rand(-1,1)×r
y=yi+rand(-1,1)×r
θ=rand(0,1)×2π
步骤4:使用粒子位姿集合初始化amcl,并通过程序向机器人发送机器人原地旋转指令。旋转过程中,粒子滤波器更新粒子状态。对于每个位姿根据实际激光观测与栅格地图的一致程度更新粒子滤波器,使得粒子位姿趋向于尽可能使实际激光观测与栅格地图一致。
步骤5:判定粒子滤波器输出是否满足初始定位需求。
将该矩阵进行特征值分解,得到cov特征值为(λ1,λ2,λ3),其中λi越小表示粒子滤波器的粒子位姿相似程度越高,得到的位姿也越准确。如果对于λi∈(λ1,λ2,λ3),满足λi<ε,其中ε为设定阈值,则进行步骤6,否则返回步骤3。
步骤6:计算实际观测与地图间的偏差。
在栅格地图中查找距离(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,不同的位姿对应不同的标注,形成标注集合将构建完成的地图保存和标注集合保存至本地,供后续步骤使用;
使用下列公式生成粒子位姿P(x,y,θ):
x=xi+rand(-1,1)×r
y=yi+rand(-1,1)×r
θ=rand(0,1)×2π
步骤5:判定粒子滤波器输出是否满足初始定位需求,若满足初始定位需求进入步骤6,否则返回步骤3;
将该矩阵进行特征值分解,得到cov特征值为(λ1,λ2,λ3),如果对于λi∈(λ1,λ2,λ3),满足λi<ε,其中ε为设定阈值,则进行步骤6,否则返回步骤3;
步骤6:计算实际观测与地图间的偏差,偏差符合要求,重定位成功,否则返回步骤3。
2.根据权利要求1所述的基于局部粒子滤波的重定位方法,其特征在于,步骤6中,对于最终位姿将激光观测scanM={(l1,θ1)...(li,θi)...(lM,θM)}投影到栅格地图上,其中,θi表示第i个数据点的偏转角,li表示第i个数据点的距离;
对于(li,θi),得到该点在栅格地图中的坐标为:
在栅格地图中查找距离(gx,gy)最近的障碍物坐标(ox,oy),计算两者之间的距离dist:
dist=sqrt((gx-ox)2+(gy-oy)2)
如果dist小于阈值S,则判定该观测点为内点,否则为异常点,最终计算scanM中内点所占的比例,如果该比例大于阈值R,则重定位成功,否则返回步骤3。
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100601960B1 (ko) * | 2004-08-05 | 2006-07-14 | 삼성전자주식회사 | 로봇의 위치 추적 및 지도 작성 방법 |
-
2018
- 2018-04-08 CN CN201810307437.8A patent/CN108507579B/zh active Active
Patent Citations (4)
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)
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 |