精品啪啪无码一区二区三区,亚洲精品视频免费观看,精品国产免费一区二区,久久精品国产亚洲Av不卡

青島恒昌機器人科技有限公司
新聞資訊

當前位置:網(wǎng)站首頁(yè) > 新聞資訊

模塊化機器人控制系統的設計與實(shí)現

    要:

根據現代工業(yè)機器人發(fā)展的趨勢和需求,本文提出了一種模塊化機器人控制系統的設計方法,并且給出了具體實(shí)現。本文闡述了該設計的基本思想和原則,提出了實(shí)現模塊化設計的中間層架構設計方法。本文后按照雙通道機器人給出具體業(yè)務(wù)模塊的詳細內容描述。本文提出的機器人架構已經(jīng)編碼用于實(shí)際的工業(yè)機器人,經(jīng)過(guò)實(shí)踐驗證,該設計具有魯棒性強,柔性化程度高,可靈活配置,可動(dòng)態(tài)擴展等優(yōu)點(diǎn)。

關(guān)鍵詞:

模塊化設計; 機器人控制系統; 中間層;

1 背景

上世紀七十到九十年代,由于電子技術(shù)等的約束,工業(yè)控制系統還是以單片機等為主,整個(gè)軟件系統的規模不大。但是隨著(zhù)計算機軟硬件技術(shù)、物聯(lián)網(wǎng)技術(shù)等的快速發(fā)展,越來(lái)越多的工業(yè)控制系統都轉向了基于計算機操作系統的體系架構[1],如何開(kāi)發(fā)設計大規模嵌入式計算機系統應用也成為了一個(gè)富有挑戰性的課題。隨著(zhù)智能制造和工業(yè)4.0的不斷發(fā)展,對機器人控制領(lǐng)域的系統軟件提出了更多的要求,現在的系統應當更加靈活,它需要面向可定制的客戶(hù)需求、面向不斷變化的市場(chǎng)需求等,所以對系統的柔性提出了更高的要求。按照柔性軟件系統的思想去設計研發(fā)工業(yè)機器人控制系統也應當成為未來(lái)的發(fā)展方向[2]。

對于機器人控制系統,柔性通常指如下一些方面:

1.1 分布式

系統的模塊應該能夠按照不同層次進(jìn)行分布部署,例如,按照線(xiàn)程、按照進(jìn)程、按照網(wǎng)絡(luò )等方式。同時(shí),系統按照不同層次部署時(shí),不同的模塊應該共享相同的通訊架構接口。

1.2 模塊化

系統的業(yè)務(wù)應當已模塊的方式組織,這樣可以大化的重用已經(jīng)實(shí)現的業(yè)務(wù)內容。

1.3 可配置性

可配置性是指可以對控制系統進(jìn)行多方面的配置,通常包含如下內容:系統結構配置,也就是模塊之間的耦合關(guān)系;系統功能配置,也就是選擇配置系統功能(算法)。

1.4 可移植性

可移植性通常指應用的硬件無(wú)關(guān)、操作系統無(wú)關(guān)性,通過(guò)提供硬件抽象和操作系統的封裝,使得應用程序無(wú)需關(guān)注設備的底層。

1.5 可維護性

每一個(gè)軟件工程項目都是持續演進(jìn)的,依賴(lài)于完善的文檔、單元測試框架和一致性的設計理念,使得軟件可以得以在初代開(kāi)發(fā)人員離開(kāi)后由后續開(kāi)發(fā)人員延續開(kāi)發(fā)。

綜合以上特性,本文給出了一種模塊化機器人控制系統的內涵和架構,并給出了模塊化的設計細節。

2 模塊化架構

2.1 架構設計

模塊化設計需要解決一系列的問(wèn)題,包括但不限于:

各模塊如何劃分功能;模塊化是如何實(shí)現柔性的;模塊間消息傳遞的粒度如何劃分。

模塊化的設計在不同的領(lǐng)域軟件中有不同的定義,通常認為模塊化架構的定義就是:模塊是向系統其他模塊提供廣義的服務(wù)的一個(gè)組件。對于機器人控制系統,模塊化主要有三個(gè)層面的意義:

模塊可以被替換,也就是一個(gè)模塊可以被提供相同服務(wù)的其他模塊替換。

模塊可以擴展,也就是一個(gè)模塊的設計應該可以實(shí)現各種特定的應用。

模塊設計不變,很多模塊可以共享相同的設計方法。

針對以上模塊化設計的要點(diǎn),設計時(shí)需要考慮如下的一些關(guān)鍵問(wèn)題:

2.1.1 架構和功能分離

從軟件層面,架構設計和功能業(yè)務(wù)的開(kāi)發(fā)是分離的,架構設計只進(jìn)行軟件框架的工作,而功能業(yè)務(wù)開(kāi)發(fā)部分負責使用架構設計的框架進(jìn)行業(yè)務(wù)功能的系統開(kāi)發(fā)。

