日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab和robotstudio,MATLAB与Robotstudio建立socket通信(初探)

發布時間:2024/9/27 循环神经网络 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab和robotstudio,MATLAB与Robotstudio建立socket通信(初探) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前記:

聽一首《不想病》,歌詞唱開頭:做什么都不對,說什么都浪費,想什么我都可悲....;感覺就是不一樣,好歌!哎,,,回到正題。好多事要去做,還得擠時間去玩,,,可悲啊 :D 。這里記錄一下MATLAB與Robotstudio建立簡單socket的例子。至于建立通訊的意義何在,暫時不能深入探究(我想最重要的聯合仿真時的數據傳遞,MATLAB對數據進行分析類似的吧)。

附:在建立通信之前,MATLAB必須保證安裝有能進行TIP/IP通信的Instrument Control Toolbox,然后就是Robotstudio創建了系統和對應通訊的Rapid程序,MATLAB作為client,RS最為server。

1、建立Robotstudio方機器人系統和Rapid程序。

1)打開RS,界面左上角基本--->ABB模型庫--->拖入機器人--->從布局建立系統--->一直點擊下一步--->直到有選項--->在添加選項里加入616-1 PC interface--->完成--->等待控制器狀態變綠。

2)點擊RAPID,在模塊中建立程序,如下:

3)rapid程序如下:

MODULE moudle1

!define variables

VAR socketdev server;

VAR socketdev client;

VAR string message;

VAR string string1:="";

VAR string string2{3}:=["","",""];

VAR num pass:=0;

VAR num X:=0;

VAR num Y:=0;

VAR num Rz:=0;

VAR bool flag1:=FALSE;

VAR rawbytes data;

CONST robtarget p10:=[[0,0,23.72],[0.00796547,0.908649,0.417482,0.0017992],[0,-1,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

TASK PERS tooldata toolxi:=[TRUE,[[0,0,0],[1,0,0,0]],[-1,[0,0,0],[1,0,0,0],0,0,0]];

PROC main()

a:

!create communication

SocketCreate server;

SocketBind server,"127.0.0.1",55000;

SocketListen server;

SocketAccept server,client;

!send a meassage to the client

SocketSend client,\Str:="Hello client";

!receive a message from the client

SocketReceive client,\Str:=string1;

UnpackRawBytes data ,1,message,\ASCII:=15;

!close cmmunication

SocketClose server;

TPErase;

TPWrite string1;

WaitTime 4;

string2{1}:=StrPart(string1,1,1);

string2{2}:=StrPart(string1,2,8);

string2{3}:=StrPart(string1,2,8);

flag1:=StrToVal(string2{1},pass);

flag1:=StrToVal(string2{2},X);

flag1:=StrToVal(string2{3},Y);

IF pass = 1 AND flag1 THEN

MoveL Offs(p10,X,Y,15), v1000, fine, toolxi;

MoveL Offs(p10,X,Y,0), v1000, fine, toolxi;

WaitTime 0.5;

MoveL Offs(p10,X,Y,15), v1000, z50, toolxi;

ELSE

TPWrite "failed to get the data";

waittime 2;

GOTO a;

ENDIF

ENDPROC

ENDMODULE

2、MATLAB端程序

%%socket communication with robotstudio

tc=tcpip('127.0.0.1',55000);

%open the communication

fopen(tc);

%recive a message from the robotstudio

message=fread(tc);

%send a message to the robotstudio

fwrite(tc,'12345678921234567');

3、點擊RS運行后程序指針在?22 行SocketAccept server,client;,處等待運行MATLAB程序,點擊MATLAB的m文件RUN等待一會兒通信建立,并且出現如下顯示:

1)機器人示教器上tpwrite寫屏指令寫出MATLAB發來的數字。

2)MATLAB端:

如此數據發送通訊完成。

4、后記

在實際應用中,通訊數據互相傳遞的過程不像上述;必須要根據實際所需傳遞正確的數據類型、數據類型轉換、格式變化和收發等設置(在程序中加入while循環,保持持續數據的傳遞----這部分會在后續記錄上)。在rapid程序中可以查看string1=12345678921234567(鼠標放在上面就顯示了),通過StrPart和StrToVal指令將其分割轉換成‘1’,‘23456789’,‘21234567’如下也可以在示教器中查看程序數據。同時X,Y的值也改變了。而接下來需要解決的就是MATLAB發送‘有用的數據’,以便用于控制機器人在工作區間運動,否則機器人運動報錯(報錯如最下)。

總結

以上是生活随笔為你收集整理的matlab和robotstudio,MATLAB与Robotstudio建立socket通信(初探)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。