車体に設けたSWの操作により車体を制御する方法についてまとめます。
Autopilot(Cubepilot)がSW操作を受け付ける事により非常停止等の機能を付加することが可能です。
補足
設定により最大4個のスイッチ入力に対応することが可能です
対応
- 機能を有効にする
- 機能を設定する
- 入力PINの仕様を設定する
- 出力端子を設定する
- 出力端子の仕様を設定する
1.BTN PIN を有効にする
パラメータ | 設定値 | 備考 |
---|---|---|
BTN_ENABLE | 1 | 1に設定することでBTN PIN 機能が有効となる (設定後Autopilot再起動) |
2.機能を設定する
パラメータ | 設定値 |
---|---|
BTN_FUNC1 | 参照 |
BTN_FUNC2 | 参照 |
BTN_FUNC3 | 参照 |
BTN_FUNC4 | 参照 |
例:SWが押された時に車体を止める場合は以下の様に設定を行う
・BTN_FUNCxx = 154(hold)
・BTN_FUNCxx = 81(Disarm)
3.入力PINの仕様を設定する
パラメータ | 設定値 |
---|---|
BTN_OPTIONS1 | PWM Input:0/Invert Input:1 |
BTN_OPTIONS2 | PWM Input:0/Invert Input:1 |
BTN_OPTIONS3 | PWM Input:0/Invert Input:1 |
BTN_OPTIONS4 | PWM Input:0/Invert Input:1 |
備考
MissionPlannerではチェックボックスが表示されるのでどちらかを選択する
4.出力端子を設定する
パラメータ | 設定値 | 備考 |
---|---|---|
BTN_PIN1 | 以下参照 | AUX1~6のどれかを選択する |
BTN_PIN2 | 以下参照 | AUX1~6のどれかを選択する |
BTN_PIN3 | 以下参照 | AUX1~6のどれかを選択する |
BTN_PIN4 | 以下参照 | AUX1~6のどれかを選択する |
端子割り当て
端子 | 設定値 |
---|---|
Disable | -1 |
AUXOUT1 | 50 |
AUXOUT2 | 51 |
AUXOUT3 | 52 |
AUXOUT4 | 53 |
AUXOUT5 | 54 |
AUXOUT6 | 55 |
5.出力端子の仕様を設定する
パラメータ | 設定値 | 備考 |
---|---|---|
SERVOxx_FUNCTION | -1 | -1に設定することでGPIOが有効となる |
SERVOxx_FUNCTIONのxxの部分を出力したい端子に割り当てます
参考
https://ardupilot.org/rover/docs/common-buttons.html
https://ardupilot.org/rover/docs/parameters.html#btn-parameters
https://qiita.com/srs/items/aeb85ebb6528e89a14ef