Skip to content

Setup Guide

Emin Meydanoglu edited this page Dec 10, 2025 · 1 revision

auv-software: ROS Workspace Setup

Welcome! This guide will walk you through setting up the AUV software stack from scratch. Whether you're a new team member or setting up a fresh machine, you'll have everything running in no time.

What You'll Need

Before we start, make sure you have:

Getting Started

Step 1: Create Your Workspace

Create a catkin workspace. Think of this as the home for all our ROS packages.

mkdir -p ~/catkin_ws/src

Step 2: Clone the repository

cd src
git clone git@github.com:itu-auv/auv-software.git

Step 3: Install build tools

We use catkin_tools for building and vcstool for managing our third-party dependencies:

sudo apt install python3-catkin-tools python3-vcstool

Step 4: Initialize the Workspace

cd ~/catkin_ws
catkin init

Step 5: Pull in third-party dependencies

Our project depends on several external packages (sensors, simulators, etc.). We manage these with .repos files:

# Import third-party packages (sensors, drivers, etc.)
vcs import src < src/auv-software/third_party.repos

# Import simulation packages (Gazebo worlds, UUV simulator, etc.)
vcs import src < src/auv-software/sim.repos

This will clone all the necessary repositories into your src folder.

Step 6: Install System Dependencies

ROS packages often need system libraries. Let's install them all at once using rosdep:

# First time only - initialize rosdep
sudo rosdep init
rosdep update

# Install all dependencies for packages in src/
rosdep install --from-paths src --ignore-src -r -y

Building the Workspace

cd ~/catkin_ws
catkin build

This might take a few minutes on the first run. If no errors, you are ready to go.

Using Your Workspace

After building, you need to "source" the workspace to use the packages:

source ~/catkin_ws/devel/setup.bash

Pro tip: Add this line to your ~/.bashrc or ~/.zshrc so it runs automatically in every new terminal:

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.zshrc

Still stuck? Ask the team!

Clone this wiki locally