先锋机器人学习笔记_1-3 2d 建模和 Mapper 地图编辑器

    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 按键让机器人在两点间自行往返。

注:蓝色点为激光雷达当前扫描到的障碍物, 浅绿色点为上一时刻扫到的障碍物,墨绿色点为声呐扫描到障碍物的信息。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值