Dynamixel Wizard can't connect to OpenCR1.0

Use the following template to help create your post:

  1. State the model of servo you are using.
    XL-430

  2. Add (or create) Tags to your post with the specific model of your product.

  3. Describe your control environment. This includes the controller or interface, computer and OS, and any power source you are using
    Windows Serial USB to OpenCR micro-USB

  4. Specify the operating mode you are using, for applicable models.
    New from the factory

  5. Specify and link any manuals or resources you have used related to your inquiry.
    eManual for OpenCR

  6. Include pictures if possible. This can help our members see how wires are connected, how hardware is installed, or to identify other possible issues.

My Waffle-pi is complete and I’m trying to use ros teleop keyboard to test the wheels. From what I can tell I can’t explain. w moves backward, x moves forward, left and right appear appropriate on the bench. I don’t know what the IDs or any other parameters are configured and I can’t connect to Dynamixel Wizard. I need help in removing my blindfolds for there is no point in continuing. Any suggestions would be greatly appreciated. Is there a setup for the Turtlebot3 that I need to upload to the OpenCR first? Documentation unfortunately ASSumes everything works and provides no hints if it doesn’t.

Unfortunately, the DYNAMIXEL Wizard is not compatible with the OpenCR controller. In order to utilize DYNAMIXEL Wizard to diagnose and configure your DYNAMIXELs you will require a serial converter device similar to the U2D2.

Hello, @GreyHobbyist1

  1. Wapple-Pi use XM430-W210, not XL430 Series. Make sure to use proper DYNAMIXEL

  2. To scan DYNAMIXEL in DYNAMIXEL Wizard 2.0, you should download usb_to_dxl.ino as below
    image

  3. Check that DYNAMIXEL are assembled properly in proper direction.

  1. After assembling TurtleBot3, connect the power to OpenCR and turn on the power switch of OpenCR. The red Power LED will be turned on.
  2. Place the robot on the flat ground in a wide open area. For the test, safety radius of 1 meter (40 inches) is recommended.
  3. Press and hold PUSH SW 1 for a few seconds to command the robot to move 30 centimeters (about 12 inches) forward.
  4. Press and hold PUSH SW 2 for a few seconds to command the robot to rotate 180 degrees in place.

Thanks for all the help. Bottom line is the dynamixel servos are backwards, meaning the IDs don’t match what the software expects so I rummaged around example files and found one that allows me to change ID. Then I ran turtlebot3 setup motors and all is well.

BTW, buttons on my controller do nothing when I press them. I think there’s supposed to be some sort of test drive but none of the buttons do anything. Even reset. Nice board.

No matter. I woke up this morning and the board is now dead. It is not recognized so now I’m chasing down another Robotis rabbit hole.

2 Likes

Hi @GreyHobbyist1

It is strange that the OpenCR 1.0 is suddenly dead. How did you find out the OpenCR 1.0 is dead?

If you changed ID of DYNAMIXEL with provided Arduino examples, turtlebot3_setup_motor.ino for example, please reupload the firmware.

  • The image demonstrates TurtleBot3 Firmware Binary upload to OpenCR 1.0 (Noetic).
  • Be sure to use the right firmware corresponding to your desired ROS version. On the top of the page at e-Manual lists the series of ROS version contents.

I made a modification to the turtlebot3 with open manipulator core project. I compiled and uploaded it to my OpenCR 1.0 board last night connected to my development PC. Then I reconnected the controller board back into my already working turtlebot3. I attempted to bring my turtlebot up and discovered the RPI4 could no longer see ttyACM0. I BROKE IT? I moved the board around and used different cables but it’s no longer recognized by Windows, Ubuntu, or Pi. Wow! Talk about completely shutting a project down. That was magnificent. I wonder how I did that?

2 Likes

Hi @GreyHobbyist1
I would like to check the one thing before I jump to any result.

Please force the OpenCR controller to enter the bootloader with the Recovery Mode, and see if the port (dev/ttyACM#) will appear. Then, upload other basic sketch. This would resolve port unrecognized issue.

The recovery mode can be entered by following the sequence:

  1. Hold down the PUSH SW2 button.
  2. Press the Reset button.
  3. Release the Reset button.
  4. Release the PUSH SW2 button.

OpenCR will enter the boot loader after reset. When the boot loader is running, the STATUS LED blinks every 100ms.

image

Thank you,

How bizarre! I remember the Recovery Mode from reading about it in the eManual. This is actually the first time compiling and uploading using the Arduino IDE. According to the docs, I should only need that if the normal upload fails. I was able to successfully upload a simple program and have it run. I uploaded the turtlebot3 core example in Recovery Mode. The board was recognized and I brought the turtlebot up. What is really bizarre is the uploading the turtlebot core with manipulator caused the board to be unrecognized. Uploaded the waffle core and it’s recognized again. That makes me a little nervous but my manipulator is a BraccioV2 and I will just modify the waffle pi core with my own code. I can debug my OWN stuff. Thanks for your help but I find the system a little shaky at best.

1 Like
  1. It is relief that your board is not defective.

  2. Not really sure how you maninpulated the code but it sounds that the bootloading system was corrupted / conflicted by the Braccio library if I am correct. Can you share your code troubling the controller recognization? When I have a time I will briefly test with my OpenCR 1.0.

Actually, the Braccio manipulator code is PLANNED. There is no code yet. I am referring to the turtlebot3 example core with manipulator. UNMODIFIED from the Arduino IDE. It causes my problem of not recognizing the board.

Another issue is the necessity of using Recovery Mode always. I can’t get to the buttons on the CR board to reprogram when my turtlebot3 is fully assembled. This all makes hacking rather difficult which may or may not be intentional.

After digging around in the weeds for a while, I discovered a difference in the core config header files between waffle_pi core example and waffle with manipulator core example. OpenCR firmware version is defined as 1.2.6 in the software that works. OpenCR firmware version is defined as 2.0.2 in the software that causes the board to be unrecognized. I discovered it while painfully going thru the code of both examples to modify and compile to make sure the board was still recognized. That’s when I received a warning that the firmware was incompatible. GO TELL!
The OpenCR firmware upload instructions only suggest that burger or waffle for OPENCR_MODEL is only available. Are there more???

Yes their are I discovered. Uploaded the firmware appropriate for om noetic, version 2.02.
Board still not recognized. My conclusion is that the Arduino example is corrupted or never actually tested. I rewrote the waffle noetic core to accommodate code for the open manipulator. I will close this time wasting topic. Sorry, no solution.