建立属于自己的原创信息品牌站 了解企业站
返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 订阅邮件
  • 【ABB】情人节来了,ABB机器人写了一首情诗送给你

    发布时间:2020年02月14日

    只需要打字输入内容,自动转化为各种好看的手写体,ABB机器人就会替你写~~


    今天又是特殊的日子,大家有没有带起送花送情诗呢?

    比如下面这束花,大概是价值千金吧~

    在这个特殊的日子,机器人也写了首情诗,送给大家(情诗作者:徐志摩),习惯了有你,如果没有你,生活还有什么意义呢?一切都加油!!!

    可以通过很多现成软件,将文字转化为G代码(很多软件也可以模仿你的手写体),机器人读取G代码,撰写好看的情书,送给心上人。

    以下为一段G代码举例

    G21

    G90

    S1000

    F3000

    G0Z0

    M5

    G4 P0.2

    G0 X33.229999542Y-30.100006104//快速移动到起点

    M3S1000 //主轴转动,对应写字机器人的下压

    G4 P0.2//等待0.2s

    G1 X33.867343903Y-29.832427979 //直线移动到该点

    G1 X34.590003967Y-29.309997559 //直线移动到该点

    M5 //主轴停止,写字机器人抬笔

    G4 P0.2

    G0 X34.290000916Y-28.149993896

    M3S1000

    G4 P0.2

    G1 X34.320003510Y-28.661743164

    G1 X34.265762329Y-29.248168945

    G1 X33.940002441Y-30.809997559

    M5

    G4 P0.2

    G0 X31.800001144Y-31.890014648

    M3S1000

    G4 P0.2


    对应上述G代码,可以编写如下机器人读取代码进行转化,将xy位置记录入数组。

     FOR i FROM 1 TO 7 DO

                stmp:=ReadStr(iodev1);

            ENDFOR

            !linenum : total line numbers

            !ppline{}: point numbers in each line

            !

            count:=1;

            linenum:=0;

            WHILE stmp<>EOF DO

                stmp:=ReadStr(iodev1);

                s_gode:=StrPart(stmp,1,2);

                TEST s_gode

                CASE "G0":

                    linenum:=linenum+1;

                    IF StrPart(stmp,1,5)<>"G0 X0" then

                     ppline{linenum}:=ppline{linenum}+1;

                    s_x:=StrPart(stmp,5,5);

                    s_y:=StrPart(stmp,StrFind(stmp,1,"Y")+1,5);

                    flag1:=StrToVal(s_x,pointx{count});

                    flag1:=StrToVal(s_y,pointy{count});

                    count:=count+1;

                    ENDIF

                CASE "G1":

                    ppline{linenum}:=ppline{linenum}+1;

                    s_x:=StrPart(stmp,5,5);

                    s_y:=StrPart(stmp,StrFind(stmp,1,"Y")+1,5);

                    flag1:=StrToVal(s_x,pointx{count});

                    flag1:=StrToVal(s_y,pointy{count});

                    count:=count+1;

                ENDTEST

            ENDWHILE

            linenum:=linenum-1;

           Close iodev1;

    机器人执行如下代码,进行写字

        SingArea\Wrist;

            ConfL\Off;

            FOR i FROM 1 TO linenum DO

            ! linenum为线条总数量

                p30.trans.x:=pointx{count}*ratio;

                p30.trans.y:=pointy{count}*ratio;

                p30.trans.z:=10;

                MoveL p30,v500,fine,tool20\WObj:=wobj20;

                 p30.trans.z:=0;

                MoveL p30,v500,fine,tool20\WObj:=wobj20;

                set do0;

                FOR j FROM count TO ppline{i}+count-1 DO

                !每一条线内点的个数

                    reg1:=j;

                    p30.trans.x:=pointx{j}*ratio;

                    p30.trans.y:=pointy{j}*ratio;

                    p30.trans.z:=0;

                    MoveL p30,v500,z10,tool20\WObj:=wobj20;

                ENDFOR

                MoveL p30,v500,fine,tool20\WObj:=wobj20;

                reset do0;

                p30.trans.z:=10;

                MoveL p30,v500,z10,tool20\WObj:=wobj20;

                count:=count+ppline{i};

            ENDFOR

            p30.trans.z:=50;

            MoveL p30,v500,fine,tool20\WObj:=wobj20;

  • 获取验证码