All Projects → micro-ROS → docker

micro-ROS / docker

Licence: Apache-2.0 license
Docker-related material to setup, configure and develop with micro-ROS hardware.

Programming Languages

Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to docker

NuttX
Official micro-ROS RTOS
Stars: ✭ 63 (+96.88%)
Mutual labels:  ros2, micro-ros, dds-xrce
Micro-XRCE-DDS-Agent
Micro XRCE-DDS Agent respository
Stars: ✭ 58 (+81.25%)
Mutual labels:  ros2, dds-xrce
toolchain68k
build a toolchain for cross developement. Supports motorola m68k-elf, avr and arm-none-eabi
Stars: ✭ 18 (-43.75%)
Mutual labels:  toolchain, stm32
versaloon
JTAG Versaloon firmware for the STM32 Bluepill board
Stars: ✭ 95 (+196.88%)
Mutual labels:  stm32
stm32 i2c to usb hid multitouch
i2c to usb hid multi touch with stm32
Stars: ✭ 55 (+71.88%)
Mutual labels:  stm32
ISASTM
STM32-based ISA-over-USB-adapter
Stars: ✭ 86 (+168.75%)
Mutual labels:  stm32
TMcuSys
🍆 STM32平台uCos与emWin练习项目。图片、音乐、视频、游戏、IAP运行器。
Stars: ✭ 25 (-21.87%)
Mutual labels:  stm32
Modbus-STM32-HAL-FreeRTOS
Modbus TCP and RTU, Master and Slave for STM32 using Cube HAL and FreeRTOS
Stars: ✭ 272 (+750%)
Mutual labels:  stm32
pid-stm32f746
Embedded graphical interface for PID control
Stars: ✭ 29 (-9.37%)
Mutual labels:  stm32
transport drivers
A set of ROS2 drivers for transport-layer protocols.
Stars: ✭ 41 (+28.13%)
Mutual labels:  ros2
DotNetWithCMake
Your swiss army knife for creating .NET assemblies with CMake and integrating unmanaged code.
Stars: ✭ 50 (+56.25%)
Mutual labels:  example-code
blflash
bl602 serial flasher
Stars: ✭ 41 (+28.13%)
Mutual labels:  toolchain
slam gmapping
Slam Gmapping for ROS2
Stars: ✭ 56 (+75%)
Mutual labels:  ros2
wasmbin
A self-generating WebAssembly parser & serializer in Rust.
Stars: ✭ 40 (+25%)
Mutual labels:  toolchain
JBC SolderingStation
JBC_SolderingStation
Stars: ✭ 63 (+96.88%)
Mutual labels:  stm32
modular-psu-firmware
Firmware for EEZ Bench Box 3 (BB3)
Stars: ✭ 74 (+131.25%)
Mutual labels:  stm32
stm-ILI9341-spi
STM32 ILI9341 spi
Stars: ✭ 77 (+140.63%)
Mutual labels:  stm32
UPnP Generic
A simple library that implements port mappings to router using UPnP SSDP for Arduino boards, running on nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, Teensy, RP2040-based boards, WT32_ETH01, Portenta_H7, etc. besides ESP8266/ESP32, using ESP WiFi, WiFiNINA, Ethernet W5x00, ESP8266/ESP32 AT-command WiFi, Portenta_H7 Murata WiFi or Vision-shield Ethe…
Stars: ✭ 14 (-56.25%)
Mutual labels:  stm32
orca3
ROS2 AUV based on the BlueRobotics BlueROV2 and Navigation2
Stars: ✭ 43 (+34.38%)
Mutual labels:  ros2
micro ros espidf component
micro-ROS ESP32 IDF component and sample code
Stars: ✭ 122 (+281.25%)
Mutual labels:  micro-ros

micro-ROS Dockers

This repository contains Docker-related material aimed at setting up, configuring and developing a micro-ROS-based application.

This set of Dockerfiles provides ready-to-use environments to easily execute micro-ROS examples in your host machine, as well as to use the standalone micro-ROS build system. In addition, two images are provided that allow using micro-ROS as an external library, both in ESP-IDF.

The Docker images can be found at dockerhub.

The available images are listed below:

Image Description Status
base Base image with a ROS 2 Humble installation + micro-ROS specific build system tools. Used as base of any other micro-ROS image Docker Automated buildDocker Build StatusCompare Images
micro-ros-agent Image containing a pre-compiled micro-ROS-Agent, ready to use as a standalone application Docker Automated buildDocker Build StatusCompare Images
micro-ros-demos Contains pre-compiled micro-ROS demo applications, ready to use to get a taste of micro-ROS capabilities Docker Automated buildDocker Build StatusCompare Images
micro_ros_static_library_builder Allows to use a pre-compiled micro-ROS library to develop applications in external environments Docker Automated buildDocker Build StatusCompare Images
esp-idf-microros Allows to use micro-ROS as a component of the ESP-IDF build system Docker Automated buildDocker Build StatusCompare Images

