I want to publish the OpenCR’s analog inputs A0-A5 as a ROS2 topic while running the navigation2 package on my TurtleBot3 Burger.
I set up my TurtleBot following the ROBOTIS e-Manual, which had me install a binary file to the OpenCR. I checked if the OpenCR analog inputs were already published as ROS2 topics but I did not see them after I ran the turtlebot3_bringup launch file.
Then I looked for the OpenCR turtlebot3 source code and found the example ‘turtlebot3_core.ino’ which is very clear and detailed but incompatible with ROS 2. There is a another source file, ‘turtlebot3_burger.ino’ in the turtlebot3_ros2 directory of this repo. But this file abstracts all its functions to the TurtleBot3Core. TurtleBot3Core looks like it is further abstracted in ‘turtlebot3.h’.
How do these files talk to each other and where should I add code to extend the firmware to read from pins A0-A5? Do I have sufficient source code to simply extend the firmware to this purpose, or will I need to write the firmware from scratch to be able to operate the TurtleBot3 and read analog pins in ROS 2?
My setup info:
- TurtleBot3 Burger
- OpenCR 1.0
- Raspberry Pi 4B running Ubuntu 22.04 Server and ROS 2 Humble
- Remote PC running Ubuntu 22.04 Desktop and ROS 2 Humble
I posted a GitHub issue about this but I’m not sure if the GitHub or this forum is more active, so I’m creating a duplicate request for help here.