日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 消費電子 > 消費電子
[導讀] 機器人軟件架構是典型的控制回路的層次集, 包含了高端計算平臺上的高級任務規(guī)劃、運動控制回路以及最終的現(xiàn)場可編程門陣列(FPGA)。 在這中間,還有循環(huán)控制路徑規(guī)劃、機器人軌跡、障礙避讓和許多其他任務。 這些

 機器人軟件架構是典型的控制回路的層次集, 包含了高端計算平臺上的高級任務規(guī)劃、運動控制回路以及最終的現(xiàn)場可編程門陣列(FPGA)。 在這中間,還有循環(huán)控制路徑規(guī)劃、機器人軌跡、障礙避讓和許多其他任務。 這些控制回路可在不同的計算節(jié)點(包括臺式機、實時操作系統(tǒng)以及沒有操作系統(tǒng)的自定制處理器)上以不同的速率運行。

在某些時候,系統(tǒng)中的各個部分必須一同運行。 通常情況下,這需要在軟件和平臺間預定義一個非常簡單的界面—就如控制和監(jiān)測方向與速度般簡單。 共享軟件棧的不同層次的傳感器數(shù)據(jù)是一個不錯的想法,但會給集成帶來相當大的麻煩。 每個參與機器人設計的工程師或科學家的理念都有所不同,舉例來說,同一個架構對于計算機科學家來說運作良好,而在機械工程師那里可能就無法正常工作。

如圖1所示,擬議的移動機器人軟件架構由下列圖形所表示的三至四層系統(tǒng)構成。 軟件中的每一層只取決于特定的系統(tǒng)、硬件平臺或機器人的終極目標,與其上下層的內(nèi)容完全不相關。 典型的機器人軟件包括驅(qū)動程序、平臺和算法層組件,而具備用戶交互形式的應用包含了用戶界面層(該層可能不需要完全自主實現(xiàn))。

圖1. 機器人參考架構

該范例中的架構為帶有機械手臂的自主移動機器人,它能夠執(zhí)行路徑規(guī)劃、障礙避讓和地圖繪制等任務。 這類機器人的應用范圍在真實世界十分廣泛,包括農(nóng)業(yè)、物流或搜索和救援。 板載傳感器包括編碼器、慣性測量單元(IMU)、攝像頭和多個聲納及紅外(IR)傳感器。 傳感器聚變可以用來整合針對本地化的編碼器和IMU數(shù)據(jù) ,并定義機器人環(huán)境地圖。 攝像頭則用于識別載板機械手臂握住的物體,而機械手臂的位置由平臺層上執(zhí)行的運動學算法所控制,聲納和紅外傳感器可以避開障礙物。 最后,轉(zhuǎn)向算法被用來控制機器人的移動,即車輪或履帶的移動。 圖2就是基于移動機器人架構的美國宇航局機器人。

開發(fā)人員可以借助NI LabVIEW 系統(tǒng)設計軟件來實現(xiàn)這些移動機器人的平臺層。 LabVIEW可用于設計復雜的機器人應用—從機械手臂延伸到自主車輛開發(fā)。 該軟件提取I/O并可與多種硬件平臺集成,幫助工程師和科學家提高了他們的開發(fā)效率。 NI CompactRIO 硬件平臺在機器人開發(fā)中十分常用,它包括了集成的實時處理器與FPGA技術。 LabVIEW平臺的內(nèi)置功能可實現(xiàn)每一層之間的數(shù)據(jù)通信,通過網(wǎng)絡傳輸數(shù)據(jù)并顯示在PC主機上。

1. 驅(qū)動層

顧名思義,驅(qū)動層主要處理機器人操控所需的底層驅(qū)動函數(shù)。 在這一層的組件取決于系統(tǒng)中的傳感器和執(zhí)行器,以及運行著驅(qū)動軟件的硬件。 一般情況下,這一層的模塊采集工程單位(位置,速度,力量等等)中激勵器的設定值,生成底層信號來創(chuàng)建相應的觸發(fā),其中可能包括關閉這些設定值循環(huán)的代碼。 同樣的,該層的模塊還能采集原始傳感器數(shù)據(jù),將其轉(zhuǎn)換成有用的工程單位,并將傳感器值傳輸至其它架構層。 圖3中的驅(qū)動層代碼就是使用LabVIEW FPGA模塊 開發(fā)的,并在CompactRIO平臺的嵌入式FPGA模塊上執(zhí)行。 聲納、紅外和電壓傳感器都連接在FPGA的數(shù)字I/O引腳上,信號在連續(xù)循環(huán)結構中進行處理,這些結構在FPGA上真正的并行執(zhí)行。 這些函數(shù)輸出的數(shù)據(jù)被發(fā)送到平臺層上進行進一步處理。