2.1.2 機制和策略分離

機制和策略分離是軟件工程的重要設計理念。兩者的本質(zhì)區別就是如何實(shí)現一個(gè)功能和如何使用一個(gè)功能的區別。通常軟件開(kāi)發(fā)應當在設計階段盡可能的面向機制編程,而不要過(guò)渡的關(guān)注策略細節,否則會(huì )導致軟件在柔性和可維護性上發(fā)生問(wèn)題。

2.1.3 數據流和執行控制分離

數據流指一個(gè)模塊與其他模塊產(chǎn)生的交互數據,執行控制是模塊內執行業(yè)務(wù)流。本條原則不是指數據流不能影響模塊內業(yè)務(wù)執行,而是指不能由數據流來(lái)主導模塊內的業(yè)務(wù)模型,這通常指:模塊間的通訊不應影響執行控制;模塊可能被重新配置。

2.1.4 服務(wù)和操作系統分離

模塊化架構的服務(wù)通常應當封裝操作系統的實(shí)現細節,這樣讓開(kāi)發(fā)者無(wú)需關(guān)注過(guò)多的操作系統底層實(shí)現。

2.2 架構實(shí)現

提高軟件產(chǎn)品質(zhì)量、縮短開(kāi)發(fā)周期、降低開(kāi)發(fā)成本是軟件開(kāi)發(fā)人員的迫切要求,軟件產(chǎn)品的模塊化和可復用性是滿(mǎn)足這一要求的唯一方法[3]?;谏瞎澲械拿枋?,本文所描述的系統實(shí)現如下架構層面中間層:

2.2.1 模塊中間層

模塊中間層系統提供標準化的創(chuàng )建模塊方法。同時(shí),模塊中間層可以為模塊指定操作系統相關(guān)的一些基本操作,例如創(chuàng )建線(xiàn)程、終止線(xiàn)程等。

2.2.2 類(lèi)型系統中間層

類(lèi)型系統中間層為系統提供了構建結構化數據表示的方法,并且提供了若干種將類(lèi)型數據轉換為主流數據串行化框架(JSON、OpcUa)的方式。類(lèi)型系統是下述服務(wù)中間層、參數中間層等的基礎。

2.2.3 服務(wù)中間層

服務(wù)中間層系統為模塊間提供標準的服務(wù)調用機制,當模塊處于不同的層次時(shí),例如,網(wǎng)絡(luò )間或者同一進(jìn)程中的不同線(xiàn)程,調用服務(wù)不用關(guān)注其背后的技術(shù)實(shí)現,服務(wù)中間層已經(jīng)按照表1所示進(jìn)行實(shí)現。

2.2.4 參數中間層

參數中間層為模塊參數修改、讀寫(xiě)提供了標準方法,這樣,所有模塊可以共享同一套參數機制。

2.2.5 模塊加載框架

模塊加載框架是終實(shí)現應用程序的重要框架、模塊加載框架可以設置哪些模塊需要加載、以何種方式加載,不同模塊之間的數據交互方式,模塊參數加載的方式等。

基于上述中間層,完成模塊化機器人控制系統的框架(中間件)部分。系統總體中間層設計思路如圖1所示。

由圖中所示,系統的日志系統、參數系統、數據類(lèi)型系統提供統一服務(wù),且模塊的運行控制標準化,模塊間數據流和服務(wù)也采用統一的機制。

3 業(yè)務(wù)系統架構

本部以雙通道機器人(一個(gè)控制器同時(shí)控制兩個(gè)獨立的機械臂,同時(shí)機械臂之間存在數據交互)控制為例,描述了機器人業(yè)務(wù)架構構成。系統總體框架如圖2所示。

圖中每個(gè)矩形框均為一個(gè)模塊,紅線(xiàn)內為實(shí)時(shí)系統部分,紫色模塊均為通訊模塊。Group1和Group2中的為單獨每個(gè)通道需要部署的模塊,這部分代碼實(shí)現可重用。

按照該結構可以實(shí)現代碼高可重用的雙通道機器人控制系統,系統柔性高,可擴展性強。

以下描述主要模塊的功能。

3.1 Ethercat總線(xiàn)模塊

總線(xiàn)模塊提供總線(xiàn)設備數據讀寫(xiě)的驅動(dòng)服務(wù)。如前所述,模塊化使得相似功能的模塊只要提供相同的服務(wù),則可以相互代替,針對機器人硬件總線(xiàn)選擇不同,還可以靈活的使用例如CanOpen總線(xiàn)模塊來(lái)代替Ethercat模塊。

該模塊提供如下服務(wù):

