Is there any way to get the actual TCP pose relative to a feature instead of the base over the RTDE?
This isn’t available by default through the RTDE, but you could calculate it when you need it and then write it into the general purpose registers through the RTDE.
At what point in your process do you need it?
The process involves moving a probe on the end of the robot in a raster scan type motion in front of some sensors and then using the RTDE interface to pull pose data and coordinate it with data acquisition values from the sensors to get a response curve.
So it would be continuously needed for the duration the probe is within the scan area of the sensors.
Would a thread on the robot doing the math and updating the registers be fast enough to keep up with the RTDE frequency?
Yes those calculations would take far less than 2ms so shouldn’t have any problem providing it over the RTDE.
Script code for translating from base to feature can be found at the bottom of this article if you don’t already have that bit done:
one more question for the math :
I think these two would result in the same pose, yes?
point_wrt_feature = pose_trans( pose_inv(feature_wrt_base), get_actual_tcp_pose())
point_wrt_feature = pose_inv( pose_trans( pose_inv(get_actual_tcp_pose()), feature_wrt_base))
Sorry for the delayed response, but yes they would give the same result.