细讲APM飞控日志(持续更新)

 飞控的日志功能是飞控系统的重要组成部分,在我们分析飞控问题时非常有用。本文将详细讲述APM飞控日志的方方面面,并根据大家的反馈持续更新。

无人机调试问题,飞控硬件定制,固件修改,log日志分析,飞控驱动添加请QQ联系:3500985284

经过三个月的制作,我的《无人机飞控固件开发教程》系列视频终于在“网易云课堂”上线了,本教程基于APM固件和Pixhawk硬件,讲述如何搭建飞控固件开发环境、如何编译烧写固件、如何修改固件、如何建立飞控仿真环境、如何添加自定义信息、自定义日志、如何添加外设驱动程序、如何使用OpenMV图像识别设备引导飞机飞行等,敬请支持https://study.163.com/course/introduction/1209568864.htm?share=1&shareId=1448054983

一、APM飞控日志是如何产生的

 对于Pixhawk硬件,APM固件的日志存储在MicroSD卡(又名TF卡)中的。当我们将一张新的SD卡插入飞控后,第一次上电后,飞控会自动在根目录下面创建一个名为“APM”的文件夹,如果飞控产生过日志,“APM”文件夹内部还会自动产生“LOGS”文件夹,日志就存储在这个文件夹下。日志文件在SD卡中以“XXXXXX.bin”的格式存储,如“0000001.bin、00000002.bin……”,每新建一个日志,文件名就会加1,同时LOGS文件夹下还有一个“LASTLOG.TXT”文件,这个文件记录了最后一个日志的数字序号。如下图所示,在APM/LOGS文件夹内部,有四个日志文件,同时还有“ LASTLOG.TXT ”文件,该文件打开后内容只有一个数字“4”,如果下次解锁后飞控新建了一个日志,这个数字就会变成5。

 一般情况下,一次上电后,第一次解锁时,飞控会新建一个日志文件,之后锁定后,停止记录日志,在没有断电的情况下,重新解锁,则继续在此日志文件基础上记录日志。如果重新上电并解锁,则新建一个日志文件……

 注意事项:

 1、SD卡插入飞控前必须按照如下格式格式化,格式化设置如下图所示:

 2、从可靠性角度讲,建议插入SD卡后,在SD卡座与SD卡间点上一点硅橡胶,以减小震动情况下SD卡虚接的概率,否则有时地面站姿态窗口会有“Bad logging”的提示,飞行后会发现飞控并没有记录日志;

 3、飞控向SD卡中写入数据是有缓存机制的,如果飞行中出现意外,飞机在记录日志时断电了,则很有可能会丢失断电前10秒内的日志(注:不一定是10秒,可能更长或者更短);

 4、如果想在未解锁情况下记录日志,将 LOG_DISARMED 这个参数设置为1即可,这样任何一次上电,飞控都会新建一个日志文件,并一直记录日志,直到断电为止。

二、常见日志分析方法

1、查看电机是否水平

 一般情况下,我们的机臂都是碳管,这种管状结构有个问题是电机座不易做到较高精度的水平,如果电机不水平,它绕着机臂轴线方向有个扭转角度,就会导致其升力在水平方向有一个分力,这个分力的方向刚好是带动飞机在水平方向转头,这个分力的大小为F*sin(a),其中F为升力,a为扭转角度,以F = 1kg,a = 5度为例,1 * sin(5) = 0.087kg,这个值看似不大,但是由于飞机航向是靠电机反扭来控制的,而电机反扭力度一般不会太大,因此如果电机不平,大部分情况下就会导致飞机锁头能力不足,或者叫航向控制能力不足。

 我们可以通过日志中的“RCOU”项目来查看电机是否水平,“RCOU”全称是“RC output”,指的是飞控发送给各个电调的控制输出,如果出现了电机不平的情况,并且这个水平分力是导致飞机向右转头的,那么飞控为了锁头,就会自动增大反扭是让飞机向左转头的几个电机的油门,同时减小反扭是让飞机向右转头的几个电机的油门,从而就会出现明显的电机输出分层的现象,并且输出高的电机的转向是相同的(正转或者反转)。

 下图是一个典型的电机不平导致的输出分层的现象,这是一个X8结构的多旋翼,大家可以看到,有四个电机明显接近了满油门,而另外4个电机一直处于较低油门:

 但是,注意,在有持续的大风中飞行时,也会出现“RCOU”分层的现象,这是正常的,其特征是迎风侧电机输出较低。比如一个四轴,正左侧有持续风吹来,就会导致左侧的两个电机(2号、3号电机)输出都偏低,右侧两个电机(1号、4号电机)输出都偏高,而如果是电机不平,那么就是1号、2号电机共同偏高或者偏低。

未完待续……

微信公众号:“怒飞垂云”,扫描下图添加

京ICP备19049723号   |   京公网安备 11010502039327号