【備忘録】Cube OrangeにArdupilot (Rover) のファームウェアを書き込む

Cube OrangeにArdupilot（Rover）のファームウェアを書き込む手順を記載します。

## 環境
|項目|詳細|
|-|-|
|Auto Pilot|Cube Orange|
|PC（OS）|windows10|
|GCS|Misson Planner（1.3.77）|
|Firmware|Ardupilot Rover 4.2.0|


## 1 Cube Orange とPCを接続する
ファームウェアを書き込むためUSBケーブルでCube OrangeとPCを接続します。
USBケーブルはtypeAとMicro type Bを使用します。
ファームウェアを書き込む際は本体側のポートに接続します。

:::note info
<B>POINT</B>
PCとの間でデータを通信するので ”少しだけ良いケーブル” を使うのをお勧めします。

Cubeに同梱されているUSBケーブルはサイズが微妙に合わない個体があります（外れ品）
外れを引いた場合、通信が安定しない場合がありますので注意が必要です。
私の場合、外れ品だったのか接続時に安定感がなく作業を何回もやり直しても進まず、ダメ元でUSBケーブルを交換すると接続が安定しました。
:::

![接続.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/c7256c8d-23d8-fb9a-4249-9115c0372a57.png)



## 2 Mission Plannerを起動する

:::note info
注意
ファームウェア書き込み時に画面右上の接続ボタンは押さないでください。
接続状態ではファームウェアがインストールできません
:::

### 初回インストール時
画面右上に接続先が表示されるので選択する。
CubePilotとCubePilot Pliusで表示が異なります。

<B>CubePilot Plus の場合</B>
『COM3 ProficCNC CUBE -New』を選択する
![タイトルなし-.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/ef40ce13-0203-c0ba-9e83-9f5d655b13ed.png)

<B>CubePilot Plus の場合</B>
『USB シリアルデバイス』を選択する
![plus.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/68196e5c-7430-80de-2b56-13a98296b686.png)

### 2回目以降（アップデート時）
画面右上に接続先が表示されるので選択する

<B>CubePilotの場合</B>
『COM4 Cube Orange Mavlink』を選択する
![タイトルなし-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/c89673c6-5ce9-4739-41e2-97d46067929b.png)

<B>CubePilot Plus の場合</B>
『最上位に表示されたUSBデバイス』を選択する
![plus2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/1e9cc05a-ab83-fc33-6671-1ff71679bd43.png)

## 3 ファームウェアを書き込む
ファームウェアを書き込んでいきます。

### 3-1．自動で書き込みを行う場合
自動で書き込みを行う場合について記載します。
手動で選択したい場合は3-2を参照願います。

##### ①．ファームウェアの選択
機体に沿ったファームウェアを選択します。
ここではCube Orange に Rover V4.2.0 のファームウェアを自動で書き込む例を記載しています。

・初期設定 ⇒ ファームウェアインストール
・Roverのファームウェアを選択
![install1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/dfe63a93-0e15-0e60-f338-782aeff999ba.png)

設定後に次のような画面が表示されます。
問題が無ければ yes を選択してください。
![install2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/5f0518f7-655c-71c9-7bf6-f11eaa685d67.png)

##### ②．ファームウェアの書き込み
書き込みを行う対象となる、ハードウェア（Platform）とファームウェアが表示されます。
問題が無ければ Upload Firmware を選択してください。

|項目|解説|
|-|-|
|Platform|対象となるハードウェア|
|Firmwares|対象となるファームウェア（apiファイルのある場所）|

![install3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/6c789798-3150-d87b-e860-e371fec1ed88.png)

### 3-2．手動で書き込む場合
自動で書き込みができない場合は手動で書き込みを行います。

##### ①．Alloptionsをクリックします。
![スクリーンショット 2022-05-30 162455.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/fe89aaa7-e9ba-cba5-4d36-c947dc7320b7.png)

##### ②．ファームウェアの選択
入力完了後 Upload Firmware を選択してください。
以下の処理は自動と同じです。

|項目|解説|
|-|-|
|Version type|仕様を選択する|
|Platform|対象となるハードウェアを選択する|
|Versions|ファームウェアのverを選択する|
|Firmwares|対象となるファームウェア（apiファイルのある場所）を選択する|

![スクリーンショット 2022-05-30 162235.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1064722/ad53dd27-c52a-ce30-e98e-ec27857923c9.png)

## 参考
https://ardupilot.org/rover/docs/common-loading-firmware-onto-pixhawk.html

https://docs.cubepilot.org/user-guides/autopilot/the-cube-series-firmware-and-connection-troubleshooting