Issue with MX-28 Servos Using Protocol 2.0 on OpenCM9.04 Controller

Issue:
I am working on a humanoid robot walking gait project using MX-28 servos (Protocol 2.0) and an OpenCM9.04 controller. I encountered an issue after upgrading the firmware of the MX-28 servos from Protocol 1.0 to Protocol 2.0.

When I download the task program (using R+ Task 2.0 or R+ Task 3.0) to the robot, the robot does not move as programmed or respond at all when powered on. However, the hardware check through Dynamixel Wizard 2.0 shows no issues, and all servos are accessible.

Interestingly, if I use the MX-28 servos with Protocol 1.0 and a CM700 controller, the task program (R+ Task 2.0) executes correctly, and the robot functions as expected.

The problem is that I need the MX-28 servos to use Protocol 2.0 to work with the OpenCM9.04 controller, which requires Protocol 2.0. Is there a solution to resolve this issue or any steps I might have missed to ensure compatibility?

Additionally, I have the following questions:

  1. Could the issue with the task program not executing be caused by the MX-28 servos using Protocol 2.0?
  2. Is the MX-28 with Protocol 2.0 compatible with the OpenCM9.04 controller using Protocol 2.0?
  3. My MX-28 servos were purchased around 6 years ago. Are these older servos compatible with Protocol 2.0 after a firmware upgrade?

DYNAMIXEL Servo:

  • MX-28 (Firmware updated to Protocol 2.0)

DYNAMIXEL Controller:

  • OpenCM9.04 (custom made board)
  • CM700 (for testing Protocol 1.0 compatibility)

Software Interface:

  • R+ Task 2.0
  • R+ Task 3.0
  • R+ Motion 2.0
  • Robo Plus (only for testing motion servos with Protocol 1.0)
  • Dynamixel Wizard 2.0

I do not have your setup, so I can’t be sure. But I am wondering if it got something to do with the “Dynamixel Channel” ?

image

Have you tried either Dynamixel Channel 1 or 3, via the MANAGER Tool?

Sorry, in the image below, the MX-28 servo is not shown because I stopped the ID search before reaching the baud rate of the MX-28 servo.

image

I have tried switching to channel 1 or 3, and it successfully executes the task. However, a new issue has appeared—sometimes the task that executes the motion index does not run properly. As a result, I often have to turn the system on and off multiple times before it finally executes (it is inconsistent).

I have also tested whether this issue is related to the task itself by trying to turn on an LED or control other servo series (XL-Series) within the task. From these tests, both the LED and the XL-Series servos work as expected according to the task program.

Have you ever tried running a Task program on the MX-28 servo?

Glad to know that the Dynamixel Channel was a good hunch.
Unfortunately I do not use MX-28 so I can’t help much.
I am assuming that all IDs had been corrected after upgrading.
Can you just do Goal Position check via TASK on each servo to see if each servo responded OK on their own. You should also be able to do this test with MANAGER tool one by one too.
The Bus baud rate seemed to be too low. Should it be at 1 Mbps?