SolaMilソフト班 近況報告 および 新プログラムへの統一について

こんにちは。SolaMilチームのソフト班の修士2年 田所です。

新型コロナの影響で、ARLISSは開催が危ぶまれている状況です。
しかし、私達高玉研ではARLISS開催へ望みを託してローバーの開発を続けています!

さて、今年のチーム「SolaMil」は「地磁気センサを使用しない方位推定の実現」を目標に活動しています。
太陽光の光を検知するために、これまで使用したことのない部品であるLEDマトリクスを使用しようとしています。LEDマトリクスは光を発する用途に使われることが多いですが、それとは逆に部品にあたった光の量を、発生した電圧をもとに計測することもできます。

しかしながら、感染防止のために6月末まで大学に入れないこともあって組み立てや検証実験が全くできず、開発はかなり難航しています…。

そこで、現在ソフト班ではプログラムのメンテナンスや画像検知まわりの検証など、自宅でできる作業を優先して行っています。


ところで今年は、2012年?から去年まで使われていたレガシなプログラムを一掃して、去年Siriusチームで新たに開発した新プログラムを両チーム共通のベースとして使用することになりました!
この共通化によって、チーム間でのノウハウの共有などが一層進められて、効率的に開発できそうです✨

前まで使われていたレガシなプログラムでは、グローバル変数の使用によりあらゆるところに依存関係があったりして単体テストすら思うようにいかず、ラズパイでコンパイルしてから実機で動かすまで実行結果がわからない状況でした。
(良くも悪くも、全てがどこからでも呼び出せたので実装作業自体は安直にできましたが…。)

新プログラムでは、依存関係を見直して一から組み直すことで部分ごとに単体テストができるようになったほか、プログラムの再利用性も格段に向上しました!
また、ラズパイでしか動作しないライブラリ(WiringPiなど)への依存箇所を分離することで、ラズパイ以外のWindows(Visual Studio・MinGW・WSL)/Mac/Linux環境でもコンパイルが通せるようになりました。
これにより、コロナで実機が触れない状況でも問題なく開発できています✨

去年のローバープログラムをWindows(WSL)上で動作させているところ。去年はマルチローバーだったのでPC上で同時に起動して通信テストとかも仮想的にやってました!

7月になって大学に入れるようになったら、新センサーの実装や実験などでいきなり忙しくなりそうです。今のうちにできる範囲のところを進めておきたいですね。

今後のソフト班の躍進にご期待ください!