ROS大型工程学习 ROS常用命令行

Posted juicecat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS大型工程学习 ROS常用命令行相关的知识,希望对你有一定的参考价值。

 

1、rosbag

对ros包进行操作的命令。

(1)录制包:

rosbag record -a //录制数据包,所有topic都录制
rosbag record /topic_name1 /topic_name2 /topic_name3  //只录制需要的topic
rosbag record -O filename.bag /topic_name1 //录制并命名数据包名称

如果在 launch 文件中使用 rosbag record 命令,如下:

<node pkg="rosbag" type="record" name="bag_record" args="/topic1 /topic2"/> 

默认存放路径是 ~/.ros 中。

(2)检查包

rosbag info filename.bag  //显示数据包信息,比如录制时间、话题、版本等等

(3)回放包

rosbag play <bagfile> //播放过程中,空格可以暂停播放

 

 

2、roscd

直接切换到ros包的位置。

roscd 包名[/子文件夹] 

 

 

3、rosrun

直接运行ros节点文件。

rosrun package名 executable文件

 

 

4、roslaunch

启动多个节点

roslaunch package_name file.launch

如果运行过程中系统发现没有开启roscore,会默认打开。

这个文件中可以写哪些东西?

官方文档写的非常清楚:

http://wiki.ros.org/roslaunch/Tutorials/Roslaunch%20tips%20for%20larger%20projects

 

 

5、rosmsg / rossrv

rosmsg 和 rossrv 用法完全一样。

(1)rosmsg show显示msg类型

rosmsg show sensor_msgs/CameraInfo

(2)rosmsg list 显示所有的msg文件

rosmsg list

(3)其他的不常用,想了解的话见官网 http://wiki.ros.org/rosmsg 

 

 

6、rostopic

rostopic list  //查看ROS正在发布的话题
rostopic info /brov/thruster_command  //查看pub,sub,type
rostopic pub /brov/thruster_command sensor_msgs/JointState "header: /往话题发消息

//输出”header 后Tab键补全即可出现以下内容:
seq: 0
  stamp: {secs: 0, nsecs: 0}
  frame_id: ‘‘
name: [‘‘]
position: [0]
velocity: [0]
effort: [0]" 

//在这里,我发布两个数据,position(位置)和velocity(力度),添加参数,回车即可,如下:
  seq: 0
  stamp: {secs: 0, nsecs: 0}
  frame_id: ‘‘
name: [‘‘]
position: [200]
velocity: [12]
effort: [0]" 
rostopic echo /brov/thruster_command //打印话题发布的内容
//rostopic echo +话题
rostopic hz /topicname //获取话题发布频率

以上是关于ROS大型工程学习 ROS常用命令行的主要内容,如果未能解决你的问题,请参考以下文章

ROS系统 常用命令行工具的使用

ros命令汇聚

ros命令汇聚

ROS常用命令行总结

ROS常用命令行总结

ROS学习_基础