Mapper
是地图绘制软件, 它可以把激光测距仪获得的信息(有一定的格式,可以用
MobileEyes
中获得,也可以用对应的
SickLogger
函数来获得)自动生成地图,也可以让用户自己手动绘制地图,手动绘制的地图可以直接加载在
MobileSim
中。通过激光扫描得到的数据被保存到了一个后缀名为“
.2d
”的文件中,此文件中包含了相关地图绘制的过程。用
Mapper
打开
2d
文件后软件会自动处理
2d
文件并生成一个新的后缀“
.map
”文件。处理后的地图文件吕除了地图上的动态点,保留静态点,因此也使地图更加准确。
操作步骤:
1.
打开
MobileSim
软件,创建虚拟机器人,并在
C:\Program Files\MobileRobots\MobileSim
路径下加载
columbia.map
(默认地图)。
自带地图路径为(C:\Program Files\MobileRobots\Aria\maps)
注意:打开
MobileSim只是为了配合ArnlServer或者sickLogger 等控制台程序做地图的仿真绘制工作。如果机器人配备了激光雷达,就不需要开启MobileSim。MobileSim与机器人工控机COM口不能同时打开,否则会发生冲突而不能建立连接。
2.
之后就可以开始地图的绘制工作了,如流程图所示,有两种方法可以创建一幅新的地图,
方法一:打开
ArnlSerer.exe
(
C:\Program Files\MobileRobots\ARNL\bin
)程序连接虚拟机器人。
Note:注意要右键以管理员权限打开,因此处要对系统文件进行读写操作。
成功建立连接后再开启
MobileEyes
图形化输出软件。从工具栏
Tools > Robot Configuration
中将地图加载进
MobileEyes
当中(注意只用输入文件名和后缀,软件就会自动在默认路径下搜索该地图) 。
此时可以看到两幅地图中机器人所处的的位置不一样,这时候就需要进行下一步地图的手动匹配工作。
3.
在
Tools > Robot tools > Localize to point
选择功能来进行匹配,大致方法是将
MobileEyes
中的机器人移动到与
MobileSim
当中相近的位置,并且朝向也要大概一致。之后软件便会将机器人当前扫描到的地图与之前
Tools > Robot Configuration
中加载的地图进行匹配。之后,会出现一个弹框,显示匹配相似百分比,点击
Done
完成。 (往任意位置单击是定位到此位置,单击后不松开转动圆圈是调整机器人方向。)
4.
从
Tools > Map Creation > Star Scan h
和
Stop Scan
可以记录和保存一份
2d
地图。期间可以通过工具栏的“
Drive
”和“
Wander
” 来遍历一遍所需区域。
Note:若无法启动扫描,要注意时刻观察sever.exe命令窗口的状态输出提示。可以看到提示为can not write···,说明权限不够,需要修改对应文件夹的操作权限。
5.
完成后的地图为
2d
文件,保存在
C:\Program Files\MobileRobots\ARNL\examples
之下。双击
2d
文件便会自动生成新的
map
文件,需要再保存一次。
6.
生成好的
map
地图可以在
Mapper
上再次进行修改,美化,作为测试地图使用。 以上便是地图建立的基本步骤。
方法二:直接用
sickLogger.exe
程序记录地图。
1.
第一步同上,之后打开
sickLogger.exe
程序记录地图,路径为
C:\ProgramFiles\MobileRobots\ARNL\bin
。
2.
之后可以通过方向键直接控制机器人进行地图扫描。需要注意的是地图会被以默认路径及默认名称保存(
C:\Program Files\MobileRobots\ARNL\bin
之下的
1scans.2d
), 可以自行修改文件名称。
3.
之后的步骤便一样了,双击
2d
文件生成新的
map
文件。
( 可能您会疑问为什么一开始用
MobileSim
加载了一幅地图,最后绘制出来的地图为什么还要用
MobileSim
来加载用作测试?因为条件所限,我们建立的是模拟环境和虚拟机器人。如果机器人装配了
SICK
激光,便可以略去第一步直接用真实的机器人和激光来绘制地图。 )
以上是用机器人来建立地图,当然了也可以通过
Mapper
来直接绘制地图,
Mapper
是一款简单的地图编辑器,用它所制作的地图保存后为
map
格式,能直接加载到
MobileSim
当中做测试之用。这样做就不需要用到激光绘图,以上
2 – 5
步骤便可以略去。 在开发程序或研究算法时,用户可以根据需要自己制作所需场景地图,比较灵活,简便。 不足之处就是
Mapper
软件功能比较单一,暂时只提供了用线段来绘制障碍物的形式,在制作复杂的场景地图时比较繁琐 。
Mapper
也可用来加载激光绘制的
map
地图,然后在其基础上进行修改。
常用按键功能 :
Select:
选择一条已经绘制的直线;
Cut:
与
Select
功能连用的,删除选中线段;
Eraser:
擦除点
/
线
/
区域;
Line:
绘制一条直线(最常用的功能,地图上所有的图形都是根据直线绘制出来的);
Goal:
设置目标点(机器人会在目标点之间自动往返,注意目标点是可以设置机器人朝向的);
Dock:
充电坞(某些型号的先锋机器人配有自动充电坞,在电量低至一定电压时会自动回坞充电,当然了虚拟充电坞的位置需要和实际的相匹配);
Forbidden Line/Area:
禁止线
/
区域(实际当中不存在的直线,但是机器人在做定位导航时不会触碰到此直线或者区域);
Home Point/Area
:初始点区域(点击初始点
/
区域时,机器人会回到设定好的点
/
区域);
Snap:
在绘制一些较为规则的区域时可以用到此按键,提供了自动对齐功能,能够轻松画出规则且整齐的线段。
实际演示: 用
Mapper
绘制一幅地图, 保存为“
M2.map
” 。
Note:此时地图默认存储位置为C:\Users\ws163\AppData\Local\VirtualStore\Program Files\MobileRobots\ARNL\examples ,应将其存储至\Program Files\MobileRobots\ARNL\examples文件夹下。
用
MobileSim
加载机器人和
map
文件。 打开
ArnlServer
控制台程序与机器人建立连接。
打开
MobileEyes
软件, 在
Tools > Robot Configuration
当中加载“
M2.map
” 地图,并选择
Tools > Robot Tools > Localize to Point
来进行地图匹配。 点击
Tour Goals
按键让机器人在两点间自行往返。
注:蓝色点为激光雷达当前扫描到的障碍物, 浅绿色点为上一时刻扫到的障碍物,墨绿色点为声呐扫描到障碍物的信息。
转载请注明原文地址: https://ju.6miu.com/read-660807.html