Skip to main content

A tool to generate Dockerfiles for use in robotics, as well as a script to build and enter these containers, with support for graphical applications, GPU passthrough, realtime scheduling, host networking and full device access.

Project description

Robot Containers

This repository contains Dockerfiles for building containers for various robots. It also includes a python script run.py that wraps the docker command to enable:

  • building, starting and entering the container in one step
  • graphical applications
  • nvidia GPU passthrough
  • realtime scheduling
  • host networking
  • full external device access (USB, cameras, etc.)

Finally, it includes roboco, a script for generating a new project from the included Dockerfiles.

CI - Test CI - Docker Images linting - Ruff code style - Black types - Mypy License - MIT

Table of Contents

Requirements

Docker

nvidia-docker2 (for GPU support, optional)

VSCode - Dev Containers Extension (Optional)

Installation

Using pip

pip install roboco

Using git

git clone https://github.com/monashrobotics/robot_containers.git
cd robot_containers
pip install .

Usage

Creating a new project

roboco init

Follow the prompts to select the robot type and additional features.

Once completed, there will be two new files in your current directory: Dockerfile and run.py.

Running the container

Build the image and run the container using:

./run.py

Customising the container

The Dockerfile can be edited to add additional dependencies or change the base image.

When you make changes to the Dockerfile, you will need to rebuild the image using:

./run.py build

Then remove the old container and start a new one:

./run.py rm
./run.py

Available Containers

Robot / ROS Distro (Ubuntu OS) ROS 1 Melodic (18.04) ROS 1 Noetic (20.04) ROS 2 Foxy (20.04) ROS 2 Humble (22.04)
ABB YuMi
Baxter
Fetch
Jackal
Panda
Ridgeback
UR5
Driver / ROS Distro (Ubuntu OS) ROS 1 Melodic (18.04) ROS 1 Noetic (20.04) ROS 2 Foxy (20.04) ROS 2 Humble (22.04)
RealSense Camera
Velodyne LiDAR
Robotiq 2F-85 Gripper
Robotiq FT-300 Force-Torque Sensor

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roboco-0.0.3.tar.gz (41.6 kB view hashes)

Uploaded Source

Built Distribution

roboco-0.0.3-py3-none-any.whl (22.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page