技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術頻道 > 技術百科 > 基于TCP/IP的七自由度機械臂遠程控制

基于TCP/IP的七自由度機械臂遠程控制

時間:2008-10-22 09:53:00來源:ronggang

導語:?針對七自由度機械臂遠程控制的需要,構建了基于TCP/IP網(wǎng)絡的控制系統(tǒng)。首先通過設計單片機系統(tǒng)實現(xiàn)本地端控制
摘 要:針對七自由度機械臂遠程控制的需要,構建了基于TCP/IP網(wǎng)絡的控制系統(tǒng)。首先通過設計單片機系統(tǒng)實現(xiàn)本地端控制,然后運用WinSockets類創(chuàng)建基于TCP/IP的遠程控制程序,使連接在Internet網(wǎng)絡上的任意客戶端均可實現(xiàn)對機械臂的遠程控制。結合視頻網(wǎng)絡服務器,實現(xiàn)了對機械臂的實時監(jiān)控操作。 關鍵詞:機械臂;TCP/IP;遠程控制;視頻服務器 Abstract: A tele-control system for a 7-dof robot arm based on TCP/IP network is created. AVR singlechip is adopted to build a local control system. In order to link clients and the server in the Internet web, WinSockets class is applied to program using Visual c++. It is convenience to real-time observe tele-operation combined with video network server. KeyWords: Robot arm; TCP/IP; Tele-control; video network server   Rhino XR-2機器人[1]是一個典型的機電一體化產(chǎn)品,它模擬人的上肢,肩關節(jié)可從-45到+135度旋轉;肘關節(jié)可從-135到90 度旋轉;手腕可以上下90度旋轉,左右170度旋轉,是一個具有7個自由度的機械臂系統(tǒng)。通過適當調節(jié)各關節(jié),該機器人能夠從指定位置抓取較小物體。為了實現(xiàn)遠程控制,構建了基于TCP/IP網(wǎng)絡的七自由度機械臂遠程控制系統(tǒng),如圖1所示。通過該系統(tǒng),連接在Internet網(wǎng)絡上的任意客戶端均可登錄指定服務器獲取操作權限實現(xiàn)對七自由度機械臂的遠程控制,并通過視頻網(wǎng)絡服務器實時監(jiān)控機械臂操作結果。 [align=center] 圖1 七自由度機械臂遠程控制系統(tǒng)[/align] 1.本地端控制系統(tǒng)設計   首先設計本地端控制器,由于每個關節(jié)單獨由一個Brevel電機驅動,因此只要在本地端實現(xiàn)對各個電機的單獨控制包括啟動、停止、調速即可。   1.1基于 ZLG7289B的本地控制   ZLG7289B[2] 是周立功單片機發(fā)展有限公司自行設計的數(shù)碼管顯示驅動及鍵盤掃描管理芯片,可直接驅動8 位共陰式數(shù)碼管(或64 只獨立LED),同時還可以掃描管理多達64 只按鍵。ZLG7289B 內(nèi)部含有顯示譯碼器,可直接接收BCD 碼或16 進制碼,并同時具有2 種譯碼方式。ZLG7289B 采用SPI 串行總線與微控制器接口,僅占用少數(shù)幾根I/O 口線。   本例中采用AVRmega128單片機作為微控制器,通過ZLG7289B實現(xiàn)對鍵盤的操作,從而觸發(fā)8個電機的不同動作,實現(xiàn)對機械臂的控制。AVR高端芯片MEGA128擁有53個IO口輸出,8個PWM輸出口,8個外部中斷,16位定時器與8位定時器各兩個。它采用單指令周期,處理速度快,在滿足I/O的情況下,足以滿足電機控制的運算要求。利用該單片機產(chǎn)生8路PWM信號通過兩個L298N驅動模塊實現(xiàn)8個電機的驅動。每個L298N驅動模塊包含2塊電機驅動芯片L298N、16個保護二極管、4個電源濾波穩(wěn)定電容、2個輸入信號邏輯處理單元、4個控制電機輸出插座。由于每個L298N芯片控制2個電機,則每個驅動模塊可以控制4個電機,其實物圖如圖2所示。 [align=center] 圖2 L298N驅動模塊[/align]   為方便操作,使用了液晶顯示模塊LCMxxZK,其繪圖顯示畫面提供一個64*256 點的繪圖區(qū)域,電源操作范圍寬(2.7V to 5.5V),此外,低功耗設計可滿足產(chǎn)品的省電要求同時與單片機的接口界面非常靈活。如圖3所示,利用設計的單片機控制系統(tǒng),根據(jù)液晶顯示屏的提示通過鍵盤操作可以實現(xiàn)對機械臂的控制,同時操作結果通過液晶顯示屏反饋給操作者。 [align=center] 圖3 液晶屏與鍵盤[/align]   1.2基于串口通信的上位機控制   為了構建基于TCP/IP網(wǎng)絡的遠程控制系統(tǒng),需要在本地建立服務器端控制器。本例中采用PC機作為遠程控制的服務器,同時作為單片機控制系統(tǒng)的上位控制器。   該上位機系統(tǒng)采用DB9-RS232串口線作為數(shù)據(jù)總線,通過串行通信與下位機建立聯(lián)系。PC機通過數(shù)據(jù)總線把位選、轉向、轉速等信息傳遞給下位單片機AVR Mega128,通過對I/O口置1或清零來控制相應電機的轉向,并通過改變PWM信號占空比來控制轉速。   由于數(shù)據(jù)總線的使用,各部分都相互獨立,只需要遵守相同的數(shù)據(jù)傳輸協(xié)議即可工作,使得擴展功能變得十分容易。有時候甚至不需對芯片進行重編程或電路板進行大幅度修改,只需要更換部分模塊就可以實現(xiàn)功能升級。在Visual C++ 6.0環(huán)境下運用串口類編寫了上位機控制程序[3],通過該程序,可利用個人PC實現(xiàn)對機械臂的控制。 2.基于TCP/IP網(wǎng)絡的遠程控制   通過設計本地端控制系統(tǒng)后,可以在本地端實現(xiàn)七自由度機械臂的各關節(jié)速度控制,從而實現(xiàn)機械手運動到適當位置抓取物體,并傳送到另一位置。為了實現(xiàn)異地遠程控制,需要設計遠程控制系統(tǒng)。基于TCP/IP的以太網(wǎng)絡進行遠程控制是一個好的選擇。本例中構建了一個基于C/S(Client/Server)結構的遠程控制體系,該體系包含服務器端和客戶端,服務器端接收到客戶端程序發(fā)來的數(shù)據(jù)后,對數(shù)據(jù)進行處理,進而發(fā)出相應的指令通過串口通信控制主控單片機,從而控制各關節(jié)的相應動作。   服務器端程序功能如下:  ?。?)創(chuàng)建監(jiān)聽Socket進行監(jiān)聽,當有客戶端請求連接時建立一個新的接收Socket處理這個客戶的數(shù)據(jù)發(fā)送與接收;   (2)接收客戶端發(fā)來的數(shù)據(jù)并向客戶端返回相應信息;  ?。?)對接收到的數(shù)據(jù)進行處理,然后向下位單片機發(fā)送控制命令。   客戶端程序功能如下:   (1)建立與服務器程序的連接  ?。?)向服務器程序發(fā)送數(shù)據(jù)信息,接收從服務器程序返回的信息  ?。?)關閉與服務器程序的連接   在Visual C++ 6.0環(huán)境下運用WinSockets類來編寫基于TCP/IP的遠程控制程序,其中服務器端監(jiān)聽程序如下。   if(Accept(*pSocket))   { pDlg->m_pAcceptList.AddTail(pSocket);   CString strAddr,strAddr1;   UINT unPort,unPort1; pSocket->GetPeerName(strAddr1,unPort1); //得到遠程IP地址和端口號 pSocket->GetSockName(strAddr,unPort); //得到本地IP地址和端口號   pDlg->m_strNetMsg.Format("本地IP%s端口%d連接上遠程客戶IP%s端口%d", strAddr,unPort,strAddr1,unPort1);   pDlg->UpdateMsgData();  ?。?   else   {   delete pSocket;  ?。?   CSocket::OnAccept(nErrorCode);   其部分界面如圖4所示: [align=center] 圖4 服務器端界面[/align]   由圖4可知,該服務端控制程序既可以由操作人員單擊圖中按鈕實現(xiàn)本地端對七自由度機械臂的控制,也可以通過客戶端發(fā)送相應信息由服務端響應后自動調用相應的函數(shù)實現(xiàn)對機械臂的控制。 3.基于視頻網(wǎng)絡服務器的遠程控制   為了監(jiān)控七自由度機械臂遠程控制的操作結果,利用視頻網(wǎng)絡服務器將機械臂運動的實時圖像通過Internet網(wǎng)絡傳送到客戶端。   視頻網(wǎng)絡服務器是一種對視頻數(shù)據(jù)進行編碼處理并完成網(wǎng)絡傳輸?shù)膶S迷O備,它將攝像機輸入的模擬信號轉換為數(shù)字信號,再通過Internet傳輸,客戶端便可在任何地方通過上網(wǎng)來瀏覽圖像。它具有獨立完成傳輸?shù)墓δ?,不需要另外設置計算機,能實現(xiàn)簡單的IP方式組網(wǎng),是傳統(tǒng)的模擬監(jiān)控所無法實現(xiàn)的。   本例中采用RILAN-F1004四路視頻網(wǎng)絡服務器,通過以太網(wǎng)將實時的圖像通過網(wǎng)絡傳輸。該服務器采用了先進的操作系統(tǒng)和視頻壓縮算法,使得圖像傳輸更加流暢,并且顯示更加清晰細膩;系統(tǒng)調度效率高,運行穩(wěn)定可靠,支持通過Internet瀏覽器進行遠程圖像訪問。由于用于操作控制的服務器端和視頻服務器地址相互獨立,為了便于遠程操作和監(jiān)控,把兩個服務端的登錄集成在一個客戶端界面中。當服務器端啟動服務器后,客戶端首先可以通過Internet瀏覽器登錄視頻網(wǎng)絡服務器,從圖5中可以看到,位于機械臂不同位置的四路視頻圖像實時顯示在界面的左側;此時可以向控制服務器端發(fā)出請求,服務器端響應后,返回允許操作的信號,操作者即可根據(jù)右側控制面板進行七自由度機械臂的遠程控制,同時可以實時觀察機械臂動作,圖中所示為機械手抓住一小物體正準備釋放。 [align=center] 圖5 客戶端界面[/align] 4.結論   本文作者創(chuàng)新點:提出兩種不同方法,利用高端ARV單片機與PC機實現(xiàn)了七自由度機械臂本地端控制。構建了一個融串口類對象和WinSockets類對象于一體的基于C/S(Client/Server)結構的遠程控制體系,通過視頻網(wǎng)絡服務器反饋的視頻信息,有效地實現(xiàn)了七自由度機械臂遠程控制。 參考文獻   1. http://www.rhinorobotics.com[EB/OL]   2. http://www.zlgmcu.com/philips/hotic/ZLG7289.asp[EB/OL]   3. 朱培武、熊光明、彭波、龔建偉.基于Rabbit 2000的無線調度系統(tǒng)液晶漢字顯示方法.微計算機信息.2005,21卷,8期

標簽:

點贊

分享到:

上一篇:ZN28A-12型真空斷路器的改造...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網(wǎng)站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務平臺

網(wǎng)站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號