Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Postprocesor Output Based On A Reference Frame

Is there a way that i can make the post output my positions based on a reference frame instead of its Global positions, like using a G54 on a CNC
RoboDK automatically exports all movements as targets with respect to their reference frame (or the active reference frame). There are some exceptions such as the default Motoman post processor (which exports targets in joint pulses by default) and the G-code NCP post which applies the reference frame transformation to the target.

You should handle reference frames in the "setFrame" call of the post processor. Most post processors output program code when changing the reference frame, some posts keep the pose of the reference frame and pre-multiply all Cartesian targets by the reference frame pose (such as the Nachi or OTC post processors).
Thanks for the response Albert. So in my post, i found the function setFrame. i'm not sure what i have to do here to make this work. i want the point to be output using Frame 2 as the reference frame

 def setFrame(self, pose, frame_id=None, frame_name=None):
        """Change the robot reference frame"""
        # the reference frame is not needed if we use joint space for joint and linear movements
        # the reference frame is also not needed if we use cartesian moves with respect to the robot base frame
        # the cartesian targets must be pre-multiplied by the active reference frame
        self.REF_FRAME = pose    
        self.addline('# set_reference(%s)' % pose_2_str(pose))
Are you using Universal Robots?
UR is also another exception.
I believe they dropped support regarding the set reference command on the latest versions.
Yes, we are using UR10e
Hi Albert,
I have the same question here. I am using Kuka CNC.
I just got back to your question about the KUKA CNC post processor here:

Users browsing this thread:
1 Guest(s)