【ROS学习笔记】4.玩转小海龟——ROS命令行工具
2022/1/12 23:06:57
本文主要是介绍【ROS学习笔记】4.玩转小海龟——ROS命令行工具,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1 回顾第一个小海龟程序
- 2 查看系统中的计算图:rqt_graph
- 3 rosnode
- 显示话题列表:rosnode list
- 查看节点信息:rosnode info
- 4 rostopic
- 显示topic列表:rostopic list
- 手动发布数据给topic
- 5 rosmsg
- 查看消息数据结构
- 6 使用服务通信方式:rosservice
- 查看服务列表:rosservice list
- 手动通过服务来进行操作
- 7 话题记录和复现:rosbag
1 回顾第一个小海龟程序
打开小海龟程序:
终端,启动ROS Master:
roscore
终端2,启动小海龟仿真器:
(输入rosrun turtlesim
,敲两下Tab
健可查看该命令下有哪些功能)
rosrun turtlesim turtlesim_node
终端3,启动海龟控制节点:
rosrun turtlesim turtle_teleop_key
2 查看系统中的计算图:rqt_graph
新建终端窗口:
rqt_graph
可展示系统中运行的计算图:
可以清晰地了解系统的全貌。
teleop_turtle节点通过cmd_vel向turtlesim节点发出topic,使得小海龟移动。
3 rosnode
显示话题列表:rosnode list
可以看到有3个节点。
查看节点信息:rosnode info
查看节点的具体信息:rosnode info /节点名
我们查看节点turtlesim节点的信息:
4 rostopic
显示topic列表:rostopic list
手动发布数据给topic
我们来手动发布数据给topic来控制海龟移动,使用rostopic pub
上图我们看到小海龟是通过cmd_vel进行发布话题而移动的,这次我们通过手动publish数据给这个topic来控制小海龟移动。
格式:rostopic pub (参数) 话题名 消息数据结构 “具体数据”
例,我们输入:(我们可以使用Tab键让我们自动填充数据,使用方向键←→移动到指定位置修改数据,比如我们把x的0.0改成了1.0)
rostopic pub /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"
小海龟沿着正前方向移动了1单位,我们再使用参数-r 5
移动5次,小海龟就撞上了南墙。
Ctrl+C就可以终止。
5 rosmsg
查看消息数据结构
上例我们使用了消息数据结构定义了一个消息传给topic,我们可以查看有哪些消息数据结构。
查看消息数据结构使用:rosmsg show …
在输入过程中,我们可以勤使用Tab键查看或填充内容。
我们可以看到geometry_msgs/Twist数据结构的内容。
6 使用服务通信方式:rosservice
上例我们使用了传topic来控制节点,这次我们试试第二种通信方式service。
查看服务列表:rosservice list
手动通过服务来进行操作
这次我们通过人工产生服务(service)来诞生一只新海龟,使用rosservice call /spawn …
在服务列表中,有个spawn服务,可以产生一只新的海龟。
格式:rosservice call (参数) 服务名 “具体数据”
这时我们再输入rostopic list
,可以看到turtle2以及在topic里了。
7 话题记录和复现:rosbag
试想我们尝试让海龟以我们指定的路径移动了一回,我们想要把它 记录下来,拷贝到自己的实验室再复现出来,我们就可以使用话题记录功能。
常用命令:rosbag record -a -O 文件名
比如我们使用之前打开的键盘操作器让海龟移动一圈并记录下来:
(1)先输入rosbag record -a -O cmd_record
这样就开始记录了:
(2)移动一下:
到记录界面按Ctrl+C停止:
文件就记录在了这里:
(3)接下去关闭所有打开的ros节点
重新开启roscore,开启海龟节点rosrun turtlesim turtlesim_node
这时我们输入 rosbag play cmd_record
就可以复现之前的移动啦!
这篇关于【ROS学习笔记】4.玩转小海龟——ROS命令行工具的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?
- 2025-01-10实现精准执行:团队协作新方法
- 2025-01-10如何使用工具提升活动策划团队的工作效率?几个必备工具推荐
- 2025-01-10WiX 标签使用介绍:打造专业安装程序的利器