ROS学习笔记(四)——ROS命令行工具使用讲解
前面我们已经在虚拟机里安装好了Ubuntu和ROS,这期我们来学习ROS的命令行工具使用。
(常用命令:rostopic、rosservice、rosnode、rosparam、rosmsg、rossrv)
还记得我们在验证ROS是否安装正确的时候调用的小海龟吗?
当时我们的操作是:
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
调用上面三行语句就可以启用小海龟了。
但是当时我们还只是跟着打代码还不了解为什么这样可以控制小海龟,今天讲解完对应语句,我们就可以理解其中原理了。
首先,roscore(启动ROSMaster)
其次,rosrun(运行对应节点) 用法:rosrun + 结点
例如: rosrun turtlesim

其中,turtlesim是ros安装好后带的学习用的功能包,输入完代码以后双击tab键可以显示出其所有节点。
输入 rosrun turtlesim turtlesim_node即可显示小乌龟仿真器页面。

输入 rosrun turtlesim turtle_teleop_key 即可应用键盘控制节点

输入 rqt_graph 显示系统计算处理工具

如图:
右边为仿真器节点 左边为键盘控制节点 中间turtle1为话题(数据)
根据上述代码就可控制小乌龟了,接下来让我们更深层次的解剖小乌龟。
输入 rosnode 显示所有节点信息

输入rosnode list 列出所有节点 可以看到小乌龟相关的所有节点
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-duSFkD1Q-1637505175312)(C:\Users\Smile\AppData\Roaming\Typora\typora-user-images\image-20211121220105597.png)]](https://i-blog.csdnimg.cn/blog_migrate/92f476951ee4cb0e3b14ae1fb07abf6e.png)
其中rosout 采集所有节点的日志信息 用于提交给上一层显示 (ros自带)
输入rosnode info +节点名 用于显示节点的信息

(包括发送的话题 订阅的话题 pid号等)
输入 rostopic list 显示所有的话题列表

输入 rostopic pub /turtle1/cnd_vel geometry_msgs/Twist "linear: +两下tap显示海龟的位置、速度等信息

此时可以修改上方x y z改速度,修改下方x、y、z改角度(左右方向键选择对应数据更改)
因为数据是发一次收一次,所以海龟只会短时间运动,如果要长时间运动,则需要给发送频率,代码修改如下:
rostopic pub -r 10 /turtle1/cnd_vel geonetry_msgs/Twist "linear:
-r 10 表示修改发送频率。
输入 rosmsg show + 话题信息 显示话题信息的类型

输入 rosservice list 显示所有服务命令

rosservice call + 调用list中的命令 发布服务请求
例: rosservice call /spawn "x: 加一只小海龟 也可更改新出现小乌龟的速度、角度、名字等信息


此后再输入rostopic list 效果如下:

输入 $ rosbag record -a -O cmd_record 话题记录 记录小乌龟的运动轨迹
输入 $ rosbag play cmd_record.bag 话题复现 按小乌龟的运动轨迹复现一次

11.21学习笔记
Ros学习笔记系列(一):_风声向寂的博客-CSDN博客
ROS学习笔记(二)——python、C++编译器以及ROS的安装_风声向寂的博客-CSDN博客
ROS学习笔记(三)——ROS的简单了解_风声向寂的博客-CSDN博客
ROS学习笔记(五)——工作空间和功能包_风声向寂的博客-CSDN博客
Ros学习笔记(六)——Publisher代码实现_风声向寂的博客-CSDN博客
ROS学习笔记(七)——各部分代码实现(二)_风声向寂的博客-CSDN博客
Ros学习笔记(八)——各部分代码实现(三)_风声向寂的博客-CSDN博客
1478

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



