OpenCR ROS2 firmware does not use rosserial, but uses DYNAMIXEL Protocol 2.0 to communicate with Raspberry Pi by creating a virtual control table on OpenCR as a slave module like DYNAMIXEL.
Sorry about the belated response.
In ROS2, TB3 SBC and OpenCR communicates with DYNAMIXEL Protocol 2.0 to access the control table created in the OpenCR as below.
The main loop of the OpenCR updates the control table values such as IMU, Odometry, or parses updated value by the SBC such as cmd_vel to create another DYNAMIXEL Protocol 2.0 to control the DYNAMIXEL that is attached to the wheels.
In the TB3 node, for example, cmd_vel_callback() subscribes cmd_vel and writes the cmd_vel value to OpenCR using dxl_sdk_wrapper which helps to assemble DYNAMIXEL Protocol 2.0
You might also want to check out the DYNAMIXEL Protocol 2.0 for better understanding.
Between SBC and OpenCR communication, Read and Write instructions are mainly used while OpenCR and DYNAMIXEL mainly uses Sync Read and Sync Write.
Thanks a lot for the information. I have gone through it and implemented the dynamixel wrapper for my project.
I am trying to use micro ros to communicate with openCr and I am having trouble with that.
There is no information I could find related to the micro ros implementation in the turtlebot3. When I checked the header files and learnt that fastrtps is installed. But could not understatnd how it is done.
Could you please infom me how ros2 communication is done and If I am right , please tell me how the fastrtps implementation is done.