Skip to content

stanulet27/ros2_dotnet

Repository files navigation

ROS2 for .NET

Build status

Build status

Introduction

This is a collection of projects (bindings, code generator, examples and more) for writing ROS2 applications for .NET Core and .NET Standard 2.0

Features

The current set of features include:

  • Generation of all builtin ROS types
  • Support for publishers and subscriptions
  • Cross-platform support (Linux, Windows, Windows IoT Core, UWP)

What's missing?

Lots of things!

  • Nested types
  • Component nodes
  • Clients and services
  • Tests
  • Documentation
  • More examples (e.g. IoT, VB, UWP, HoloLens, etc.)

Sounds great, how can I try this out?

The following steps show how to build the examples:

mkdir -p ~/ros2_dotnet_ws/src
cd ~/ros2_dotnet_ws
wget https://raw.githubusercontent.com/esteve/ros2_dotnet/master/ros2_dotnet.repos
vcs import ~/ros2_dotnet_ws/src < ros2_dotnet.repos
cd ~/ros2_dotnet_ws/src/ros2/rosidl_typesupport
patch -p1 < ../../ros2_dotnet/ros2_dotnet/rosidl_typesupport_ros2_dotnet.patch
cd ~/ros2_dotnet_ws
src/ament/ament_tools/scripts/ament.py build --isolated

Now you can just run a bunch of examples.

Publisher and subscriber

Publisher:

. ~/ros2_dotnet_ws/install_isolated/local_setup.sh

ros2 run rcldotnet_examples rcldotnet_talker

Subscriber:

. ~/ros2_dotnet_ws/install_isolated/local_setup.sh

ros2 run rcldotnet_examples rcldotnet_listener

Enjoy!

About

.NET bindings for ROS2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 70.2%
  • EmberScript 12.1%
  • C 12.0%
  • CMake 4.3%
  • Python 1.4%