ros 命令行使用记录

基础命令
roscore

基本命令
roscd rosls rospack roslog

创建包
catkin_create_pkg [depend1] [depend2] [depend3]
一级依赖
rospack depends1
所有依赖
rospack depends

编译包
catkin_make [make_targets] [-DCMAKE_VARIABLES=…]
指定路径编译包
catkin_make –source my_src
catkin_make install –source my_src # (optionally)

节点

列出活跃节点
rosnode list
运行节点
rosrun [package_name] [node_name]
运行节点取名字
rosrun turtlesim turtlesim_node __name:=my_turtle

使用 rqt_graph 查看topic
安装
sudo apt-get install ros-kinetic-rqt
sudo apt-get install ros-kinetic-rqt-common-plugins

rostopic -h 查看话题
rosmsg show geometry_msgs/Twist 查看消息
数据发布到话题上
rostopic pub [topic] [msg_type] [args]

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

ROS服务和参数

rosservice list 输出可用服务的信息
rosservice call 调用带参数的服务
rosservice type 输出服务类型
rosservice find 依据类型寻找服务find services by service type
rosservice uri 输出服务的ROSRPC uri

$ rosservice type spawn| rossrv show

rosparam使得我们能够存储并操作ROS 参数服务器(Parameter Server)上的数据
YAML的表述很自然:1 是整型, 1.0 是浮点型, one是字符串, true是布尔, [1, 2, 3]是整型列表, {a: b, c: d}是字典. rosparam有很多指令可以用来操作参数,如下所示:

使用方法:

rosparam set 设置参数
rosparam get 获取参数
rosparam load 从文件读取参数
rosparam dump 向文件中写入参数
rosparam delete 删除参数
rosparam list 列出参数名

你可能希望存储这些信息以备今后重新读取。这通过rosparam很容易就可以实现:
rosparam dump and rosparam load

使用方法:

rosparam dump [file_name]
rosparam load [file_name] [namespace]

现在我们将所有的参数写入params.yaml文件:

$ rosparam dump params.yaml

你甚至可以将yaml文件重载入新的命名空间,比如说copy空间:

$ rosparam load params.yaml copy
$ rosparam get copy/background_b