圖3. 傳感器和激勵器的驅(qū)動層界面

驅(qū)動層可以連接到實際的傳感器或激勵器,或連接環(huán)境仿真器中的I / O。 除了驅(qū)動層以外,開發(fā)人員無需修改系統(tǒng)中的任何層,就能在仿真和實際硬件之間進行切換 。圖4為LabVIEW機器人模塊 2011,它包含了基于物理學的環(huán)境仿真器,因此用戶可在硬件和仿真之間切換,除了硬件I / O模塊以外就無需修改任何代碼。 開發(fā)人員可以使用例如LabVIEW機器人環(huán)境仿真器等工具來在軟件中快速驗證他們的算法。

2. 平臺層

平臺層中的代碼對應了機器人的物理硬件配置。該層中底層的信息和完整的高層軟件之間能夠進行雙向轉(zhuǎn)換,頻繁地在驅(qū)動層和高層算法層之間切換。如圖5所示,我們使用了LabVIEW FPGA讀/寫結點從FPGA中接受原始紅外傳感器數(shù)據(jù),并且在CompactRIO實時控制器上進行數(shù)據(jù)處理。 我們使用LabVIEW函數(shù)將原始傳感器數(shù)據(jù)轉(zhuǎn)換成有用的數(shù)據(jù)—在本案例中為距離,并判斷我們是否在4米至31米的范圍之外。

圖5. 平臺層在驅(qū)動層和算法層之間進行轉(zhuǎn)換

3. 算法層

該層中的組件代表了機器人系統(tǒng)中高層的控制算法。圖6呈現(xiàn)了機器人需要完成任務,可以看到算法層中的模塊采集系統(tǒng)信息,如位置、速度或處理后的視頻圖像,并基于所有反饋信息作出控制決定。該層中的組件能夠為機器人環(huán)境規(guī)劃地圖,并根據(jù)機器人周圍的障礙物規(guī)劃路徑。圖6中的代碼顯示的是使用矢量場直方圖(VFH)避障的范例。在該范例中,距離數(shù)據(jù)從平臺層發(fā)送至距離傳感器,再由VFH模塊接收。VFH模塊的輸出數(shù)據(jù)包含了路徑方向,該信息直接發(fā)送到平臺層上。在平臺層上,路徑方向輸入至轉(zhuǎn)向算法,并生成底層代碼,然后直接發(fā)送到驅(qū)動層上的電機上。

圖6. 算法層根據(jù)反饋信息作出控制決定

算法層組件的另一個范例是搜索紅色的球狀物體,并使用機械手臂將它拾起的機器人。該機器人憑借其設定的方式,在避讓障礙的同時探索環(huán)境——這就需要搜索算法與避障算法相結合。在搜索時,平臺層模塊會處理圖像,并且返回物體是否找到的信息。球被檢測到以后,算法會生成一條運動軌跡,手臂端點根據(jù)它就能抓住并拾起球體。

范例中的每個任務都具有一個高層目標,與平臺或物理硬件無關。 如果機器人擁有多個高層目標,那么這一層還需包含仲裁來為目標排序。

4. 用戶接口層

用戶接口層中的應用程序并不需要完全獨立,它為機器人和操作員提供了物理互動,或在PC主機上顯示相關信息。 圖7顯示的是圖形用戶界面,上面包含板載相機上的實時圖像數(shù)據(jù),以及地圖上周圍障礙的XY軸坐標。 伺服角度控制讓用戶可以旋轉(zhuǎn)與相機連接的板載伺服電機。 在該層中還能讀取鼠標或游戲桿的輸入數(shù)據(jù),或驅(qū)動簡單的文本顯示。 該層中的組件,例如GUI的優(yōu)先級非常低;而急停按鈕等類似組件則需要以確定性的方式與代碼捆綁。

根據(jù)目標硬件不同,軟件層可能分布于多個不同目標。 在很多情況下,各個層都在一個計算平臺上運行。 對于不確定的應用程序,軟件目標為運行Windows或Linux系統(tǒng)的單臺PC。 對于需要更為嚴格定時限制的系統(tǒng),軟件目標為單個處理節(jié)點,且具備實時操作系統(tǒng)。

鑒于 CompactRIO與NI Single-Board RIO 的小體積、供電要求和硬件架構, 它們對于移動應用程序來說是理想的計算平臺。驅(qū)動程序、平臺和算法層可在實時處理器和FPGA上分布,如圖8所示,如果需要,用戶界面層可在一臺主機PC上運行。電機驅(qū)動器或傳感器過濾器等高速組件可在FPGA架構上確定地運行,無需占用處理器的時鐘周期。平臺和算法層上的中層控制代碼可以以優(yōu)先循環(huán)的方式在實時處理器上確定地運行,而內(nèi)置的以太網(wǎng)硬件可將信息傳輸?shù)街鳈CPC上生成用戶界面層。

圖8. 映射到CompactRIO或NI Single-Board RIO嵌入式系統(tǒng)的移動機器人參考架構

文獻中有關移動機器人軟件架構的簡要介紹表明了該主題還存在很多不同方法來創(chuàng)建機器人軟件。 本文就如何構建移動機器人軟件給出了一種廣義的答案;然而任何設計都需要預先作出考慮與規(guī)劃,才能適應架構。作為回報,一個定義明確的架構有助于開發(fā)人員輕松地并行處理項目,將軟件劃分成明確的界面層次。 此外,將代碼劃分成具有明確的輸入和輸出功能模塊有助于今后項目中的代碼組件復用。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在嵌入式系統(tǒng)的開發(fā)領域,軟件架構設計是決定系統(tǒng)成敗的關鍵因素之一。隨著嵌入式系統(tǒng)功能日益復雜、應用場景不斷拓展,傳統(tǒng)的軟件設計方式已難以滿足開發(fā)需求。模塊化設計作為一種先進的軟件架構設計理念,憑借其獨特的優(yōu)勢,在嵌入式軟...

關鍵字: 嵌入式 軟件架構 模塊化

前言:?????SOA在IT行業(yè)已經(jīng)存在很多年,隨著近幾年智能汽車的出現(xiàn),用于對于自動駕駛、V2X、智能座艙等新功能的需求也逐漸強烈,汽車逐漸由一個機電耦合的系統(tǒng)轉(zhuǎn)變?yōu)橐粋€智能終端,類似智能手機,可升級可進化。面對這樣的...

關鍵字: 軟件架構

點擊上方“小麥大叔”,選擇“置頂/星標公眾號”福利干貨,第一時間送達我從事嵌入式軟件開發(fā)有6、7個年頭,bsp,驅(qū)動,應用軟件,androidhall,framework等都有涉獵。平時除了關注嵌入式行業(yè)的發(fā)展,也多少對...

關鍵字: 嵌入式 軟件架構

想知道如何設計大型企業(yè)級的系統(tǒng)嗎?在開始主要的代碼開發(fā)之前,我們必須選擇一種合適的體系架構,它將為我們提供所需的功能和質(zhì)量屬性。因此,在將它們應用到我們的設計之前,應該先了解不同的體系結構。-???什么是架構模式???-...

關鍵字: 軟件架構

關注星標公眾號,不錯過精彩內(nèi)容來源?|網(wǎng)絡我從事嵌入式軟件開發(fā)有6、7個年頭,bsp,驅(qū)動,應用軟件,androidhall,framework等都有涉獵。平時除了關注嵌入式行業(yè)的發(fā)展,也多少對Web,后臺服務端,分布式...

關鍵字: 嵌入式 軟件架構

在嵌入式軟件開發(fā),包括單片機開發(fā)中,軟件架構對于開發(fā)人員是一個必須認真考慮的問題。軟件架構對于系統(tǒng)整體的穩(wěn)定性和可靠性是非常重要的,一個合適的軟件架構不僅結構清晰,并且便于開發(fā)、維護。我相信在嵌入式或單片機軟件開發(fā)的初期...

關鍵字: 嵌入式軟件 軟件架構

作者:Go語言由淺入深鏈接:https://www.jianshu.com/p/18944235727a你是否想知道企業(yè)大規(guī)模系統(tǒng)是如何設計的?在軟件開發(fā)開始之前,我們必須選擇一個合適的架構,能提供所需的功能和質(zhì)量特性。...

關鍵字: 軟件架構

關注星標公眾號,不錯過精彩內(nèi)容來源|嵌入式在左c語言在右在嵌入式軟件開發(fā),包括單片機開發(fā)中,軟件架構對于開發(fā)人員是一個必須認真考慮的問題。軟件架構對于系統(tǒng)整體的穩(wěn)定性和可靠性是非常重要的,一個合適的軟件架構不僅結構清晰,...

關鍵字: 軟件架構

摘 要:參考美國海軍預備在政府實驗室建立基于下一代機載軟件環(huán)境2.0(Future Airborne Capability Environment, FACE)標準的未來開放式航電架構原型。由Open Group發(fā)布的F...

關鍵字: 可移植性 軟件架構 數(shù)據(jù)分發(fā)服務 平臺服務

以下內(nèi)容中,小編將對自動駕駛以及目前大家對自動駕駛的誤解的相關內(nèi)容進行著重介紹和闡述。

關鍵字: 自動駕駛 傳感器 軟件架構
關閉