Skip to content
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

TB3/ROS2 OpenCR communication error #310

Closed
giovanidiniz opened this issue Jun 14, 2022 · 4 comments
Closed

TB3/ROS2 OpenCR communication error #310

giovanidiniz opened this issue Jun 14, 2022 · 4 comments

Comments

@giovanidiniz
Copy link

Hi, guys,

I'm updating my ROS stack to use Humble. I understand it is not fully supported yet, but was hoping to start making some progress towards that. I compile the firmware without issues using the Arduino IDE ( OpenCR version 1.4.19/DXL2Arduino 0.6.0)

When I run the bringup node, I get the following error:

[turtlebot3_ros-2] [ERROR] [1655217926.169649893] [turtlebot3_node]: Failed connection with Devices
[turtlebot3_ros-2] [INFO] [1655217926.170118367] [turtlebot3_node]: Add Motors
[turtlebot3_ros-2] [INFO] [1655217926.170151405] [turtlebot3_node]: Add Wheels
[turtlebot3_ros-2] [INFO] [1655217926.170163220] [turtlebot3_node]: Add Sensors
[turtlebot3_ros-2] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'

which points me to this check (turtlebot3.cpp L:77)

if (dxl_sdk_wrapper_->is_connected_to_device()) 

I also verified the board is connected properly and the DXL SDK instantiates properly:

[turtlebot3_ros-2] [INFO] [1655217926.133157842] [turtlebot3_node]: Init TurtleBot3 Node Main
[turtlebot3_ros-2] [INFO] [1655217926.133277332] [turtlebot3_node]: Init DynamixelSDKWrapper
[turtlebot3_ros-2] [INFO] [1655217926.133586270] [DynamixelSDKWrapper]: Succeeded to open the port(/dev/ttyACM0)!
[turtlebot3_ros-2] [INFO] [1655217926.135440763] [DynamixelSDKWrapper]: Succeeded to change the baudrate!

Hoping someone could help me out in this. I'm in a bind now and have custom firmware version mods for my own robots to work on but I'm stuck trying to get the vanilla TB3 FW running.

P.S: any chance this is related (ROBOTIS-GIT/turtlebot3#744)

Appreciate the assist

@ROBOTIS-Will
Copy link
Contributor

Hi @giovanidiniz

The new OpenCR board manager update(scheduled on 6/17) is being prepared for this issue.
In order to resolve the problem manually, you can follow the steps below.

  1. Update the DYNAMIXEL2Arduino libary to the latest (0.6.0)
  2. Download the OpenCR develop-turtlebot3 branch and overwrite to your OpenCR board manager folder in your Arduino IDE environment.
    • or simply update the OpenCR board manager to the latest version (1.4.19) and modify the file as shown here

This will resolve the Failed connection with Device error between the RPi and OpenCR.
Once the new board manager is updated on 6/17, you can just update all the library and board manager, then build and upload from your Arduino IDE as usual.

Thank you.

@giovanidiniz
Copy link
Author

Hi, there.
I had success running with OpenCR 1.4.19 and downgrading Dynamixel2Arduino to 0.3.0, but I'll adjust accordingly now.
I am having issues with the OpenCR control table not being read properly by the ROS2 node, but I'll open a different issue to handle that. Your changes solved the problem for me

@ROBOTIS-Will
Copy link
Contributor

@giovanidiniz
Hi, the latest release resolves this issue with ROS2.
Please update the DYNAMIXEL2Arduino to 0.6.0 and OpenCR to 1.5.0.
We'll release the binary files for uploading the OpenCR firmware from RPi.
Thanks!

ROBOTIS-Will referenced this issue in ROBOTIS-GIT/OpenCR-Binaries Jun 24, 2022
Signed-off-by: Will Son <willson@robotis.com>
@giovanidiniz
Copy link
Author

@ROBOTIS-Will Appreciate the heads up!

I'm up and running with my custom firmware on a 4-wheel robot.
Thanks so much

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants