Issue:
General Setup:
We are using three AX-12A motors connected together serially in one robot system. These three AX-12A motors are given the IDs 1,2 and 3. We can communicate with all three motors and the motion control of these normally works fine. We have five duplicate robot system, each with the same three motor setup, which all initially work.
The problem is in one robot system, after using it for some time on many repeated tasks, one of the motors will forget its ID and reset back to ID 1. Once this happens, we’ll have two motors with ID 1 and one with ID 3 and the communication to the robot will no longer work. To fix it, we must connect to only the motor that forgot its ID and set its ID back to ID 2 (using the Dynamixel Wizzard). After this, the robot will work again (since the three motors again have unique IDs).
We are running the same mechanism, same wiring, and same controller code to all five of our robots, but one set has this problem of the motor forgetting its ID. It seems like maybe one of the motors resets itself or something, making it lose its ID. Any suggestions? Should we declare that one of the motors is faulty and swap in a new motor? Could there be some fault condition that is making one of the motors do a factory reset?
DYNAMIXEL Servo:
AX-12A
DYNAMIXEL Controller:
U2D2 (SKU 902-0132-000) and U2D2 power hub board set (SKU 902-0145-001).
Software Interface:
We use the Dynamixel Wizard 2.0 to set the motor IDs, connecting one at a time and setting each ID to be unique.
Then we are communicating to the AX-12A motors through serial communication using Matlab.