工業機器人智能發展:視覺和觸覺感應簡化

機器人工業協會(Robotic?Industries?Association)指出,從2003到2005年間,北美機器人工業以20%的平均年增長率發展。在汽車市場需求疲軟以及外國廠商的壓力不斷增加的背景下,這一成就是如何取得的?成本的普遍降低是原因之一。從機器人到整套系統,價格都在不斷降低。機器人性能的不斷改進也是驅動這一強勢增長的原因之一。現在的機器人可以執行很多幾年前還無法執行的任務。機器人還能在更短的時間完成更多的事情,提供了更高的生產力水平。?

最重要的原因則應該是機器人智能的不斷改進。從機器人問世到現在,在決定部件獲取、檢查自身組件就位狀況、檢測錯誤狀態或相關因素上的智能經歷了數個發展等級。這樣的智能大多是基于用來檢測某個特定狀態的特定傳感器而實現的。?

比如,機器人會用“光電眼”,通過識別某個芯片管腳、制動器或其它部件是否就緒來判定是否存在并處于正確的方向。接著,這個“光電眼”連接PLC或者直接連到機器人控制器中。在恰當的時間,機器人會核查“光電眼”來確定某個部件就位并處于正確的方向,然后才會將之摘取或者進行其它操作。?

使用“光電眼”或者類似的傳感器是一個簡單而可靠的途徑,也是正確的選擇。但是,自動化并不總是那么簡單。有各種類型的部件需要處理,因此區分部件的方法可能更為復雜。?

不管是部件是制造程序,簡單的傳送器都無法適用。比如,放在由滑托板隔成數層的箱柜中的部件,一般就用于金屬部件。而擁有復雜幾何構造的部件,如果沒有額外的裝置,就很難準確定位。?

二維視覺定位

長期以來,由于無法找到合適的方法來處理這些復雜事項,某些行業里機器人的使用總是無法擴大。最近這種狀況終于有所改觀了。其中作用最大的技術就是雙維視覺系統。請登錄自動化成像聯盟(Automated?Imaging?Association)網站獲取關于此技術的更多信息。?

2D視覺系統由標準行業攝像機構成,用來拍攝照片以供機器人進行分析并從而決定處理哪些部件。工業視覺系統歷史并不長,但現在在價格、性能和可靠性上已經發展到可以用于一些應用中,而僅僅幾年前這些應用都還是無法實現的。?

使用視覺系統可以協助機器人來摘取放置于由標準滑托板隔成數層的箱柜中的部件。這是將部件從一個車間傳到另一個車間甚至在同一個車間內進行傳送的通用方法。如果沒有視覺系統,制造商就必須使用相對較貴的成形塑料墊料或者通過其它方法來準確摘取箱內的部件。這種能置于箱柜中的成形塑料墊料相對更昂貴一些,其中光是模具的設計和制造就需要6萬到10萬美元。?

2D視覺系統可以很好地取代成形墊料或者其它更昂貴的方式來定位箱柜中的部件。不過直到最近幾年,仍然有一些原因使得視覺系統的使用苦難重重,包括不同批部件顏色的差異、箱柜具體狀況的差異和重復使用的隔板上的記號等等。隨著視覺技術的不斷發展,這些問題現在都可以很好地解決了。現在的2D視覺系統已經可以定位大多數堆疊于箱柜內部隔板頂層的部件。?

這種應用一般的方法就是使用一個安裝在箱柜上的攝像機來定位部件。攝像機安裝在足夠的高度,因此機器人可以在攝像機底下移動并進入箱柜內部。在每一層的起點,機器人對會對攝像機發來的該層部件的圖片進行分析,然后逐個定位。?

如果需要更精確的定位,也可以將攝像機安裝在機器人上,由機器人將攝像機移動到一個或一組部件上端并拍照,然后將照片傳回給機器人進行分析并定位。當某一層上所有部件都被取走之后,機器人會取掉隔板,并開始摘取下一層的部件。?

不管是將攝像機固定,還是安裝在機器人上,所增加的成本都比使用一個特別的墊料或者其它方法來定位部件的成本要低得多。視覺系統還能帶來更高的靈活性,以處理同一條線上的不同部件,或者適應部件的更替。由于成本上的原因,這樣的自動疊板卸垛在幾年前根本無法實現,而現在,有了視覺系統,機器人方案可行了,也可以負擔得起了。?

視覺系統給機器人使用帶來的另外一個益處,是降低了用來將部件呈送給機器人的傳送器的成本。在使用2D視覺系統之前,很多部件都必須在由托板傳送器傳送的固定托板上定位。即便是簡單的托板傳送器成本也要3萬美金,而且成本還會隨著傳送器傳送距離的增長而提高。有了2D視覺技術,部件可以在相對便宜的帶式傳送器上進行傳送。被操作員或者機器人放到傳送器上的部件接著會被傳送給機器人。當安裝于傳送器末端的一個攝像機檢測到某個部件已被傳送到末端時,傳送器會馬上停止。攝像機還會對部件進行定位,以協助機器人將之摘取。?

