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 . 作りやすくなれば試 行 錯誤が速くなり、より速く 高 度な技術が 手 に 入 る 背伸びした渾 身 の 一 撃ではなく、 継続的 ・ 加速度的成 長 のため