二.ROS的基本使用
1.基本命令行的使用
提醒:善加运用Tab补全冗长的命令行,可以让操作更加轻松。
rostopic
rosmsg
rosservice
rossrv
rosnode
rosbag
终端输入相应命令行后回车enter可查看具体使用条目,如下图所示(例)
info为information的简写,查看信息,个人感觉更好理解。
2.通过ros系统自带的小海龟仿真软件对ros进行初步了解
版本说明:Ubuntu20.04,Noetic
(以下为学习实践时依次进行的步骤,旨在结合操作加深对前面概念的理解)
roscore
命令行运行节点管理器(ros master)和参数服务器(parameter server)
分别打开两个终端(Ctrl+Alt+T)分别依次运行以下两行代码
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
启动小海龟仿真器,通过键盘↑↓←→键可以直接控制小海龟的移动
通过
rqt_graph
调出计算图,查看两个节点间的通信关系与整体系统的构成。

可以从上图中看出两个节点通过topic /turtle1/cmd_vel进行话题通信。
2.1话题通信相关部分
通过键入
rostopic pub /turtle1/cmd_vel
并双击Tab键可补全命令行结构,出现geometry_msgs/Twist为在话题下的信息结构。
可通过手动输入线速度linear与角速度angular控制小海龟的运动。
通过改变x,y,z的输入,可以发现x轴为小海龟头部朝向,y轴为小海龟侧身朝向,z轴垂直屏幕向外,改变关于z轴的角速度,小海龟做圆周运动。

-r + 数字 为以什么样的频率发布该话题。
通过键入
rosmsg show geometry_msgs/Twist
可以查看该信息的具体结构。
通过键入
rosnode info turtlesim
可以查看节点turtlesim的相关信息,包含其作为publisher发布的信息和作为subscriber接收的信息,和该节点所提供的一些服务。
2.2服务通信相关部分
与上面话题通信部分的pub类似,通过键入
rosservice call /spawn
并通过双击Tab补全命令行结构

手动修改x,y后的坐标位置并为新的小海龟命名,回车enter即可生成新的小海龟。

生成新的小海龟后,也会相应的生成与之对应的话题。

3.话题记录与话题复现
在进行仿真到一半时被迫中断或开始仿真前需要进行一系列繁琐的预设置,为节省时间,即可通过
rosbag record -a -O xxx
xxx为压缩包命名名称,对当前所有正在进行的话题进行记录并整理成压缩包,在下次使用时键入
rosbag play xxx.bag
(xxx为之前压缩包命名),即可对之前的操作进行复现。
注意:只会记录在运行rosbag record后所进行的操作,在此之前的操作不会被保存。
更多推荐
所有评论(0)