獲取/設置 MAVROS 參數
使用 MAVProxy 或 Ardupilot-SITL 獲取/設置 MAVROS 參數
如果你想設置一個參數卿拴,你可以使用這個命令:
param set PARAMETER VALUE- 設置參數的新值
如果你想設置一個參數事富,你可以使用這個命令:
param fetch PARAMETER- 獲取參數的值
或者
param show PARAMETER- 獲取參數的值
例如畜眨,如果您想將“CRUISE_SPEED”視為參數,則可以使用以下命令來獲取或設置它:
param set CRUISE_SPEED 20- 設置參數的新值
param fetch CRUISE_SPEED- 獲取參數的值
或者
param show CRUISE_SPEED- 獲取參數的值
使用 ROS 命令行更改車輛模式
如果你想設置一個參數值泛鸟,你需要調用 ros 服務來做到這一點蝠咆。只需按照以下命令操作:
rosservice info /mavros/param/set- 查看此服務的詳細信息
此命令給出以下結果:
Node:/mavrosURI:rosrpc://ubuntu:58491Type:mavros_msgs/ParamSetArgs:param_id value
“mavros_msgs/ParamSet”是該服務 srv 文件的類型,“Args”是我們的輸入參數北滥,但我們必須知道它們的類型刚操,以便我們鍵入以下命令:
rossrv show mavros_msgs/ParamSet- 獲取上述 srv 文件的詳細信息
這將導致如下結果:
string param_id
mavros_msgs/ParamValue value? int64 integer? float64 real
---bool successmavros_msgs/ParamValue value
? int64 integer
? float64 real
本例中,“param_id”為需要配置的參數名稱碑韵,類型為“string”赡茸。 “整數”和“實數”也是描述該參數值的字段缎脾。
要使用新值設置參數祝闻,您可以使用以下命令:
rosservice call /mavros/param/set "{'param_id':'PARAM', 'value':[INTEGER_VALUE, REAL_VALUE]}"- 更改參數值
以“CRUISE_SPEED”參數為例:
rosservice call /mavros/param/set "{'param_id':'CRUISE_SPEED', 'value':[20, 0]}"- 更改參數值
如果你想獲取參數的值:
rosservice call /mavros/param/get "{'param_id':'PARAM'}"- 將車輛模式更改為“引導”
以“CRUISE_SPEED”參數為例:
rosservice call /mavros/param/get "{'param_id':'CRUISE_SPEED'}"- 獲取參數的變量