本文共 726 字,大约阅读时间需要 2 分钟。
PX4代码调试确实是一个需要耐心和细致的过程,最近在项目和研究中又一次接触这段代码,遇到了不少新问题,也积累了一些解决方案,这次就记录下来。
在调试PX4代码时,官方建议尽量避免随意修改代码,尤其是用于导航的部分。然而,调试过程中还是遇到了一些需要解决的问题。
在上电并连接地面站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仿真中,出现"preflight failed:compass #0 uncalibrated"的错误提示。解决方法是先对固件进行make clean,然后清除~/.ros/eeprom/parameters文件夹。
目前尚未解决一个问题:在某些场景中,飞行器无法正常连接WPA热点,需要进一步调试网络配置。
转载地址:http://pglwz.baihongyu.com/