Incorrect coordinates being returned

Hi,

I have only recently started coding for the uarm metal. My problem is that the coordinates returned when using read_coordiates() in pyarm are not what the arm was sent to using move_to.

For example:
print uarm.read_coordinate() is returning [-7.43, -23.67, 17.59] after moving using uarm.move_to(1.85,-26.45,12.52)

The same occurs using the miniterm:

move_to -15 -15 3 5
succeed
get_coord
Current coordinate: X-7.44 Y–4.82 Z–20.82

The returned coordinates are no where near what I sent it to. I can move the arm manually (with the servos in detached mode) to target coords so I don’t understand why it won’t move there itself. I have completed the calibration steps and am on firmware 1.7.4. Does anyone know what could be the issue?

Furthermore it seems one of miniterm or pyarm report coordinates backwards (or at least x and z are swapped)?

uarm.read_coordinate():
[-6.01, -8.78, -3.04]

miniterm:

get_coord
Current coordinate: X–2.19 Y–8.43 Z–5.71

(numbers match pretty closely (after reversing) after the jolt that happens when you connect)

read_coordinate(): definitely says: “:return: Coordinate array, x, y, z, Float type” and moving the arm in the Z axis does return the expected change in the third element in the array.

Quite confusing! Any help would be appreciated.

1 Like

I have the same issue, with using the python API.

Is this a calibration issue?

Hi,

This is the problem of firmware V1.X.
Firmware V2.X will be released soon and this prob will be fixed.