RobotStudio event

Convert Robtarget to baseframe pose

guillaumebatun
edited February 2023 in RobotStudio
Hello,
I am using a vision system where I have a part mounted on a 2axis positioner.
I am getting the 3D coordinates of the part in one position of the positioner (say [axis1_a,axis2_a], but due to reacheability issues, I needed to rotate the positioner (say to position [axis1_b,axis2_b] (and the 3D position along with it) before the robot could perform its work on the workpiece. This works really simply because I have converted the 3D coordinates from the vision to be on a Wobj that rotates with the positioner. This part works without a problem.
The issue I am having is that I'd like to perform analytical safety checks on the final pose (after the rotation of the positioner) and ensure the vision system did not return bogus coordinates that would send the robot in a dangerous orientation (say, upside down).
I need to calculate the final position of the tool in world coordinates after the rotation of the positioner. In my program, I keep the same Robtarget from the vision system but simply change the external axis data and the controller recalculates where the robot should end up internally, except I see no simple way of getting where the robot ends up  in baseframe coordinates...
Any ideas?
Thanks

Answers

  • Hallo,
    you might use CRobT(\Tool:=tool1 \WObj:=wobj0) to get your current tool position into World.
    To do this in advance before the robot has reached this point use a combination of CalcJointT and CalcRobT. Both will reject operation if position is unreachable.