# Continues joints and TCP position reading while robot is moving

Hi,

I’m looking for advice on how best and easiest would be to read the robot’s position continuously while the robot is moving.

In basic: I’m moving the robot along a straight line, while moving on the robot have a laser triangulation scanner that is scanning object.

I assume and see on the scans that the robot I not following a perfectly straight line so I want to read the robot’s TCP and joints position as he is moving so I can figure out his offsets from the ideal line.

Can you recommend to me how best I can do this and how real often I can get the position sample?

I see that can get the actual positions of joints and TCP but would be possible to get the position continuously along the movement?

You could do this using RTDE. There is a set list of values you can obtain from the robot including TCP and joint position. UR even provide a data logging example for almost your case ready to use.

Real-Time Data Exchange (RTDE) Guide - 22229 (universal-robots.com)

How did you conclude that it’s not following a straight line? We use a laser triangulation camera a lot with the UR and have no problems so far… I’m scanning with 0.5mm resolution (in the moving direction) at 200mm/s.

Thanks, yeap this is what I’m using but still, 125Hz is a little slow but I’m progressing with RTDE.

@mvrooij - yeas we do this same, and this depends on the position of the robot, length of the path, speed and etc. we do see results on the level you mention. But on the application, I’m working on we try to go down with the accuracy.

@dborowczak I understand, but a robot with rotational joints never follows a “perfect” straight line. It necessarily deviates from it. I believe the spec for the UR is about +/- 0.1mm, e.g. you get errors in the order of 0.2mm. So realistically speaking, I don’t think you can get very much below 0.5mm resolution with this setup. Maybe 0.4mm.

Sure, but knowing the error vs expected path can try to compensate the data. Thanks for sharing your thoughts, using the RTDE got all data which need it so can work on it.