以ROS小海龟为例展示基础的命令行使用,通过roscore打开ros master也就是所有节点的管理器。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/82316d758c0c3ac5fc0ec07f0dbdf3dc.png)
rosrun
该命令用于运行一个节点,在其后面需要跟两个参数,一个是功能包的名字,一个是功能包中的节点的名字(可以在输入功能包名称后双击Tab键,展示该功能包下的所有节点名称)
rosrun turtlesim#turtlesim为功能包名称
然后我们需要打开第三个节点turtlesim_node(仿真器节点)
rosrun turtlesim turtlesim_node
接着再开一个终端打开控制节点turtle_teleop_key,确保是在控制终端就是杠打开的终端中便可以通过键盘控制海龟运行了。
rosrun turtlesim turtle_teleop_key
rqt_graph
rqt_graph是基于qt的可视化工具,用于显示系统计算图。ROS的核心通信机制就是计算图,通过计算图可以了解系统全貌,知道系统的作用。
rqt_graph
rosnode
再打开一个终端,直接输入rosnode,这是一个命令行工具,可以查看节点的信息。
rosnode#查看该命令行工具的指令
rosnode ping #test connectivity to node
rosnode list #list active nodes
rosnode info #print information about node
rosnode machine #list nodes running on a particular machine or list machines
rosnode kill #kill a running node
rosnode cleanup #purge registration information of unreachable nodes
rostopic
rostopic bw #display bandwidth used by topic
rostopic delay #display delay of topic from timestamp in header
rostopic echo #print messages to screen
rostopic find #find topics by type
rostopic hz #display publishing rate of topic
rostopic info #print information about active topic
rostopic list #list active topics
rostopic pub #publish data to topic
rostopic type #print topic or field type
以rostopic pub为例,通过上述信息可知该命令用于向话题传输数据。
rostopic pub /turtle1/cmd_vel#然后双击Tab键,即可生成后序默认代码
该命令仅执行一次,可通过rostopic pub -r 次数 循环执行。
rostopic pub -r 10 /turtle1/cmd_vel#执行10次
rosmsg show geometry_msgs/Twist
查看传输的数据的具体数据结构
rosservice
rosservice args #print service arguments
rosservice call #call the service with the provided args
rosservice find #find services by service type
rosservice info #print information about service
rosservice list #list active services
rosservice type #print service type
rosservice uri #print service ROSRPC uri
以rosservice call为例,生成一只新的海龟,仅需输入下列代码,后续可有Tab键自动生成。
rosservice call /spawn
rosbag
记录话题数据,然后复现数据
rosbag record -a -O cmd_record
-a(all)记录所有数据以及操作,-O以压缩包形式保存,cmd_record压缩包的名字,该压缩包保存在对应终端路径。
rosbag play cmd_record.bag
重新该压缩包中保存的操作。