Space Cubics のソフトウェアエンジニアのポジションに応募して頂いた方に 受けてもらうテストです。受験者の経験に合わせ、 3つの中から得意なものを やってもらったり、Space Cubicsから実施してもらうテストを指定します。
ネットや本など、利用できるものはすべて利用してかまいません。もちろん AI を利用しても問題ありません。ただし利用したものは教えてください。
Space Cubics が開発するOBCには、Zephyr RTOS を採用しています。Zephyr は、GitHubでオープンに開発されており、日々 issue が発行されています。 現在 open になっている Zephyr の issue のうち、任意の複数の issueを 選択し、修正案を作成後、実際に Upstream に宛てて Pull Requestを作成 してください。 Issue の中には、 “Good first issue” と呼ばれる、初め てコントリビュートする人に優しい issue もあります。
- GitHubアカウントを保持していない場合は、新規に作成してください
- 選択する issue については、Cのソースコードを修正するものを選択して ください(CMakeや、 Python スクリプト、ドキュメントなどの修正は除く)
- Git のコミットに関しては、How to Write a Git Commit Message や Git commit best practices などを一読することをお勧めします
decode/ds_tlm.bin
は、NASAが開発する cFS と呼ばれるオープンソース
のフライトソフトウェアが生成した Telemetry (100 telemetry分) のバイナリーファイルです。
以下の情報をもとに、Telemetryのフォーマットを調査して、バイナリーファ
イルをデコードして、全てのテレメトリの各パラメータ値を出力するツールを作成し
てください。出力方法や表示の仕方、粒度などは自由に決めて問題ありません。
また指定されない限り任意の言語を使っていただいて構いません。
decode/ds_tlm.bin
は、DS applicationの House Keeping telemetry の dump です- House Keeping (HK) telemetry の パラメータ (Headerを除く) は、Big endian とします
- HK telemetry 内で定義されている OS_MAX_PATH_LEN は 32 とします
- Headerで定義されている
CFE_MISSION_SB_PACKET_TIME_FORMAT
はCFE_MISSION_SB_TIME_32_16_SUBS
とします - Headerで定義されている Timeの起点時間 (Epoch)は J2000.0 (
2000-01-01 11:58:55.816 UTC
) とします - DS application の version は 2.5.1、cFE の version は 6.5.0 とします
- 実行環境が Little / Big endianどちらでも動作することを想定してくだ さい。ただし実際に Big Endian の環境で動作させる必要はありません
- ツールの使い方、動作環境の簡単な説明と、実行結果も添付してください
hexapod/
ディレクトリに含まれる資料は、SSO 500 Km を周回する衛星と
通信するための S-Bandアンテナを搭載する Hexapod アンテナ台の試作に関
するものです。このアンテナ台を含む衛星トラッキングシステムの仕様書を、
自分なりに作成してください。
衛星トラッキングシステムは、Acquisition of Signal から Loss of Signal までの 1パスの間、指定された衛星と通信をする必要があります。 パスの計算などは、 Gpredict とういうオープンソースソフトウェアを想定 していますが、他のソフトウェアを利用しても構いません。
仕様として必須なのは、以下の 3点です。
- Hexapod であること
- LEO を周回する衛星との通信およびトラッキングできること
- S-Band を使用すること
これ以外の仕様は、自由に決定してもらって構いません。提供している資料 は、参考資料であり、不完全かつ不明な点を多く含んでいます。自分で決定 できない部分については、いつでも質問してください。
また全体のシステム構成の検討が難しい場合、必要となるコンポーネントに 特化した設計検討でも構いません。
以下は、参考情報です。
- Hexapod とは↓こういうものです。
- Hexapod の足の部分のアクチュエーターとモータードライバーは、以下を想定しています
- Linear Actuator: RS PRO 1774521 Electric Linear Actuator
- Motor Driver: 10Amp 5V-30V DC Motor Driver
- ROSでは、PI製の Hexapod がサポートされています
- 衛星のトランシーバーは、 Satlab の SRS-3 を想定しています