RobotStudio event

How to arc along circular path

I am welding our product with abb robot and program.
Outdiameter of product is 1020mm so i divided teaching point with 24 points.
I get ArcC offset parameter through laser vision sensor.
But caculated path is not equal to our real product.
There are 2~3mm gaps in some position.
Is there any faults in programming?
Help me please.

below rapid program.

MoveJ Offs(p1,100,0,100), v1000, z50, EUNHO\WObj:=wobjSide;
ArcLStart Offs(p1,a1,b1,c1), speed1, seam1, Weld_No1_1UN\Weave:=weave1, fine, EUNHO\WObj:=wobjSide;
ArcC Offs(p2,a2,b2,c2), Offs(p3,a3,b3,c3), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p4,a4,b4,c4, Offs(p5,a5,b5,c5), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p6,a6,b6,c6), Offs(p07,a7,b7,c7), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p8,a8,b8,c8), Offs(p09,a9,b9,c9), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p10,a10,b10,c10), Offs(p11,a11,b11,c11), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p12,a12),b12),c12), Offs(p13,a13,b13,c13), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p14,a14,b14,c14), Offs(p15,a15,b15,c15), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p16,a16,b16,c16), Offs(p17,a17,b17,c17), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p18,a18,b18,c18), Offs(p19,a19,b19,c19), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p20,a20,b20,c20), Offs(p21,a21,b21,c21), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p22,a22,b22,c22), Offs(p23,a23,b23,c23), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcC Offs(p24,a24,b24,c24), Offs(p25,a1,b1,c1), v1000, seam1, Weld_No1_1UN\Weave:=weave1, z10, EUNHO\WObj:=wobjSide;
ArcLEnd Offs(p26,a1,b1,c1), v1000, seam1, Weld_No1_1UN\Weave:=weave3, fine, EUNHO\WObj:=wobjSide;
MoveJ Offs(p26,100,0,100), v1000, z50, EUNHO\WObj:=wobjSide;
MoveJ Offs(p26,500,0,500), v1000, z50, EUNHO\WObj:=wobjSide;


Comments

  • which sensor maker do you use? 
  • I use "Servo robot / i cube"
  • lemster68
    lemster68 ✭✭✭
    I see z10 is used, try smaller zone.  Also, I see a weave, maybe check into your weavedata.
    Lee Justice
  • lemster68
    lemster68 ✭✭✭
    Also, make sure that you have a really good TCP.
    Lee Justice
  • The welding path looks like a circle.  If so, you don't need to divide the path several sections.
    Only four points  are enough to make a circle. (ex. pCircle10, pCircle20, pCircle30, pCircle40) 
    Try to modify your RAPID code as follows. 
    ArcLStart pCircle10, ...
    ArcC pCircle20, pCircle30, ...
    ArcCEnd pCircle40, pCircle10, ... 
    As lemster68 mentioned, it is essential to reduce zonedata at the mid point and define an accurate TCP.
  • jewoo
    jewoo
    edited July 2020
    thanks for replys.

    Finally, I found a exact welding path.
    but I changed rapid programming.

     1. I used ArcL instead of ArcC despite circular path ( fixing welding tool, rotating additional 7-axis)
     2. used standard work object.

    then, problem is what weaving is not constant.
    for example, there is horizontal weaving in p1~p2, vertical weaving in p2~p3.
    so I changed weave data(dir_angle, tilt_angle, ori_angle) but there is same problem.
    please help me again.


  • I am having a similar problem.
    I have a 2 pipes which are coming into angle iron at different angles and my ArcC,s are not staying on path i programmes i have a lot of points. 
    Does Arcl would just as good??