为了快速浏览教程,先从ArbotiX虚拟器开始。具体代码看ros-by-example 1,主要讲述实现过程。
首先要启动一个虚拟的Turtlebot
$ roslaunch rbx1_bringup fake_turtlebot.launch
另一个终端,打开RViz可视化机器人运动
$ rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz
一、控制底座
1、直接发布命令
先来看下现有的话题

基控制器节点订阅/cmd_vel话题,类型是geometry_msgs/Twist

然后把Twist消息翻译成发动机信号,使轮子转动。二维平面差速驱动机器人只用到了线速度x和角速度z部分。
$ rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.1, y:
0, z: 0}, angular: {x: 0, y: 0, z: -0.5}}'
想要机器人停下来,发布空消息即可

本文档介绍了如何通过ROS控制Turtlebot底座,包括直接发布命令、从ROS节点发布Twist消息及使用测程法前进。此外,详细探讨了导航、路径规划和SLAM,如move_base包的配置与应用,gmapping和acml在地图绘制与定位中的作用。通过实际操作,帮助读者理解ROS在机器人自主移动中的应用。
最低0.47元/天 解锁文章
674

被折叠的 条评论
为什么被折叠?



