เครื่องจำลองการปฏิบัติงานของ NASA สำหรับดาวเทียมขนาดเล็ก
NASA Operational Simulator for Small Satellites (NOS3) เป็นชุดเครื่องมือที่พัฒนาโดย Katherine Johnson Independent Verification and Validation (IV&V) แห่ง NASA เพื่อช่วยในด้านต่างๆ เช่น การพัฒนาซอฟต์แวร์ การบูรณาการและการทดสอบ (I&T) การปฏิบัติการ/การฝึกอบรมภารกิจ การตรวจสอบ และการตรวจสอบความถูกต้อง (V&V) และการตรวจสอบระบบซอฟต์แวร์ NOS3 มอบสภาพแวดล้อมการพัฒนาซอฟต์แวร์ ระบบการสร้างหลายเป้าหมาย อินเทอร์เฟซผู้ปฏิบัติงาน/สถานีภาคพื้นดิน การจำลองไดนามิกและสภาพแวดล้อม และโมเดลฮาร์ดแวร์ยานอวกาศที่ใช้ซอฟต์แวร์
เอกสารประกอบ
แหล่งเอกสารที่ดีที่สุดสามารถพบได้ที่วิกิหรือ NOS3
ข้อกำหนดเบื้องต้น
แอปพลิเคชันแต่ละรายการด้านล่างจำเป็นก่อนดำเนินการตามขั้นตอนการติดตั้ง:
- ตัวเลือก A คุณใช้ Linux อยู่แล้ว
- คอมไพล์ 2.36+
- ติดตั้ง Linux พร้อมนักเทียบท่าและนักเทียบท่าเขียนแล้ว
- ตัวเลือก B การปรับใช้เครื่องเสมือน (VM)
- คอมไพล์ 2.36+
- คนเร่ร่อน 2.3.4+
- VirtualBox 7.0+
กำลังติดตั้ง
ตัวเลือก B เท่านั้น จะจัดเตรียม VM พร้อมติดตั้งแพ็คเกจที่จำเป็นทั้งหมดเพื่อนำไปใช้ทันที
- โคลนพื้นที่เก็บข้อมูล
git clone https://github.com/nasa/nos3.git
-
cd nos3
- โคลนโมดูลย่อย
git submodule update --init --recursive
- วิ่ง
vagrant up
และรอเพื่อกลับไปที่พรอมต์- การดำเนินการนี้อาจใช้เวลาตั้งแต่ไม่กี่นาทีไปจนถึงชั่วโมง ขึ้นอยู่กับความเร็วอินเทอร์เน็ตและข้อมูลจำเพาะของพีซีโฮสต์ นอกจากนี้ อาจเป็นการฉลาดในขั้นตอนนี้ที่จะปิด VM เมื่อเริ่มทำงาน และจัดสรรทรัพยากรให้มากขึ้นหากเป็นไปได้ โดยควรมีอย่างน้อย 4 คอร์และ 8 RAM GB ควรเป็น 8 คอร์และ RAM 16 GB
- ใน
Devices > Upgrade Guest Additions...
- รอให้การดำเนินการนี้เสร็จสิ้น
- เรียกใช้
vagrant reload
เพื่อสิ้นสุดการอัพเกรด - เข้าสู่ระบบผู้ใช้ jstar โดยใช้รหัสผ่าน
jstar123!
และไปทำงาน! - ลองสร้างและดำเนินการตามคำแนะนำด้านล่าง
เริ่มต้นใช้งาน
ตามค่าเริ่มต้น พื้นที่เก็บข้อมูล nos3 จะถูกแชร์ไปยังเครื่องเสมือนที่ /home/jstar/Desktop/github-nos3
- เปิดเทอร์มินัล
- นำทางไปยังที่เก็บ nos3
-
cd /home/jstar/Desktop/github-nos3
- เตรียมสภาพแวดล้อมด้วย COSMOS และคอนเทนเนอร์นักเทียบท่า
- สร้าง FSW, GSW และ SIMS
- เรียกใช้ NOS3 รวมถึง FSW, GSW และ SIMS
- หยุด NOS3
-
make stop
- โปรดทราบว่า COSMOS จะยังคงทำงานอยู่ในพื้นหลังจนกว่า
make stop-gsw
จะเสร็จสิ้น
เค้าโครงไดเร็กทอรี
-
components
ประกอบด้วยที่เก็บสำหรับแอปส่วนประกอบฮาร์ดแวร์- /fsw - แอปพลิเคชัน cFS
- /gsw - ฐานข้อมูล COSMOS OpenC3 (หรือ Ball Aerospace)
- /sim - โปรแกรมจำลอง NOS3
- /support - โฟลเดอร์เสริมที่มีแอปพลิเคชันชำระเงินแบบสแตนด์อโลน
-
fsw
มีที่เก็บที่จำเป็นในการสร้าง cFS FSW- /apps - แอป cFS แบบโอเพ่นซอร์ส
- /cfe - ไฟล์ต้นฉบับของระบบการบินหลัก (cFS)
- /nos3_defs - คำจำกัดความของ cFS เพื่อกำหนดค่า cFS สำหรับ NOS3
- /osal - เลเยอร์นามธรรมของระบบปฏิบัติการ (OSAL) ช่วยให้สามารถสร้าง Linux และ flight OS ได้
- /psp - แพ็คเกจสนับสนุนแพลตฟอร์ม (PSP) ช่วยให้สามารถใช้งานได้กับบอร์ดหลายประเภท
- /tools - เครื่องมือมาตรฐานที่ cFS จัดเตรียมไว้ให้
-
gsw
มีไฟล์สถานีภาคพื้นดิน nos3 และเครื่องมือภาคพื้นดินอื่นๆ- /cosmos - ไฟล์ COSMOS ของ OpenC3 (หรือ Ball Aerospace)
- /OrbitInviewPowerPrediction - เครื่องมือ OIPP สำหรับผู้ปฏิบัติงาน
- /scripts - สคริปต์อำนวยความสะดวก
-
sims
มีเครื่องจำลอง nos3 และไฟล์การกำหนดค่า- /cfg - ไฟล์การกำหนดค่า 42 ไฟล์และไฟล์การกำหนดค่าระดับบนสุด NOS3
- /nos_time_driver - การซิงโครไนซ์เวลาสำหรับส่วนประกอบทั้งหมด
- /sim_common - ไฟล์ทั่วไปที่ใช้โดยตัวจำลองส่วนประกอบ รวมถึงไฟล์ที่กำหนดสถาปัตยกรรมปลั๊กอินตัวจำลอง
- /sim_terminal - เทอร์มินัลสำหรับทดสอบบัส NOS Engine
- /truth_42_sim - อินเทอร์เฟซระหว่าง 42 และ OpenC3 COSMOS เพื่อให้ข้อมูลความจริงแบบไดนามิก
การกำหนดเวอร์ชัน
เราใช้ SemVer สำหรับการกำหนดเวอร์ชัน สำหรับเวอร์ชันที่มี โปรดดูแท็กบนที่เก็บนี้
ใบอนุญาต
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต NOSA (NASA Open Source Agreement)
ปัญหาและคุณลักษณะ
กรุณารายงานปัญหาและขอคุณสมบัติในระบบติดตาม GitHub - ปัญหา NOS3
ผลงาน
หากคุณต้องการมีส่วนร่วมในพื้นที่เก็บข้อมูล โปรดกรอกแบบฟอร์ม NASA นี้และส่งไปที่ [email protected] พร้อมด้วย [email protected] CC'ed ถัดไป โปรดสร้างปัญหาที่อธิบายงานที่จะดำเนินการโดยระบุว่าคุณตั้งใจจะทำงาน สร้างสาขาที่เกี่ยวข้อง และส่งคำขอดึงเมื่อพร้อม เมื่อเสร็จสมบูรณ์ เราจะตรวจสอบและดำเนินการเพื่อบูรณาการ
สนับสนุน
หากโครงการนี้สนใจคุณหรือมีคำถามใด ๆ โปรดติดต่อนักพัฒนาโดยตรงหรือส่งอีเมลไป [email protected]