《ROS理论与实践》学习笔记海龟仿真器的命令行控制
Posted Sakurazzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《ROS理论与实践》学习笔记海龟仿真器的命令行控制相关的知识,希望对你有一定的参考价值。
《ROS理论与实践》学习笔记(一)海龟仿真器的命令行控制
在学习《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.0
y:0.0
z:0.0
angular:
x:0.0
y:0.0
z:0.0"
3.发布服务请求
通过spawn发布新增一只海龟的服务请求,代码如下:
$ rosservice call /spawn"x:5.0
y:5.0
theta:0.0
name:'turtle2'"
本讲作业
1.运行海龟仿真器,并使用命令行工具新产生2只海龟
命令行代码如下:
$ roscore
$ rosrun turtlesim turtlesim_node
$ rosservice call /spawn "x: 2.0
y: 2.0
theta: 0.0
name: 'turtle2'"
$ rosservice call /spawn "x: 4.0
y: 4.0
theta: 0.0
name: 'turtle3'"
$ rosrun turtlesim turtle_teleop_key
运行结果:
2.查看3只海龟的计算图结构
命令行代码如下:
$ rqt_graph
运行结果:
3.使用命令行工具控制一只海龟做圆周运动,并显示位置曲线
代码如下:
$ rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 1.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.5"
运行结果:
结语
本讲完成了海龟仿真器的命令行控制,通过话题通信发布速度指令,通过服务通信生成新的海龟,并通过rqt_graph工具显示计算图。
以上是关于《ROS理论与实践》学习笔记海龟仿真器的命令行控制的主要内容,如果未能解决你的问题,请参考以下文章