国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ROS系統(tǒng)的機(jī)械臂研究

2023-11-06 01:37:28黃均安
科技資訊 2023年20期
關(guān)鍵詞:開發(fā)人員機(jī)械機(jī)器人

黃均安

(安徽水利水電職業(yè)技術(shù)學(xué)院 安徽合肥 231603)

1 國(guó)內(nèi)外機(jī)器人運(yùn)動(dòng)控制發(fā)展現(xiàn)狀

在國(guó)外,一些發(fā)達(dá)國(guó)家很早就展開了針對(duì)機(jī)器人運(yùn)動(dòng)控制的相關(guān)技術(shù)研究,美國(guó)繼NGC(The Next Generation Work-Station/Machine Control)研究計(jì)劃之后,OMAC(Organization for Machine Automation and Control)安排組織了獨(dú)立的研發(fā)計(jì)劃,開發(fā)模塊化的控制系統(tǒng),從而降低了機(jī)器人控制系統(tǒng)的研發(fā)費(fèi)用和維護(hù)費(fèi)用;在歐洲,由德國(guó)和法國(guó)發(fā)起的OSACA(Open System Architecture for Control within Automation)計(jì)劃研究分層系統(tǒng)平臺(tái)的體系結(jié)構(gòu),旨在擴(kuò)大控制系統(tǒng)的開放性;日本的許多企業(yè)也聯(lián)合推行了OSEC 計(jì)劃(Open System Environment for Controller),目的是獲得結(jié)構(gòu)靈活輕便的運(yùn)動(dòng)控制系統(tǒng)。

國(guó)內(nèi)對(duì)于機(jī)械臂運(yùn)動(dòng)控制技術(shù)的研究滯后,發(fā)展時(shí)間短,仍然停留在控制算法和規(guī)劃策略上,與國(guó)外差距相當(dāng)明顯,在某些特定領(lǐng)域依然依靠國(guó)外進(jìn)口,對(duì)于開放式的控制系統(tǒng)研究仍在起步階段。雖然近10 年來(lái)出現(xiàn)了不少科技水平較高的公司(如新松、遨博),但是大多數(shù)公司還是采用PC 機(jī)作為上位機(jī),單獨(dú)定制DSP芯片用于處理數(shù)據(jù)路線,或者直接使用FPGA進(jìn)行開發(fā)的路線,低開放性,低擴(kuò)展性,與國(guó)外同時(shí)期的控制系統(tǒng)相比,不具備足夠的競(jìng)爭(zhēng)力。因此,研發(fā)適用于一個(gè)六軸機(jī)械臂的控制操作系統(tǒng),需要考慮系統(tǒng)的開放性,也需要考慮其應(yīng)用需求和控制需求。

2 手眼抓取的現(xiàn)狀和發(fā)展趨勢(shì)

機(jī)械臂在智能化時(shí)代下面臨的重要問題就是對(duì)環(huán)境的不確定性和抓取的精度問題,這就需要發(fā)展智能傳感器來(lái)解決這些問題,通過對(duì)傳感器信息的處理可以提高機(jī)械臂對(duì)環(huán)境的認(rèn)知和抓取的精度。

在手眼抓取系統(tǒng)中,功能越豐富的攝像頭可以為機(jī)械臂增加更多的環(huán)境信息,從而提高對(duì)物體的識(shí)別和定位。而更加精確的抓具可以提高抓取的成功率,常見的抓具有夾爪和吸盤等。常見的夾爪有Robotiq85,具有高夾力、高載荷和高精度特點(diǎn),被廣泛應(yīng)用于實(shí)際生產(chǎn)中。扁平吸盤PFYN是常見吸盤之一,具有小尺寸高吸力、極短的節(jié)拍時(shí)間等優(yōu)點(diǎn),在機(jī)械臂抓取物體中有重要應(yīng)用,具體如圖1所示。

圖1 抓具的發(fā)展現(xiàn)狀

3 機(jī)械臂操作系統(tǒng)的設(shè)計(jì)

ROS 是一個(gè)獨(dú)特的開放性框架,專用于開發(fā)機(jī)器人相關(guān)的軟件,它集成了常用的插件、庫(kù)、協(xié)議和接口,擁有嵌入式操作系統(tǒng)類似的功能,包括在硬件上形成抽象層、底層驅(qū)動(dòng)的單獨(dú)管理、不同程序間的通信[1]、程序功能包的管理,將之前傳統(tǒng)機(jī)器人開發(fā)平臺(tái)的復(fù)雜任務(wù)進(jìn)行簡(jiǎn)化創(chuàng)建和相關(guān)管理。

