人工衛星のファームウェアをRustで書く理由
by
KOBA789
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
人 工 衛星のファームウェアを Rustで書く理由 2 0 2 5 - 0 7 - 2 9 Rustの現場に学ぶ 〜Webアプリの裏側からOS、 人工 衛星まで〜 株式会社アークエッジ ・ スペース KOBA 7 8 9
Slide 2
Slide 2 text
IUUQTEJBSZIBUFOBCMPHKQFOUSZ
Slide 3
Slide 3 text
もう4年経つ
Slide 4
Slide 4 text
2 0 2 2 2 0 2 3 2 0 2 5 とある衛星の管制システムの 一 部をRustで書く ファームウェアをRustで書ける OBC(衛星搭載コンピュータ)を開発 2 0 2 4 衛星データのユースケースを探るため 南 米 に 行 く 衛星内でEthernetを使うための 研究開発
Slide 5
Slide 5 text
前提共有の時間 非 宇宙屋さんに 人工 衛星の話をするとき、これが 一 番 大 変(かつ重要)
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
うちの6U衛星についての 誤解を解く
Slide 10
Slide 10 text
誤解1. 信頼性が 大 事なので 神経がすり減る
Slide 11
Slide 11 text
我々の衛星の信頼性 壊れると 大 変ではあるが • 超 小 型(軽い ・小 さい) • デスクトップPCくらい • 打ち上げコスト安め(それでも 高 いけど!) • 寿命2〜5年 • 高 度500〜600kmだと 大 気がややあるので減速して落ちてくる • 無 人 • 壊れてもモノが壊れるだけではある(時間とお 金 は無駄になる) • 学んで直して次に 行 きましょう
Slide 12
Slide 12 text
非 修理系 打ち上げちゃうと 手 が届かない
Slide 13
Slide 13 text
絶対に壊れないように作る?
Slide 14
Slide 14 text
絶対に壊れないように作る? No
Slide 15
Slide 15 text
見 えない ・ 届かないところで 予想外が起こる
Slide 16
Slide 16 text
「固いこと」 より 「柔らかいこと」
Slide 17
Slide 17 text
我々に必要な「信頼性」とは 「固いこと」より「柔らかいこと」 • 多少バグってもいいが • ワークアラウンドがないのは困る • エラーは絶対にログる • ありとあらゆるイベントのカウンタを実装(observability…) • パラメータは変更可能に • 軌道上でソフトウェアアップデート
Slide 18
Slide 18 text
誤解2. 放射線 大 変なんでしょ?
Slide 19
Slide 19 text
放射線はそんなに気にしても仕 方 ない ソフトでしなくていいこと ・ できないことが多い • メモリは化ける(真実) • ECCメモリというやつが 訂正してくれる • あとはシステム設計でカバー
Slide 20
Slide 20 text
誤解3. 姿勢制御とかあるし 物理の知識が必要なんでしょ?
Slide 21
Slide 21 text
ソフトウェアは姿勢制御だけじゃない ふつうのシステムプログラミングの分量がとても多い • 地上側はふつうのウェブ • 管制システムのバックエンドはほぼ全部Rust • 衛星側もふつうの組込み • NANDフラッシュの ドライバ書くとか • OSっぽいもの書くとか • 最近はRustの割合が増えてる
Slide 22
Slide 22 text
意外とふつう
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
Rustを使う理由
Slide 28
Slide 28 text
Rustを使う理由 rust-lang.orgではこの3つが紹介されている https://www.rust-lang.org/
Slide 29
Slide 29 text
Rustを使う理由 Xで予想を聞いてみた https://x.com/KOBA 7 8 9 /status/ 1 9 3 9 8 7 3 8 3 7 7 8 2 6 3 0 5 6 0
Slide 30
Slide 30 text
Rustを使う理由 Xで予想を聞いてみた https://x.com/KOBA 7 8 9 /status/ 1 9 3 9 8 7 3 8 3 7 7 8 2 6 3 0 5 6 0 A. 生 産性
Slide 31
Slide 31 text
※再掲
Slide 32
Slide 32 text
なぜ「作りやすい」ことが 大 切か 1 . 世界規模の社会課題を解決するためにもっと 高 度な技術が欲しい 2 . 技術の発展には試 行 錯誤の繰り返しが 一 番効くと信じている 3 . 作りやすくなれば試 行 錯誤が速くなり、より速く 高 度な技術が 手 に 入 る 背伸びした渾 身 の 一 撃ではなく、 継続的 ・ 加速度的成 長 のため