Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
人工衛星のファームウェアをRustで書く理由
Search
KOBA789
September 10, 2025
Technology
16
9.3k
人工衛星のファームウェアをRustで書く理由
2025/09/10に開催されたイベント「Rustの現場に学ぶ」の発表資料です
https://findy.connpass.com/event/359456/
KOBA789
September 10, 2025
Tweet
Share
More Decks by KOBA789
See All by KOBA789
令和最新版手のひらコンピュータ
koba789
14
8.8k
時の流れが許せない
koba789
0
230
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.5k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.4k
Z80をRustで動かすまで年が越せない
koba789
0
340
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.3k
音をアレする
koba789
0
1k
メガネとBluetooth Low Energyでお喋りする
koba789
0
1.6k
Rustでon-diskなB+Treeを作ったときの細かな話
koba789
11
2k
Other Decks in Technology
See All in Technology
内部品質・フロー効率・コミュニケーションコストを悪化させ現場を苦しめかねない16の組織設計アンチパターン[超簡易版] / 16 Organization Design Anti-Patterns for Software Development
mtx2s
2
200
AI時代におけるドメイン駆動設計 入門 / Introduction to Domain-Driven Design in the AI Era
fendo181
0
670
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
7
1.7k
Proxmox × HCP Terraformで始めるお家プライベートクラウド
lamaglama39
1
190
QAエンジニアがプロダクト専任で チームの中に入ると。。。?/登壇資料(杉森 太樹)
hacobu
PRO
0
190
ソフトウェアエンジニアとデータエンジニアの違い・キャリアチェンジ
mtpooh
1
750
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
10
1.7k
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
42
12k
ubuntu-latest から ubuntu-slim へ移行しよう!コスト削減うれしい~!
asumikam
0
470
メタプログラミングRuby問題集の活用
willnet
2
770
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
1
740
Flutter DevToolsで発見! 本番アプリのパフォーマンス問題と改善の実践
goto_tsl
1
370
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Done Done
chrislema
186
16k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building Applications with DynamoDB
mza
96
6.7k
Optimizing for Happiness
mojombo
379
70k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.5k
Thoughts on Productivity
jonyablonski
73
4.9k
What's in a price? How to price your products and services
michaelherold
246
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Transcript
人 工 衛星のファームウェアを Rustで書く理由 2 0 2 5 - 0
7 - 2 9 Rustの現場に学ぶ 〜Webアプリの裏側からOS、 人工 衛星まで〜 株式会社アークエッジ ・ スペース KOBA 7 8 9
IUUQTEJBSZIBUFOBCMPHKQFOUSZ
もう4年経つ
2 0 2 2 2 0 2 3 2 0
2 5 とある衛星の管制システムの 一 部をRustで書く ファームウェアをRustで書ける OBC(衛星搭載コンピュータ)を開発 2 0 2 4 衛星データのユースケースを探るため 南 米 に 行 く 衛星内でEthernetを使うための 研究開発
前提共有の時間 非 宇宙屋さんに 人工 衛星の話をするとき、これが 一 番 大 変(かつ重要)
None
None
None
うちの6U衛星についての 誤解を解く
誤解1. 信頼性が 大 事なので 神経がすり減る
我々の衛星の信頼性 壊れると 大 変ではあるが • 超 小 型(軽い ・小 さい)
• デスクトップPCくらい • 打ち上げコスト安め(それでも 高 いけど!) • 寿命2〜5年 • 高 度500〜600kmだと 大 気がややあるので減速して落ちてくる • 無 人 • 壊れてもモノが壊れるだけではある(時間とお 金 は無駄になる) • 学んで直して次に 行 きましょう
非 修理系 打ち上げちゃうと 手 が届かない
絶対に壊れないように作る?
絶対に壊れないように作る? No
見 えない ・ 届かないところで 予想外が起こる
「固いこと」 より 「柔らかいこと」
我々に必要な「信頼性」とは 「固いこと」より「柔らかいこと」 • 多少バグってもいいが • ワークアラウンドがないのは困る • エラーは絶対にログる • ありとあらゆるイベントのカウンタを実装(observability…)
• パラメータは変更可能に • 軌道上でソフトウェアアップデート
誤解2. 放射線 大 変なんでしょ?
放射線はそんなに気にしても仕 方 ない ソフトでしなくていいこと ・ できないことが多い • メモリは化ける(真実) • ECCメモリというやつが
訂正してくれる • あとはシステム設計でカバー
誤解3. 姿勢制御とかあるし 物理の知識が必要なんでしょ?
ソフトウェアは姿勢制御だけじゃない ふつうのシステムプログラミングの分量がとても多い • 地上側はふつうのウェブ • 管制システムのバックエンドはほぼ全部Rust • 衛星側もふつうの組込み • NANDフラッシュの
ドライバ書くとか • OSっぽいもの書くとか • 最近はRustの割合が増えてる
意外とふつう
None
None
None
None
Rustを使う理由
Rustを使う理由 rust-lang.orgではこの3つが紹介されている https://www.rust-lang.org/
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
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. 生 産性
※再掲
なぜ「作りやすい」ことが 大 切か 1 . 世界規模の社会課題を解決するためにもっと 高 度な技術が欲しい 2 .
技術の発展には試 行 錯誤の繰り返しが 一 番効くと信じている 3 . 作りやすくなれば試 行 錯誤が速くなり、より速く 高 度な技術が 手 に 入 る 背伸びした渾 身 の 一 撃ではなく、 継続的 ・ 加速度的成 長 のため