1. 程式人生 > 其它 >ROS2學習之旅(7)——理解ROS2 Graph中的引數

ROS2學習之旅(7)——理解ROS2 Graph中的引數

ROS2中的引數...

引數是節點的配置值,可以將引數視為節點設定,節點可以以整數、浮點數、布林值、字串和列表的形式儲存引數。在ROS2中,每個節點保持自己的引數。所有引數都是動態、可重新配置的,在ROS2服務的基礎上構建。

1.準備

執行/turtlesim/teleop_turtle兩個節點,分別在兩個終端執行:

ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key

此時,出現視窗:

2.ros2 param list

為了檢視節點具有那些引數,可以執行:

ros2 param list

此時,終端返回:

/teleop_turtle:
  scale_angular
  scale_linear
  use_sim_time
/turtlesim:
  background_b
  background_g
  background_r
  use_sim_time

根據返回結果,可以看到每一個節點的引數。每一個節點都會有use_sim_time引數,不僅僅是turtlesim。

根據引數的名稱,/turtlesim的引數使用RGB顏色值來決定turtlesim視窗的背景顏色,下面對此進行設定。

3.ros2 param get

為了得到當前引數的型別和值,可以執行:

ros2 param get <node_name> <parameter_name>

接下來,找到turtlesim中的background_g引數的值:

ros2 param get /turtlesim background_g

此時,終端返回:

Integer value is: 86

由返回結果可以知道,background_g是一個整數值。

4.ros2 param set

為了改變引數值,可以使用:

ros2 param set <node_name> <parameter_name> <value>

改變turtlesim的背景顏色:

ros2 param set /turtlesim background_r 150

此時,終端返回:

Set parameter successful

並且turtlesim的背景顏色發生改變:

使用set命令設定引數只會在當前會話中更改它們,而不是永久更改。但是,可以儲存設定,並在下次啟動節點時重新載入它們。

5.ros2 param dump

可以“dump”(轉儲)一個節點的所有當前引數值到一個檔案儲存,使用以下命令:

ros2 param dump <node_name>

儲存當前turtlesim節點中的引數,可以使用:

ros2 param dump /turtlesim

此時,終端返回:

Saving to:  ./turtlesim.yaml

將在工作區所在的目錄中發現一個新檔案:

如果開啟這個檔案,會看到以下內容:

/turtlesim:
  ros__parameters:
    background_b: 255
    background_g: 86
    background_r: 150
    use_sim_time: false

如果將來用相同的引數重新載入節點,轉儲引數將非常有用。

6.載入引數檔案

要使用儲存的引數值啟動節點,可以使用:

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

以啟動turtlesim為例:

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

此時,出現視窗:

7.總結

節點有引數來定義它們的預設配置值,可以從命令列獲取和設定引數值,還可以將引數設定儲存到一個檔案中,以便在將來的使用中重新載入。

如果給您帶來幫助,希望能給點個關注,以後還會陸續更新有關機器人的內容,點個關注不迷路~歡迎大家一起交流學習。

都看到這了,點個推薦再走吧~

未經允許,禁止轉載。