はじめに
Arducopterにオリジナルのフライトモードを追加する方法。メモ程度。
また、GCSとしてMissionPlannerでそのフライトモードを選択できるようにする。
フライトモード追加
基本的にはArdupilot公式ドキュメント通りにやればおっけい。
http://ardupilot.org/dev/docs/apmcopter-adding-a-new-flight-mode.html
しかし、これだけではコンパイルできない。config.h内に他のmodeと同じように以下を追加する。
config.h
//////////////////////////////////////////////////////////////////////////////
// New Mode
#ifndef MODE_NEW_ENABLED
# define MODE_NEW_ENABLED !HAL_MINIMIZE_FEATURES
#endif
ここだけ罠なので注意。
MissonPlannerにフライトモード追加
MissonPlannerのルートフォルダ内のParameterMetaDataBackup.xmlを変更する。
ParameterMetaDataBackup.xml
<FLTMODE1>
<DisplayName>Flight Mode 1</DisplayName>
<Description>Flight mode when Channel 5 pwm is <= 1230</Description>
<Values>0:Stabilize,1:Acro,2:AltHold,3:Auto,4:Guided,5:Loiter,6:RTL,7:Circle,9:Land,11:Drift,13:Sport,14:Flip,15:AutoTune,16:PosHold,17:Brake,18:Throw,19:Avoid_ADSB,20:Guided_NoGPS,21:Smart_RTL,24:NEW_MODE</Values>
<User>Standard</User>
</FLTMODE1>
こんな感じで,に新しいモードを追加する。これでMissonPlannerを起動すればNEW_MODEが選べるはず。
という感じでArducopterを使ってどんどん新しい制御を実装したりしよう。