Docker-based project workspace setup for the Human Robot Interaction (HRI) Command and Control Teammate Interface (CACTI) project.
Main Project Repository: hri_cacti_xr
- 1. Setup Docker Container
- 2. Install Project Packages
- 3. Run Packages and Contribute
- 4. Custom Shell Commands
Note: This docker installation is the recommended way to run and contribute to this project. The installation instructions below will setup a Docker container on your machine mounted to the local
HRI-Cacti/project/
directory from this repo on your local machine after cloning this repo. The/project/
directory in the Docker container after setup will be mounted (synced) to theHRI-Cacti/project/
directory on your local machine. The intended work flow is to develop in the localHRI-Cacti/project/
directory on your local machine and then build and run the packages located in/project/
from a Docker container shell.
-
Install prerequisites
NVIDIA Container Toolkit
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.14.5/install-guide.html
-
Clone repo & setup environment variables
git clone -b devel [email protected]:frank-Regal/HRI-Cacti.git && \ cd HRI-Cacti && \ chmod +x setup.sh && \ ./setup.sh
-
Source environment
source Docker/bash_utils && source ~/.bashrc
-
Clone base repos
vcs import < .repos
-
Build Docker Image
Note:
HRI-Cacti/setup.sh
script should have sourced theHRI-Cacti/Docker/bash-utils
file to run the following shell cmds. If they were not correctly setup, seeHRI-Cacti/Docker/bash-utils
for a list of the cmds to run.cacti-build
-
Start Container
cacti-start
β¦ hri_cacti_xr (main project repository)
Note: Follow the steps below only if you setup the docker environment in 1. Setup Docker Container. For non-docker, local machine, setup, see this project repo for local install instructions.
- Clone hri_cacti_xr submodules.
cd project/ws_dev/src/hri_cacti_xr/
vcs import < .repos
- Start Docker Container
cacti-start
- Open Docker shell
cacti-shell
π From Docker Shell
Build custom python package and catkin workspacecd /project/ws_dev/ && catkin build
π From Docker Shell
Source catkin workspacesws #preconfigured alias
Note: From here on out, whenever you are running or building ANY packages used within the frank-Regal/hri_cacti_xr main project repository, run the commands from a Docker Container Shell that you setup in 1. Setup Docker Container section. For making Git push/pulls/clones, ensure you are working in a local machine shell!
Local Shell
aliases & bash commands
cacti-start # starts the hri_cacti_i docker image if it is not started (see Docker/bash_utils for full list)
cacti-shell # opens a shell in docker (see Docker/bash_utils for full list)
cacti-build # builds/rebulds the docker image (see Docker/bash_utils for full list)
vcs pull -n # pulls all changes from all nested repositories (see Docker/bash_utils for full list)
π Docker Shell
aliases
sws # sources the catkin workspace
cdcacti # changes directory in the main project workspace