ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ros常用命令

2020-11-14 16:02:44  阅读:355  来源: 互联网

标签:命令 list topic bag rostopic 常用命令 ros rosbag


1、rospack find [安装包名]

rospack find可以得到相关安装包的信息

如:

rospack find roscpp

返回:

/home/pi/ros_catkin_ws/install_isolated/share/roscpp

 

2、roscd [本地包/子目录]

roscd 可以直接切换(cd)工作目录到某个软件包或者软件包集当

pi@raspberrypi:~ $ roscd roscpp
pi@raspberrypi:~/ros_catkin_ws/install_isolated/share/roscpp $ pwd
/home/pi/ros_catkin_ws/install_isolated/share/roscpp

 

3、roscd log  

roscd log可以切换到ROS保存日记文件的目录下。需要注意的是,如果你没有执行过任何ROS程序,系统会报错说该目录不存在。

4、rosls [本地包[/子目录]]

rosls是rosbash命令集中的一部分,它允许你直接按软件包的名称而不是绝对路径执行ls命令(罗列目录).

如:

pi@raspberrypi:~ $ rosls roscpp_tutorials
cmake  launch  package.xml  srv

5、查看ROS _PACKAGE_PATH

$ echo $ROS_PACKAGE_PATH
/home/pi/ros_catkin_ws/install_isolated/share

6、roscore

roscore是你运行所有ROS程序前首先要运行的命令

7、rosrun

rosrun允许你使用包名直接运行的一个包内的节点(而不需要知道这个包的路径)

用法:

$rosrun [package_name] [node_name]

如:

$rosrun turtlesim turtlesim_node

8、rosnode

rosnode显示当前运行的ROS节点信息

rosnode list                     获得运行节点列表
rosnode info node-name           获得特定节点信息
rosrun pIng node-name            测试节点是否连通
rosrun kill node-name            终止节点

9、rosed

rosed是rosbash的一部分,利用它可以直接通过package名来获取到待编辑的文件而无指定该文件的存储路径

用法:

$rosed [package-name] [filename]

如:

$rosed roscpp Logger.msg

10、rostopic命令

rostopic命令工具能让你获取有关ROS话题的信息,rostopic子命令

$ rostopic -h
Commands:
        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 list

rostopic list 可以列出所有当前订阅和发布的话题

$ rostopic list -h
Usage: rostopic list [/namespace]

Options:
  -h, --help            show this help message and exit(显示此帮助消息并退出)
  -b BAGFILE, --bag=BAGFILE
                        list topics in .bag file(列出.bag文件中的主题)
  -v, --verbose         list full details about each topic(列出每个主题的完整详细信息)
  -p                    list only publishers(仅列出发布商)
  -s                    list only subscribers(仅列出订阅者)
  --host                group by host name(按主机名分组)

使用rostopic echo 可以显示在某个话题上发布的数据

使用rosmsg命令可以查看消息的详细的情况

使用rostopic pub 可以把数据发布到某个正在广播的话题上

用法:

rostopic pub [topivc] [msg_type] [args]

实例:

$ rostopic list                    #查出所有rostopic
/rosout
/rosout_agg
/statistics
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose

saneri@localhost:~$ rostopic type /turtle1/cmd_vel        #查类型
geometry_msgs/Twist

$ rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

以上命令会发送一条消息给turtlesim,告诉它以2.0大小的线速度和1.8大小的角速度开始移动。

$ rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

这条命令以1Hz的频率发布速度命令到速度话题上。

使用rostopic hz 命令可以用来查看数据发布的频率

用法:

rostopic hz [topic]

11、rosbag 

rosbag 将ROS系统运行过程中的数据录制到一个.bag文件中,然后可以通过回放数据来重现相似的`运行过程。退出录制时按ctrl+c退出该命令,你应该会看到在当前目录下一个以年份、日期和时间命名并以.bag文件中

录制时所有发布的话题,其中-a选项,该选项表示将当前发布的所有话题数据都录制保存到一个bag文件中

rosbag record -a

回放bag文件以再现系统运行过程

$rosbag play  <your bagfile>

1、以某一频率发布消息(控制bag包播放的频率):rosbag play -r  2

2、从某一时间节点开始播放发布消息:rosbag play -s 2

rosbag info 查看bag 文件信息

$rosabg info <your bagfile>

录制数据子集

rosbag record命令支持只录制某些特别指定的话题到单个bag文件中,这样就允许用户只录制他们感兴趣的话题

在bag文件所在目录下执行以下命令

$ rosbag record -O 2019-12.bag /turtle1/commend_velocity /turtle1/pose

上述命令中-O参数告诉rosbag record 将数据记录保存到名为2019-12.bag的文件中,同时后面的话题参数告诉rosabg record只能录制这两个指定的话题

可以使用rosbag info 2019-12.bag命令查看录制时指定话题的信息

也可以只指定bag包的文件,录制所有的数据

$ rosbag record -a -O 2019-12.bag

录制指定topic,并且每五分钟分割一次e为正则匹配。

$ rosbag record --split --duration=5m -e /radar/back_targets/vehicle_speed/imu_data

如果查看视频,可以执行以下命令,就可以实现视频播放功能

$ rosrun image_view image_view image:=/camera/front_middle compressed

参考博客:https://www.cnblogs.com/saneri/p/10162629.html

标签:命令,list,topic,bag,rostopic,常用命令,ros,rosbag
来源: https://www.cnblogs.com/zhongllmm/p/13972444.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有