# Mirroring a robot program

• Hello guys!

Any idea if i can create a mirroring program? I have two pieces ( left and right ) and i created the program for the left piece.

There is some kind of offset i can use?

Thx!

• Hi David_

Welcome to the robot forum

Try MENU, Utilities, Mirror image shift

I would try it first with a simple program

Retired but still helping

• You can try also the Uframe Offset : MENU/UTILITIES/FRAME OFFSET

Don't forget the rotation +180° of your Z (or else)

Good Luck

• Fabian Munoz mR.PCX

I tried something at work today but without success.

I have a few questions:

1) what points do i need to save for Source position and Destination position?

For source position i can save P[] or PR[] and for destination only PR[]

2) Insert line:

I insert the line where i want to start the mirroring?

And i have a problem with rotation as you warned me

What can i do?

• Hey there!

By my experience, Mirror Shift is somewhat a challenge to get.

To overcome that, I create a new frame with the same frame coordinates but 180° in the given axis. Then, frame offset to that new frame (with position conversion on) and then back to the original frame (with position conversion off).

Hope it helps!

• Can you be a little more specific please? I'm so noob :))

This can be a good solution for what i need.

• ** Be careful this IS NOT mirroring. It may or may not work, depending on what you want to achieve or need **

Lets suppose the USER Frame you're working has the following XYZWPR coordinates (1000; 1000; 1000; 0; 0; 0) and the frame number is 1.

If you change the z rotation to 180 (or another axis, depends on what you want), then your trajectory will change accordingly. Obviously, to be similar to mirroring, you may have to use a different angle.

What I said before, instead of changing frame coordinates directly, use a different tool number to avoid mixing the original frame.

1. Use e.g. frame number 2. Put it with the same coordinates as number 1 except the rotation in z (1000; 1000; 1000; 0; 0; 180).

2. Go Utilities - Frame offset. Execute with following setup.

Old frame: 1

New frame: 2

Convert position data: NO

Your new program ( is now converted to the new frame with the 180 degrees difference.

3. (Optional) If you want to keep using the original frame, then you need run a frame offset again.

Old frame: 2

New frame: 1

Convert: YES

About the conversion option. Without convert then the point positions will be applied directly in the new frame. So, new robot path.

If you convert, then the point positions will be converted so the robot will have the same path.