ROS 使機(jī)器人開發(fā)人員從事更深入的工作,而不用去考慮已有功能模塊的實(shí)現(xiàn),節(jié)省了大量的時(shí)間,提高了代碼復(fù)用率。ROS的另一個(gè)鮮明的特點(diǎn)是分布式架構(gòu),不同的模塊可以單獨(dú)設(shè)計(jì),在運(yùn)行時(shí)分層次耦合[2],最后開發(fā)人員可以將模塊文件打包形成功能包用于共享。代碼庫(kù)的不斷擴(kuò)大也促進(jìn)了ROS 的推廣,庫(kù)的開源使開發(fā)人員可以使用已有的庫(kù),更加快速地促進(jìn)機(jī)器人領(lǐng)域,特別是人工智能應(yīng)用與機(jī)器人領(lǐng)域的發(fā)展[3]。

4 ROS系統(tǒng)的特點(diǎn)

4.1 點(diǎn)對(duì)點(diǎn)的設(shè)計(jì)

在ROS 中,節(jié)點(diǎn)是每個(gè)進(jìn)程的表現(xiàn)形式,每個(gè)主機(jī)可以使用不同的節(jié)點(diǎn),管理節(jié)點(diǎn)間的消息通信方式和內(nèi)容的是含有發(fā)布和訂閱功能的RPC 傳輸系統(tǒng),使用節(jié)點(diǎn)的設(shè)計(jì)方式使特定功能特別是定位或規(guī)劃等算法帶來(lái)的計(jì)算壓力大大減小。

4.2 高集成,架構(gòu)精簡(jiǎn)

在傳統(tǒng)的機(jī)器人應(yīng)用中,需要解決的關(guān)鍵問題就是軟件的復(fù)用性。傳統(tǒng)的驅(qū)動(dòng)程序、應(yīng)用算法、功能模塊設(shè)計(jì)混亂,相互關(guān)聯(lián),移植和二次開發(fā)的難度代價(jià)和成本過高;而ROS使用了模塊化設(shè)計(jì),每個(gè)功能節(jié)點(diǎn)都獨(dú)立進(jìn)行編譯,與其他節(jié)點(diǎn)并無(wú)直接關(guān)系,只要在運(yùn)行時(shí)包含相關(guān)的節(jié)點(diǎn)即可。為了方便開發(fā)人員后續(xù)的移植和開發(fā),ROS將不同功能模塊形成了功能包,這樣就可以在開源社區(qū)進(jìn)行分享。

4.3 豐富的工具包

傳統(tǒng)機(jī)器人開發(fā)中,往往沒有良好的界面系統(tǒng)和仿真軟件,ROS 開發(fā)了組件化的插件,如3D 可視化工具Rviz,開發(fā)者可以通過調(diào)用插件來(lái)測(cè)試機(jī)器人3D模型、周圍環(huán)境、路徑顯示等功能。此外,ROS 還有消息查看工具、物體仿真環(huán)境gazebo等插件,使機(jī)器人開發(fā)變得直觀和高效。

5 實(shí)現(xiàn)載體

本文使用的仿真硬件有Universal Robots機(jī)械臂和Kinect 視覺傳感器,其中機(jī)械臂的型號(hào)為UR5,Kinect型號(hào)為Xbox360 V2 版本。在此基礎(chǔ)上設(shè)計(jì)了仿真框架,如圖2所示。

圖2 仿真框架

5.1 視覺傳感器Kinect

這里采用的是微軟公司的Kinect V2攝像機(jī)。Kinect V2是在Kinect V1上加入深度傳感器發(fā)展而來(lái)的攝像機(jī),在識(shí)別自然環(huán)境領(lǐng)域被大量應(yīng)用,如根據(jù)Kinect產(chǎn)生的深度傳感器和色彩傳感器對(duì)環(huán)境進(jìn)行三維掃描并進(jìn)行模型重建,利用Kinect 進(jìn)行機(jī)器人導(dǎo)航進(jìn)行障礙物自動(dòng)回避等。Kinect利用光電編碼技術(shù)獲取環(huán)境信息[4],通過深度傳感器和攝像傳感器的將獲得的信息進(jìn)行融合,用于獲取環(huán)境的圖像信息和深度信息。Kinect攝像頭的詳細(xì)參數(shù)如表1所示。

