Giter Club home page Giter Club logo

docker-for-robotics's Introduction

Docker for Robotics with the Robot Operating System (ROS/ROS 2)

Author: Tobit Flatscher (2021 - 2024)

ROS Docker ROS 2 Docker License: MIT

Overview

This guide discusses best practices for robotics development with the Robot Operating System (ROS/ROS 2) and Docker/Docker-Compose on Linux as well as Windows operating systems. This includes displaying graphic user interfaces, working with hardware, real-time capable code and the network set-up for multiple machines. Additionally it walks you through the set-up with Visual Studio Code.

This repository used to be part of another guide I have written on Docker and real-time applications. As the general Docker and ROS part has now become quite lengthy, I have decided to extract it and create a repository of its own for it.

Docker on Ubuntu Docker on Windows
ROS Indigo running from a Docker container on Ubuntu 22.04 ROS Indigo running from a Docker container on Windows 10 with WSL2

Structure of this guide

This guide is structured in the following chapters:

The folder examples/ contains different ROS and ROS 2 examples (in simulation as well as with hardware access) while the folder templates/ provides templates for ROS and ROS 2 that you can build your own workspace off. This guide is further extended by an external guide on Docker for real-time applications with PREEMPT_RT that can be found here.

Get a copy

This workspace contains several other repositories as submodules. Therefore please clone it with the following command:

$ git clone --recurse-submodules https://github.com/2b-t/docker-for-ros.git

docker-for-robotics's People

Contributors

2b-t avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

docker-for-robotics's Issues

[enhancement] nvidia-container-runtime is deprecated - tried to go for nvidia-container-toolkit but got error

nvidia-container-runtime works well exactly as instructed by the guide.

But it deprecated and advised to switch to [https://github.com/NVIDIA/nvidia-container-toolkit?tab=readme-ov-file]

Tried to simply change the daemon.json:

sudo tee /etc/docker/daemon.json <<EOF
{
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-toolkit",
            "runtimeArgs": []
        }
    }
}
EOF

but got an error when using "docker compose ... up":

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/moby/e5a45f0f12e0c02ec1708dc89576a0972ab477a5c45a5db8cd6a312605b11084/log.json: no such file or directory): /usr/bin/nvidia-container-toolkit did not terminate successfully: exit status 2: flag provided but not defined: -root
Usage of /usr/bin/nvidia-container-toolkit:
  -config string
    	configuration file
  -debug
    	enable debug output
  -version
    	enable version output

Commands:
  prestart
        run the prestart hook
  poststart
        no-op
  poststop
        no-op
: unknown

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.