ROS常用命令

打印ros环境变量

$ echo $ROS_PACKAGE_PATH

确认环境变量已经设置正确

export | grep ROS

环境变量设置文件 sudo gedit ./.bashrc

包含: source /opt/ros/indigo/setup.bash

source ~/catkin_ws/devel/setup.bash

查看软件包列表和定位软件包

rospack list , rospack find
package-name

输出当前运行的topic列表:

rostopic list

查看节点、终止节点

rosnode info node-name

rosnode kill node-name

查看节点构成的计算图rqt_graph

查看在一个话题上发布的数据rostopic echo [topic] 
(用--分割两个相邻的消息)

查看topic的类型、发布者、订阅者

rostopic info topic-name

测量发布频率

rostopic hz topic-name (每秒发布的消息数量)

rostopic bw topic-name
(每秒发布信息所占的字节量)

用命令行发布消息

rostopic pub -r rate-in-hz
topic-name message-type message-content

rostopic pub -r 1 /turtle1/cmd_vel
geometry_msgs/Twist '[2,0,0]''[0,0,0]'

查看消息类型rosmsg
show message-type-name

查看参数列表

rosparam list

查询参数

rosparam get parameter_name

设置参数

rosparam set parameter_name
parameter_value (rosservice call/clear之后起作用)

创建和加载参数文件

rosparam dump/load filename
namespace

在启动文件中设置参数

<param name="param-name"
value="param-value" /> (可在node标签中设置私有化参数)

从文件中读取参数

<rosparam command="load"
file="$(find package-name)/param-file" />

列出所有服务

rosservice list

查看某一特定节点提供的服务
rosnode info node-name

查找提供特定服务的节点
rosservice node service-name

查看服务的数据类型

rosservice info service-name

查看服务类型的详情

rossrv show
service-data-type-name(--之前是请求项,之后是响应项)

从命令行调用服务

rosservice call service-name
request-content

录制包文件

rosbag record -O filename.bag
topic-names

回放包文件(参数:-d选项让重放延时一定时间;-r就是rate可以加快速度播放;-s让它从某个时间点开始;-u持续时间)

rosbag play filename.bag

rosbag play -r 2 -s 120 -u 60 <bagfile_name>   #以两倍的速度发布记录的消息,120s后开始播放,持续60s。

检查文件包

rosbag info filename.bag

查看image:

rosrun image_view image_view image:=/cam0/image_raw 

查看rostopic中的图像大小:

rostopic echo /camera/rgb/image_raw/width -n1
rostopic echo /camera/rgb/image_raw/height -n1

提取bag文件中的数据并保存为csv格式(也可以为txt,但是格式比较混乱)

对于非图片数据,大部分情况下都可用csv文件存储。将file_name.bag文件中topic_name话题的消息转换到Txt_name.csv文件中:

rostopic echo -b file_name.bag -p /topic_name > Txt_name.csv

stop here.

ROS常用命令的更多相关文章

  1. ROS常用命令或经常碰到的问题

    本篇博客会随时更新. 一.常用命令 1.添加环境变量 gedit ~/.bashrc 2.ubuntu系统监视器 gnome-system-monitor 二.问题 1.sudo apt-get up ...

  2. ROS大型工程学习(三) ROS常用命令行

    1.rosbag 对ros包进行操作的命令. (1)录制包: rosbag record -a //录制数据包,所有topic都录制 rosbag record /topic_name1 /topic ...

  3. ROS常用命令汇总

    ROS系统也是通过命令行操作,总结了下平时工作中使用的命令工具,以后使用多会陆续添加. 查看ROS_PACKAGE_PATH环境变量 $ echo $ROS_PACKAGE_PATH /home/sa ...

  4. 【笔记】ROS常用命令

    环境相关 查看当前环境下包含的包路径echo $ROS_PACKAGE_PATH查看包含的包的路径roscd package TF树相关 查看所有坐标系的状态rosrun tf tf_monitor ...

  5. ROS 常用命令字典

    版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5761448.html 该博文适合已经具备一定的ROS编程基础的人,快速查看ROS相关 ...

  6. ROS 常用命令

    1.查看网卡接口: /interface  print 2.给网口添加IP地址: /ip address add address=192.168.1.254/24 interface=ether1 3 ...

  7. ROS 的一些常用命令行功能

    1.安装并添加源sudo gedit /etc/apt/sources.list更新下sudo apt-get update添加 sources.list,如sudo sh -c '. /etc/ls ...

  8. ros中关于节点、话题、服务以及自定义消息等在终端中的常用命令

    以下面的计算力图说明 节点相关常用命令 在终端中查看项目中有哪些节点命令:rosnode list 有了节点信息想要查看节点中到底发布订阅了哪些话题,作为服务端服务类型或者作为客户端需要的服务类型以上 ...

  9. linux rhel unix centos FreeBSD 常用命令

    一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /pr ...

随机推荐

  1. C# 求余 int a = 371 / 100 % 10,求a的结果为多少?//nt 和int类型计算得到的结果还是int类型

    //int 和int类型计算得到的结果还是int类型 eg:int a = 371 / 100 % 10,求a的结果为多少? 首先371除以100,再让此结果除以10求余数. 一 371除以100得到 ...

  2. day14-python之集合函数字符串格式化

    1.集合 #!/usr/bin/env python # -*- coding:utf-8 -*- # s=set(['alex','alex','sb']) # print(s) # s=set(' ...

  3. ssh免密登陆(简单快捷)

    介绍免密登陆配合下边这张图可以了解下过程: 假设现在A要通过免密登陆B 在A上的操作: 1.终端输入ssh-keygen (后边可以指定加密算法:-t 算法,如果不指定就是默认的rsa) 原理: 首先 ...

  4. 【nodejs代理服务器三】nodejs注册windows服务

    node-windows I no longer have enough time to properly maintain this project and am seeking a new pri ...

  5. Java泛型全解析【接口、类、封装类型】

    目录   1.导读  2.为何需要泛型?   3.泛型的定义格式   3.泛型的好处  4.什么时候使用泛型?   5.泛型的擦除   6.泛型的补偿  7.泛型的应用      7.1[泛型类]   ...

  6. Java对象内存分配原理与布局

    当一个对象被创建了,那在JVM中是如何的从一个对象不存在到存到,然后将对象存放在什么地方呢?这次主要来探讨一下Java对象创建的过程. new关键字创建对象的3个步骤: 1.在堆内存中创建出对象的实例 ...

  7. redis 与 序列化

    概念 序列化:把对象转化为可传输的字节序列过程称为序列化. 反序列化:把字节序列还原为对象的过程称为反序列化. 为什么需要序列化 序列化最终的目的是为了对象可以跨平台存储,和进行网络传输.而我们进行跨 ...

  8. 利用python中的库文件简单的展示mnist 中的数据图像

    import sys, os sys.path.append('F:\ml\DL\source-code') #导入此路径中 from dataset.mnist import load_mnist ...

  9. Postgresql Useful SQL/Commands

    Update records ' and a.subscriber_id=b.subscriber_id; Connections select count(*) from pg_stat_activ ...

  10. 微信小程序之小技能篇(一)

    1,三目运算改变class值: <view class="{{flag ? 'change' : 'change_after'}}">改变字体颜色</view&g ...