spacex-iss-docking-sim-autopilot
spacex-iss-docking-sim-autopilot copied to clipboard
Fully automated SpaceX ISS Dragon docking simulator system.
:toc:
= ISS Sim Automatic Docking System
image:https://github.com/DaniruKun/spacex-iss-docking-sim-autopilot/workflows/Clojure%20CI/badge.svg?branch=master["Github CI", link="https://github.com/DaniruKun/spacex-iss-docking-sim-autopilot"]
Video demo:
https://www.youtube.com/watch?v=YNYwYZznuMs
This app performs fully automatic docking of the Crew Dragon in the link:https://iss-sim.spacex.com[SpaceX ISS docking simulator].
Want to read more about it? Check the article on link:https://medium.com/@thedanpetrov/creating-a-spacex-crew-dragon-simulator-autopilot-in-clojure-1ac095d9209b[Medium].
== Running
You can grab a release from link:https://github.com/DaniruKun/spacex-iss-docking-sim-autopilot/releases[Releases], or check the build section. You will need Java installed to run the .jar
You can run the built uberjar with
java -jar iss-sim-auto-docking-standalone.jar
Or you can just double click the .jar
You can also run the project with Leiningen:
lein run
== Installation
=== Chrome
Make sure you have the LATEST Chrome version.
=== Webdriver
Make sure you have the latest WebDriver (or one compatible with your Chrome version).
You can install the latest version on macOS with
brew install chromedriver
=== Java 8
Make sure you have at least Java 8 installed on your machine, and that it is the active version.
=== Leiningen
This project uses Leiningen.
== Build
You can build an uberjar with
lein uberjar
== Quick guide
=== Namespaces
link:src/iss_sim_auto_docking/core.clj[core]
Simulator setup and initializations happen, together with main control flow.
link:src/iss_sim_auto_docking/dragon.clj[dragon]
Control logic and drivers related to Dragon are implemented.
link:src/iss_sim_auto_docking/telemetry.clj[telemetry]
Functions related to fetching telemetry and updating telemetry data.
link:src/iss_sim_auto_docking/calc.clj[calc]
Helper calculations.
== Support
image::https://www.ko-fi.com/img/githubbutton_sm.svg["Ko-Fi", link="https://ko-fi.com/I3I61NHVO"]
Or you can just check out my website: link:https://danpetrov.xyz[]
== Bugs
The very final approach speed control is a bit WIP, other than that everything else is fully automatic.
== Contributing
Play around with it! Try setting different parameters in the source files. See how it impacts the performance of the autopilot.
== License
Copyright © 2020 Daniils Petrovs
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.