Hello,
First off, I am not a robot expert by any stretch of the imagination, so please forgive my ignorance!
I am working on a fixed mounted 3D vision guided application using a R2000iC/210F running a handling tool program. I've decided to create a fixed reference within the cameras Field of View, and teach the robot a User Frame (in this case, UF5) to the same origin point. From there the plan is to send X-Y coordinates to the robot for precise locating of parts.
Once I trained the camera and the robot user frame (3 point method) to the same point in space, I backed up the robot program and have been doing some offline testing in RoboGuide. But I've run into an issue that I don't fully understand, and was hoping for some help here.
I wanted to initially run the robot to the taught user frame origin, and followed other threads recommendations by setting the UFrame to a PR. The problem is I keep getting Position Not Reachable faults. Upon further investigation and reading other threads, I set all of the coordinate to 0,0,0,0,0,0 and tried jogging to that position while setting the robot's coordinate system to UF5 but still got the same issue.
So next I tried jogging the robot to the UF origin using the "Move To" function in the User Frame setup detail, then checked the robot's position in World vs User, and noticed that the w,p and r had values that I couldn't determine how they were calculated. Attached are the three sets of values for the same UF position. First SS shows the UF values from the UF setup screen, and below it the actual position in world when I drove the robot to that origin point. The 2nd screenshot shows this same position, but in User coordinates. I understand why the User X,Y,Z coordinates would be 0,0,0 because it's at the origin, but I don't understand w, p and r.
My primary issue is that I plan on giving people the ability to re-teach the robot this new origin by touching up the user frame origin if needed, but programatically I need to be able to ensure the w, p, r values reflect the new correct position that will be taught. I also need to be able to jog the robot to this origin programmatically in case anyone does have to change the origin. Can anyone help explain how I can translate the w, p, r values as shown in world for UF5 setup vs what they represent when I actually drive the robot to the origin, and show the positions in User?
One thing to note: I was also getting faults when attempting to write the UF to a PR, but it was because PR_CARTPREP was set to False. Set it to true and was able to get past that. Robot was taught the UF with this set to False. Not sure if this matters, just info for you experts in case it did!
Thanks!