获取/设置 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'}"- 获取参数的变量