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后所进行的操作,在此之前的操作不会被保存。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