こんにちは、合同会社尽星、開発チームの田中健策(@tannakaken)です。
私はプログラマーとして、人工衛星(space eye)のプロトタイプ作成や、各種webアプリ作成を行なっています。
TechSourceでは、それらの技術について情報発信がしていきたいと考えています。
まずは、以前の記事で紹介した尽星が計画している人工衛星サービス「軌道上撮影プラットフォームSpace Eye」のプロトタイプに関する技術を紹介していきます。これは豊橋で開催された『ものづくり博2022 in 東三河』で展示しました。
軌道上撮影プラットフォームSpace Eyeとは、衛星軌道上からの写真撮影を誰にでも使えるようにするというサービスです。
宇宙から見た地球、衛星軌道上から見た星空、そして宇宙から見た地球の夜明け、丸みを帯びた青い地平線などが、誰にでも撮影できるようになります。
もしこのプロジェクトにご興味があれば、ぜひアンケートに答えて頂けるとありがたいです。
現在このプロジェクトでは、ソニーが独自開発したIoT向けのマイコンボード「SPRESENSE」を使って開発しています。
SPRESENSEを採用した理由として、実際に宇宙開発への採用事例があったことが挙げられます。宇宙開発では、通常のシステム開発と違い、「本番に近い環境で動かしてみる」ことができないため、採用事例はやはり重要でした。
実際に触ってみるとSPRESENSEは低消費電力でありながらマルチコア対応の高い処理能力があり、またGPS対応など、宇宙開発での採用も頷けるスペックを持っていました。
私はプログラマーとしての専門はwebフロントエンドで、組み込みプログラミングの専門家ではありません。しかし、業務で少しだけM5StackとM5StickC、M5Cameraなどのプログラミングの経験があります。それらは安価で使いやすいものながら、コアは2つしかなく、安定性もいまいちの印象がありました(遊ぶには非常に楽しく、今でもいじっています。また最近ではwio terminalも手に入れて、Rustでプログラミングしています)。その経験から見ても、SPRESENSEの計算力は非常に魅力的で、6コアのマルチコアプログラミングも楽しく、また長時間稼働させても挙動は安定していました。さすがソニー、という印象です。
また、組み込み専門ではない身からは、SPRESENSEがArduinoでの開発に対応しているのは非常に助かりました。以前のM5Stackでの開発は実はArduinoではなく、VSCode上でのPlatform.IOを使いC++で開発をしていたのですが、今回はVSCode、コマンドラインなども試した結果、最終的にArduinoでの開発を選択しました。
参考文献としては『SPRESENSEではじめるローパワーエッジAI』を利用させていただきました。定番のLチカ(LEDをチカチカさせるマイコンプログラミングのHello World)から始まって、ソニーのGUIベースのAIフレームワークNeural Network Consoleを使った、機械学習及び機械学習モデルの組み込み向け最適化(普通の作り方をすると資源の制約が厳しいマイコン上では大きすぎるので小さくする)して、SPRESENSE上でリアルタイム画像認識をして、その結果をディスプレイに表示することができました。
Space Eyeのプロトタイプではこれらの経験が活きました。それについてはまた次回語ります。
コメント
合同会社尽星 谷です。
この度は寄稿ありがとうございました!
Spresense利用について補足いたします。
BBM用の評価ボード選定にあたり宇宙利用実績のあるということでSpresenseを選びましたが、もちろんフライト品製造においては独自での基板製造も選択肢に含め、しかるべき環境試験(振動、熱真空etc)を行います。
国産のマイコンボードで、しかも宇宙実績があるとのことで、是非弊社で活用させて頂いております!