Robot not maintaining Z position during MoveL between points

rakshithb174rakshithb174 United States
edited March 11 in Robot Controller
Hello,

I have noticed that the robot Z co-ordinates (displayed on the teach pendant) vary quite a lot from the programmed position. My program consists of series of TriggL and MoveL statements with same Z co-ordinates but different X-Y co-ordinates (all linear moves are done in the same X-Y plane).

Here is snapshot of my code:

MoveL [[44.043,104.280,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z0,R3DP_Tool,\WObj:=BedOrigin;

TriggL [[45.000,104.206,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,robvel,z0,R3DP_Tool,\WObj:=BedOrigin;

MoveL [[45.000,104.206,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z0,R3DP_Tool,\WObj:=BedOrigin;

TriggL [[210.006,104.206,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,robvel,z0,R3DP_Tool,\WObj:=BedOrigin;

MoveL [[210.006,104.206,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z0,R3DP_Tool,\WObj:=BedOrigin;

TriggL [[211.207,104.323,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,robvel,z0,R3DP_Tool,\WObj:=BedOrigin;

MoveL [[211.207,104.323,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z0,R3DP_Tool,\WObj:=BedOrigin;

TriggL [[212.370,104.670,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,0,3,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,robvel,z0,R3DP_Tool,\WObj:=BedOrigin;

MoveL [[212.370,104.670,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,0,3,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z0,R3DP_Tool,\WObj:=BedOrigin;

TriggL [[213.444,105.232,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,robvel,z0,R3DP_Tool,\WObj:=BedOrigin;

MoveL [[213.444,105.232,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z0,R3DP_Tool,\WObj:=BedOrigin;

TriggL [[214.386,105.987,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,robvel,z0,R3DP_Tool,\WObj:=BedOrigin;

MoveL [[214.386,105.987,0.200],[0.00000000,0.00000000,1.00000000,0.00000000],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z0,R3DP_Tool,\WObj:=BedOrigin;


I am using zone 0 (z0) in all the moves. I don't want to use fine since robot comes to a complete stop. If the programmed Z height is 1.60 mm from Wobj, I am observing deviations as much as 1.50 to 1.70 mm. 

Link to video-1 (Programmed Z Height: 1.60 mm): https://vimeo.com/user109562193/review/397067732/c79deb907c

Link to video-2 (Programmed Z Height: 3.20 mm): https://vimeo.com/user109562193/review/397067739/722d793823                         


Is this deviation normal for zone 0? Can it be improved?

Comments

  • graemepaulingraemepaulin New Zealand ✭✭✭
    Is the robot calibrated correctly?
    Is the tool and any payload defined correctly?

    It appears from your code that the z co-ordinate has been manually entered (as all robtargets have exactly the same z value)?
    Robots are repeatable not accurate so you will get deviation when you manually enter potions/robtargets as opposed to teaching them.
    There is an option called absolute accuracy that improves the accuracy of the robot.
  • rakshithb174rakshithb174 United States
    Is the robot calibrated correctly?
    We upgraded to IRC5 from S4C in 2018 and our robot arm (IRB 140) was also serviced at that time. I believe this was calibrated at the factory before shipping. Is there a way to verify this?

    Is the tool and any payload defined correctly?

    This is the tool declaration: 
    ! Tool declaration
    PERS tooldata R3DP_Tool := [TRUE,[[71.200,43.500,34.111],[0.50000000,0.50000000,0.50000000,0.50000000]],[1.000,[0.000,0.000,20.000],[1.00000000,0.00000000,0.00000000,0.00000000],0.000,0.000,0.005]];

    I think i have the weight accurate. I can re-check this by weighing it. How to find the center of gravity of the tool? 


    It appears from your code that the z co-ordinate has been manually entered (as all robtargets have exactly the same z value)?
    Yes. The RAPID code is generated from a g-Code file. There are lot of X/Y moves in the same Z plane. The robtargets are not manually entered. They are obtained from the g-Code file. Usually there are a lot of robtargets with same Z value but different X/Y values. 

    Robots are repeatable not accurate so you will get deviation when you manually enter potions/robtargets as opposed to teaching them.
    The robtargets are programmed points. 

    There is an option called absolute accuracy that improves the accuracy of the robot.
    Is this a hardware option or software? 

  • graemepaulingraemepaulin New Zealand ✭✭✭
    To check the calibration jog the robot so all axis are exactly at 0°, or use a moveabsj command to send the robot there.
    All the calibration marks should line up exactly.

    Use the LoadID function to determine the center of Gravity.

    Absolute accuracy is a correction table that is built at the factory using a laser measurement system.
    Last I heard it could be added in the field but would be expensive as an technician and equipment has to be sent out from the factory.
Sign In or Register to comment.