在/mavros/rc/override值发生了改变,但是/mavros/rc/in 并没有改变
时间: 2023-07-08 20:51:41 浏览: 297
如果在 `/mavros/rc/override` 中的值发生了改变,但是在 `/mavros/rc/in` 中没有改变,可能是因为你没有配置 `/mavros/rc/override` 节点的参数或者修改频率不正确。
你可以通过以下命令设置 `/mavros/rc/override` 节点的参数:
```
rosrun mavros mavparam set SYSID_MYGCS 1
rosrun mavros mavparam set RC_OVERRIDE_TAKEOFF 0
rosrun mavros mavparam set RC_OVERRIDE_HZ 10.0
```
其中,`SYSID_MYGCS` 是指地面站的 ID,可以设置为 1;`RC_OVERRIDE_TAKEOFF` 是指是否允许发送 RC Override 消息起飞,可以设置为 0;`RC_OVERRIDE_HZ` 是指发送 RC Override 消息的频率,可以根据实际情况设置。
另外,你还可以使用 `rostopic hz /mavros/rc/in` 命令检查 `/mavros/rc/in` 接收到 RC In 消息的频率,确保与 `/mavros/rc/override` 发送消息的频率一致。
如果以上方法都没有解决问题,你可以尝试在 `mavros` 节点中打开调试信息,查看具体的错误信息:
```
rosrun mavros mavros_node _fcu_communication_delay:={delay in ms} _gcs_url:={udp://ip:port} _loglevel:={debug}
```
其中,`_fcu_communication_delay` 是指飞控通信的延迟时间,可以设置为 0;`_gcs_url` 是指地面站的 IP 地址和端口号;`_loglevel` 是指调试信息的级别,可以设置为 `debug`。运行以上命令后,可以在终端中查看 `mavros` 节点的调试信息,以便于排查问题。
阅读全文