All Projects → mROS-base → mros2

mROS-base / mros2

Licence: Apache-2.0 License
agent-less and lightweight communication library compatible with rclcpp for embedded devices

Programming Languages

C++
36643 projects - #6 most used programming language
Smarty
1635 projects
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to mros2

zhe
Lighter-than-air, peer-to-peer, bounded, non-blocking, non-threaded, etc., publish-subscribe networking
Stars: ✭ 44 (-38.89%)
Mutual labels:  embedded, dds, ros2
rclshark
Tool for ROS 2 IP Discovery + System Monitoring
Stars: ✭ 32 (-55.56%)
Mutual labels:  dds, ros2
DDS-Router
The DDS Router is an application developed by eProsima that allows, using Fast DDS, to communicate by DDS protocol different networks.
Stars: ✭ 34 (-52.78%)
Mutual labels:  dds, ros2
rclex
Rclex: ROS 2 Client Library for Elixir
Stars: ✭ 77 (+6.94%)
Mutual labels:  pubsub, ros2
Micro-XRCE-DDS-Agent
Micro XRCE-DDS Agent respository
Stars: ✭ 58 (-19.44%)
Mutual labels:  dds, ros2
NuttX
Official micro-ROS RTOS
Stars: ✭ 63 (-12.5%)
Mutual labels:  embedded, ros2
zenoh-plugin-dds
A zenoh plug-in that allows to transparently route DDS data. This plugin can be used by DDS applications, such as ROS2 robotic applications and others, to leverage the zenoh for geographical routing or for better scaling discovery.
Stars: ✭ 60 (-16.67%)
Mutual labels:  dds, ros2
irq
Utilities for Interrupt handling
Stars: ✭ 12 (-83.33%)
Mutual labels:  embedded
mbedtls-esp8266
Updated and Upgraded mbedTLS library for the ESP8266 (probably ESP32 too)
Stars: ✭ 13 (-81.94%)
Mutual labels:  embedded
SMARTmBOT
The goal of this repository is to introduce a new, customizable, scalable, and fully opensource mobile robot platform, called SMARTmBOT. This repository provides a guide, and all design files and source codes so that you can build your own SMARTmBOT. SMARTmBOT can be useful for studying the basics of robotics, especially mobile robotics. It can …
Stars: ✭ 29 (-59.72%)
Mutual labels:  ros2
lv lib rlottie
Lottie animation support for LVGL
Stars: ✭ 16 (-77.78%)
Mutual labels:  embedded
ArduinoSpritzCipher
Spritz encryption system portable C library, CSPRNG, cryptographic hash and MAC functions, symmetric-key data encryption, and general-purpose functions. It's also an Arduino library.
Stars: ✭ 67 (-6.94%)
Mutual labels:  embedded
NinjaCalc
An embedded engineering calculator toolbox for doing calculations in a breeze.
Stars: ✭ 14 (-80.56%)
Mutual labels:  embedded
uC-CPU
Designed with Micriμm's renowned quality, scalability and reliability, the purpose of μC/ CPU is to provide a clean, organized ANSI C implementation of each processor's/compiler's hardware-dependent.
Stars: ✭ 31 (-56.94%)
Mutual labels:  embedded
oic
Open Instrument Control
Stars: ✭ 40 (-44.44%)
Mutual labels:  embedded
EmbeddedTools
Additions to the model-based DSL for deploying Java and Native projects to remote targets
Stars: ✭ 14 (-80.56%)
Mutual labels:  embedded
dd performances
DeepDetect performance sheet
Stars: ✭ 92 (+27.78%)
Mutual labels:  embedded
gpib-usbcdc
Interface bridge between GPIB and USB communication device class
Stars: ✭ 81 (+12.5%)
Mutual labels:  embedded
PeripheralTemplateLibrary
Cross-platform, cross-MCU C++ template library for microcontrollers and peripheral devices
Stars: ✭ 52 (-27.78%)
Mutual labels:  embedded
megaphone
Hear ye, hear ye 📣
Stars: ✭ 15 (-79.17%)
Mutual labels:  pubsub

mros2

mros2 (formally mROS 2) realizes an agent-less and lightweight runtime environment compatible with ROS 2 for embedded devices. It consists of basic APIs for pub/sub communication, RTPS protocol, UDP/IP stack, and real-time kernel. Embedded nodes can now communicate directly with native ROS 2 nodes via topic!

This repository maintains the communication layer of mROS 2, that mainly offers pub/sub APIs compatible with rclcpp for embedded devices. ROS 2 is a de-fact platform for the robot system development, and provides pub/sub communication infrastructure with the DDS/RTPS protocol.

Features

  • Agent-less: a node on mROS 2 autonomously discovers communication nodes on the host with the feature of embeddedRTPS. It means no agent/bridge is required for pub/sub communication from the embedded devices.
  • Lightweight: mROS 2 APIs are implemented by C++ to be operated on the embedded devices. All software stacks are also implemented only in C/C++.
  • Real-time: mROS 2 employs the real-time kernel (e.g., TOPPERS kernel) as the runtime platform in order to enhance the real-time capability.

Functionalities and limitations

Here are functionalities that mROS 2 offers for you, and current limitations (a.k.a call for your contibutions!).

  • Pub/Sub communication via Topic is supported
  • Service, Actions, and Parameters are not supported
    • Please let us know if you want to use them as soon as possible. We can consider of raising the priority of these supports.

Supported platform

Since this repository itself only maintains the communication layer of mROS 2, we also publish the implementation on the embedded board using this layer and the embedded kernel. Please see each repository to learn how to use it.

name kernel board
mros2-asp3-f767zi TOPPERS/ASP3 STM32 NUCLEO-F767ZI
mros2-mbed Mbed OS 6 Mbed enabled boards having an Ethernet port (See detail)

Please let us know if you have a request for a support of board/kernel, or if you could implement this layer on another platform.

License

The source code of this repository itself is published under Apache License 2.0.
Please note that this repository contains embeddedRTPS and its third party libraries as the submodule, and also check their Licenses.

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].