Create rust client for ROS2 from scratch. Doing this project because following reasons:
- Rust is well developed recently and it almost covers all software world. Related to robotics, some of most interested topics is using rust in embedded system or controlling system to replace C/C++. In addition, rust is fast and security.
- ROS2 is latest software framework for robotics. It includes a lot of libraries and tools. The most interesting in ROS2 is it uses DDS as fundamental communication system. ROS2 already wrote C API, and other languages, like Python, Java, Lisp, etc..., are writing C wrapper to integrate with ROS2.
- There are several rust library for ROS (ROS1 and ROS2), which listed on robotics.rs. The lib ros2_rust is one of most rust support for ROS2. BUT this lib recently is not really active, the latest commit is 2019, and there are only 7 commits after 2017. Currently rust is developing so fast and there are lots of updates on ROS2 as well.
- Personaly reason: my work is mainly using Python to write robotics programming. Python is fast to integrate at the beginning time, but after having a lot of code, python is really hard to maintain since it's too dynamic and there is no "compiler" to help. Rust has a really good compiler to help developer, which will capture most of syntax errors when writing code.
Rust integrates ROS2 C API such that we are able to use them to create a node
.
Using eloquent currently, and hardcoded eloquent
in build.rs
.