Posts by stephen127

    Hi all,


    I have an application that needs to grind the internal surface of a pipe. The pipe often has certain level of ovality that we would like the ABB robot to compensate for? Is this an application that is feasible with ABB Force Control (FC)? If so, would it be FC Pressure or FC Speed Change mode? Thanks!


    Regards,

    Stephen

    I am trying to understand the logic of palletizing function and copied this sample code from a topic posted 3 years earlier.


    My questions are:


    1. What's the difference of P[1,1,1] and P[BTM] in the palletizing configuration section? I thought in the beginning, these two points should be the same when the palletizing was initially set up.


    2. Does PAL_1[BTM] automatically loop through all the points of locations governed by ROW, COLUMN and LAYER? I did not see any loop function in the main body and wonder how all the points can be reached?


    Thanks!



    /PROG O1050
    /ATTR
    OWNER = MNEDITOR;
    COMMENT = "PL[1]_Load1";
    PROG_SIZE = 1792;
    CREATE = DATE 14-10-27 TIME 18:30:28;
    MODIFIED = DATE 16-09-02 TIME 15:06:02;
    FILE_NAME = ;
    VERSION = 0;
    LINE_COUNT = 27;
    MEMORY_SIZE = 2212;
    PROTECT = READ_WRITE;
    TCD: STACK_SIZE = 0,
    TASK_PRIORITY = 50,
    TIME_SLICE = 0,
    BUSY_LAMP_OFF = 0,
    ABORT_REQUEST = 0,
    PAUSE_REQUEST = 0;
    DEFAULT_GROUP = 1,*,*,*,*;
    CONTROL_CODE = 00000000 00000000;
    /APPL
    Palletizing[1];
    CONFIG:
    PALLETIZING-B_1 "1" ;
    TYPE = PALLET ;
    INCR = 1 ;
    PAL REG = 1 ;
    ORDER = RCL ;
    ROWS = [7] ;
    COLUMNS = [5] ;
    LAYERS = [1] ;
    AUXILIARY POS = [NO ] ;
    APPR = 1 ;
    RTRT = 1 ;
    BOTTOM:
    P [1,1,1]{
    GP1:
    UF : 0, UT : 1, CONFIG : 'F U T, 0, 0, 1',
    X = 769.761 mm, Y = -501.843 mm, Z = 83.783 mm,
    W = -89.662 deg, P = 1.547 deg, R = -144.483 deg
    };
    P [7,1,1]{
    GP1:
    UF : 0, UT : 1, CONFIG : 'F U T, 0, 0, 1',
    X = 512.812 mm, Y = -146.700 mm, Z = 83.590 mm,
    W = -89.659 deg, P = 1.548 deg, R = -144.483 deg
    };
    P [1,5,1]{
    GP1:
    UF : 0, UT : 1, CONFIG : 'F U T, 0, 0, 1',
    X = 555.883 mm, Y = -656.656 mm, Z = 83.620 mm,
    W = -89.659 deg, P = 1.548 deg, R = -144.483 deg
    };
    ROUTE:
    P [A_1]{
    GP1:
    UF : 0, UT : 1, CONFIG : 'F U T, 0, 0, 1',
    X = 769.717 mm, Y = -501.841 mm, Z = 125.534 mm,
    W = -89.659 deg, P = 1.548 deg, R = -144.483 deg
    };
    P [BTM]{
    GP1:
    UF : 0, UT : 1, CONFIG : 'F U T, 0, 0, 1',
    X = 769.759 mm, Y = -501.840 mm, Z = 83.839 mm,
    W = -89.659 deg, P = 1.548 deg, R = -144.483 deg
    };
    P [R_1]{
    GP1:
    UF : 0, UT : 1, CONFIG : 'F U T, 0, 0, 1',
    X = 769.717 mm, Y = -501.841 mm, Z = 125.534 mm,
    W = -89.659 deg, P = 1.548 deg, R = -144.483 deg
    };
    /APPL
    /MN
    1: !*******************************! ;
    2: !-------------------------------! ;
    3: !--------Drawer1 Loading--------! ;
    4: !----------PL[1] TOP1-----------! ;
    5: !-------------------------------! ;
    6: !*******************************! ;
    7: UFRAME_NUM=0 ;
    8: UTOOL_NUM=1 ;
    9:J P[1] 50% CNT50 ;
    10: ;
    11: LBL[200] ;
    12: UFRAME_NUM=5 ;
    13: UTOOL_NUM=1 ;
    14: CALL O9992 ;
    15: PALLETIZING-B_1 ;
    16:L PAL_1[A_1] 1000mm/sec FINE ;
    17:L PAL_1[BTM] 800mm/sec FINE Offset,PR[50] ;
    18: CALL HAND1CLOSE(1) ;
    19:L PAL_1[R_1] 1000mm/sec FINE ;
    20: PALLETIZING-END_1 ;
    21: R[15]=R[15]+1 ;
    22: IF R[18]>=R[17],CALL O9999(40) ;
    23: IF (F[10:OFF]),JMP LBL[200] ;
    24: ;
    25: UFRAME_NUM=0 ;
    26: UTOOL_NUM=1 ;
    27: END ;
    /POS
    P[1]{
    GP1:
    UF : 0, UT : 1, CONFIG : 'F U T, 0, 0, 1',
    X = 262.411 mm, Y = -323.818 mm, Z = 222.908 mm,
    W = -88.866 deg, P = -.408 deg, R = -144.084 deg
    };
    /END

    Hi, I have the following code to achieve a circular search only in R direction. I am trying to understand how CNT works in the condition. Where does the robot stops and rewind from the positive R direction? Will it be able to scan the entire 5 degree and then rewind or it scans 4 degree and then rewind? Thanks!


    1: PR[1,6: Inc] = 5 ;
    2:L PR[1:Inc] 3deg/sec CNT50 INC
    3: PR[1,6: Inc] = -2 ;
    4:L PR[6:Inc] 5deg/sec FINE INC

    Here is a simple picture to show what I am trying to do from a cross section view. I want to the robot to record its LPOS once the laser beam sees the OD change of the pipe when it comes to the hole. Then the robot can finish the corresponding job using this recorded LPOS.


    I did not use the circular movement as I did not know there the hole was and I couldn't set the ending point of the circle. So I was using the linear movement to search for the hole in a "continuously" incremental motion.




    I am trying to visualize what you are doing; a picture would be helpful. But if I understand correctly you have a laser on the robot and you are wanting to search concentrically around the pipe? If so, why not use the circular movement instruction instead of the Linear movement?


    Also, have you verified that the laser is capable of sensing this by moving it around by hand? Sometimes laser sensors have false readings when shooting into a small hole or channel. Another possibility would be an issue with your sensor orientation. Typically the laser needs to be perpendicular to the search direction, not parallel, so the emitter and receiver "fall off" at the same time.

    Thank you for correcting me on this command!


    I tried to reverse my logic about wrongfully using the SKIP command. But it did not resolve the issue. I guess my main issue is now the rotational motion about the pipe. So I am doing a FOR loop for the following motion, where PR[1] = [0, 0, 0, 0, 0, 5]


    L PR[1] 3deg/sec CNT50 INC Skip, LBL[100]


    then I rewind the robot with PR[1] = [0, 0, 0, 0, 0, -2]


    L PR[1] 3deg/sec CNT50 INC Skip, LBL[100]


    so that there is a small overlap for each single search and I won't miss the edge of hole.


    I am not sure why this logic works sometime but does not work for most of the time.



    Yes the robot stops when the skip condition is made, but you have it backwards. When the condition is made it stops then "skips" to the next line of code. If the motion completes and the condition is never met it will jump to the label.


    Also you probably want the quick skip command, SKIP LBL[] PR[]. This automatically records LPOS into the specified PR with higher accuracy.


    Quick skip is limited to a max speed of 100 mm/s. But you should go slower for better accuracy.

    I guess my question is that if the robot has to finish the current motion when the SKIP condition is met. For instance, if I am doing the continuous cursive search from point A to B, the SKIP condition is met somewhere in the middle, does the robot stop the current motion and jump the label defined by SKIP or it has to move to B first and then jump to the label defined by SKIP?

    I was using a SKIP condition for this. I guess the issue I have is that the laser sensor can only detect the edge of the hole. And that signal cannot be captured reliably. Because of the recursive motion of robot, 5 degree advance and 2 degree back off, sometime, it will just miss the signal. I tried smaller search angle, i.e., 3 degree, as a search step, still had reliability issue.


    I wonder if i should just do a continuous motion.

    I have an application that I need the robot to search for a hole on a pipe in the circular direction using a laser sensor. The pipe does not move though. All the motion comes from the robot.


    Currently, the robot advances 5 degree and back off 2 degree while searching for the hole. Once the laser sensor sees the hole and trigger the I/O, the search stops and the robot records LPOS for this hole.


    My problem is that this searching code is not reliable. Often, I cannot find or miss the hole position.


    Has anyone designed such a searching algorithm before or has better way to realize this application? Thanks!

    Hello,


    I recently have an application that needs to use the EGM, External Guided Motion. However, I could not find a manual for EGM to help start with the application. Could anyone help me with the manual or point me a direction about where to start?


    Thank you so much!

    Hello,


    I am trying to understand if there are general rules for designing the factory acceptance tests (FATs). Other than process related operations, are there common things that must be included in the FATs in general?


    Also, sometime the foundation have to be reinforced for some robotics applications based on the weight and speed. Is there a rough calculation on the depth of the reinforced foundation? Or how I do know when to consider the foundation factor?


    Thank you so much!

    Currently, we have several system integrators are bidding our project. We never worked with these system integrators. Is there a standard process that can help us audit their competency? Any audit question list that I can follow and check? Thanks!