第一个ROS例程(小海龟仿真)
1. 启动ROS Master(第一个终端)
roscore
2. 启动小海龟仿真器(第二个终端)
rosrun turtlesim turrlesim_node
3. 启动海龟控制节点(第三个终端)
rosrun turtlesim turtle_teleop_key
![](https://i-blog.csdnimg.cn/blog_migrate/aac996e4706eddff5a625a5cba404365.png)
4. 使用 rqt_graph
可视化工具参看计算图
rqt_graph
![](https://i-blog.csdnimg.cn/blog_migrate/60408dbf1bdb1aefde9f3fbaed08d5ea.png)
5. 使用rosnode list
查看系统的节点
rosnode list
![](https://i-blog.csdnimg.cn/blog_migrate/b12054b0ca3c8ce2df3edd9c77209f0a.png)
6. 使用 rosnode info
查看节点信息
rosnode info /turtlesim
![](https://i-blog.csdnimg.cn/blog_migrate/76119c88568143517340a4a055b31316.png)
7. 使用 rostopic list
查看系统的发布/订阅话题
rostopic list
![](https://i-blog.csdnimg.cn/blog_migrate/1c28b236ee446c66b13409a37fa26584.png)
8. 使用 rosnode info
查看话题信息
rostopic info /turtle1/cmd_vel
![](https://i-blog.csdnimg.cn/blog_migrate/71b6af6403aac85b77415d6cf28ede9f.png)
9. 使用 rostopic echo
监听话题信息
rostopic echo /turtle1/cmd_vel
![](https://i-blog.csdnimg.cn/blog_migrate/bd67c499278a93ee477d33c348f4b3e8.png)
10. 使用 rostopic pub
来发布命令
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 0.0
y: 2.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0"
![](https://i-blog.csdnimg.cn/blog_migrate/5eb29f8c3f10de3fd3a7ecf95632ff46.png)
11. 添加参数使其一直旋转
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/cf71a0560d16bdf86edc2d4fc6523808.gif)
12. 使用 rosservice list
查看系统的服务
rosservice list
![](https://i-blog.csdnimg.cn/blog_migrate/dac678cd60e34850db1b7d645a2a5594.png)
13. 使用 rosservice info
查看服务信息
rosservice info /spawn
![](https://i-blog.csdnimg.cn/blog_migrate/8383bde842d8479918f5e2dfb7e7d071.png)
14. 使用 rosservice call
发布服务请求
rosservice call /spawn "x: 2.0
y: 5.0
theta: 0.0
name: 'turtle2'"
![](https://i-blog.csdnimg.cn/blog_migrate/1724a55ab65384e736cb16f8432559ac.png)
15. 使用 rqt_plot
可视化工具
rqt_plot
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/96b4f51f1bef9ab05b8b1c5377dc0815.gif)