Skip to content

ntua-cslep/space_cepheus_ws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Cepheus ROS1 Workspace

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.


πŸ›°οΈ About the Cepheus Planar Space Emulator

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.

🧭 Repository Structure

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.


πŸ“¦ ROS Packages (src/)

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.


πŸ› οΈ Tools (tools/)

  • plotting/ β€” ROS bag β†’ .mat converters 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

πŸ‹ Docker Environment

A reproducible ROS1 development environment is provided under docker/ using Docker Compose + a Makefile wrapper.

1. Prepare configuration

cp .env.example .env

Edit .env to match your network:

ROS_MASTER_URI=http://<MASTER_IP>:11311
ROS_IP=<YOUR_IP>
UID=1000
GID=1000

2. Run the environment

make up        # Build + start + enter container
make upfast    # Start without rebuild
make shell     # Enter running container
make down      # Stop/remove container

The workspace is mounted inside the container at:

/home/pilot/space_cepheus_ws

For GUI tools (RViz, rqt, PlotJuggler):

xhost +local:docker

πŸ”§ Building (catkin_make)

This workspace uses catkin_make:

cd space_cepheus_ws
catkin_make
source devel/setup.bash

πŸŽ“ Audience

This 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.