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:
stamp: {secs: , nsecs: }
frame_id: ''
name: ['']
position: []
velocity: []
effort: []" //在这里,我发布两个数据,position(位置)和velocity(力度),添加参数,回车即可,如下:
seq:
stamp: {secs: , nsecs: }
frame_id: ''
name: ['']
position: []
velocity: []
effort: []"
rostopic echo /brov/thruster_command //打印话题发布的内容
//rostopic echo +话题
rostopic hz /topicname //获取话题发布频率
ROS大型工程学习(三) ROS常用命令行的更多相关文章
- 第4章 ZK基本特性与基于Linux的ZK客户端命令行学习 4-1 zookeeper常用命令行操作
ls path [watch] watch是一个监督者.quota是zookeeper的子目录.目录就是节点的意思,对于zookeeper来说它是以一个节点来说的,所以说/就是根节点,zookeepe ...
- ROS大型工程学习(四)一键安装所有缺失的依赖!!!
在正文之前,我必须向rosdep道个歉,前面那篇常用命令行中没有它的位置,现在单独写一篇补充!! 突然发现rosdep有个惊人的功能, rosdep install --from-paths src ...
- (转)Mysql常用命令行
原文:http://www.cnblogs.com/TsengYuen/archive/2012/01/11/2319034.html Mysql常用命令行 Mysql经常使用号令行大全 熬头招.my ...
- Linux 常用命令行
Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作
- GCC常用命令行一览表
GCC常用命令行一览表 这些常用的 gcc/g++ 命令行参数,你都知道么?1. gcc -E source_file.c-E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_ ...
- HBase表的基本结构和常用命令行操作
一.HBase表的基本结构 1.概述: 平时常见的MySQL.Oracle数据库都是传统型关系数据库,它们都是按行查询.按行存储:而HBase为非关系型数据库,它是按列存储的的. 在HBase插入数据 ...
- Kafka学习之四 Kafka常用命令
Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息 ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -top ...
- vi 常用命令行
vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I ...
- Linux - 常用命令行(一)
今天和大家分享一些最基本常用命令行:也是作为新手最应该了解掌握的 ls 命令:用来显示指定工作目录下内容 dir命令:与ls命令一致 cd 命令:变化工作目录 pwd命令:显示用户当前的工作路径,显 ...
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
随机推荐
- Django 学习之Rest Framework 视图相关
drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作.所以在django原有的django.views.View类基础上,drf封装了多个子类出来提供给我们使用. Django REST ...
- SZWI3800
xml <mapper namespace="jp.co.alsok.g6.zwi.dao.mapper.g6.custom.SZWI3800Mapper"> < ...
- C++获取驱动盘句柄
转载:https://www.cnblogs.com/sherlock-merlin/p/10792116.html https://univasity.iteye.com/blog/8052 ...
- Codeforces Round #586 (Div. 1 + Div. 2)E(拓扑排序,思维)
#include<bits/stdc++.h>using namespace std;int n,m,s; vector<int>edge[200007];queue<i ...
- 【PAT甲级】1035 Password (20 分)
题意: 输入一个正整数N(<=1000),接着输入N行数据,每行包括一个ID和一个密码,长度不超过10的字符串,如果有歧义字符就将其修改.输出修改过多少组密码并按输入顺序输出ID和修改后的密码, ...
- Linux centosVMware shell编程 for循环、while循环、break跳出循环、continue结束本次循环、exit退出整个脚本
一.for循环 语法:for 变量名 in 条件; do …; done 案例1 #!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$sum+$i] ec ...
- PostgreSQL存取jsonb
从PostgreSQL 9.3开始,json就成了postgres里的一种数据类型,也就是和varchar.int一样,我们表里的一个字段的类型可以为json了. 与此同时,postgres还提供了j ...
- Vue源码(下篇)
上一篇是mount之前的添加一些方法,包括全局方法gloal-api,XXXMixin,initXXX,然后一切准备就绪,来到了mount阶段,这个阶段主要是 解析template 创建watcher ...
- luogu P2754 [CTSC1999]家园
本题是分层图最大流问题,相当于按时间拆点,每个当前点向下一点的下一时间层连点,每一层有n+1个点 #include<bits/stdc++.h> using namespace std; ...
- UniGUI的SQLite数据库(04)
1]放FDConnection1和FDQuery1到界面上 一定要 放一个 FDPhysSQLiteDriverLink1到ServerModule上 2]在OnFormCreate事件里写 FDQ ...