Issue:
I want to know the frequency at which the following control table items are updated:
- Present position
- Present speed
This work has some good timing analysis.
Assuming that I operate the motor at 1M baud rate with minimal reply delay time, would I be getting the “latest” feedback data? I may be communicating fast enough, but does that memory address get updated that quickly?
For example, I have read (not able to recall where) that the Present speed is updated a bit slower than the present position (which is understandable).
Background:
I am working with Arduino + 12 AX-12As put together as a biped robot on a single bus. I can syncwrite (Goal Pos + Moving speed) and sequential read (Present pos + Present speed) at a max rate of ~ 170 Hz.
My feedback (Present position) plots show a big lag (~ 200 ms) for trajectory tracking, almost equal for all motors. If I track the trajectory using video capture, I see no more than ~40 ms lag (difficult to explain more at the moment). So, the motors are moving on the expected trajectory, but my feedback shows otherwise.
Edit: I can syncwrite (Goal Pos + Moving speed) and sequential read (Present pos + Present speed) reliably at ~ 120 Hz.
DYNAMIXEL Servo:
AX-12A
DYNAMIXEL Controller:
Arduino Mega + Dynamixel Arduino shield
Software Interface:
Dynamixel Arduino library, Protocol 1.0.