How to arc along circular path

jewoojewoo South Korea
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

  • Seunghyun_KSeunghyun_K Republic of Korea
    which sensor maker do you use? 
  • jewoojewoo South Korea
    I use "Servo robot / i cube"
  • lemster68lemster68 United States ✭✭✭
    I see z10 is used, try smaller zone.  Also, I see a weave, maybe check into your weavedata.
    Lee Justice
  • lemster68lemster68 United States ✭✭✭
    Also, make sure that you have a really good TCP.
    Lee Justice
  • innebandyinnebandy Korea, South ✭✭
    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.
Sign In or Register to comment.