当前位置:首页 >> IT/计算机 >>

基于激光雷达的移动机器人定位和地图创建_图文

您的论文得到两院院士关注 文 章 编 号 :1008-0570(2009)05-2-0227-03

机器人技术

基于激光雷达的移动机器人定位和地图创建

Localization and Mapping Using Laser Scanner for Mobile Robot
(1.山东教育学院;2.山东大学机器人研究中心) 王 元 华 1 李 贻 斌 2 汤 晓 2
WANG Yuan-hua LI Yi-bin TANG Xiao

摘要: 针对 未 知 环 境 下 移 动 机 器 人 定 位 和 地 图 创 建 问 题, 提 出 了 创 建 局 部 地 图-机 器 人 定 位-更 新 全 局 地 图 的 方 法 和 步 骤 。

利用激光雷达数据,采用“聚合-分割-聚合”的方法并运用动态阈值获得精确的局部地图。 通过匹配局部地图和全局地图的

线段关系,实现了机器人的定位,更新了机器人的位姿,减少了机器人的系统误差和环境误差,进而完成了全局地图的创建与

更新。 实验证明,此算法可以在实现机器人定位的同时获得精确的环境地图,并且有效的缩短了地图生成时间,可靠性高、实

时性好。

关键词: 移动机器人; 激光雷达; 定位; 地图创建

中图分类号: TP24

文献标识码: A

Abstract: In order to solve the problem of localization and mapping for the mobile robot under uncertainty environment, a process of local map building -robot localization -global map building is introduced. Using laser scanner to acquire environment data, an improved “merge -divided - merge ” means based on dynamic threshold is adopted in local map building to get more accurate local maps. Realize the robot localization and update the robot localization through matching the local map and global map. The method reduces the system and environment error, and then realizes the building of global map. The experimental results show that the method can acquire more accurate map in the process of implementing the localization of robot, and reduce the time of building global map greatly. It also has high reliability and good real-time performance. Key words: mobile robot; laser scanner; localization; mapping

技 术 创 新

1 引言
地图创建是移动机器人领域中的一个基本问题,环境地图 在移动机器人导航定位和路径规划中起到很重要的作用。 要实 现移动机器人的自主导航,最重要的是通过定位来获得机器人 在环境中的准确位姿。 根据先验地图进行移动机器人定位和自 主导航得到广泛应用,但实际环境往往不能提供准确的先验地 图,这给移动机器人的自主导航带来很大的问题。 因此,移动机 器人在未知环境中的定位和地图构建成为移动机器人研究领 域的一个热点问题。 目前移动机器人常用的地图表示方法有二 种,一是占据网格法,用每一个网格被占据的概率值来表示环 境信息,但网格地图的精确度不高。 二是基于几何的表示方法, 利用线段、弧线来表示环境信息。 几何地图信息存储量小,可以 直接应用在移动机器人的导航和路径规划上。 激光雷达和红 外、声纳等传感器相比,获取数据速度快而精确。 因此,利用激 光雷达数据做出的地图具有很高的精确度。
地图创建可分为局部地图创建和全局地图创建。 全局地图 是通过融合多个局部地图的信息形成的,由于通过机器人硬件 系统得到的位姿存在累计发散的误差,因此寻找局部地图和已 经获得的全局地图的相关性是移动机器人定位和全局地图创 建的一个关键问题。
在 局 部 地 图 的 创 建 过 程 中 ,本 文 提 出 了 一 个 “聚 合-分 割-
王元华: 助教 硕士研究生 基金项目: 基金申请人: 李贻斌; 项目名称: 基于混沌 理论的真实环境下移动机器人行为适应性控制策略 研究; 颁发部门: 山东省科学技术厅(Z2007G02)

