Skip to content

Latest commit

 

History

History
113 lines (101 loc) · 5.23 KB

README.md

File metadata and controls

113 lines (101 loc) · 5.23 KB

HRI-Cacti 🌵

Docker-based project workspace setup for the Human Robot Interaction (HRI) Command and Control Teammate Interface (CACTI) project.

Main Project Repository: hri_cacti_xr

Table of Contents

1. Setup Docker Container

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 the HRI-Cacti/project/ directory on your local machine. The intended work flow is to develop in the local HRI-Cacti/project/ directory on your local machine and then build and run the packages located in /project/ from a Docker container shell.

  1. Install prerequisites

    vcstool
    sudo apt install python3-vcstool
    Docker
    https://docs.docker.com/engine/install/ubuntu/
    NVIDIA Container Toolkit
    https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.14.5/install-guide.html
    Docker: Post Installation Steps
    https://docs.docker.com/engine/install/linux-postinstall/
  2. 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
  3. Source environment

    source Docker/bash_utils && source ~/.bashrc
  4. Build Docker Image

    Note: HRI-Cacti/setup.sh script should have sourced the HRI-Cacti/Docker/bash-utils file to run the following shell cmds. If they were not correctly setup, see HRI-Cacti/Docker/bash-utils for a list of the cmds to run.

    cacti-build
  5. Start Container

    cacti-start

2. Install Project Packages

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.

  1. From HRI-Cacti/ directory, create the following workspace directories
    mkdir -p project/ws_dev/src && cd project/ws_dev/src
  2. Clone hri_cacti_xr repo and import submodules.
    git clone [email protected]:frank-Regal/hri_cacti_xr.git && \
      cd hri_cacti_xr && \
      vcs import < .repos
  3. Open Docker shell
    cacti-shell
  4. 🐋 From Docker Shell Build custom python package and catkin workspace
    cd /project/ws_dev/ && catkin build
  5. 🐋 From Docker Shell Source catkin workspace
    sws #preconfigured alias

3. Run Packages and Contribute

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!

4. Custom Shell Commands

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