Dolphinsソフト班B4の石澤です.
組み込みのプログラムにも慣れてきた頃ですが, 未だに扱え切れていないものがあります. それはLoRaモジュールです! LoRaは920MHz帯の無線通信規格で, 無線免許等を所持していなくても扱えるものです. Dolphinsでは複数機体によるミッションを行う都合上, 機体間の安定した通信は必須事項です. そのため, 機体にはPrivate LoRaを扱えるモジュール(RM92Aというものを使用させていただいてます)を使用していますが, これがなかなか厄介です. まず, 機体にLoRaを設置するとアンテナが地表から数10 cm程度の高さになってしまうため, 数km通信のできるLoRaといえども高々数100 mまでしか通信できなくなってしまいます. 更にこのような関係からときどきデータにノイズが乗ってしまいます. 例えば経度139度と送ったはずのものが十の桁の3の部分にノイズが乗ってしまい, 結果として経度1度となってしまうことも珍しくありません. このような環境下で機体の高頻度相互通信を行うとなると, TCPのような信頼性のある通信プロトコル設計はとてもではありませんができません. これらの対策として, 一応ノイズにはCRCによる誤り検出, 通信プロトコルにはルーズな設計などを考えてはいますが, どの程度対処できるのか未知数です. 初期のインターネットが参考になるかなぁなどと考えてしまうほどです.
元々, LoRaは通信頻度の低いIoT機器などへの活用が考えられている規格であり, 高頻度かつ地表近くで通信することを考えられているものではないので自業自得感は否めないですが, どうにかミッションに使用できるものにしたいと考えています.