[HCRbot系列教程]HCRbot 系列7──启动 HCRbot 机器人 精华

12268浏览
查看: 12268|回复: 2

[HCRbot系列教程] HCRbot 系列7──启动 HCRbot 机器人

[复制链接]

这篇是 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 文件,不再赘述。

参考资料










qwe143109  学徒

发表于 2017-12-30 22:22:47

[mw_shl_code=bash,true]roslaunch hcr_bringup 3dsensor.launch[/mw_shl_code]

你好,关于深度摄像机貌似有些问题。按照您github上的代码,好像不是您最新的代码(和截图里面的程序有些出路),会报一些错误,不知能否更新一下。谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail