久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ABB機(jī)器人Socket與視覺通訊

 反恐精英禿鷲 2021-07-01

轉(zhuǎn)載請先后臺(tái)留言,,大家一起支持原創(chuàng),,推動(dòng)機(jī)器人使用和發(fā)展

本公眾號(hào)對各類ABB機(jī)器人應(yīng)用,仿真,,畢業(yè)設(shè)計(jì)提供技術(shù)支持,,詳細(xì)后臺(tái)留言

機(jī)器人與相機(jī)視覺通訊,主要包括:

1. socket通訊建立及收發(fā)數(shù)據(jù)

2. 數(shù)據(jù)關(guān)鍵信息的提取

3. 提取信息與機(jī)器人位置robtarget(或者工件坐標(biāo)系下的oframe)的轉(zhuǎn)化

一,、socket的創(chuàng)建

1)什么是socket通訊,?

就是TCP/IP通訊,無協(xié)議,,在微軟環(huán)境下稱為socket

2)socket通訊能干什么,?

可以收發(fā)制定的數(shù)據(jù),包括sting字符串,,byte數(shù)組等

3)創(chuàng)建socket機(jī)器人需要什么選項(xiàng),?

機(jī)器人需要616-1 PC-INTERFACE選項(xiàng)

圖片

4)socket通訊網(wǎng)線插哪個(gè)網(wǎng)口?

Service口(IP固定:192.168.125.1)或者Wan口都可以,(可以自己設(shè)置)

5)創(chuàng)建client端的實(shí)例

通常機(jī)器人和相機(jī)通訊,,機(jī)器人作為client端,。

1)新建一個(gè)機(jī)器人系統(tǒng),注意建立系統(tǒng)時(shí)加入pc-interface選項(xiàng)

圖片2)為了避免之前的連接沒有關(guān)閉,,先插入socketclose指令,,后面的socket1為自己新建的socketdev類型的變量

圖片3)之后插入創(chuàng)建連接socketCreate

4)插入建立連接SocketConnect,后面需要指定Serverip和端口,,如果是在電腦和另一臺(tái)虛擬控制器連接,,ip設(shè)為“127.0.0.1”,端口自定義,建議不要用默認(rèn)的1025.

這一步作用為機(jī)器人會(huì)和server建立連接,,如果沒有建立成功會(huì)一直等待,,如果成功則往下執(zhí)行

圖片5)此處做測試,在建立成功后,,插入TPWrite指令,,可以在示教器看到socketclinent connect successful

6)接下去可以收發(fā)數(shù)據(jù),此處示例為client先發(fā)送數(shù)據(jù)給server,,再接受server發(fā)送回來的數(shù)據(jù)

7)SocketSend后面可以發(fā)送string或者byte數(shù)組,,具體可以選擇不同可選變量

8)發(fā)送完畢后,,client接受到server發(fā)回的數(shù)據(jù)并寫屏

二、數(shù)據(jù)關(guān)鍵信息的提取

1)相機(jī)通常發(fā)送字符串給機(jī)器人,,比如”1.23,4.56,7.89\0D”,x1.23,,y4.56z的角度為7.89,,用\0D作為結(jié)束符,,數(shù)據(jù)之間用隔開,。

2)如果機(jī)器人收到上述字符串,,如何把字符串提取出來并付給變量deltaXdeltaY,,和thetaZ,?

3)建立若干num變量,用以存儲(chǔ)過程數(shù)據(jù),,比如StartBit1,,表示x的數(shù)據(jù)從第幾位開始,Endbit1表示x的數(shù)據(jù)結(jié)束是第幾位,,Lenbit1表示x數(shù)據(jù)的長度,,s1表示提取的x的值的字符串

4)

圖片

5)先假設(shè)x的第一位是1,給Startbit1賦值為1

6)插入函數(shù)strfind,查找第一個(gè),,在第幾位,,得到EndBit1

7)圖片

8)EndBit1減去StartBit1就是x的數(shù)據(jù)長度

9)同理得到ytheta的信息

圖片

10)通過StrPart函數(shù),提取從StartBit1開始到LenBit1結(jié)束的字符串,,即x的值的字符串

11)         

圖片

12) 同理得到yz的字符串

13)通過StrToVal函數(shù),,把s1轉(zhuǎn)為num型,付給delta_x, StrToVal函數(shù)的反饋值為bool量,,即轉(zhuǎn)換成功為true不成功為false

14)同理得到delta_ydelta_theta

15) 成功后可以寫屏測試,,如下圖

圖片

三、關(guān)鍵信息與點(diǎn)位數(shù)據(jù)的轉(zhuǎn)化

1)相機(jī)發(fā)過來的是xytheta,,我們已經(jīng)從字符串里提取出x,ytheta值了,,但是機(jī)器人點(diǎn)位robtarget里組成的是transxyz以及rotq1-q4

2)ABB機(jī)器人用四元數(shù)表示角度,,如何轉(zhuǎn)化角度到四元數(shù),?

3)新建一個(gè)routine

圖片

4)Target_10_ini為之前在坐標(biāo)系workobjec_1下示教的點(diǎn)位,通常這個(gè)點(diǎn)位都是這個(gè)坐標(biāo)系下的0,0,0,,即在坐標(biāo)系0點(diǎn),。

5)Workobject_1坐標(biāo)系和相機(jī)里的坐標(biāo)系一致(相機(jī)可以通過棋盤格標(biāo)定紙標(biāo)定)

6)程序走的點(diǎn)位Target_10,,注意存儲(chǔ)類型為變量VAR,,否則不能賦值

7)新建num變量or_x,,or_y,or_z,表示原來點(diǎn)Target_10的姿態(tài)ABC數(shù)據(jù),。

8)通過函數(shù)eulerzyx得到角度,,每次只能得到一個(gè)角度

9)

圖片

10)   反斜杠\X  如下得到

11)                     

圖片

12) 把相機(jī)發(fā)來的xy的偏量賦給target_10xy

13)  把相機(jī)發(fā)來的theta角度加給原來or_z角度,得到新的z方向角度

14)通過orientzyx函數(shù),,把or_x,,or_yor_z三個(gè)角度重新轉(zhuǎn)化為Target_10的姿態(tài)四元數(shù)

15)  最后就得到了新的target_10位置和姿態(tài),。

四,、關(guān)鍵信息與坐標(biāo)系的轉(zhuǎn)化

1)以上方法主要針對僅需調(diào)整一個(gè)目標(biāo)點(diǎn),若有很多目標(biāo)或者軌跡,,如何調(diào)整,?  

2)由于通常點(diǎn)位相對于坐標(biāo)系關(guān)系不變, 通過相機(jī)尋找物體特征點(diǎn)并調(diào)整工件坐標(biāo)系的oframe為常見做法,,具體方法參考上文 三),。詳解待后續(xù)文章介紹圖片

圖片

圖片

E為工件坐標(biāo)系的Uframe,通常和相機(jī)坐標(biāo)系的0點(diǎn)對齊

F為工件坐標(biāo)系的Oframe,,即相機(jī)得到目標(biāo)特征點(diǎn)的位置

圖片

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多