[ros2学习]-CLI Tools – 了解ROS 2参数(parameters)

74
0
2021年2月22日 09时07分

文章目录

    • ① 背景
    • ② 前提
    • ③ 任务
      • Ⅰ准备
      • Ⅱ ros2 param 命令
        • ros2 param list
        • ros2 param get
        • ros2 param set
          • dashing 版本
          • eloquent 版本
        • ros2 param dump (dashing 没有这个命令)
        • 加载配置文件 (目前在dashing版本没成功过。。。)
    • ④ 总结

 

 

① 背景

 

参数 (parameters) 就是每个节点的配置值,配置文件格式是yaml,可以是integers, floats, booleans, strings and lists,每个节点(node)都维护自己的参数(parameters)。所有参数(parameters)都是可动态重新配置的,并且是基于ROS 2服务(services)构建的。

 

 

② 前提

 

  • 装ros2
  • 配置环境
  • 装小乌龟

 

 

③ 任务

 

Ⅰ准备

 

启动小乌龟
命令:

 

ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key

 

Ⅱ ros2 param 命令

ros2 param list

显示参数列表

 

usage: ros2 param list [-h] [--spin-time SPIN_TIME] [--include-hidden-nodes]
                       [--param-prefixes PARAM_PREFIXES [PARAM_PREFIXES ...]]
                       [node_name]

Output a list of available parameters

positional arguments:
  node_name             Name of the ROS node

optional arguments:
  -h, --help            show this help message and exit
  --spin-time SPIN_TIME
                        Spin time in seconds to wait for discovery (only
                        applies when not using an already running daemon)
  --include-hidden-nodes
                        Consider hidden nodes as well
  --param-prefixes PARAM_PREFIXES [PARAM_PREFIXES ...]
                        Only list parameters with the provided prefixes

 

命令

 

ros2 param list

 

在这里插入图片描述

 

ros2 param get

 

获取指定参数的值

 

命令:ros2 param get <node_name> <parameter_name>
例子:ros2 param get /turtlesim background_g

 

在这里插入图片描述

 

ros2 param set

 

设置指定参数的值

命令:ros2 param set <node_name> <parameter_name> <value>
例子:ros2 param set /turtlesim background_r 150

dashing版本目前不行 ,设置颜色没变,值是变了的
eloquent版本是可以改变颜色的
dashing 版本

 

在这里插入图片描述

eloquent 版本

 

在这里插入图片描述

ros2 param dump (dashing 没有这个命令)

使用eloquent 版本

命令

 

ros2 param dump <node_name>

 

保存当前/turtlesim 的配置,命令:

 

ros2 param dump /turtlesim

 

在这里插入图片描述

 

加载配置文件 (目前在dashing版本没成功过。。。)

 

使用eloquent 版本
命令:

 

ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>

 

例子:

 

ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml

 

在这里插入图片描述

④ 总结

节点的参数可以get 和set ,dasing版本有点问题,还是eloquent 可以用

发表评论

后才能评论