Thank you @m.birkholz for pointing out this post for me. I am facing the same problem.
Note: I was able to separate another bug that at first seemed to be part of the same. It is covered in Capturing pose with a button, questions and troubles.
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.WaypointNodeConfig newWaypointNodeConfig = waypointNodeConfigFactory.createFixedPositionConfig(pose[0], jointPositions[0], blendParameters, motionParameters);
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
ThecreateFixedPositionConfig
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
Thanks a lot folks!!