Motor is attempting a 360° rotation in position mode, causing it to rotate beyond its min and max position.
Setup: XC430-W240-T motor running firmware 49, connected to a U2D2 with 12v power supply, commanded through Dynamixel Wizard v2.1.12.1 on a Windows system.
Steps to reproduce:
- Set ‘operating mode’ to 3 (Position Control)
- Set ‘homing offset’ to -512
- Set ‘max position limit’ to 2048
- Set ‘min position limit’ to 4095
- Enable torque
- Command a position of 3700
6.1 Present position is 3700
7 Disable torque - Enable torque
8.1 Present position changed to -396 - Command a position of 3700
9.1 The motor does a full 360° rotation
In this example, I would expect the position to remain 3700 when the motor is enabled and not move at all when commanded to 3700. This behavior seems to be related to the zero position crossing and the way the homing offset is applied. If the motor position is less than 3584 (4096 - 512) it does not cause this 360° position jump on enable.
This causes problems for me since my mechanism does not allow the motor to complete a full rotation, and manually moving the motor requires partial disassembly of the mechanism it is a part of. I am also not able to guarantee the motor is at a certain position when it becomes disabled.