·總線(xiàn)拓撲結構查詢(xún)服務(wù)。

·總線(xiàn)數據讀寫(xiě)服務(wù)。

·總線(xiàn)錯誤診斷服務(wù)。

3.2 關(guān)節組(Group)運動(dòng)控制模塊

關(guān)節控制模塊是系統控制關(guān)節運動(dòng)的模塊,提供各種和關(guān)節相關(guān)的服務(wù):

·關(guān)節控制設置服務(wù),包括關(guān)節驅動(dòng)模式、關(guān)節伺服上下使能等。

·關(guān)節狀態(tài)查詢(xún)服務(wù),包括關(guān)節驅動(dòng)狀態(tài)、驅動(dòng)錯誤等數據讀取。

·關(guān)節運動(dòng)控制服務(wù),包括各種單關(guān)節運動(dòng)、多關(guān)節同步運動(dòng)、工作空間運動(dòng)等服務(wù)。

可以看到針對雙通道,該關(guān)節組控制模塊共用同一套代碼,只需部署參數調整即可適配不同的機械臂硬件

3.3 IO控制模塊

IO控制模塊是系統控制外部IO的模塊,提供如下服務(wù):

·獲取模擬量和數字量輸入。

·設置模擬量和數字量輸出。

3.4 安全控制模塊

安全控制器實(shí)現負責監控機器人的安全狀態(tài),確保機器人的安全性。主要參考標準為ISO12100、ISO10218-1、ISO10218-2

3.5 結構模型描述模塊

本模塊通過(guò)一系列的參數配置,設置機器人的結構類(lèi)型、DH參數、關(guān)節限位等信息。

·獲取機器人結構類(lèi)型。

·獲取機器人DH參數。

·獲取機器人關(guān)節限位信息。

3.6 程序執行業(yè)務(wù)模塊

工業(yè)機器人通常通過(guò)示教編程方式進(jìn)行操作[4],本模塊提供一系列和示教編程執行程序相關(guān)的服務(wù),包括并不限于如下服務(wù)。

·執行機器人程序。

·停止機器人程度。

·單步執行機器人程序。

3.7 工具管理模塊

工業(yè)機器人通過(guò)安裝在機械臂末端的末端執行器執行任務(wù),對于末端執行器,有包括末端執行器運動(dòng)學(xué)轉換、質(zhì)量、重心位置、慣量矩陣等一系列數據通過(guò)參數進(jìn)行配置。提供如下服務(wù):

·末端執行器運動(dòng)學(xué)標定服務(wù)。

·末端執行器動(dòng)力學(xué)標定服務(wù)。

3.8 應用編程接口模塊

實(shí)現機器人控制系統的對外API,機器人示教器和外部第三方程序通過(guò)這些API和機器人系統交互數據。

3.9 其他模塊

·OpcUa模塊,負責提供系統的OpcUa標準通訊協(xié)議。

·SoftPLC模塊,負責提供系統的軟PLC業(yè)務(wù)。

系統還包括其它各種業(yè)務(wù)模塊,由于模塊化的設計,后續還可以添加例如針對碼垛、打磨、焊接等各種工藝模塊。

4 總結

現代機器人控制系統對柔性、模塊化提出了諸多需求、根據軟件工程的基本原理和機器人控制系統的特征,本文給出了一種模塊化的機器人控制系統的設計方法和思路并進(jìn)行了實(shí)現。實(shí)現分為兩個(gè)部分,首先設計實(shí)現模塊化機器人控制系統的中間層框架,然后基于中間層框架開(kāi)發(fā)了業(yè)務(wù)系統。目前該系統已經(jīng)作為產(chǎn)品實(shí)際使用,實(shí)際使用證明該架構和系統柔性高、魯棒性強,是一種可以用于機器人控制系統的設計。

文章轉自中國知網(wǎng),如有侵權,聯(lián)系刪除

點(diǎn)擊次數:  更新時(shí)間:2020-03-13 15:13:11  

地址:青島市西海岸新區海濱工業(yè)園香海路168號
手機:13806390681  服務(wù)熱線(xiàn):0532-86131102
郵箱:qdhengchangkeji@163.com
魯ICP備18013584號

石林| 文昌市| 西畴县| 龙州县| 普兰店市| 辽阳市| 甘德县| 潞西市| 清镇市| 巴林左旗| 克东县| 林周县| 闻喜县| 尚义县| 昂仁县| 嘉鱼县| 工布江达县| 合山市| 孝义市| 承德县| 建平县| 安泽县| 丰镇市| 金湖县| 喀喇沁旗| 华容县| 江阴市| 西贡区| 工布江达县| 兴业县| 武穴市| 宣化县| 郸城县| 勐海县| 开封县| 闻喜县| 名山县| 酉阳| 偏关县| 霍山县| 河池市|