表1 Kinect相關(guān)參數(shù)

5.2 機(jī)械臂UR5

UR5 機(jī)械臂可自動(dòng)化處理5 kg 物體,開發(fā)人員可以手動(dòng)規(guī)劃UR5機(jī)械臂移動(dòng)路徑,之后UR5就會(huì)將移動(dòng)路徑存儲(chǔ)在記憶單元,這種工作模式稱為編程教學(xué)模式,之后再次使用時(shí)將可以獨(dú)立工作。具體參數(shù)如表2所示。

表2 UR5機(jī)械臂相關(guān)參數(shù)

5.3 軟件架構(gòu)

本文機(jī)械臂使用的開源機(jī)器人操作系統(tǒng),在其基礎(chǔ)上添加自己的功能包達(dá)成機(jī)械臂控制系統(tǒng)。ROS設(shè)計(jì)架構(gòu)是點(diǎn)對(duì)點(diǎn)的,程序運(yùn)行時(shí)通過:節(jié)點(diǎn)(node)、消息(msg)、主題(topic)等來(lái)實(shí)現(xiàn)數(shù)據(jù)通信。

5.3.1 運(yùn)行機(jī)制

(1)節(jié)點(diǎn)。節(jié)點(diǎn)是類似于進(jìn)程的特殊結(jié)構(gòu),用于執(zhí)行運(yùn)算任務(wù),一般來(lái)說(shuō),多個(gè)節(jié)點(diǎn)將組成開發(fā)人員所設(shè)計(jì)的系統(tǒng)。當(dāng)多個(gè)節(jié)點(diǎn)運(yùn)行時(shí),可以通過消息、話題、服務(wù)來(lái)進(jìn)行通信。Kinect 相機(jī)需要明確Kinect 相機(jī)的節(jié)點(diǎn),并發(fā)布圖像和深度信息,具體實(shí)現(xiàn)代碼見圖3。

圖3 Kinect節(jié)點(diǎn)聲明

Kinect 節(jié)點(diǎn)接收到環(huán)境數(shù)據(jù)后,通過話題方式傳遞給其他相關(guān)的節(jié)點(diǎn),用于環(huán)境數(shù)據(jù)的處理。具體情況如圖4所示。

圖4 節(jié)點(diǎn)相關(guān)通信

(2)消息?;诎l(fā)布/訂閱模型的消息(Message)通信是節(jié)點(diǎn)之間最重要的通信機(jī)制。消息是一個(gè)經(jīng)過嚴(yán)格定義的數(shù)據(jù)結(jié)構(gòu),支持標(biāo)準(zhǔn)數(shù)據(jù)類型,也支持?jǐn)?shù)組和嵌套[5],可以看作為C 語(yǔ)言中的結(jié)構(gòu)體(struct)。如果開發(fā)人員有特殊的需求,可以自定義所需的消息類型。本文機(jī)械臂控制系統(tǒng)的環(huán)境信息由消息 sensor_msgs/Image 和sensor_msgs/LaserScan 等給出,對(duì)其進(jìn)行解析就可以讀取環(huán)境的特征。

(3)話題。消息以一種發(fā)布/訂閱(Publish/Subscribe)的方式傳遞。一個(gè)節(jié)點(diǎn)可以針對(duì)一個(gè)給定的話題(Topic)發(fā)布消息(稱為發(fā)布者),也可以通過訂閱某一個(gè)話題獲得特定類型的數(shù)據(jù)(稱為訂閱者),但發(fā)布者和訂閱者并不了解彼此的存在,ROS 中可能存在多個(gè)節(jié)點(diǎn)訂閱一個(gè)話題,或者發(fā)布同一個(gè)話題[6]。本文中Kinect數(shù)據(jù)傳輸形式如圖5所示。

圖5 Kinect數(shù)據(jù)傳輸形式

Kinect的話題與其他節(jié)點(diǎn)的關(guān)系圖6所示。

圖6 Kinect話題在節(jié)點(diǎn)間的傳輸圖

(4)服務(wù)。話題發(fā)布和訂閱模式的通信方式雖然很靈活,但是如果需要雙向同步傳輸,就需要更簡(jiǎn)便的方式。在ROS 中有一種通信方式包含:一個(gè)數(shù)據(jù)類型用于請(qǐng)求服務(wù),另一個(gè)數(shù)據(jù)類型用于應(yīng)答服務(wù),這種通信模式稱為服務(wù),與Web服務(wù)器和PC機(jī)通信的工作流程相似。與話題不一樣的是,ROS 規(guī)定只有一個(gè)節(jié)點(diǎn)提供指定命名的服務(wù)。

