Universal Robots+

PositionParameters / Wrong Pose using WaypointNodeFactory with specific TCP Rotation


in the newest API Version 1.10 i noticed a change in the RobotPositionCallback Interface which now uses PositionParameters to save Waypoints rather than jointpositions and pose which is now flagged as deprecated.

My Question is: how do i create Waypoints with PositionParameters manually?? (e.g. if i get Pose and JointPositions through rti socket )

Is there any Factory Interface i missed or is it missing?? :frowning:

Hi @m.birkholz,

I do not think it is there. Where exactly do you need an instance that is not the one passed to your callback , do you have any specific use case in mind?

Hi @Ebbe,

thanks for your reply. Our Use case is to save waypoints with a Tool IO which gets the waypoint data (pose and jointpositions) from the robot real time interface. There are also other urcap vendor products that work this way.

Therefore, a PositionParameters Facotory Interface is necessary to continue generating Waypoints this way.

Hi @m.birkholz,

Maybe I have missed something. But is your method for creating the Waypoint deprecated?

Hi @Ebbe,

no it’s not ( createFixedPositionConfig is now overloaded) but i guess the new MotionParameters (and the RobotPositionCallback2) finally fix an issue we have with false inverse kinematics when using API generated waypoints?

I have been in touch with the R&D team. And there is no factory for now. I am not sure if the new method will fix the inverse kinematics issue.

The Issue with the Kinematics is a wrong Pose Result after using the API Interface WaypointNodeFactory. This can be reproduced on the Ellipse Example as well as the integrated Palletizing Node with the Pick/Place Waypoint Assistent.

You can try the following to reproduce the bug:

  1. Setup a home pose with axis postions(deg) 0,-90,-90,-56.56,90,0 - the robot tool flange now points down to the base plane.

  2. move the robot to the home position and set the tcp orientation with the asisstant with this pose relative to the base plane - the output should sth like 1.88,-1.88,0.5676:

  3. set a tcp offset of about 300 mm to z

  4. select the ellipse urcap and program the center point to the home pose

  5. the the waypoint node should now display the wrong Pose: