HCRbot 系列 9──控制 HCRbot 机器人绘制平面地图(SLAM)
这是 HCRbot 机器人的第 9 篇,这一章节主要介绍如何控制 HCRbot 绘制室内平面地图来做 SLAM。前面 8 篇讲了那么多废话,这一章开始,终于到了激动人心检验自己劳动成果的时候了!下面是目前已经写好的所有篇章链接:
- HCRbot 系列 1──HCRbot 机器人简介:https://mc.dfrobot.com.cn/thread-26938-1-1.html
- HCRbot 系列 2──HCRbot 硬件介绍与设置:https://mc.dfrobot.com.cn/thread-26939-1-1.html
- HCRbot 系列 3──HCRbot 上位机 PC 端软件设置:https://mc.dfrobot.com.cn/thread-26975-1-1.html
- HCRbot 系列 4──HCRbot下位机设置(树莓派版):https://mc.dfrobot.com.cn/thread-27020-1-1.html
- HCRbot 系列 5──HCRbot下位机设置(Odroid XU4版):https://mc.dfrobot.com.cn/thread-27161-1-1.html
- HCRbot 系列 6──HCRbot 底层驱动 OpenCR 设置:https://mc.dfrobot.com.cn/thread-27296-1-1.html
- HCRbot 系列 7──启动 HCRbot 机器人:https://mc.dfrobot.com.cn/thread-28248-1-1.html
- HCRbot 系列 8──远程控制 HCRbot 机器人:https://mc.dfrobot.com.cn/thread-29354-1-1.html
通过上一篇章,相信你已经会远程控制 HCRbot 机器人运动了,这一章将会用到之前学过的知识,远程控制 HCRbot 机器人在房间内运动,同时 HCRbot 机器人根据传感器“看到”的场景,将房间内的地图绘制下来,为下一章自动导航做准备。
## 启动 HCRbot 机器人
请确保你已经学习了上一章节 【HCRbot 系列 7──启动 HCRbot 机器人】 章节相关内容,那么根据上一章节的内容启动 HCRbot 机器人吧。
## 运动控制
你可以使用键盘或者 Xbox Joystick 来控制 HCRbot 机器人绘制房间平面二维地图。
【Remote PC】 用 Xbox Joystick (Xbox 手柄)遥控 HCRbot 机器人运动建图(推荐):
`roslaunch hcr_teleop xbox360_teleop.launch`
当然,如果你没有 Xbox Joystick 的话,也可以用电脑上的键盘:
【Remote PC】 用键盘遥控 HCRbot 运动建图:
`roslaunch hcr_teleop keyboard_teleop.launch`
## 使用激光雷达 RPLIDAR 绘图
如果使用 RPLIDAR A1/A2 做房间平面地图绘制,请编辑 .bashrc 文件,修改 HCR_LASER_SENSOR 参数为 rplidar,如下图:
【HCRbot 机器人】 ssh 进入 HCRbot 机器人,运行:
`roslaunch hcr_nav hcr_laser_slam.launch`
【Remote PC】 在远程主机上打开 Rviz 可视化界面:
`roslaunch hcr_nav slam_view.launch`
然后用键盘或者 Xbox Joystick 控制 HCRbot 运动,建图:
【HCRbot 机器人】 ssh 进入 HCRbot 机器人,保存地图:
`rosrun map_server map_saver -f ~/map`
下面是演示效果:
大家也可以访问下面的网址,查看视频版本,保证更加动感更加酷炫:
https://www.bilibili.com/video/av14986490/
## 使用 Xbox 360 Kinect 或 RealSense R200 摄像头建图
如果使用 Xbox 360 Kinect 做SLAM,请编辑 .bashrc 文件,修改 HCR_3D_SENSOR 参数为 kinect ,如下图:
如果使用 RealSense R200 做 SLAM,请编辑 .bashrc 文件,修改 HCR_3D_SENSOR 参数为 r200 即可,这里就不贴图了(我才不会告诉你是我忘记截图了呢)。
【HCRbot 机器人】 ssh 进入 HCRbot 机器人,运行:
`roslaunch hcr_nav hcr_3dsensor_slam.launch`
【Remote PC】 在远程主机上打开 Rviz 可视化界面:
`roslaunch hcr_nav slam_view.launch`
【HCRbot】 ssh 进入 HCRbot 机器人,保存地图:
`rosrun map_server map_saver -f ~/map_3dsensor`
最后的演示效果和激光雷达差不多,原谅我再次忘记拍视频了……
## 后记
你要是对 ROS 有一定了解,或者感兴趣的话,还可以试试 Hector Mapping 和 Google Cartographer 等各种绘制平面二维地图的算法~
如果有大神做好的话,欢迎在评论里po上步骤和演示视频哈~(实际上我又偷懒了哈哈哈) 厉害了!!!{:5_159:} 黑科技。。。。。。。。。。。 膜拜一波。。。绘制地图的算法不简单! #嘉诚欧巴# 发表于 2017-11-23 09:50
膜拜一波。。。绘制地图的算法不简单!
绘制地图的算法在ROS平台都有开源的~ 厉害 666厉害啦厉害啦厉害啦厉害啦666 jarvis_chan 发表于 2017-11-18 16:36
更新:大写加粗的心愿单!一键买齐核心元器件!https://www.dfrobot.com.cn/goods-1518.html
这是 HCRbot...
东西很棒学习了 学习了!!!非常厉害!!!! 666666666666
页:
[1]