Skip to content

Human Robot Interaction (HRI) Command and Control Teammate Interface (CACTI) project hub.

License

Notifications You must be signed in to change notification settings

frank-Regal/HRI-Cacti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Human Robot Interaction (HRI) Command and Control Teammate Interface (CACTI) project hub.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published