I am writing this article today to introduce the ros2arduino and open a discussion forum.
ros2arduino is aimed at the ROS2 library available in Arduino, like rosserial_arduino in ros1.
This is currently included in the roadmap for the next release of ROS2.
Below is ros2arduino’s plan on current roadmap.
ros2arduino (using RTPS supporting XRCE such as microRTPS; note that this approach uses a different wire protocol from ROS 2 atop a full DDS/RTPS system)
- supports TurtleBot3’s embedded system (OpenCR, it supports Arduino IDE)
- supports Arduino MEGA, ZERO and other compatible microcontrollers
- make message header and API generator
- provide tutorials (e.g., Arduino IDE Setup, custom message, LED/Servo/Sensors control, TF, simple robot)
The previous step of this ros2arduino was to support ROS2 of the TB3 burger.
And now we want to create a library that is commonly available on the Arduino as well as the TB3 burger.
The Github Repository is this link.
The code that is currently in use is from TB3.
But, it can not be used on general arduino boards yet because it depends on microRTPS.
Anyway, since this is open source, I hope you will discuss and contribute together if you want.
Here are some of the things that I think we need to discuss.
- Build system : for Arduino IDE’s compile method. (@Ingo_Lutkebohle mentioned modm as one of the considerations.)
- S/W architecture
- Programming language version
I think we can not make it perfect from the beginning.
We will continue to develop for the release and hope that this discussion will lead to a better library.
Any kind of contribution is welcome.