Skip to content

bedieber/ros2_dotnet

 
 

Repository files navigation

ROS2 for .NET

CircleCI

ROS2 C# client library implementation. To my knowledge the most advanced ros2 C# project.

Notice

This fork started with https://github.com/esteve/ros2_dotnet/ implementation of rclcs with and integrated improvements from https://github.com/DynoRobotics/unity_ros2. Since then, plenty of features and fixes have been added, including:

  • Target version of ROS2 is now Dashing. This includes significant changes in message generation introduced between Crystal and Dashing
  • Added support for Nested types, Namespaced types and Sequences (basically you can use almost all standard messages).
  • Support for Header abstraction (MessageWithHeader interface), allowing polymorphic handling of generated messages.
  • Multiple other bug fixes and improvements in the library.
  • Resolved issues with the Unity libraries loading.

Since the fork contains rather revolutionary, large changes and includes a body of third person's work, it would need plenty of effort to integrate with the ros2_dotnet main.

Linux

Make sure to source your ROS2 Dashing environment

mkdir -p ~/ros2_dotnet_ws/src
cd ~/ros2_dotnet_ws
wget https://raw.githubusercontent.com/adamdbrw/ros2_dotnet/master/ros2_dotnet_dashing.repos
vcs import ~/ros2_dotnet_ws/src < ros2_dotnet_dashing.repos
colcon build --merge-install

Running. Source install/setup.bash in both terminals:

Talker:

ros2 run rcldotnet_examples rcldotnet_talker

Listener

ros2 run rcldotnet_examples rcldotnet_listener

Testing. Source install/setup.bash in terminal and change directory to rcldotnet_tests under src:

dotnet watch test

Contribution

See Projects page for what tasks and contributions are needed.

About

.NET bindings for ROS2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 53.5%
  • EmberScript 24.9%
  • Python 9.7%
  • CMake 9.6%
  • C 2.2%
  • Dockerfile 0.1%