博客
关于我
px4调试bug--添加mavlink_log_info信息
阅读量:392 次
发布时间:2019-03-05

本文共 726 字,大约阅读时间需要 2 分钟。

PX4代码调试确实是一个需要耐心和细致的过程,最近在项目和研究中又一次接触这段代码,遇到了不少新问题,也积累了一些解决方案,这次就记录下来。

在调试PX4代码时,官方建议尽量避免随意修改代码,尤其是用于导航的部分。然而,调试过程中还是遇到了一些需要解决的问题。

问题一:启动时提示"wp index out of bounds"错误

在上电并连接地面站QGC时,出现"wp index out of bounds"的关键错误提示。通过mavlink_log_info的方式查看地面站输出,发现这条警告信息与mavlink_mission.cpp中与序列号相关的代码有关。具体来说,序列号seq在上电后被初始化为一个较大的固定值,超过了实际航点索引的最大值,导致索引越界。

解决方法是通过屏蔽该警告信息,或者在启动时检查seq是否超过某个阈值,若超过则重置seq为0。最终通过更换SD卡解决了这个问题。

问题二:遥控器无法解锁及电调异常

在使用固件版本1.10.1时,遥控器无法解锁,电调声音异常。多次尝试电调校准后问题依旧存在。经过进一步排查,使用示波器检查发现飞控的PWM输出频率异常,约为70多Hz。

解决方法是通过QGC软件调整PWM对应的参数,确保输出频率符合正常范围。

问题三:Gazebo仿真中的预飞行失败

在Gazebo仿真中,出现"preflight failed:compass #0 uncalibrated"的错误提示。解决方法是先对固件进行make clean,然后清除~/.ros/eeprom/parameters文件夹。

其他问题

目前尚未解决一个问题:在某些场景中,飞行器无法正常连接WPA热点,需要进一步调试网络配置。

转载地址:http://pglwz.baihongyu.com/

你可能感兴趣的文章
Linux——静态库
查看>>
Linux—文件系统
查看>>
Linux、Linux操作系统、GUN、GPL
查看>>
Linux、Windows渗透测试靶场手动搭建实战(附靶场安装包与安装脚本)
查看>>
linux一切皆文件之Unix domain socket描述符(二)
查看>>
Linux上Java的安装与配置
查看>>
linux上传下载覆盖文件的命令
查看>>
linux上修改容器网卡docker0为固定ip
查看>>
Linux上压缩目录以及目录下的所有文件
查看>>
linux上可以运行dll吗
查看>>
Linux上在文件夹上层新建一个同名目录
查看>>
linux上安装eclipse并配置mapreduce程序开发环境
查看>>
Linux上安装Git时bash: ./cofigure.ac: No such file or directory的解决
查看>>
Linux上安装mysql
查看>>
linux上安装mysql glibc版本安装
查看>>
Linux上安装TeamViewer
查看>>
Linux上怎样停止服务(jar包)、查看进程路径、关闭指定端口
查看>>
Linux上怎样实现文件夹重命名
查看>>
Linux上操作Docker守护态运行
查看>>
Linux上新建文件夹并将另一个文件夹移动进来
查看>>