和用來在箱柜中從隔板上取走部件一樣,視覺系統在傳送帶上也可以協助機器人準確定位并摘取大多數部件。?

對定位同一平面放置的部件,2D視覺系統是完美的,但它也不是萬能的。在過去幾年里,已經有三維視覺系統可以用來定位不在一個平面上的部件。比如,這些部件可能是彼此層疊的,但也可能隨著部件的疊起而兩端換位。此時2D圖像就不能提供足夠的信息來處理這種位移了。?

一個已經在實際使用中得到證明的簡單方法是,在2D攝像機的基礎上再結合激光器光帶。在箱柜頂部安裝2D攝像機對部件進行大致定位,并確認下一個要選擇的部件。然后在機器人上安裝另一個攝像機,并結合激光器。機器人移動激光器和攝像機到另一個部件上方,接著,激光器會將附加準心對準部件上的某個目標。部件上的這個目標可以是一條邊、一個圓或者其它明顯標志。通過簡單的三角測量,攝像機就可以立體定位部件的位置和方向。?

最高端的應用是利用3D視覺系統來定位箱柜中任意方向的部件,但這顯然困難重重,比如,部件有可能彼此混雜在一起,而且,還要避開箱柜壁。?

觸覺響應

盡管視覺系統是機器人智能傳感器最通用的方法,卻不是唯一的方法。還有一種6度隨意力傳感器可用來給機器人提供觸覺響應。在要求高精度的組裝中,力傳感器就會被用來引導力度合適的部件進行插入操作,比如,將軸狀物插入到某個孔中。帶有力傳感器的機器人還可以用于更復雜的組裝任務,比如將裝置插入到外殼。這個過程需要非常準確,并要經過很多個步驟。經過編程的機器人可以像真正的人一樣,前后移動裝置,直到每一個步驟都完全符合。?

在對一個復雜的部件進行磨光時也可以使用力傳感器來提供觸覺響應。以前這是由特定的設備來進行的,但是這些設備可能無法達到所要求的精確度。給機器人添加6D力傳感器,然后加上一個磨盤,機器人就可以在方向改變的情況下仍保持一個不變的力度,抵消了重力影響。?

今后的方案

智能傳感器技術在各種領域機器人的成功運用中起著至關重要的作用。隨著智能傳感器技術的繼續發展,機器人在將來將擁有更多功能。盡管在進行極其復雜的區別上沒有什么可以替代人腦這臺超級電腦,但過去那些曾被認為不可能的應用現在對于智能機器人已經是“家常便飯”了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255065.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255065.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255065.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ASP站點無法訪問怎么辦

確保啟用了目錄瀏覽功能 轉載于:https://www.cnblogs.com/acetaohai123/p/6571257.html

五、案例-指令參考-freemarker指令、表達式

案例-指令參考描述&#xff1a;本人自己測試寫了一遍&#xff0c;如有錯的地方&#xff0c;懂freemarker的朋友望指點指點&#xff01; 案例-指令參考 表達式 一、 Assign 1、<#assign name1"北京" name2"上海" name3"廣東"> 調用&#xf…

PartitionMotionSearch()函數

encode_one_macroblock()函數中的運動估計分為兩大塊&#xff0c;對于宏塊級的三種模式&#xff0c;分塊后直接對patition依次調用PartitionMotionSearch()函數&#xff1b;而對于亞宏塊級的&#xff08;含8x8, 8x4,4x8,4x4&#xff09;模式&#xff0c;首先將宏塊拆分為4個88子…

201521123017 《Java程序設計》第4周學習總結

1. 本周學習總結 2. 書面作業 Q1.注釋的應用 使用類的注釋與方法的注釋為前面編寫的類與方法進行注釋&#xff0c;并在Eclipse中查看。(截圖) Q2.面向對象設計(大作業1&#xff0c;非常重要) 2.1 將在網上商城購物或者在班級博客進行學習這一過程&#xff0c;描述成一個故事。…

完整的VAL3程序

start() begin//延時10秒 delay(5)//初始化變量call init()//清空原有運動堆棧resetMotion()//建立上電任務taskCreate "robotpower",100,robotpower()wait(isPowered())//建立生產任務taskCreate "ProductionCycle",10,ProductionCycle()//建立安全區域…

iOS WebView 加載本地資源(圖片,文件等)

