Skip to content

About

Unified ROS 2 workspace meta-repository for Crazyflie 2.X control and tracking via OptiTrack motion capture.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

crazyflie-optitrack

Official meta-repository for the covenant-tec architecture, providing a unified ROS 2 workspace for controlling Crazyflie 2.X quadcopters using OptiTrack motion capture systems.

This workspace aggregates the distributed repositories comprising Kevin Martinez's doctoral research project into a single environment.

Components

This workspace integrates the following core repositories:

  • crazybridge: Core ROS 2 bridge for Crazyflie communication.
  • crazybridge_interfaces: Custom ROS 2 message definitions.
  • optitrack_client: Motion capture data streaming client.
  • crazyflie-firmware: Custom modified firmware for open-loop thrust and OptiTrack integration.

Installation

Ensure the ROS 2 vcstool package is installed on your system.

sudo apt install python3-vcstool

Clone this meta-repository to your local machine.

git clone https://github.com/covenant-tec/crazyflie-optitrack.git
cd crazyflie-optitrack

Import the components into the workspace.

mkdir -p src firmware
vcs import . < crazyflie-optitrack.repos

Build & Workspace Structure

To prevent dependency conflicts, ensure the ROS 2 distribution and the Python virtual environment are sourced before compiling the workspace.

The colcon build command must be executed from within the src directory for this architecture. Following compilation, the install and build directories will reside inside src.

# 1. Source ROS 2
source /opt/ros/jazzy/setup.bash

# 2. Activate the virtual environment
source .venv/bin/activate

# 3. Navigate to the source directory and build
cd src
colcon build --symlink-install

Scripts

Use this script to quickly initialize your terminal session after the workspace has been successfully compiled. It automates the environment setup by sourcing the installed ROS 2 distribution (prioritizing Jazzy), the compiled local workspace (src/install/setup.bash), and a Python virtual environment (if found in the directory hierarchy or provided as an argument).

# Source automatically
source source_all.sh

# Source with explicit virtual environment
source source_all.sh /path/to/.venv

Updating the Workspace

To pull the latest changes across all repositories:

vcs pull src

Credits

The core architecture, firmware, and packages were developed by Kevin Martinez.

Meta-repository created by Alejandro Mojarras.

About

Unified ROS 2 workspace meta-repository for Crazyflie 2.X control and tracking via OptiTrack motion capture.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages