外洋型ソーラーボートをつくる #プロトタイプ制作編1

きっかけ

この記事です。

カリフォルニアからハワイ、さらにその先へ進む無人自律ボートを作って得た体験

船体の制作は苦労されたようですが、何より一般的に手に入る部品のみでカリフォルニアからハワイまで走り切ってしまうというのがシビれますね。ここまでなら「すごい!!」だけなのですが、記事中にイリジウムのモデムを使ってリモートコントロールを行っていたという記述が、検索すると3万円弱程度の頑張れば購入できる価格のようです。是非遊んでみたいのですがもちろん日本国内で使用すると電波法の壁で違法ですので公海上に自力で運ぶしかありません…なら同じようなタイプのソーラーボートを作るか!となってダラダラ進めている途中経過をMaker Faire Tokyo 2018で展示しますので詳細をここにメモしておきます。

最初の一歩

バッテリーとイリジウムモデムだけでもかなりの値段になる事が予想され、いきなり本番バージョンに取り掛かるのは(飽きて放置が)怖いので、まずはプロトタイプ制作です。プロトバージョンはバッテリー動力のみ、LTE回線経由でステータスの取得とGPSウェイポイントの更新が可能、という目標を立てました。

プロト版船体の選定とテストフレームの制作

この時点ではバッテリー、マイコン、GPS、LTEモデム、近接コントロール用受信機が載れば良いので可能な限り安くということで選んだのがこちら、Aliexpressで売っていたベイトボート、つまり釣りの撒き餌を運ぶラジコン船ですね。コミコミで$89でした、あらお安い。

中身を抜き取りモーター配線を引っ張り出します、値段なりの作りです。

インナーフレームは3Dプリンタで出しました。いい加減に進めたせいでこの辺りは何度か作り直す羽目になりました。

アクリルで制作したケースを載せシリコンコーキングでシーリングして完成です。

FMUもといCMUの選定

プロト版の目標は決まったので制御を行うマイコンの選定を行う必要があります、SeaChargerはArduinoMegaを使用したようですが、現在はこの手のマイコンはRasPiを筆頭に選び放題なのでゼロから検討してみます。ペリフェラルが多岐に渡るのでIOが大量にあり消費電力が小さい事が条件です、RasPI ComputeModuleやBeagleBone Black‎等も最後まで候補に残ったのですが、最終的に選んだのがこれ、PixHawkです。

Maker:L,Date:2017-9-28,Ver:5,Lens:Kan03,Act:Kan02,E-Y

PixHawkは主に自作クアッドコプタードローンに使われているオープンソースハードウェアなFMU、フライトマネージメントユニットです。今回の場合飛ばないのでクルーズマネジメントユニット(CMU)となりますか。CPUはSTM32F427でFPU付きで程よい性能です、IOPとしてSTM32F100が接続されており自前で扱うと何かと面倒なIMUがオンボードで載っています。何よりIOP経由で多チャンネルサーボ信号を出力可能でラジコン用ESCが使えるのが楽ちんですね、本番はこの辺りは自作する必要があるのですが。あと近接コントロール用としてラジコン受信機が使えるのも非常に良いです。

LTEモデムの選定

現在選択肢があまりなくsakura.ioです、インターフェースもI2CorSPIですのでPixHawkとの相性もばっちりです。モジュールは小さいのですがアンテナが嵩張りケースに収めるのに苦労しました。

プロト版ターゲットコード

PixHawk用のコードとして最もメジャーというかこれしか無いのですがArduPilotというオープンソースのコミュニティがあります。

ArduPilot

コードは一応レイヤ構成になっているようなのでHAL、つまり最下層レイヤのみポートして上位をまるっと書き換えるつもりで最初は進めてみましたが、お世辞にも綺麗とは言えない設計で中々手強いようです、分離はさくっと諦めました。なのでROSのタスクエントリ方式で各制御が全て1列に並んでいるので当初はここに差し込んで制御します、電力効率的に最低かつ安定性も低そうなので改良候補筆頭ですねこの辺り。

コントロールソフトのコーディング

次にウェイポイントの編集およびターゲットコントロールをsakura.io発AWS IoT経由Windows着で行うGUIの制作です、ArduPilotにはMissionPlannerというC#で書かれたコントロールソフトが既にありますが…いや言及は避けましょうか。

同じ事を考える方は多いらしくMissionPlanner互換のコントロールソフトは何種類かあります、中でもQtで書かれたQGroundControlは常識的な作りです。こちらもオープンソースですのでこれを改造して進める事にします。

QGroundControl

進捗?

現在ソフトの調整を進めていますが、水上でのLTE経由GPSウェイポイント航行テストがMFTまで間に合うか微妙な状況です。焦って船体をロストするとそこそこ高額なバッテリーとsakura.ioモジュールを買い直す羽目になりますしね、頑張るけど。では当日お会いしましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です