环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > 機(jī)器人部件 > 操作機(jī)

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
操作機(jī)

使用分層的方法設(shè)計(jì)機(jī)器人軟件

發(fā)布日期:2022-04-27 點(diǎn)擊率:56

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

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

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


圖1. 機(jī)器人參考架構(gòu)

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


圖2. SuperDroid Robots設(shè)計(jì)的移動(dòng)機(jī)器人

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

1. 驅(qū)動(dòng)層

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


圖3. 傳感器和激勵(lì)器的驅(qū)動(dòng)層界面

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


圖4. 如果需要進(jìn)行仿真,必須要在驅(qū)動(dòng)層中使用環(huán)境仿真器

2. 平臺(tái)層

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


圖5. 平臺(tái)層在驅(qū)動(dòng)層和算法層之間進(jìn)行轉(zhuǎn)換

3. 算法層

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


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

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

范例中的每個(gè)任務(wù)都具有一個(gè)高層目標(biāo),與平臺(tái)或物理硬件無關(guān)。 如果機(jī)器人擁有多個(gè)高層目標(biāo),那么這一層還需包含仲裁來為目標(biāo)排序。

4. 用戶接口層

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


圖7. 用戶接口層允許用戶與機(jī)器人進(jìn)行交互或顯示信息

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

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


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

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

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

主站蜘蛛池模板: 无轨电动平车_轨道平车_蓄电池电动平车★尽在新乡百特智能转运设备有限公司 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 合肥卓创建筑装饰,专业办公室装饰、商业空间装修与设计。 | 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 【法利莱住人集装箱厂家】—活动集装箱房,集装箱租赁_大品牌,更放心 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 昊宇水工|河北昊宇水工机械工程有限公司 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 德国GMN轴承,GMN角接触球轴承,GMN单向轴承,GMN油封,GMN非接触式密封 | 游动电流仪-流通式浊度分析仪-杰普仪器(上海)有限公司 | 滑板场地施工_极限运动场地设计_滑板公园建造_盐城天人极限运动场地建设有限公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 流量检测仪-气密性检测装置-密封性试验仪-东莞市奥图自动化科技有限公司 | 散热器-电子散热器-型材散热器-电源散热片-镇江新区宏图电子散热片厂家 | 杭州火蝠电商_京东代运营_拼多多全托管代运营【天猫代运营】 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 光照全温振荡器(智能型)-恒隆仪器| 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 重庆中专|职高|技校招生-重庆中专招生网 | lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 阿尔法-MDR2000无转子硫化仪-STM566 SATRA拉力试验机-青岛阿尔法仪器有限公司 | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 连栋温室大棚建造厂家-智能玻璃温室-薄膜温室_青州市亿诚农业科技 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 |