我是靠谱客的博主 过时鸭子,这篇文章主要介绍MAVROS不支持1500000波特率问题解决办法后续,现在分享给大家,希望可以做个参考。

MAVROS不支持1500000波特率

  • 问题
  • 解决办法
  • 后续

之前飞控最大支持的波特率为921600,目前px4的飞控固件1.80版本最大支持1500000了,但是MAVROS好像并不支持这个波特率。看了源码过后找到了问题所在。

问题

我用的是TX2的自带的串口,TX2肯定在硬件上是支持这个波特率的,但是MAVROS运行的时候输入1500000的波特率就提示非法参数输入。ERROR如下。

复制代码
1
2
[FATAL] [1554380682.049056064]: FCU: DeviceError:serial:set_option: Invalid argument

解决办法

MAVROS用了boost的asio检查参数的合法性,但是这个库里面没有这个波特率所以就会报错,解决办法是添加需要的波特率就可以。

复制代码
1
2
sudo vim /usr/include/boost/asio/impl/serial_port_base.ipp

然后找到相应的地方把条件编译加上。

复制代码
1
2
3
4
# ifdef B1500000 case 1500000: baud = B1500000; break; # endif
复制代码
1
2
3
4
# ifdef B1500000 case B1500000: value_ = 1500000; break; # endif

保存退出过后清除之前的编译生成的文件再重新编译MAVROS就OK了。

复制代码
1
2
3
4
cd mavros_ws/ catkin clean catkin build

编译完成过后就可以使用1500000的波特率了。

后续

经常用onboard的话需要较高的波特率。目前对于1.90版本PX4支持的较大波特率有921600、1000000、1500000、2000000、3000000。加上1500000后MAVROS都支持了。

最后

以上就是过时鸭子最近收集整理的关于MAVROS不支持1500000波特率问题解决办法后续的全部内容,更多相关MAVROS不支持1500000波特率问题解决办法后续内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部