小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ABB機器人如何解析機器視覺主機發(fā)送的坐標數(shù)據(jù)

 反恐精英禿鷲 2019-11-18

引言:一般機器人與視覺主機配合實現(xiàn)抓取或放置時,由視覺主機拍照定位,然后發(fā)出機械坐標的偏差值給機器人,一般會存在X方向的偏差,Y方向的偏差,和角度的偏差,故視覺主機發(fā)出是一串字符串,字符串中包含X,Y ,A,   在機器人接收到之后,需要解析,把字符串解析成數(shù)字然后再加到坐標點中去 ,X,Y可以直接加到坐標中去,角度不能直接加到坐標中,需要轉換成機器人的4要素才能相相。

MODULE gaowei

    RECORD code  !建立一個名為code的自定義數(shù)據(jù)結構

        num x; !定義數(shù)據(jù)數(shù)字類型,變量名為x

        num y; !定義數(shù)據(jù)數(shù)字類型,變量名為y

        num a; !定義數(shù)據(jù)數(shù)字類型,變量名為a

 ENDRECORD

VAR code message;  !定義類型為code的message的變量名

VAR string receive_string; !定義接收到的變量名

 PROC main()

Var num x;

Var num y;

Var num a;

                 WHILE true DO 

    receive_string:=“10.2,15.5,30.4,”; !給變量賦坐標初值

!假定視覺發(fā)來的數(shù)據(jù)是X軸偏移10.2  Y軸偏侈15.5,角度偏移30.4

message:=Analysis(receive_string);  

!調用數(shù)據(jù)解析功能塊,填入坐標數(shù)據(jù)據(jù),用message來接收

            x:=message.x;  

            y:=message.y;

            a:=message.a;

    TPWrite ''\Num:=x;

           TPWrite ''\Num:=y;

           TPWrite ''\Num:=a;

           stop;

        ENDWHILE

ENDPROC

!建立一個返回數(shù)據(jù)類型為code的功能塊,傳入變量是視覺主機發(fā)送的位置及角度數(shù)據(jù);

此功能塊為封裝之后的,所以朋友們可以直接調用,

 FUNC code Analysis(string received_string)

        VAR code message;

        VAR string Pos_Str{3};

        VAR num m:=1;

        VAR num n_arr:=1;

VAR bool bOK:=FALSE;

 FOR i FROM 1 TO StrLen(received_string) DO

 IF StrMemb(received_string,i,',') THEN

  Pos_Str{n_arr}:=StrPart(received_string,m,i-m);

  m:=i+1;

  n_arr:=n_arr+1;

            ENDIF

        ENDFOR

        bOK:=StrToVal(Pos_Str{1},message.x);

        bOK:=StrToVal(Pos_Str{2},message.y);

        bOK:=StrToVal(Pos_Str{3},message.a);

        received_string:='';

        RETURN message;

    ENDFUNC

ENDMODULE

運行效果圖:



    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多