【ROS】ROS1工具详解

【ROS】郭老二博文之:ROS目录

1、roscore

1.1 说明

运行roscore,将会启动三个功能:ROS Master主节点、ROS参数服务器和记录ROS日志输出节点

1.2 用法

roscore [可选参数]

1.3 参数详解

  • -h, --help,帮助信息

  • -p PORT, --port=PORT,指定端口号,默认是11311,如果指定了端口,需要设置环境变量ROS_MASTER_URI,让其它节点知道这个端口,例如: export ROS_MASTER_URI=http://YourPC:1234/

  • -v,打印详细信息 ,加上-v,启动时多了如下几行
    … loading XML file [/opt/ros/melodic/etc/ros/roscore.xml]
    … executing command param [rosversion roslaunch]
    Added parameter [/rosversion]
    … executing command param [rosversion -d]
    Added parameter [/rosdistro]
    Added core node of type [rosout/rosout] in namespace [/]

  • -w NUM_WORKERS, --numworkers=NUM_WORKERS,自定义工作线程个数

  • -t TIMEOUT, --timeout=TIMEOUT,自定义socket连接超时时间,单位秒

  • –master-logger-level=MASTER_LOGGER_LEVEL设置日志等级(‘debug’, ‘info’, ‘warn’, ‘error’, ‘fatal’)

  • –sigint-timeout=SIGINT_TIMEOUT,使用SIGINT信号来杀死核心core的超时时间,单位秒

  • –sigterm-timeout=SIGTERM_TIMEOUT,使用SIGTERM信号来杀死核心core的超时时间,单位秒

2、rosrun

2.1 说明

rosrun先加载包,然后尝试在包里找可执行程序;如果找到了就运行这个可执行程序

2.2 用法

rosrun [--prefix cmd] [--debug] 包名 可执行程序 [可执行程序的参数]

2.3 参数详解

  • –debug,打印调试信息,例如在运行小乌龟时,添加–debug后,增加的信息如下:
    $ rosrun --debug turtlesim turtlesim_node
    [rosrun] Looking in catkin libexec dirs:
    /opt/ros/melodic/lib/turtlesim
    /opt/ros/melodic/share/turtlesim
    [rosrun] Looking in rospack dir: /opt/ros/melodic/share/turtlesim
    [rosrun] Searching for turtlesim_node with permissions /111
    [rosrun] Running /opt/ros/melodic/lib/turtlesim/turtlesim_node

  • –prefix,rosrun调用exec执行命令,例如使用gdb调试时
    $ rosrun --prefix ‘gdb -ex run --args’ turtlesim turtle_teleop_key
    GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1
    ……
    Use arrow keys to move the turtle. ‘q’ to quit.
    Thread 1 “turtle_teleop_k” received signal SIGINT, Interrupt.
    ……
    (gdb)

3、rostopic

3.1 说明

rostopic用来打印ROS的话题信息
例如:列出小乌龟的话题

~$ rostopic list
/rosout
/rosout_agg
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose

3.2 用法

rostopic后跟子命令,子命令如下:

  • rostopic bw 按主题显示使用的带宽
  • rostopic delay 显示主题相对于时间戳的延迟
  • rostopic echo 将消息打印到屏幕
  • rostopic find 按类型查找主题
  • rostopic hz 显示主题的发布率
  • rostopic info 打印有关活动主题的信息
  • rostopic list 列出活动主题
  • rostopic pub 将数据发布到主题
  • rostopic type 打印主题或字段类型

3.3 参数详解

3.3.1 rostopic bw

  • -h 打印帮助信息,下面的命令相同,不再赘述
  • -w 设置统计次数,当超过这个次数后,就不再打印带宽信息,默认是100

3.3.2 rostopic delay

  • -w 设置统计次数,当超过这个次数后,就不再打印延时信息,默认是100
  • –tcpnodelay,使用TCP_NODELAY,禁用Nagle算法,Nagle算法的作用是减少小包的数量

3.3.3 rostopic echo

  • -b BAGFILE, --bag=BAGFILE,从 .bag文件中获取信息
  • -p,使用友好的格式打印
    -w NUM_WIDTH,固定宽度的数值
    –filter=FILTER-EXPRESSION,筛选信息
    –nostr 不显示非字符串
    –noarr 不现实数组
    -c, --clear打印下一条时,先清理屏幕
    -a, --all,显示.bag文件的所有信息,必须和-b一起使用
    -n COUNT,显示指定个数的信息
    –offset,显示和当前时间的偏移,单位秒

3.3.4 rostopic hz

用法:rostopic hz [options] /topic_0 [/topic_1 [topic_2 […]]]
参数:

  • -w WINDOW, --window=WINDOW,统计屏率
  • –filter=EXPR,过滤
  • –wall-time使用现实时间
  • –tcpnodelay,使用TCP_NODELAY,禁用Nagle算法,Nagle算法的作用是减少小包的数量

3.3.5 rostopic list

  • -b BAGFILE, --bag=BAGFILE 列出在 .bag 中的主题
  • -v, --verbose列出主题的详细信息
  • -p,只列出发布者
  • -s,只列出订阅者
  • –host列出主机名
