文章目录

    • ① 背景
    • ② 前提
    • ③ 任务
      • Ⅰ准备
      • Ⅱ 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 可以用