Example show above is of EllipsPos4. However, all saved waypoints do have similar mismatch problem .
Reproduce, use URCAP Ellipse Swing. Problem occurs if TCP is not 0,0,0,0 .
Set tcp to:
Note that the difference between ‘Set waypoint’ and ‘Edit pose’ is exactly the values of the TCP !. The shown ‘summary picture’ seems to have the correct TCP but having another, not correct pose.
When going tho ‘Set Waypoint’ of one of the mismatched waypoints, and click OK, now all 3 data views are in sync with what is shown in ‘Set Waypoint’
I’m working in the URCap for a control disc with 2 buttons that goes in between the wrist and the tool.
• One button is for freedrive.
• The other is for recording waypoints.
I’m having trouble creating the right pose for this waypoints.
I receive well the pose and joint positions via RT (30003 port). This data includes the TPC .
But, when I use createFixedPositionConfig I’ve come to the conclusion this method is expecting the pose without tool , just at the wrist.
How I found out? Similarly to other entries in this post, I see this method is working fine with TCP = 0, 0, 0, 0, 0, 0.
But with any different TCP is not.
I’ve calculated ‘error’ XYZ distance and it matches to decimals with the TPC XYZ distance from the wrist.
The orientation angles I didn’t check it mathematically, but seem to me to be matching the TCP orientation.
Two ways to see it:
It is a bug: @jbm Then, please UR team, fix it asap
The createFixedPositionConfig method should use the TPC for calculations.
Probably adding optional parameters to the method would do. Should include:
Manually defined TCP (0, 0, 0, 0, 0, 0 if not passed)
Option for ‘currently active TPC’
Maybe option for the ones defined in the installation? Not so sure of that
It is intended to be like this, not taking the TPC into consideration: Then, we need to have pose_trans and pose_inv methods in Java asap. Can you help @jbm
This would allow us (non matrix mathematisian experts in general, at least not me) to add a given TPC to have the rigth pose.
There’s a post on this too: Pose_trans and pose_inv functions in URCap - #5 by dmartin
The issue comes up when the tcp rotation is other than x,y,z,0,0,0. the api generated waypoints do have the tcp offset tho. See Here. This was implemented a year ago and should work. To prevent it from calculating the false inverse kinematics we calculated the rotation manually (rx = -0.58,ry=0,rz=0). After that the bug no longer occurs tho it is not possible to move the robot in the tool space correctly😉