Skip to content

Instantly share code, notes, and snippets.

@ymt117
Last active June 13, 2025 23:30
Show Gist options
  • Save ymt117/18c482d1199717ef556ae117f9391e36 to your computer and use it in GitHub Desktop.
Save ymt117/18c482d1199717ef556ae117f9391e36 to your computer and use it in GitHub Desktop.
100kinSAT 機能まとめ

絶対必要な機能

1. ロケットによる打ち上げの検知

使用センサ

  • GPSセンサ
  • タイマー

100kinSATでは、GPSセンサから取得できる高度をもとに「高度の値が〇〇を超えたら打ち上げ」と判定している。

また、予備としてタイマーを使って「〇〇秒経過したら打ち上げしているはず」という判断もしている。

その他の方法

  • 気圧センサによる高度の変化を検知する
  • 加速度センサによる打ち上げ時の衝撃を検知する

2. ロケットからの放出の検知

使用センサ

  • 照度センサ

100kinSATでは、照度センサによる明るさの変化をもとに放出を判定している。

CanSatはロケットに搭載したときは、キャリアと呼ばれる筒に収納されているため、照度センサは暗い値を示す。

放出されると明るくなるので、その変化で検知できる。

天気が悪い日は期待より明るくならないこともあるので、しきい値の設定や予備の判定基準もあると良い。

その他の方法

  • 物理的なスイッチによる検知(フライトピンと呼ばれたりする)
    • タクトスイッチ
    • マイクロスイッチ
    • リードスイッチ(磁気スイッチ)

3. 着地の判定

使用するセンサ

  • 加速度センサ

100kinSATでは、加速度センサを使って、XYZ軸の平方和を求めて、「値が〇〇以下になったら着地している(静止している)」と判定している。

着地(静止)した状態では、重力加速度しか基本的にかかっていないので、それを判断材料にしている。

風が強いとパラシュートが煽られて着地したあとも機体が動いてしまって、判定がうまく行かない可能性がある。

その他の方法

  • 高度センサによる着地の判定
  • 距離センサによる地面に近づいた判定

4. パラシュートの切り離し

使用するセンサ

  • ニクロム線

100kinSATでは、パラシュートの紐と機体間をテグスで繋いでいる。

このテグスにニクロム線(電熱線)が触れるようにしていて、ニクロム線に電流を流したときの熱でテグスを溶断している。

大電流が流れるため、FETを使用している。

旧100kinSATではリレー回路を使用している。

溶断は気温が低かったり、風が強かったりすると確実に切り離しできない可能性がある。

また、大電流を流すため、回路設計がしっかりしていないと、マイコンの動作が不安定になったり、壊れたりする。

100kinSATは回路設計を適当にしている。

また、ARLISSに参加したときの100kinSATは、高度センサを使って、着地する直前にパラシュートを切り離す機能がある。

これによって、切り離したパラシュートが風に流されて機体の位置と離れることで、機体が走り出したときにパラシュートに絡まないことが期待できる。

その他の方法

  • サーボモータやソレノイドによるアクチュエータを使用したロック機構

4. ゴールへの走行

使用するセンサ

  • GPSセンサ
  • モータ

100kinSATでは、GPSセンサから取得した緯度経度をもとに自己位置を取得している。

また、ゴールの座標はあらかじめ計測したものをプログラムに書き込んでいる。

ゴール座標はプログラムにハードコードする方法とEEPROMやmicroSDカードに記録したものを読み込む方法がある。

〇〇m直進して、移動する前の位置情報と移動したあとの位置情報から、機体が進んだ方角を求め、ゴールの方角を計算して、必要に応じて旋回して、再び直進するというアルゴリズムで100kinSATはゴールへ走行する。

その他の方法

  • 9軸センサを使って姿勢(機体の向き)を求めて旋回・直進する
  • カメラを使ってゴールにあるカラーコーンを認識して誘導する

5. 地上局との通信

使用するセンサ

  • TWE-Lite

100kinSATでは、TWE-Liteを使用して地上局(TWE-Liteの親機を取り付けたパソコン)と通信する。

このとき、CanSatが地上局へ送信するデータはテレメトリと呼ばれる。

一方で、地上局からCanSatへ送信するデータはテレコマンドと呼ばれ、ARLISSのカムバックコンペルールではテレコマンドの送信は禁止されている。(たしかそうだったはず)

その他の方法

100kinSATは小型のため、低消費電力な送信機を搭載しているが、ARLISSでは数km以上の通信距離が求められる場合もあるので、他の通信方法も検討したほうが良い。

ただし、無線の免許が必要な場合もある。

6. 制御履歴

使用するセンサ

  • microSD

100kinSATには、microSDカードスロットが搭載されていて、ここに制御履歴を記録します。

カムバックコンペでは、「CanSatが合理的な制御命令を行い、命令通りに機体が動いてゴールへ誘導できた」ことを示す必要があります。

そのために、センサから計測した値が〇〇だった。そのため、□□の制御命令を行った。そして、△△の動作をした結果、センサから〇〇のデータが得られ期待通りに動いた。最終的に□□の制御を行ってゴールに到達し、到達したと判断した。という根拠が求められます。

無線で地上局に制御履歴を送ってもいいですが、通信の場合は情報の欠落があったり、打ち上げ時は通信できなかったりするため、機体内部にデータを記録して、回収するやり方が一般的です。

できたらいいな機能

  • 100kinSATには9軸センサを搭載しているため、姿勢情報を使って誘導することができる
    • GPSと組み合わせることで、より効率的な誘導ができるはず
  • 100kinSATにはカメラを搭載できるため、カメラを使った制御ができる
    • ゴールの検知
    • 轍の検知
    • 飛行機体の撮影
    • 落下時の空撮
  • 位置情報の変化を検知して、轍などにスタックしているかの判定
  • 姿勢を取得して、横転している場合に復帰する処理

ハード面でできること

1. タイヤの改良

100kinSATは、3Dプリンタを使ってタイヤを設計している。

素材の変更や形状の変更をして、走行性能の改良ができる。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment