Installation
Dependencies
Cubs2 requires the following dependencies:
ROS 2: Jazzy or later
Python: 3.12 or later
Python Packages:
NumPy
CasADi
Cyecca (dynamics library)
SciPy
Matplotlib (for visualization)
System Libraries:
Qt5
GStreamer 1.0 (for video streaming)
ROS 2 Installation
Follow the official ROS 2 Jazzy installation guide:
https://docs.ros.org/en/jazzy/Installation.html
For Ubuntu:
# Set up sources
sudo apt update && sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
# Install ROS 2 Jazzy
sudo apt update
sudo apt install ros-jazzy-desktop
Python Dependencies
Install Python dependencies using pip:
pip install numpy casadi scipy matplotlib
Install Cyecca (CognPilot dynamics library):
pip install git+https://github.com/cognipilot/cyecca.git
System Libraries
Install Qt5 and GStreamer:
sudo apt install qtbase5-dev libgstreamer1.0-dev
Building Cubs2
Clone the repository and build with colcon:
# Create workspace
mkdir -p ~/cubs2_ws/src
cd ~/cubs2_ws/src
# Clone repository
git clone https://github.com/cognipilot/cubs2.git
# Build workspace
cd ~/cubs2_ws
colcon build --symlink-install
# Source workspace
source install/setup.bash
Verifying Installation
Run the test suite to verify installation:
colcon test --packages-select cubs2_dynamics cubs2_control cubs2_planning
colcon test-result --verbose
You should see all tests passing.