聚合”的方法来获得线段用以表示环境信息。 在聚合和分割的 过程中采用动态阈值的方法,可以在较短的时间内获得一个精 确的局部地图。 利用局部地图创建过程中获得的线段参数,寻 找局部地图和全局地图的匹配关系, 实现机器人的精确定位。 利用激光雷达的中心和线段的端点构造一个区域,匹配过程中 只考虑和这个区域有关的线段,这就是“线段范围”的方法,目 的是减少匹配过程中的计算量。 这种方法可显著减少全局地图 的创建时间。
2 局部地图创建
2.1 坐标转换 通 过 激 光 雷 达 可 以 得 到 361 个 环 境 点 的 数 据 (范 围 180 度 ,间 隔 0.5 度 ),这 些 数 据 是 以 激 光 雷 达 中 心 为 极 点 的 极 坐 标 系表示的局部坐标,为了处理的方便,把这些以极坐标表示的 数据转化为笛卡尔系下的全局坐标:
(1)
上式 中 ,di 是激 光 雷 达得 到 的 极 坐 标 系 数 据 ,(xl, yl, αl)是 激 光雷达中心在全局地图 中 的 坐标 ,αl 是 激 光雷 达 主 轴与 X 轴 的 夹角。
2.2 局部地图创建 将激光雷达采集到的离散点的数据信息处理成用来表示 环 境 信 息 的 线 段 ,采 用 “聚 合-分 割-聚 合 ”的 方 法 ,通 过 区 域 分 块、线段分割和线段表示三个步骤来完成。 2.2.1 区域分块 通过 坐 标转 换 ,可 以得 到 361 个 离散 点 的 笛 卡 尔 坐 标 。 首

《P LC 技术应用 200 例》

邮局订阅号:82-946 360 元 / 年 - 227 -

机器人技术

《微计算机信息》(嵌入式与 S OC )2009 年第 25 卷 5-2 期

先假设这 361 个点为一个区域,起点是第一个 点 ,终 点是 第 361

个点。 按照连续两点间的距离进行区域分块,具体步骤如下:

①计算连续两个点之间的距离 Dj,公式如下:

j=1, 2…360;i=0, 1……359 (2)

②判 断 如果 Dj 大 于 预先 设 定 的阈 值 δ,则 认为 这 两 个 点 是 不连续的,以这个点为分割点将区域分成两块。 由于障碍物到

激光雷达的距离不同, 连续的相邻扫描点之间的距离也不同,

为了取得较为精确的分块效果, 采用动态阈值的方法来分块,

例如扫描点到激光雷达中心的距离小于 D,选取的阈值为 δ,如

果距离为大于 D 且小于 2D,选取的阈值为 2δ。

③判断每个区域内的扫描点的个数,如果每个区域包含点

的个数小于 3,该区域被视为噪声区域,舍弃这些噪声点。

2.2.2 线段分割

经 过 区 域 分 块 ,得 到 了 可 以 用 线 段 表 示 的 区 域 Bi(i=1,2… N),这些区域可以由一条或者多条线段来表示。 对这些区域进

行线性分割,步骤如下:

①在 区 域 块 Bi 中 , 以 第 一 个 点 Ps(Xs,Ys) 和 最 后 一 个 点 PE (Xe,Ye)作一条直线 L,计算其余各点到这条直线的距离,选出距

离最大的一个点,若这个距离大于阈值 α ,将这块区域分成两
技 部分,同样采用动态阈值的方法进行线性分割,阈值 α 可选为

直线长度 L 的 1/10。



②重复步骤 1), 可以得到 M 个可以用一条线段表示的线

性区域 Li(i=1,2…M)。 如图 1 所示,将原始扫描数据先分为区域
创 块,然后分为可以线性表示的线段。



图 2 (a) 原始数据

(b)局 部 地 图

3 全局地图的创建

移动机器人在一个确定的位置得到一个局部地图,当移动 机器人在房间内移动时,得到多个局部地图,全局地图是通过 融合多个局部地图形成的。 由于局部地图采用的是全局坐标, 因此对相同的环境扫描得到的线段应该是重合的,由于机器人 硬件系统得到的位姿存在误差,线段不可能完全重合,这样的 线段就是相关线段。 融合的关键就是寻找局部地图和全局地图 的相关线段,通过计算相关线段之间的关系来完成机器人的精 确定位和全局地图的更新。
3.1 线段范围 在寻找局部地图和全局地图相关线段的过程中,为了减少 检查的线段数量,提出了“线段范围”的方法。 如图 3 所示。 LG 为 全局 地 图中 的 一 条 线 段 , 以 LG 的 两 个 端 点 和 激 光 雷 达 中 心 为 定点圈定一个范围 R,对于给定的范围 R,局部地图中的线段可 分为以下四种情况:①线段的两个端点都在 R 外部而且与 R 无 交; ②线段的两个端点都在 R 内部; ③线段的一个端点在 R 内部,一个端点在 R 外部;④线段的两个端点都在 R 外部而 且与 R 有两个交点。 当寻找相关线段时,只考虑这些在 R 区域 范围 内 的线 段 (如 线段 2,3,4),“线 段 范围 ”缩 短 了 寻 找 相 关 线 段耗费的时间。

图 1 区域分块和线段分割示意图

2.2.3 线段表示

通过以上两个步骤,扫描得到的 361 个点被分成了图 1 区

域分块和线段分割示意图 M 个线性区域,需要构造一条线段来

最大程度地描述这些点之间的线性关系。 假设线性区域 Li 含有 的 扫 描 点 的 个 数 为 N,用 W(w1,w2… ..wN-1)来 表 示 权 重 矢 量 ,假 设相邻两点间的距离为 , 起始点到终止点的长度为 L,则

,这样可以得到区域 Li 的权重矢量 W(w1,w2…..wN-1)。 这条

直线的参数可以表示为:

① 权重中心 Pm(mx,my)。

②协方差阵

,其中







。 (3)

③ 线段和 X 轴之间的夹角:

(4)

④ 线段的长度 Li =∣d x /cosθ∣。 其中 d x =Xs-Xe。 ⑤ 线段的起点和终点可以表示为:

(5)

图 2 (a)为激光雷达获得的原始数据(离散的点),经过区域 分块、线段分割和线段表示三个步骤就转化为局部地图(连续 的线段),如图 2 (b)所示。

图 3 线段范围的示意图

3.2 寻找相关线段

局部地图创建得到的线段参数是需找相关线段的参考标

准,可分为以下四个步骤:

①取 出 全 局 地 图 的 一 条 线 段 LG,按 照 “线 段 范 围 ”的 方 法 , 得出局部地图中符合条件的线段,如果不存在,则取出下一条

全 局 地 图 的 线 段 ,再 次 计 算 ,直 到 找 到 所 有 符 合 条 件 的 线 段 LC 为止。

②判 断 局 部 地 图 中 的 线 段 和 全 局 地 图 中 的 线 段 是 否 相 关 ,

有两个条件用于测试:

1)Δθ=∣θL-θG∣<δ(θL 是局部地图中线段和 X 轴的夹角,θG 是全 局 地图 中 线 段 LG 和 X 轴 的 夹角 )。 如 果 两条 线 段 相 关 ,则 必须满足这一个条件。

2)线段 LC 的重心到线段 LG 的垂直距离 DL 小于一个阈值 δL。

<

(6)

其中

为 线 段 LG 的 重 心 ,

为线段 L 的重心。

如果满足以上两个条件,则这两条线段是相关的。

③对 于 符 合 条 件①的 LC,重 复②的 步 骤 ,然 后 选 取 符 合 条

- 228 - 360元 / 年 邮局订阅号:82-946

《现场总线技术应用 200 例》

您的论文得到两院院士关注

件 2 且 具 有 最 高 置 信 度 ,也 就 是(Δθ, Dl)值 最 小 的 线 段 LC 作 为 线段 LG 的相关线段。

④重复步骤①-③, 找出所有相关的线段对并计算得到每

一对相关线段的(Δθ, Dl)。

3.3 机器人定位

寻找到所有的相关线段后,下一步就是得到机器人的精确

位姿。 具体步骤如下:

①选 取 一 对 相 关 的 线 段 ,假 设(X,Y,θ)为 通 过 机 器 人 自 身 系

统得到的机器人的位姿。 首先计算机器人的角度



然后重新计算局部地图中相关线段 LC 的参数, 得到新重心



新 重 心 到 线 段 LG 的 距 离 为



则机器人的新位姿为

, 其中





②选取另外三对相关线段,重复步骤①,这样总共得到四

组机 器 人 的位 姿(Xi,Yi,θi),其 中 i=1,2,3,4。 采 用 最 小 平 方 法 使 得 各组位姿到新位姿的误差的平方和最小。 即满足条件:



的位姿

就是机器人的新位姿。 图 4(a)为未经过位姿更新得

到的地图,图 4(b)为经过位姿更新得到的地图。

