机器人学习之项目- Project3:Map My World

1.概述

欢迎来到Project 3: Map My World(绘制我的世界地图)!在这个项目中,将使用RTAB-Map包从模拟环境中使用机器人创建一个2D占用网格和3D octomap。RTAB-Map(基于实时外观的映射)是SLAM开发能够三维映射环境的机器人的流行解决方案。RTAB-Map具有良好的速度和内存管理,并为信息分析提供了定制开发的工具。尤其重要的是,ROS Wiki (rtabmap_ros - ROS Wiki)上的文档质量非常高,若能够结合利用好RTAB-Map与机器人,将给绘图及定位打下一个坚实的基础。

对于这个项目,我们将使用rtabmap_ros包,这是一个用于与RTAB-Map交互的ROS包装器(API)。在查看相关文档时请记住这一点。

项目说明

项目流程如下:

1)将开发自己的包来与rtabmap_ros包进行接口。

2)在上一个定位项目的基础上进行必要的更改,以便将机器人与RTAB-Map连接起来。这方面的一个例子是RGB-D相机的添加。

3)确保所有文件都在适当的位置,所有链接都正确连接,命名设置正确,主题映射正确。此外,还需要生成适当的启动文件来启动机器人并映射其周围环境。

4)当机器人启动后,teleop控制它在房间里移动,生成一个适当的环境地图。

2.仿真设置 

设置catkin_ws文件夹以及src文件夹,然后从上一个项目抓取代码(复制上一个项目的模拟环境和机器人)至重新命名的文件包( 比如:myrobotb)中。即,创建用于启动Gazebo世界和机器人模拟的包。然后运行catkin_make和source devel/setup.bash脚本。启动world.launch以验证是否可以正常运行!

roslaunch myrobotb world.launch

3.RTAB-Map包

RTAB-Map Pacakge

尽管ROS提供了大量的包,但是集成ROS包需要理解包本身以及它如何连接到项目。最好从RTAB-Map ROS Wiki页面开始。

根据文档http://wiki.ros.org/rtabmap_ros/Tutorials/SetupOnYourRobot,推荐的机器人配置要求:

1)一个2D Laser,提供sensor_msgs/LaserScan消息的测程传感器;

2)提供nav_msgs/Odometry消息的3D 摄像传感器;

3)兼容openni_launch, openni2_launchfreenect_launch ROS包。 

但似乎我们缺少3D摄像传感器!

4.传感器升级

在之前的项目中,使用RGB相机,现在是时候给机器人升级了。具体来说,我们将为RTAB-Map使用一个模拟Kinect摄像头。升级传感器如下:

增加optical摄像头链接

对于URDF文件中的RGB-D相机,为了使Gazebo中的相机图像与机器人正确对齐,需要在相机链接上增加一个额外的链接和一个额外的关节。注意,camera_optical_joint的父链接应该正确配置为原始摄像机链接。在机器人的.xacro文件中添加以下关节和链接:

<joint name="camera_optical_joint" type="fixed">
    <origin xyz="0 0 0" rpy="-1.5707 0 -1.5707"/>
    <parent link="camera_link"/>
    <child link="camera_link_optical"/>
  </joint&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值