為了管理以上的通信方式和任務(wù)進(jìn)程,為了使節(jié)點(diǎn)有條理執(zhí)行,ROS引入了一個(gè)控制器,稱為ROS節(jié)點(diǎn)管理器(ROS Master),其通過遠(yuǎn)程過程調(diào)用(RPC)提供了列表登記和查找其他計(jì)算圖表的功能[7]。一個(gè)節(jié)點(diǎn)想要找到其他的節(jié)點(diǎn)進(jìn)行通信和調(diào)用服務(wù)就必須去ROS節(jié)點(diǎn)管理器進(jìn)行登記,之后ROS節(jié)點(diǎn)管理器將進(jìn)行統(tǒng)一調(diào)度。ROS Master與其他節(jié)點(diǎn)的關(guān)系如圖7所示。

圖7 ROS Master與節(jié)點(diǎn)間的關(guān)系圖

5.3.2 軟件框架

通過使用Kinect和UR5機(jī)械臂配合可以完成機(jī)械臂控制功能、環(huán)境觀測(cè)功能、物體識(shí)別功能,具體如圖8所示。

圖8 軟件框架圖

(1)機(jī)械臂控制功能。通過節(jié)點(diǎn)間的配合,將從MoveIt 路徑規(guī)劃器中的路徑數(shù)據(jù)(具體的線速度和角速度信息)發(fā)布給UR5機(jī)械臂進(jìn)行執(zhí)行操作。

(2)環(huán)境觀測(cè)功能。通過Kinect 攝像頭將獲取到的圖像數(shù)據(jù)和深度數(shù)據(jù)以話題的方式發(fā)布出來(lái),讓相應(yīng)的節(jié)點(diǎn)獲取環(huán)境信息,對(duì)陌生環(huán)境進(jìn)行掃描。

(3)物體識(shí)別功能。通過對(duì)環(huán)境信息中的數(shù)據(jù)進(jìn)行解析,通過SIFT特征算子,尋找需要待抓取的物體,并通過TF變換轉(zhuǎn)化到世界坐標(biāo)系中,獲得物體的坐標(biāo)信息,傳遞給機(jī)械臂進(jìn)行具體的操作。

6 結(jié)語(yǔ)

本文在機(jī)械臂控制系統(tǒng)的設(shè)計(jì)要求上對(duì)ROS 進(jìn)行了系統(tǒng)地分析,闡述了ROS系統(tǒng)的代碼高復(fù)用性、高移植性、編程簡(jiǎn)易性等特點(diǎn)。對(duì)系統(tǒng)的實(shí)現(xiàn)載體:UR5機(jī)械臂和Kinect 攝像頭進(jìn)行了分析,確定了ROS 中的通信方式和數(shù)據(jù),給定系統(tǒng)的軟件框架。通過在真實(shí)環(huán)境中驗(yàn)證,系統(tǒng)運(yùn)行穩(wěn)定可靠,各項(xiàng)性能指標(biāo)能夠滿足技術(shù)要求。

猜你喜歡
開發(fā)人員機(jī)械機(jī)器人
調(diào)試機(jī)械臂
Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
簡(jiǎn)單機(jī)械
機(jī)械班長(zhǎng)
按摩機(jī)械臂
機(jī)器人來(lái)幫你
認(rèn)識(shí)機(jī)器人
機(jī)器人來(lái)啦
認(rèn)識(shí)機(jī)器人
讓W(xué)indows 10進(jìn)入開發(fā)者模式
電腦迷(2015年12期)2015-04-29 23:22:51
尖扎县| 荆门市| 怀仁县| 景宁| 博爱县| 郯城县| 湖州市| 芷江| 涟源市| 青浦区| 沾化县| 景洪市| 东丽区| 延津县| 汝南县| 杂多县| 留坝县| 太白县| 温宿县| 林芝县| 白河县| 丰都县| 常宁市| 武城县| 华安县| 明水县| 平昌县| 嘉祥县| 吐鲁番市| 溧阳市| 永兴县| 康定县| 策勒县| 辽源市| 平利县| 稷山县| 佛山市| 犍为县| 许昌市| 双城市| 绥中县|