APM飞控添加新的飞行模式,并在地面站Mission Planner里显示

来源:互联网 发布:青岛衣知她有限公司 编辑:程序博客网 时间:2024/04/28 22:46

APM添加新的飞行模式,并在地面站Mission Planner里显示

虽然官方也给了说明,但主要是针对旋翼的,旋翼增加飞行模式
所以在这里写一下固定翼的怎么加,我用的APM代码是Arduplane3.7.1,可能新版的会有变化,不过大致也应如此,主要有两部分工作

1 ardupilot代码里进行更改

简单的办法之一是,用sublime text搜索其中一种模式的关键词,比如QRTL,然后在它后面紧接着加自己的模式。
有以下文件内需要进行对应更改:
defines.h
Arduplane.cpp
events.cpp
GCS_Mavlink
Parameters.cpp
system.cpp

以defines.h为例,

enum FlightMode {    MANUAL        = 0,    CIRCLE        = 1,    STABILIZE     = 2,    TRAINING      = 3,    ACRO          = 4,    FLY_BY_WIRE_A = 5,    FLY_BY_WIRE_B = 6,    CRUISE        = 7,    AUTOTUNE      = 8,    AUTO          = 10,    RTL           = 11,    LOITER        = 12,    AVOID_ADSB    = 14,    GUIDED        = 15,    INITIALISING  = 16,    QSTABILIZE    = 17,    QHOVER        = 18,    QLOITER       = 19,    QLAND         = 20,    QRTL          = 21,    MyNewMode     = 22};

MyNewMode作为第22个成员加入,其他文件中类似
另外,如果是用QgroundControl作为地面站,还需要额外更改mavutil.py这个文件,不过该文件是子模组内的文件,改的时候需要多加注意

2 MissionPlanner代码里进行更改

与前面说的方法类似,需要更改的文件
ParameterMetaDataBackup.xml
把新模式加在已有模式后面就可以

就这么简单~

比如我的新模式如果叫做JUHdotVPhi,最终显示就是这样的:
Mission Planner 下显示新添的模式

阅读全文
0 0