~$ rostopic list --host 
Host [lesen-system-product-name]:
  /rosout
  /rosout_agg

3.3.6 rostopic pub

用法: rostopic pub /topic type [args…]
参数:

  • -v,打印详细信息
  • -r RATE, --rate=RATE,发布速率
  • -1, --once ,发布一次然后退出
  • -f FILE, --file=FILE,从YAML文件中读取
  • -l, --latch,使能锁存
  • -s, --substitute-keywords,添加关键字
  • –use-rostime使用rostime作为时间戳,否则使用walltime(实际时间)

4、rosservice

4.1 说明

rosservice用来管理ROS本身的服务

4.2 用法

rosservice后跟子命令,子命令如下:

  • rosservice args,打印服务参数
  • rosservice call,使用提供的参数调用服务
  • rosservice find,按服务类型查找服务
  • rosservice info,打印有关服务的信息
  • rosservice list,列出活动服务
  • rosservice type,打印服务类型
  • rosservice uri,打印服务ROSRPC的uri

5、rosnode

5.1 说明

rosnode用来打印节点信息

5.2 用法

rosnode后跟子命令,子命令如下:

  • rosnode ping,测试是否能和节点ping通
  • rosnode list,列出活跃的节点
  • rosnode info,打印节点信息
  • rosnode machine,列出在特定计算机上运行的节点
  • rosnode kill,杀死指定的节点
  • rosnode cleanup,清除无法访问节点的注册信息

6、rosparam

6.1 说明

rosparam用从ROS参数服务上获取、设置、删除参数

6.2 用法

rosparam后跟子命令,子命令如下:

  • rosparam set,设置参数
  • rosparam get,获取参数
  • rosparam load,从文件中加载参数
  • rosparam dump,将参数写入文件
  • rosparam delete,删除参数
  • rosparam list,列出所有参数的名字

7、rosmsg

7.1 说明

rosmsg用于显示ROS消息的信息

7.2 用法

rosmsg后跟子命令,子命令如下:

  • rosmsg show,显示消息内容
  • rosmsg info,列出消息的别名
  • rosmsg list,列出所有的消息
  • rosmsg md5,显示消息的md5值
  • rosmsg package,列出指定包中的消息
  • rosmsg packages,列出指定多个包中的消息

8、rossrv

8.1 说明

rossrv用于显示ROS的服务类型

8.2 用法

rossrv后跟子命令,子命令如下:

  • rossrv show,显示服务描述
  • rossrv info,显示服务别名
  • rossrv list,列出所有的服务类型
  • rossrv md5,显示服务类型md5值
  • rossrv package,列出指定包的服务类型
  • rossrv packages,列出指定多个包的服务类型

9、robbag

9.1 说明

bag是ROS中的一种文件格式,用于存储ROS消息数据。rosbag命令可以记录、回放和操作bag。

9.2 用法

robbag后跟子命令,子命令如下:

  • robbag check,确定一个bag是否可以在当前系统中播放,或者是否可以迁移
  • robbag compress,压缩一个或多个bag文件
  • robbag decompress,解压缩一个或多个bag文件
  • robbag decrypt,解密缩一个或多个bag文件
  • robbag encrypt,加密缩一个或多个bag文件
  • robbag filter,过滤bag里的指定内容
  • robbag fix,修复bag文件中的消息,以便在当前系统中播放
  • robbag info,总结一个或多个bag文件的内容
  • robbag play,以时间同步的方式播放一个或多个bag文件的内容
  • robbag record,记录指定主题的bag文件
  • robbag reindex,重新索引一个或多个bag过滤器

10、rospack

10.1 说明

rospack用于查看包信息

10.2 用法

  • -q,不输出错误报告

rospack后跟子命令,子命令如下:

  • rospack cflags-only-I [–deps-only] [package]
  • rospack cflags-only-other [–deps-only] [package]
  • rospack depends [package] (alias: deps)
  • rospack depends-indent [package] (alias: deps-indent)
  • rospack depends-manifests [package] (alias: deps-manifests)
  • rospack depends-msgsrv [package] (alias: deps-msgsrv)
  • rospack depends-on [package]
  • rospack depends-on1 [package]
  • rospack depends-why --target= [package] (alias: deps-why)
  • rospack depends1 [package] (alias: deps1)
  • rospack export [–deps-only] --lang= --attrib= [package]
  • rospack find [package]
  • rospack langs
  • rospack libs-only-L [–deps-only] [package]
  • rospack libs-only-l [–deps-only] [package]
  • rospack libs-only-other [–deps-only] [package]
  • rospack list
  • rospack list-duplicates
  • rospack list-names
  • rospack plugins --attrib= [–top=] [package]
  • rospack profile [–length=] [–zombie-only]
  • rospack rosdep [package] (alias: rosdeps)
  • rospack rosdep0 [package] (alias: rosdeps0)
  • rospack vcs [package]
  • rospack vcs0 [package]

你可能感兴趣的:(ROS,机器人,ROS)