Pre-requisites

You need to have Docker in your system. For installing Docker, refer to the official documentation at https://www.docker.com/.

Usage

To get an image, use the docker pull command:

  • e.g. docker pull microros/base

You can select the preferred tag by appending :tag to the image name

  • e.g. docker pull microros/base:humble

Once you have the image locally, type docker run to start it. It is not mandatory, although usually useful, to launch your containers using the --rm and --net=host flags:

  • e.g. docker run -it --rm --net=host microros/micro-ros-agent:humble

--rm makes sure that the docker image will be removed after exiting. --net=host provides the container with the same network access as the host. -it allocates a pseudo-TTY for you and keeps stdin listening. Another used command is -v to map local files with docker container ones. -v is useful in case you may want to flash boards from within a Docker container.

base image

It is the base for the rest of the containers. It contains the necessary micro-ROS setup tools and dependencies. From this image, you can start any development targeting micro-ROS.

micro-ros-agent

This image is meant to be used as a stand-alone application. It includes the installation of the ROS 2 version selected by the tag selected, together with a micro-ROS Agent. The entry point of this image is directly the micro-ROS Agent, so upon execution of docker run you will be facing the micro-ROS Agent command line input. Running:

  • e.g. docker run -it --net=host microros/micro-ros-agent:humble udp4 -p 9999

will start a micro-ROS Agent listening to UDP messages on port 9999.

micro-ros-demos

micro-ros-demos is one of the example images. With this image, you can launch example applications using micro-ROS (compiled for Linux machines). This image entry point has a ROS 2 environment set up with micro-ROS examples. You can run regular ROS 2 tools to launch the examples.

  • eg: docker run -it --net=host microros/micro-ros-demos bash

The currently available examples are listed here.

micro_ros_static_library_builder

The micro_ros_static_library_builder docker image provides you with a set of include files and pre-compiled micro-ROS libraries to develop your micro-ROS application within the Arduino IDE environment. To be able to use it, use the following command to instantiate a container of this image:

  • e.g. docker run -it -v $(pwd):/arduino_project --net=host microros/micro_ros_static_library_builder:humble.

Note that folders added to extras/library_generation/extra_packages and entries added to extras/library_generation/extra_packages/extra_packages.repos will be taken into account by this build system.

esp-idf-microros

This Docker image allows you to use micro-ROS as a component of the ESP-IDF build system.

To use it:

  • e.g. docker run -it --user espidf --volume="/etc/timezone:/etc/timezone:ro" -v $(pwd):/micro_ros_espidf_component -v /dev:/dev --privileged --workdir /micro_ros_espidf_component microros/esp-idf-microros:latest /bin/bash"

Then, you can navigate to your example aplications and build it using the ESP IDF buildtool system script, idf.py menuconfig/build/flash/monitor.

Automated builds

These Dockerfiles are used for automatically creating images on Docker Hub. These builds are tagged with the ROS 2 version they will be compatible with: e.g. foxy, galactic, humble, rolling... The latest tag will always correspond to the latest release of ROS 2.

These automatic builds have a direct relationship with the content of the micro-ROS repositories:

Image Triggers
base https://github.com/micro-ROS/micro-ROS-build
micro-ros-agent https://github.com/micro-ROS/micro-ROS-Agent
https://github.com/eProsima/Micro-XRCE-DDS-Agent
micro-ros-demos https://github.com/micro-ROS/micro-ROS-demos
micro_ros_static_library_builder https://github.com/micro-ROS/micro_ros_arduino
esp-idf-microros https://github.com/micro-ROS/micro_ros_espidf_component

Apart from GitHub repositories changes, a build can be triggered whenever the base image is updated on Docker Hub. Base images are specified with the FROM: directive in the Dockerfile.

Purpose of the Project

This software is not ready for production use. It has neither been developed nor tested for a specific use case. However, the license conditions of the applicable Open Source licenses allow you to adapt the software to your needs. Before using it in a safety relevant setting, make sure that the software fulfills your requirements and adjust it according to any applicable safety standards, e.g., ISO 26262.

License

This repository is open-sourced under the Apache-2.0 license. See the LICENSE file for details.

For a list of other open-source components included in this repository, see the file 3rd-party-licenses.txt.

Known Issues/Limitations

There are no known limitations.

If you find issues, please report them.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].