图 4(a) 未经过位姿更新的地图 (b) 经过位姿更新的地图 3.4 全局地图更新 经过位姿更新得到的局部地图具有较高的可信度,融合局
部地图的线段便可以完成全局地图的更新,分为以下两个步骤: ①相关线段的更新,相关线段可分为 3 种情况, 1) 局部地图的线段是全局地图中的线段的一部分; 2) 局部地图的线段和全局地图中的线段完全重合; 3) 局部地图的线段和全局地图中的线段部分重合; 如果是第一和第二种情况, 则从局部地图删去这条线段,
如果是第三种情况,则以这对相关线段的原始数据为基础重新 构造一条线段,并将其参数加入到全局地图中。
②完成相关线段的更新后,局部地图中还存在和全局地图 不相关的线段,就把这条线段直接插入到全局地图中。 至此,完 成了全局地图的更新。

图 5 全局地图

机器人技术

4 实验

实 验 采 用 的 移 动 机 器 人 是 装 备 激 光 雷 达 LMS200 的

Pioneer 3。 激光雷达的扫描范围为 180 度(-900~900),扫描间隔

为 0.5 度 , 每 次 扫 描 可 以 得 到 361 个 数 据 点 , 最 大 量 程 为

8.191m,其 误 差 在 1mm 以 内 。 移 动 机 器 人 在 室 内 移 动 时 ,当 机

器人的移动距离大 于 20cm 或者 转 动 角度 大 于 50 时,读 取 一 帧

数据, 按照本文提出的算法进行机器人定位和全局地图的更

新。 图 5 为实验得到的全局地图,在(8m*8m)的实验环境中,共

读取了 91 帧数据,实验结果表明算法是准确可行。

5 结论

本文作者创新点是:针对移动机器人定位和地图创建的问

题 ,采 用 了 几 何 特 征 表 示 环 境 信 息 ,采 取 了 创 建 局 部 地 图-机 器

人定位-更新全局地图的步骤。 通过匹配局部地图和全局地图

的线段关系,实现了机器人的定位,减少了机器人的系统误差

和环境误差,进而实现了全局地图的创建。 通过对实验环境全

局地图的创建证明了文中算法的可靠性和准确性,并取得了理

想的效果。 在今后的研究中,要充分挖掘线段之间的关系,进一

步改进算法,实现实时地图创建。

参考文献



[1]Dissanayake G, Newman P. Clark S .A solution to the

术 simultaneous localization and map building (SLAM) problem [J] .
IEEE Trans on Robotics and Automation,2001, 229 -241.

创 [2]Hans M, Alberto E. High resolution maps from wide angel sonar
[J]. The IEEE International Conference on Robotics and

Automation, 1985,116-121.



[3]Zezhong X, Jilin L, Zhiyu X. Map building for indoor

environment with laser range scanner [J]. the IEEE 5th

International Conference on Intelligent Transportation Systems,

2002, 136-140.

[4]邱寄帆, 王海春. 基于分布式控制系统的轮式智能机器人研

究[J]. 微计算机信息, 2006, 22(4-2): 180-182.

[5]Xu Z,Liu J,Xiang Z. Map building and Localization Using 2D

Range Scanner[J]. the IEEE International Symposium on Computational

Intelligence in Robotics and Automation, 2003,848 -853 .

[6]Albert D, Geoffrey T, Lindsay K. Interactive SLAM using Laser

and Advanced Sonar [J]. the IEEEInternational Conference on

Robotics and Automation2005, 1103-1108.

作者 简 介:王 元 华 (1981-),女(汉 族 ),助 教,硕 士 研 究 生 。 主 要

从 事 移 动 机 器 人 智 能 控 制 的 研 究 ;李 贻 斌(1960-),男 ,教 授 ,博

士生导师,主要研究领域为研究领域为智能机器人,智能控制

等 ;汤 晓(1984-),男 ,硕 士 研 究 生 ,主 要 研 究 领 域 为 智 能 机 器 人 。

Biography: WANG Yuan -hua (1981 - ), Female (the Han

nationality), tutor, master, Research area: mobile robot intelligent

control .

(250013 山东教育学院) 王元华

(250100 山东大学机器人研究中心) 李贻斌 汤 晓

通 讯 地 址 :(250013 济 南 市 历 山 路 36 号 山 东 教 育 学 院 物 理 系 )

王元华

(收稿日期:2009.04.03)(修稿日期:2009.05.05)

您的才能 + 阅读本刊 = 您的财富

《P LC 技术应用 200 例》

邮局订阅号:82-946 360 元 / 年 - 229 -