Installation - Drydock
These step-by-step instructions are intended to be complete and unambiguous so that a user can set up a repeatable development envirnment locally.
Overall the approach is as follows:
Docker OS: Uses the drydock project,
maritimecontainer to create a portable base envionment with Ubuntu, Gazebo, ROS and many build an run-time utilities.ROS workspace install: Install the repositories of this project all in a single workspace:
maritime_ws.
This source install puts things in specific places, sometimes for specific reasons (all in a workspace) and sometimes just because we have to have a detailed example to make the environment and naming consistent to aid in debugging.
On Host: Setup workspace, clone drydock source, and build image
Setup directories in a new workspace:
mkdir -p ~/maritime_ws/src
mkdir -p ~/maritime_ws/tools
mkdir -p ~/maritime_ws/thirdparty
touch ~/maritime_ws/tools/COLCON_IGNORE
touch ~/maritime_ws/thirdparty/COLCON_IGNORE
Clone drydock into the tools directory
cd ~/maritime_ws/tools
git clone https://github.com/HonuRobotics/drydock.git
Build the maritime image
cd ~/maritime_ws/tools/drydock
./drydock build maritime
On Host: Clone source for this project
cd ~/maritime_ws/src
git clone https://github.com/HonuRobotics/gz-maritime.git
git clone https://github.com/HonuRobotics/ehukai.git
git clone https://github.com/HonuRobotics/bluerobotics_models.git
git clone https://github.com/HonuRobotics/holybro_models.git
On Host: Start bash session within drydock maritime container
cd ~/maritime_ws/tools/drydock
./drydock run maritime
In Container: Build the project
cd ~/maritime_ws
colcon build --merge-install
source install/setup.bash
The build should finish cleanly. There may be cmake deprecation warnings that can (usually?) be ignored.
Next step is to run a simulation.