本文主要是介绍《ROS理论与实践》学习笔记(一)海龟仿真器的命令行控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《ROS理论与实践》学习笔记(一)海龟仿真器的命令行控制
- 课程内容编程练习
- 1.启动海龟控制节点
- 2.发布话题消息
- 3.发布服务请求
- 本讲作业
- 1.运行海龟仿真器,并使用命令行工具新产生2只海龟
- 2.查看3只海龟的计算图结构
- 3.使用命令行工具控制一只海龟做圆周运动,并显示位置曲线
- 结语
在学习《ROS理论与实践》课程时,记录了学习过程中的编程练习,课后作业以及发现的问题,后续会对尚未解决的问题继续分析并更新,纯小白,仅供参考。
本次学习笔记关于课程中的第二讲:认识ROS 。主要学习了ROS的核心概念和通信机制,比如节点、话题(topic)通信、服务(service)通信、参数、功能包等。
课程内容编程练习
海龟仿真器的启动
1.启动海龟控制节点
1.启动ROS Master(new terminal)
$ roscore
2.启动小海龟仿真器(new terminal)
$ rosrun turtlesim turtlesim_node
3.启动海龟控制节点(new terminal)
$ rosrun turtlesim turtle_teleop_key
2.发布话题消息
通过cmd_vel发布速度指令,线速度1.0,沿x轴运动,代码如下:
$ rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist"linear:x:1.0y:0.0z:0.0angular:x:0.0y:0.0z:0.0"
3.发布服务请求
通过spawn发布新增一只海龟的服务请求,代码如下:
$ rosservice call /spawn"x:5.0y:5.0theta:0.0name:'turtle2'"
本讲作业
1.运行海龟仿真器,并使用命令行工具新产生2只海龟
命令行代码如下:
$ roscore$ rosrun turtlesim turtlesim_node$ rosservice call /spawn "x: 2.0y: 2.0theta: 0.0name: 'turtle2'"
$ rosservice call /spawn "x: 4.0y: 4.0theta: 0.0name: 'turtle3'" $ rosrun turtlesim turtle_teleop_key
运行结果:
2.查看3只海龟的计算图结构
命令行代码如下:
$ rqt_graph
运行结果:
3.使用命令行工具控制一只海龟做圆周运动,并显示位置曲线
代码如下:
$ rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:x: 1.0y: 0.0z: 0.0angular:x: 0.0y: 0.0z: 0.5"
运行结果:
结语
本讲完成了海龟仿真器的命令行控制,通过话题通信发布速度指令,通过服务通信生成新的海龟,并通过rqt_graph工具显示计算图。
这篇关于《ROS理论与实践》学习笔记(一)海龟仿真器的命令行控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!