NSString *path [[NSBundle mainBundle] pathForResource:"關于.docx" ofType:nil]; NSURL *url [NSURL fileURLWithPath:path]; NSLog("%", [self mimeType:url]); //webview加載本地文件&#xff0c;可以使用加載數據的方式 //第一個誒參數是一個N…

本文以H264視頻流為例,講解解碼流數據的步驟。

本文以H264視頻流為例&#xff0c;講解解碼流數據的步驟。 為突出重點&#xff0c;本文只專注于討論解碼視頻流數據&#xff0c;不涉及其它&#xff08;如開發環境的配置等&#xff09;。如果您需要這方面的信息&#xff0c;請和我聯系。 準備變量 定義AVCodecContext。如…

2008-2021年商業銀行數據(農商行、城商行、國有行、股份制銀行)

2008-2021年商業銀行數據&#xff08;農商行、城商行、國有行、股份制銀行&#xff09; 1、時間&#xff1a;2008-2021年 2、范圍&#xff1a;1700銀行 3 、指標&#xff1a;證券簡稱、year、證券代碼、資產總計、負債合計、所有者權益合計、利潤總額、凈利潤、貸款總額、存…

EPSON 任務同步 改寫

有時需要在多個任務執行之前來使它們同步。如果預先知道執行每項任務所需要的時間&#xff0c;它們就可以通過簡單地等待由最慢的任務產生的信號來實現同步。然而&#xff0c;如果不知道那個任務是最慢的&#xff0c;就需要使用一個更復雜的同步化機制&#xff0c;如下所示VAL …

線程池的簡單使用

創建指定線程數量的線程池 private static ExecutorService scheduledTaskFactoryExecutor null;private boolean isCancled false;private static class ThreadFactoryTest implements ThreadFactory { Overridepublic Thread newThread(Runnable r) { Thread threa…

異常--自定義異常類

為什么要調用父類構造器? http://blog.csdn.net/rockpk008/article/details/52951856 轉載于:https://www.cnblogs.com/dwj-ngu/p/6576382.html

利用ffmpeg來進行視頻解碼的完整示例代碼

&#xff08;轉&#xff09;利用ffmpeg來進行視頻解碼的完整示例代碼&#xff08;H.264&#xff09; Decode() { FILE * inpf; int nWrite; int i,p; int nalLen; unsigned char * Buf; int got_picture, consumed_bytes; unsigned char *DisplayBuf; Displ…

安卓觀看免費視頻

http://www.imooc.com/search/course?wordsAndroid%E6%94%BB%E5%9F%8E%E7%8B%AE%E7%AC%AC%E4%B8%80%E8%AF%BE&page3 http://www.imooc.com/course/list?candroid&src360onebox http://www.bilibili.com/video/av2788563/index_4.html http://www.imooc.com/course/pr…

EtherCAT 網站鏈接

http://www.ethercat.org.cn/cn.htm EtherCAT技術介紹 EtherCAT系統組成和工作原理 EtherCAT采用主從式結構&#xff0c;主站PC機采用標準的100Base-TX以太網卡&#xff0c;從站采用專用芯片。系統控制周期由主站發起&#xff0c;主站發出下行電報&#xff0c;電報的最大有效數…

IEC 6-1131/3的5種標準編程語言

用于開發控制系統和商業管理系統的TRACE MODE6編程工具面向不同領域的軟件工程師. TRACE MODE6包含的五種編程語言為&#xff1a;Techno SFC、Techno LD、Techno FBD、Techno ST和Techno IL. 這些語言是下列IEC 6-1131/3標準語言的擴展&#xff1a; SFC&#xff08;順序功能圖…

ngRx 官方示例分析 - 4.pages

Page 中通過構造函數注入 Store&#xff0c;基于 Store 進行數據操作。 注意 Component 使用了 changeDetection: ChangeDetectionStrategy.OnPush. OnPush means that the change detectors mode will be set to CheckOnce during hydration. /app/containers/collection-page…

用ffmpeg把yuv格式轉化為mpeg格式

http://blog.sina.com.cn/s/blog_5f5ad6a90100cs5k.html

方法:查詢MongoDB數據庫中最新一條數據(JAVA)

使用JAVA語言查詢MongoDB中某個數據庫某個集合的最新一條數據&#xff1a; MongoCollection<Document> cpu MongoClient.getDatabase("sysmgr").getCollection("cpu"); //獲取所需集合 Document dbo cpu.find().sort(descending("time"…

NoPause/NoEmgAbort的任務 與后臺任務的區別

NoPause/NoEmgAbort的任務示例 下面的例子顯示了一個程序&#xff0c;可以監視控制器的錯誤并根據錯誤編號在發生錯誤時切換I/O On/Off。 Function main Xqt ErrorMonitor, NoEmgAbort : FendFunction ErrorMonitor Wait ErrorOnIf 4000 < SysErr And Syserr < 5999 T…