# Nachi Robot Offset Move

• Hey guys,

I am workin with my first nachi robot and am looking to write an offset program. Normally when programming robots I will read in my current position, then apply either apply a set z height that I know is clear to the current position or apply a static z offset. Then go to the same position that it was left at (random position in travel) then apply the offset and it will move up to a safe height, then from there it can go home. What does this look like in nachi? I am currently attempting to do this using XYZ shift FN58 but even with it all being linear moves when I apply the shift the robot will move up but it doesnt maintain the pitch/roll It moves the TCP straight up, but also rolls it quite a bit. I have tried this using world and TCP frames. Please let me know if you have any suggestions.

Thanks,

Kevin

• Example to Home the robot as below

Code
``````DIM Position[2] As POSITION 'FN801-DEFINE Variable Position
MOVEX A=1,AC=0,SM=0,M1J,P,P*,R=20.0,H=2,MS 'Move to Current position
GETPOS 0,1,Position[1],0,1 ' USE FN 822 -Get Current Machine cordinate position
OPEPOS 0,Position[1],V1!,0,0' USE FN 826- Extract X,Y,Z,Roll,pitch,yaw into real variables V1 to V6``````

Current position of (Z) available in V3!.You can then use IF statements to compare V3! and then MOVE robot safely to Home

• Example to Home the robot as below

Code
``````DIM Position[2] As POSITION 'FN801-DEFINE Variable Position
MOVEX A=1,AC=0,SM=0,M1J,P,P*,R=20.0,H=2,MS 'Move to Current position
GETPOS 0,1,Position[1],0,1 ' USE FN 822 -Get Current Machine cordinate position
OPEPOS 0,Position[1],V1!,0,0' USE FN 826- Extract X,Y,Z,Roll,pitch,yaw into real variables V1 to V6``````

Current position of (Z) available in V3!.You can then use IF statements to compare V3! and then MOVE robot safely to Home

I am a little confused by this. I am not exactly sure what the movex does. If in my case I would try to move to a z of a fixed 500 how would I do the final move with the current position applied? I think I need 1 more line but am struggling with getting it working.

• Above ASCII code need to be compiled

MOVEX and Pose file details are available in the Robot Language Manual.

• Hi BSRR,

Thanks for the code above. I appreciate you taking the time to help out.

I don't have the manual that describes those functions in your sample code above. Would you be able to list the variables and what they do for the functions below? Also is there a manual that lists and describes all of these functions. I have the handling and robot language manuals.

DIM

GETPOS

OPEPOS

POS2POSE

• DIM

GETPOS

OPEPOS

POS2POSE

The above Function descriptions are available in the Command reference manual TFDEN-092

• I Find this

FN801 - DIM

FN645 - MOVEX

FN310 - INH

FN822 - GETPOS

FN826 - OPEPOS