-
Notifications
You must be signed in to change notification settings - Fork 70
dave with Docker
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.
- 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.
- Create your
uuv_ws
workspace:mkdir -p ~/uuv_ws/src
- 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 and the listed UUV Simulator repositories.
- Repositories should be cloned into:
~/uuv_ws/src
- The Docker container will mount this source directory.
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.
cd ~/uuv_ws/src/dave/docker/
./run.bash dave_nvidia
If the container runs successfully, you should see some configuration messages before being dropped into a prompt as user developer
. E.g.
developer@b4929dceab85:~$
To open additional terminals with this prompt, open a new terminal on the host and run the join.bash
script in the docker directory:
cd ~/uuv_ws/src/dave/docker/
./join.bash dave_nvidia
From one of the developer
prompts in the container, run the following:
cd ~/uuv_ws
catkin_make
source devel/setup.bash
E.g.,
roslaunch uuv_dave uuv_dave.launch
Note that this launch file currently requires a controller to be connected (see issue #36).