Skip to content
/ astra Public

Astra is a mission control framework for KSP to facilitate fully automated missions and operations. Also hoping to learn a bit about control theory in the process.

Notifications You must be signed in to change notification settings

Oogy/astra

Repository files navigation

Table of Contents

  1. Astra
    1. Stage 1 - Prep [6/6]
    2. Stage 2 - Data(and Project Automation) [1/3]
    3. Stage 3 - RL Software integrations [0/2]
    4. Stage 4 - Operations [0/3]
      1. For re-usable missions: [0/1]
      2. Starlink(s) [0/0]
      3. Long running, real time ops [0/0]
    5. Stage 5 - Stream Real Time Ops [0/0]
    6. Backlog/As Needed [0/2]
    7. KSP Mod Requirements
    8. On Hold

Astra

STRT Stage 1 - Prep [6/6]

  • Script or Ansible or etc. Out Packer Script provisioner(getting long and unweildy)
  • Base VM Image(Packer) [14/14]
    • Change KSP version from 1.9.1 to 1.8.1 in SpaceX Pack craft files
    • Add vehicles to Astra game save VAB
    • Figure out how to get a systemd --user instance running on Astra user
    • Systemd user service to start game
      • added systemd service/linger config, but may need to set XDGRUNTIMEDIR var in the systemd task as shown here.
    • Figure something out w/ firewall
      • I think leaving the image as is, and opening the kRPC Ports via a TF provisioner combined w/ the HTTP Datasource(to get ifconfig.me data) will be a good solution
    • Automate mod install [6/6]
      • KK’s SpaceX Pack
      • RO via CKAN
      • Principia
      • Install CKAN.deb
      • kRPC manually from github
      • AutoLoadGame - Allista
    • astra-base.sfs
      • Might need to hop into a graphical run to get the minimal base + mods setup
    • AutoLoadGame.conf
    • settings.cfg
    • krpc-settings.cfg
    • AutoLoadGame - Now supports specifying SFS files
    • POC kRPC - connection over Internet successful, responses receieved
    • Install KSP 1.7.3 1.8.1 from S3
    • File provision packer/files/*
  • Automate game-archiver
  • Choose kRPC client language - C++
  • VLC/Xvfb workflow for graphical debugging and SFS building
  • Debug RO Install, problems w/ Kopernicus?

TODO Stage 2 - Data(and Project Automation) [1/3]

  • Restructure project
    • Split Components into own repos [3/5]
      • Game
      • Image builder
      • Ansible Pull ALL game assets(mods) from s3
        • Canceling splitting out ansible, I think it is fairly tightly coupled with the image anyway, will always want to test both togehter. Am still moving all assets to s3 however.
      • Save ALL game assets locally, in s3, as a release asset in github, and tar’d to google drive
      • Terraform module
  • Update Terraform modules to Vultr v2 Provider
  • Set up client w/ all kRPC Data Stream
    • Pipe into GMAT and OpenMCT ??? - yes

TODO Stage 3 - RL Software integrations [0/2]

TODO Stage 4 - Operations [0/3]

[-] For re-usable missions: [0/1]

  1. Will need something like FMRS implemented via kRPC

[-] Starlink(s) [0/0]

[-] Long running, real time ops [0/0]

TODO Stage 5 - Stream Real Time Ops [0/0]

TODO Backlog/As Needed [0/2]

  • If TCP latency becomes a problem, try implementing a kRPC unix socket comm. protocol
  • Need to implement an automated Xvfb workflow using screenshots to debug Automation
    • There are module load errors in KSP.log, not sure if its preventing AutoLoadGame from doing its thing, or if that is related to the Changelog startup dialog in KSP Main Menu. KSP 1.8.1 Works great
    • Why are we stuck at the Change Log dialog on KSP Start? A bit annoying but appears to be inconsequential for my automation purposes.
      • ksp settings.cfg:
        • SHOWWHATSNEWDIALOG = False
        • Version 1.7.3 was not honoring settings.cfg, lets see if 1.8.1 works Still not honored in 1.8.1 but again, appears inconsequential
  • Split Project into multiple repos [0/3]
    • Terraform [0/2]
      • Modules
      • Plans
    • Packer Base Image
    • Astractl

KSP Mod Requirements

  • AutoLoadGame - by Allista, allows creating a configuration file in your saves dir that will automatically load the specified sfs file upong game start.
  • kRPC - kRPC allows you to control Kerbal Space Program from scripts running outside of the game.
  • Realism Overhaul - Its not certain this will place nice with kRPC, however realistic(ish?) control theory is really the purpose of this project so we will proceed with it until/unless we encounter problems.
  • kOS - kOS might be useful for some simpler tasks where we don’t want the full power of kRPC. Might use, might not. We’ll see.

On Hold

  • Properly version Packer builds
    • dev builds by commit short SHA
    • “Prod” builds by Releae Tag

About

Astra is a mission control framework for KSP to facilitate fully automated missions and operations. Also hoping to learn a bit about control theory in the process.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages