Skip to content
M1chaelM edited this page Aug 23, 2020 · 19 revisions

The dave repository includes scripts for creating a Docker container that can be used to develop and run the dave simulation software. In this setup, the required functionality is divided between the host and the Docker container as follows:

  • All required software dependencies are installed in the container.
  • The simulation is run from inside the container.
  • Source repositories live on the host and are mounted into the container.
  • Source can be edited and version control can be managed from either the container or the host.

This approach has the advantage of providing a clean, isolated, portable and consistent runtime environment for running and testing the simulation, while remaining compatible with most choices of development tools.

Host setup

  1. First, make sure your system meets the hardware and software requirements.
    • Note: You will need to follow the optional instructions to install Docker and nvidia-container-toolkit.
  2. Create your uuv_ws workspace:
    mkdir -p ~/uuv_ws/src
  3. Clone repositories Follow instructions here to clone the source code repositories you will work with.
    • At minimum, you will need all the repositories under Field-Robotics-Lab.
    • Repositories should be cloned into: ~/uuv_ws/src
    • The Docker container will mount this source directory.

Build docker container

Run the build.bash script that is located in the dave repository:

cd ~/uuv_ws/src/dave/docker/
./build.bash .

The first time this script is run it will take a while to build the image.

Run the container

cd ~/uuv_ws/src/dave/docker/
./run.bash -n uuvsim_nvidia

Add a few more terminals

cd ~/uuv_ws/src/DAVE/docker/uuvsim
./join.bash uuvsim_nvidia

Catkin build within the docker container

cd ~/uuv_ws
catkin_make
source devel/setup.bash

Run a test

E.g.,

roslaunch uuv_dave uuv_dave.launch
Clone this wiki locally