-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problems running ping-pong application on Arduino DUE and Serial communication #1813
Comments
Since you are using micro-ros serial transport, you cannot use serial printf at the same time. You should comment out the printf. We are using the default fast dds. There is no need to set the RMW_IMPLEMENTATION. And rmw_microxrcedds should not be used with arduino. Have you tried the int32 publisher? You should start with the simple one. |
You may follow my wiki. |
Thank you for your response.
You're 100% right! My mistake!
Int32 publisher works as expected. When I removed printf calls my ping-pong example still doesn't work and I got the same error: "realloc(): invalid pointer [ros2run]: Aborted". Sometimes the ping is sent before the error, sometimes not. I've also tried the micro-ros_addtwoints_service example where the agent seems to connect to due, but the ros2 service caller waits endlessly for the service to be available. Is the Serial transport method not designed to be used in all cases/examples? Do you think the problem is with using Arduino DUE? I have built the robot based on the Ardumower (https://wiki.ardumower.de/) for which I'd like to rewrite the program using ROS2 + micro-ROS. The PCB 1.4 is compatible with Arduino DUE, Mega, or Adafruit Grand Central M4 Express. |
arduino due $50 single core 84Mhz 512K flash 96K sram, Arm will stop mbed support soon. due has very small flash and sram. it has to use the low memory colcon meta. due has very limited capability for micro-ros. |
Issue template
Steps to reproduce the issue
micro_ros_arduino_ping_pong.ino:
clock_gettime.h:
sudo chmod 666 /dev/ttyACM0
Got the following output:
without setting "export RMW_IMPLEMENTATION=rmw_microxrcedds"
see
Case 1:
Expected behavior 1:
See the ping-pong responding back and forth as in the example https://micro.ros.org/docs/tutorials/core/first_application_linux/, Multiple Ping Pong nodes
Actual behavior 1:
Case 2:
(RMW_IMPLEMENTATION set to an empty value)
Expected behavior 2:
See the ping-pong responding back and forth as in the example https://micro.ros.org/docs/tutorials/core/first_application_linux/, Multiple Ping Pong nodes
Actual behavior 2:
The text was updated successfully, but these errors were encountered: