Skip to main content

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 image image

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

Adding a container to your 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 Dockerfile Templates

Dockerfile templates are available for the following robot / ROS / Ubuntu combinations.

Robot / ROS Distro (Ubuntu OS) ROS 1 Noetic (20.04) ROS 2 Foxy (20.04) ROS 2 Humble (22.04)
ABB YuMi WIP ❌ ❌
Baxter WIP ❌ ❌
Fetch WIP ❌ ❌
Jackal WIP WIP WIP
Panda WIP ❌ ❌
Ridgeback WIP ❌ ❌
UR5 ✅ ❌ WIP

Generic ROS 1 and ROS 2 Dockerfile templates for the following distributions are also available:

  • ROS 1 Kinetic (16.04)

  • ROS 1 Melodic (18.04)

  • ROS 1 Noetic (20.04)

  • ROS 2 Foxy (20.04)

  • ROS 2 Galactic (20.04)

  • ROS 2 Humble (22.04)

Hardware Drivers

Snippets are available for these hardware drivers and ROS distro combinations:

Driver / ROS Distro (Ubuntu OS) ROS 1 Noetic (20.04) ROS 2 Foxy (20.04) ROS 2 Humble (22.04)
RealSense Camera WIP WIP WIP
Velodyne LiDAR WIP WIP WIP
Robotiq 2F-85 Gripper WIP ❌ ❌
Robotiq FT-300 Force-Torque Sensor WIP ❌ ❌

Software Snippets

Snippets are available for the following software packages:

Software ROS 1 Noetic (20.04) ROS 2 Foxy (20.04) ROS 2 Humble (22.04)
pytorch WIP WIP WIP

Contributing

If there's a robot, or hardware driver that you'd like to see supported, please open an issue or pull request. See CONTRIBUTING.md

Troubleshooting

See docs/troubleshooting.md

Metadata

Release files for roboco 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for roboco 0.0.4
File Size Uploaded Provenance Actions
roboco-0.0.4.tar.gz 46.1 kB Without provenance Details for roboco-0.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for roboco 0.0.4
File Interpreter ABI Platform Actions
roboco-0.0.4-py3-none-any.whl Python 3 none any Details for roboco-0.0.4-py3-none-any.whl

Total release size: 69.2 kB

Release files / roboco-0.0.4.tar.gz

Download URL roboco-0.0.4.tar.gz
Size 46.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c33fc958f7b04908b73417ab4eb68aa0718a7f5360cb141ff7c41d8c91f18d65
BLAKE2b-256 checksum
How to use checksums
9ea8bca4c0cf78fc5404ce3bda658a9dd3200dde6097e6835f327cf9ee955e2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.24.1

Release files / roboco-0.0.4-py3-none-any.whl

Download URL roboco-0.0.4-py3-none-any.whl
Size 23.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e7fca253a3f9d81a9f282650dc123100a7e0c450541250b95562794f0b3fcda4
BLAKE2b-256 checksum
How to use checksums
8390704a75e1379a68bf33042c5118bbc6e748dab696258365214f0f10fe633e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.24.1

Security for roboco 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page