This is autonomous flight software created to control the Crew Dragon spacecraft in ISS Docking Simulator by SpaceX. Watch this video to see how the complete system behaves.
Two levels of feedback loops have been introduced. Trajectory planning module generates path position, velocity and acceleration at any given point in time. State estimation module outputs current position and velocity. These information are first used to calculate target path tracking velocity (using proportional-derivative controller) and then target acceleration (using proportional control). The same process is conducted in parallel for all 6 degrees of freedom and then the requested accelerations are converted to actuation after correcting for spacecraft orientation and scaling coefficients.
After each attempt, planned trajectory along with actual path of the vehicle are plotted in one figure. It can be use for debugging or for parameter tuning purposes.
mkdir -p catkin_ws/src
git -C catkin_ws/src clone https://github.com/Goldob/iss_docking_automation
cd catkin_ws
rosdep install --from-paths src
catkin_make
source devel/setup.bash
roslaunch iss_docking_automation docking_procedure.launch