# 衛星開発ゼミ シラバス ## 概要 このゼミでは,人工衛星をモデルにしたシステムのソフトウェアをチームで開発します.人工衛星には多様なサブシステムがあり,その一部を模擬したシステムを扱います.具体的には,サンセンサを模擬したフォトダイオードとジャイロセンサで姿勢を推定,一軸のリアクションホイールで姿勢を制御し,対象の物体をカメラで撮影するミッションを行い,そのデータを無線通信でダウンリンクするというものです.人工衛星のような複雑なシステムをチームで開発するにあたり,各領域の根本的な原理を理解し,具体的な開発手法の型を学び体験することで,あらゆる工程において根拠を持つスキルを身に着けます.最後に開発全体を振り返り反省としてまとめ,キャンプの最後に発表し合います. ## ゼミの意義・目的 現在の宇宙産業は,市場拡大と激しい国際競争のもと,かつてない開発スピードとビジネスとしての成立性が同時に求められています.一方で,衛星は多岐にわたる要素が絡み合う複雑なシステムであり,宇宙環境の完全な試験や再現には限界があります.速度と品質の両立が迫られる中,一つの曖昧な判断がシステム全体の破綻を招くリスクと常に隣り合わせにあります. 近年,多数の実証機会を活用した反復的な開発が主流となる中,現場では設計意図や運用判断の背景といったコンテキストの共有が追いつかないまま,軌道上実績が蓄積されるケースが増えています.急激な産業拡大に伴う人材流動化により,オールドスペースが長年培ってきた貴重な経験知の継承が難しくなっているほか,当時の前提を十分に理解しないまま過去の規格を適用してしまうことで,本質的な意思決定が見失われるリスクも高まっています.さらに開発を加速させるAIの導入も,適切に活用できなければ判断の根拠を一層ブラックボックス化させる要因になり得ます. 本ゼミの目的は,こうした課題を乗り越え,次世代の産業基盤となる「根拠を持ったエンジニアリング」を行える人材を育成することです.未知の領域に立ち向かい,根拠をもった意思決定を繰り返してプロジェクトを前に進めることができる,本質的なエンジニアリング能力の獲得を目指します. ## 到達目標 - エンジニアリングにおいて根拠を持つ姿勢があること - 扱う対象のシステムの原理に適した判断ができること - 設計や実装だけでなくマネジメントにおいても根拠を持てること - 仮説検証により自身の根拠の正当性を判断し,設計や計画を更新できること - 未知の領域について,必要な知識を収集し,判断の解空間を把握できること - 把握した解空間の中でトレードオフを認識し,状況に応じた判断ができること - チーム開発において適切な人間関係を構築できること - 情報伝達としてのコミュニケーションを円滑に行えること ## 修了要件 - 成果報告会でのスライド発表(「到達目標」を身につけたことが伝わる内容) - チームごとのソースコード・設計に関するドキュメント - 各開発フェーズにおけるマネジメントについての資料 - 午前1回,午後2回程度の進捗報告 ## 対象者 ### 対象者像 - 将来,宇宙産業・企業などでエンジニアとして働きたい学生 - または他領域への進路を希望しつつ,エンジニアの働き方を知っておきたい学生 ### 前提スキル - 手を動かしものを作ることが好きであり,それを支える知的好奇心と粘り強さがあること - 規模や難易度を問わず1つ以上ものづくりを経験したことがあり,かつ何かしら課題感を抱えていること - ものづくりで自分が考えた部分やこだわった部分を他者に伝えられる言語化能力があること - C言語またはPythonの基礎的な読み書きができ,授業以外の趣味等で何かしらコードを書いたことがあること - 高校物理程度の電気回路の知識があること ### 持参PC ノートPCを持参していただきます.VS Codeベースのエディタを推奨(Raspberry Pi Pico用の拡張機能のため).OSはWindows・Linux・macOSどれでも問題ありません. ## 使用教材 **ハードウェア**: オリジナル模擬衛星,PC(参加者持参) **ソフトウェア**: 任意のコーディングエージェント(Claude Code等のCLIツール,Antigravity等のIDEどちらでも),VS Codeベースのエディタ推奨 **書籍・資料**: - オリジナル資料 - 米田聡「C言語を使った高精度な組み込みシステム ラズパイPicoベアメタル開発完全ガイド」日経BP,2025年 ## 主催者メッセージ 今回のゼミのテーマは,「根拠を持ったエンジニアリング」です. ものづくりにおいて「なぜか動いた」「なんとなく選んだ」という状態から脱し,一つ一つの選択に確かな根拠を持つのは容易ではありません.根拠を持って考える第一歩は,対象システムの原理を本質的に理解することです.本ゼミではまず,組み込みシステムの原理と基本的な考え方を学びます. しかし,開発前に必要な知識を全て揃えることは不可能です.新たな挑戦には,未知のエラーや不確実性が必ず伴います.ここでエンジニアに求められるのは,単なる事前知識の蓄積ではなく,開発を進めながら「未知の事象を見つけ,確かめ,理解していく手法」を身につけることです. とはいえ,全てをゼロから構築し,隅々まで完璧に理解する必要はありません.マネジメント・設計・実装における先人たちの「型」を状況に応じて適用し,改善していくアプローチが有効です.さらに,判断に必要な深さを見極め,「特定の領域はブラックボックスとして信頼し,それ以上深く立ち入らない」と割り切ることも,合理的で立派な根拠の一つです. 自身の成果物に責任を持ち,根拠を組み立てる力は,一方的な座学では決して身につきません.本ゼミでは,根拠を持つ姿勢と具体的な手法を学んだ後,実際に手を動かしていただきます.現場で本当に活きる「根拠を持って考え,判断するスキル」を共に獲得しましょう. ## スケジュール ### 事前学習(7週間・オンライン) | 週 | テーマ | 宿題 | |----|--------|------| | Week 1 | オリエンテーション | Pico SDKの環境構築 / gitの環境構築 | | Week 2 | マイコンの基礎・Lチカ解説,データシート・リファレンスの読み方 | ペリフェラルの調査・理解 / デバッグツールの調査 | | Week 3 | 調査課題発表,センサのサンプルプログラムの解説 | サンプルプログラムの作成方法の検討 | | Week 4 | 課題レビュー・テスト / シミュレーション・調査課題発表・チーム分け発表 | チームごとに顔合わせ | | Week 5 | ミッション / ハードウェアの解説・マネジメントの方針 | チームごとに開発計画の立案 | | Week 6 | 開発計画のレビュー | 開発開始 | | Week 7 | 計画・開発状況に対するチームごとのレビュー | 開発継続 | ### 合宿スケジュール(4泊5日) | 日程 | 内容 | |------|------| | Day 1 | 開発1日目 | | Day 2 | 開発2日目 | | Day 3 | 開発3日目 | | Day 4 | 製作した模擬衛星の運用,反省会・成果発表スライド作成 | | Day 5 | 成果発表会,企業・投資家とのネットワーキング |