〇 機体設計の流れ
機体のコンセプトを決定する
CADソフトを用いて、機体の形状や寸法を決定する
必要な部品を発注する
CADで作成したデータをもとに、機体を製作する
回路基板やセンサーとの兼ね合いや、走行試験をもとに機体を改良する
〇 主に使うツール
・CADソフト → 機体の構造や寸法をあらかじめ作成し、機体の製作を容易にします(図1.)。機体の耐久性の計算にも使用します(図2.)。
・3Dプリンタ → プラスチック樹脂を溶かして積層させることで、複雑な構造のパーツを作成することが可能。我々の部隊では使用頻度が高く、やろうと思えばパーツのほとんどを作ることもできます。
・その他いろいろな加工機を使います。フライト部隊は機体を作る方法が限定されていない為、自由な方法で機体を作ることができるのも魅力です。
図1. CADで設計した機体の図。2次元の図面よりも、仕上がりが分かりやすい。
図2. 機体がどれだけの力に耐えられるかをCADソフト上で計算・シミュレーションしたもの。これをもとに過酷な環境でも壊れない機体を製作する。
得たい情報や実現したい動作をもとに使用するパーツを決め、回路設計を行います。
基板の作り方はいくつかありますが、フライト部隊では主にCADを使って回路を設計し、業者に発注することで基板作成を行っています。
CADを使うことで回路の小型化を図ることができます。
CanSatでは限られたスペースに多くのセンサなどを載せる必要があるため、回路の小型化は欠かせません。
CanSatは、外部からの通信などによらず、自律してゴールを目指します。そのため、機体がスタート地点から最短経路でゴールにたどり着けるような制御方法を設計・実装します。
これを実現するために、機体にはGPSモジュールやセンサ類を多く搭載しています。それらから得られた情報をマイコン上で処理し、自身をゴールへと導きます。
〇 ソフトウェア開発の流れ
使用部品の選定
機体のコンセプトやミッションを元に、回路設計の担当者と共に、使用する部品を選定します。
システムブロックの作成
電装全体のシステムを構成します(図1)。回路設計の担当者と話し合いを行い、回路が複雑になりす ぎないようにします。
フローチャートの作成
ここから、制御系開発の担当者が、コンピュータ上で行われる制御の流れを図示していきます。
プログラムの作成
フローチャートの通り機体が動くように、プログラムを組み立てていきます。
動作確認・補正
それぞれの機器の動作を確認します。また、処理に実用できるようにセンサ類の補正も行います。
制御履歴の作成
機体を動作させて、動かした制御の履歴をまとめます。大会では、この履歴を元に機体の制御結果を報告します。
図1.システムブロック図の例(2019 種子島ロケットコンテスト用)
C++、Python に興味のある方 大歓迎!!
ハード・機構を専門にやるとしても、マイコンボードが使えれば簡易な動作テスト等が出来る為、製作がスムーズに進みます。その為、フライト部隊では一様に、新入生向けにマイコンを使用したプログラミング講習を行っています。経験のない方も、全力でサポート致します!
フライト部隊は、他部隊と比べても多彩なマイコンボードの使用経験がある為、いずれのプログラミング言語にも対応して、教える事が出来ると思います。
Arduino nano ver. 3.0
初心者には、これがおススメです。互換機が Amazonで400円程度で手に入るので敷居が低く、またネット上の参考文献も充実しています。
STM32 Nucleo F303K8
Arduino nano ver.3.0に比べて、こちらは割り込み機能の充実等、スペックが高いです。上位互換と考えて良いでしょう。CanSat競技では、STMマイコンをメインで使用する事が多いです。STMさんから無償提供のご支援も頂きました。
Raspberry Pi Zero WH
フライト部隊では、Raspberry Piを用いた画像認識にも取り組んでおり、Python言語の使用経験があります。画像認識はトレンドですが、他部隊ではあまり使用する機会がないかもしれません。