This repository contains the ROS1 (Noetic) workspace for Cepheus, the laboratoryβs planar micro-gravity space-robot emulator used for research in On-Orbit Servicing (OOS), free-floating manipulation, and advanced control strategies.
Cepheus is a 2-DoF free-floating robotic platform operating on air bearings to emulate spacecraft motion with near-frictionless dynamics in a 2D plane. This setup enables realistic experimental validation of algorithms for:
- autonomous capture and servicing of orbital targets
- cooperative manipulation between free-flying robots
- impact-minimizing rendezvous and docking interactions
- free-floating manipulators with angular momentum coupling
- reactionless actuation mechanisms
- debris-capture and OOS operations
Key system characteristics:
- Lightweight mechanical design for accurate inertial behavior
- Compact transmission mechanisms
- Full onboard autonomy (propulsion, computing, powern)
- High-fidelity sensing (Vicon MoCap, Xsens IMU)
The system currently consists of an active planar robot capable of controlled free-floating motion and onboard decision-making and a passive planar robot used as a target.
Based on the live GitHub structure:
space_cepheus_ws/
βββ CMakeLists.txt # Top-level catkin workspace CMake file
βββ README.md # This document
βββ docker/ # Dockerfile, compose, Docker_README.md, Makefile
βββ docs/ # Documentation (system, architecture, etc.)
βββ model/ # URDFs and robot models
βββ src/ # ROS packages (legacy + refactored)
β βββ cepheus_robot/
β βββ cepheus_robot_new/
β βββ exp_* (experiment packages)
β βββ vicon_bridge/
β βββ external drivers
βββ tools/ # Plotting, sync scripts, terminator layouts
βββ .gitignore
No devel/ or build/ directories appear in the repoβthey're generated locally by catkin_make and ignored by Git.
A mix of legacy and refactored packages currently coexist during the transition.
Categories include:
-
cepheus_robot/ β robot models, hardware drivers, interfastructure nodes
-
experiment packages (exp_*)/ β joint-space and Cartesian-space experiments
-
vicon_bridge/ β motion capture interface
-
external drivers β Xsens IMU, auxiliary sensors
A complete package reference will be added once the architecture stabilizes.
- plotting/ β ROS bag β
.matconverters and plotting scripts - setup/ β ROS environment scripts (
ros_env.sh, robot env setup) - sync/ β automated experiment/bag synchronization utilities
- terminator_setup/ β preconfigured multi-pane terminal layouts
A reproducible ROS1 development environment is provided under docker/ using Docker Compose + a Makefile wrapper.
cp .env.example .envEdit .env to match your network:
ROS_MASTER_URI=http://<MASTER_IP>:11311
ROS_IP=<YOUR_IP>
UID=1000
GID=1000
make up # Build + start + enter container
make upfast # Start without rebuild
make shell # Enter running container
make down # Stop/remove containerThe workspace is mounted inside the container at:
/home/pilot/space_cepheus_ws
For GUI tools (RViz, rqt, PlotJuggler):
xhost +local:dockerThis workspace uses catkin_make:
cd space_cepheus_ws
catkin_make
source devel/setup.bashThis repository is designed for:
- Masterβs students working on estimation, control, and robotics
- Researchers validating OOS-related algorithms on a free-floating robot
- Developers extending the Cepheus software stack
Documentation is written to be technically precise while remaining accessible to those with basic ROS1 and robotics experience.