HCRbot 系列7──启动 HCRbot 机器人

2017-10-071.6万
精华项目
AI 快速预览详细 收起
这篇教程是HCRbot机器人系列的第7篇,介绍了如何启动和测试HCRbot机器人。首先通过轻按OpenCR上的SW1和SW2按钮来验证机器人的前进和旋转功能。然后,通过运行`roscore`和`roslaunch hcr_bringup hcr_robot.launch`命令启动机器人,并查看IMU数据。接着,通过Rviz可视化界面查看HCRbot模型。最后,介绍了如何启动和配置RPLIDAR、Kinect和RealSense R200等传感器。通过模块化设计,用户可以自定义添加其他传感器。

这篇是 HCRbot 机器人系列的第 7 篇,经过前面章节的介绍,HCRbot 机器人的软件部分都已经设置完成啦,接下来这一章节就可以介绍如何控制 HCRbot 机器人的运动了。

下面是目前已经写好的所有篇章链接:

测试

以上所有步骤都完成后,我们的 HCRbot 就可以启动啦。在正式玩各种好玩的功能前,我们先测试一下。

轻按 OpenCR 上的 SW1 按钮,看看 HCRbot 是否会前进1米;然后再轻按 OpenCR 上的 SW2 按钮,看看 HCRbot 是否会旋转180度,如果都没有问题的话,那么恭喜你,HCRbot 可以运行啦。

启动 HCRbot

[Remote PC] 运行 roscore:

roscore

[HCRbot] ssh 进入 HCRbot 机器人,开启 HCRbot 机器人:

roslaunch hcr_bringup hcr_robot.launch

hcr_robot.launch 文件中,主要运行了与 OpenCR 串口通信的节点,以及速度控制命令相关的节点。

[Remote PC] 在上位机上查看是否有 IMU 的返回数据:

rostopic echo /imu

HCRbot 系列7──启动 HCRbot 机器人图1

可视化

为简化 HCRbot 在 ROS 中的 URDF 建模,在 hcr_description 包中,只建立了 HCRbot 的简单模型,URDF 文件按中只包含了 base_link 和 base_footprint 的 tf 关系。查看 HCRbot 模型方法很简单:

[Remote PC] 在远程主机上打开 Rviz 可视化界面:

roslaunch hcr_bringup hcr_model_view.launch

HCRbot 系列7──启动 HCRbot 机器人图2

其他传感器的 tf,包括 Kinect、R200 和 RPLIDAR 等,都在相应的 launch 文件中,手动通过 static_transform_publisher 来发布,接下来会介绍。

启动 HCRbot 上的传感器

[HCRbot] 启动 RPLIDAR A1/A2 激光雷达:

export HCR_LASER_SENSOR=rplidar # default
roslaunch hcr_bringup laser.launch

如下图红框中为 tf 发布的 RPLIDAR 激光雷达在 HCRbot 上的坐标转换关系,即为 RPLIDAR 激光雷达在 HCRbot 的上位置,大家可以根据自己的安装位置自行修改。

HCRbot 系列7──启动 HCRbot 机器人图3

[HCRbot] 启动 Xbox 360 Kinect 深度摄像机(默认):

export HCR_3D_SENSOR=kinect # default
roslaunch hcr_bringup 3dsensor.launch

如下图红框中为 tf 发布的 Kinect 深度摄像头在 HCRbot 上的坐标转换关系,即为 Kinect 深度摄像头在 HCRbot 上的位置,大家可以根据自己的安装位置自行修改。

HCRbot 系列7──启动 HCRbot 机器人图4

[HCRbot] 启动 RealSense R200 深度摄像机:

export HCR_3D_SENSOR=r200
roslaunch hcr_bringup 3dsensor.launch

如下图红框中为 tf 发布的 R200 深度摄像头在 HCRbot 上的坐标转换关系,即为 R200 深度摄像头在 HCRbot 上的位置,大家可以根据自己的安装位置自行修改。

HCRbot 系列7──启动 HCRbot 机器人图5

自定义传感器

正如介绍章节所说,HCRbot 项目采用模块化设计的方案,大家可以自行添加其他传感器。

比如,你用的其他的激光雷达,你只需要在路径 hcr_bringup/launch/includes/laser 下新建一个 $[laser_name].launch.xml 文件,其中 $[laser_name] 为你用的激光雷达的名字,比如 lds,在里面添加相应的激光雷达的驱动代码和 tf 变换即可。具体可以参考 laser 文件夹下的 rplidar.launch.xml 文件。

当你想要使用 lds 激光雷达时,只需要在 Terminal 中输入如下代码:

export HCR_LASER_SENSOR=lds

或者直接在 ~/.bashrc 文件中修改 HCR_LASER_SENSOR 参数为 lds。

视觉传感器也类似,只是文件路径为 hcr_bringup/launch/includes/3dsensor。可以参考该文件夹下的 kinect.launch.xmlr200.launch.xml 文件,不再赘述。

参考资料










创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
20060606
20060606
这个平台载重多少
qwe143109
qwe143109
[mw_shl_code=bash,true]roslaunch hcr_bringup 3dsensor.launch[/mw_shl_code]
你好,关于深度摄像机貌似有些问题。按照您github上的代码,好像不是您最新的代码(和截图里面的程序有些出路),会报一些错误,不知能否更新一下。谢谢。
- 没有更多了 -