




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
機(jī)器人系統(tǒng)技術(shù)目錄TOC\o"1-2"\h\u2390612.1基本結(jié)構(gòu) 32021312.1.1上肢 41370412.1.2下肢 5598212.1.3軀干和關(guān)節(jié) 6687912.1.4驅(qū)動(dòng)裝置 7620612.2感知系統(tǒng) 81629312.3機(jī)器人的操作系統(tǒng) 14136512.3.1ROS概述 152900112.3.2架構(gòu) 182568412.4機(jī)器人的控制系統(tǒng) 212372312.4.1主要內(nèi)容 222372612.4.2機(jī)器人的大腦 231875412.4.3機(jī)器人底層控制系統(tǒng) 24169412.4.4機(jī)器人運(yùn)動(dòng)控制系統(tǒng) 251086812.4.5機(jī)器人移動(dòng)軌跡控制 261527012.4.6機(jī)器人力控制系統(tǒng) 27835512.4.7機(jī)器人視覺控制系統(tǒng) 281532612.4.8機(jī)器人智能控制系統(tǒng) 29403612.5環(huán)境建模 302220912.5.1全局路徑規(guī)劃方法 312443312.5.2局部路徑規(guī)劃方法 313157912.5.3路徑規(guī)劃改進(jìn)方法 332274812.5.4三維建模 342945412.6實(shí)驗(yàn):機(jī)器人系統(tǒng)單元設(shè)計(jì) 353098912.6.1舵機(jī)控制 352540712.6.2路徑規(guī)劃 3758712.6.3視覺目標(biāo)檢測(cè) 42作為一個(gè)智能系統(tǒng),機(jī)器人具有獨(dú)特的基本結(jié)構(gòu)、感知系統(tǒng)、操作系統(tǒng)和控制系統(tǒng)。機(jī)器人系統(tǒng)基本結(jié)構(gòu)是機(jī)器人實(shí)現(xiàn)移動(dòng)、操作對(duì)象動(dòng)作的手段。感知系統(tǒng)廣義上可分為內(nèi)部監(jiān)測(cè)系統(tǒng)和外部感知系統(tǒng)。不同的傳感器集成在機(jī)器人身上,構(gòu)成了多傳感器信息融合的感知系統(tǒng)。其中,內(nèi)部監(jiān)測(cè)系統(tǒng)用于檢測(cè)機(jī)器人內(nèi)部狀態(tài)參數(shù),如電源電壓、位置、速度和方位等;外部感知系統(tǒng)包括機(jī)器人視覺、機(jī)器人觸覺、機(jī)器人聽覺、機(jī)器人嗅覺等系統(tǒng),用于感知外部環(huán)境信息,如環(huán)境的溫度、濕度、物體的顏色和紋理、與機(jī)器人的距離,機(jī)器人和環(huán)境發(fā)生交互作用,使機(jī)器人對(duì)環(huán)境有自適應(yīng)能力。機(jī)器人操作系統(tǒng)是面向機(jī)器人的開源的元操作系統(tǒng),能夠提供類似傳統(tǒng)操作系統(tǒng)的諸多功能,如硬件抽象、底層設(shè)備控制、常用功能實(shí)現(xiàn)、進(jìn)程間消息傳遞和程序包管理等。機(jī)器人控制系統(tǒng)相當(dāng)于人的“大腦”,是決定機(jī)器人功能和性能的主要因素,對(duì)機(jī)器人進(jìn)行定位、環(huán)境建模、檢測(cè)、控制等[1]。本章將重點(diǎn)對(duì)機(jī)器人基本結(jié)構(gòu)、感知系統(tǒng)、操作系統(tǒng)、控制系統(tǒng)、環(huán)境建模等進(jìn)行詳細(xì)介紹?;窘Y(jié)構(gòu)關(guān)節(jié),以移動(dòng)方式相連的關(guān)節(jié)稱為移動(dòng)關(guān)節(jié)。機(jī)器人能獨(dú)立運(yùn)動(dòng)的關(guān)節(jié)(包括轉(zhuǎn)動(dòng)和移動(dòng))交談、爬樓梯、拿東西等功能。因此,不同類型的機(jī)器人,如仿人機(jī)器人、仿生機(jī)器人等,所需要的機(jī)械構(gòu)件及傳動(dòng)部件不同,本節(jié)僅介紹機(jī)器人的基本結(jié)構(gòu)。上肢機(jī)器人的上肢主要由臂部、腕部、手部組成。其中,機(jī)器人臂部一般有多個(gè)自由度,即可伸縮、回轉(zhuǎn)、俯仰或升降等,是機(jī)器人的主要執(zhí)行部分,主要作用是支撐手部和腕部,并改變手部在空間的位置。機(jī)器人臂部的結(jié)構(gòu)形式應(yīng)當(dāng)依據(jù)機(jī)器人的運(yùn)動(dòng)形式、抓取質(zhì)量、動(dòng)作自由度、運(yùn)動(dòng)精度、受力情況、驅(qū)動(dòng)單元的布置、線纜的布置與手腕的連接形式等因素來確定,臂部設(shè)計(jì)一般要注意以下幾方面。理。設(shè)計(jì)方形、花鍵等形式的臂桿。回轉(zhuǎn)的轉(zhuǎn)動(dòng)慣量與臂部的質(zhì)量對(duì)其支撐回轉(zhuǎn)軸所產(chǎn)生的靜力矩。機(jī)器人手臂的構(gòu)型是非常重要的,合理的結(jié)構(gòu)設(shè)計(jì)不僅可以減小空間占用,還能夠減小系統(tǒng)質(zhì)量,降低整個(gè)系統(tǒng)的復(fù)雜程度,提高整個(gè)系統(tǒng)的可靠性。機(jī)器人腕部用來連接操作機(jī)手臂和末端執(zhí)行器,起支撐手部和改變手部姿態(tài)的作用。對(duì)于一般的機(jī)器人來說,與手部相連的腕部具有自轉(zhuǎn)的功能。若腕部能在空間任取方位,則與之相連的手部就可以在空間任取姿態(tài),即達(dá)到完全靈活。腕部設(shè)計(jì)要注意以下問題。結(jié)構(gòu)緊湊,質(zhì)量輕。動(dòng)作靈活、平穩(wěn),定位精度高。強(qiáng)度、剛度高。合理設(shè)計(jì)與臂部和手部的連接部分,以及傳感器和驅(qū)動(dòng)裝置的布局與安裝。構(gòu),可以是機(jī)械接口,也可以是電、氣、液接口。機(jī)器人的手部可以像人手那樣具有手可以分為夾持類、吸附類和仿人類。下肢機(jī)器人需要通過下肢來實(shí)現(xiàn)前進(jìn)、后退、各方向的轉(zhuǎn)彎等基本移動(dòng)功能,為適應(yīng)不同的環(huán)境和場(chǎng)合,其可以是具有雙足、4足或6足的足式移動(dòng)機(jī)構(gòu),也可以是輪式或履帶式移動(dòng)機(jī)構(gòu)、蛇形移動(dòng)機(jī)構(gòu)和混合式移動(dòng)機(jī)構(gòu)。例如,機(jī)器蛇采用蛇形移動(dòng)機(jī)構(gòu),機(jī)器魚采用尾鰭推進(jìn)式移動(dòng)機(jī)構(gòu)。其中,輪式移動(dòng)機(jī)構(gòu)的效率最高,但適應(yīng)能力相對(duì)較差;足式移動(dòng)機(jī)構(gòu)的適應(yīng)能力最強(qiáng),但效率最低。足式移動(dòng)機(jī)構(gòu)足式移動(dòng)機(jī)構(gòu)的關(guān)節(jié)自由度越多,行動(dòng)就越靈活,但控制起來難度也會(huì)成倍增大。其對(duì)崎嶇路面具有很好的適應(yīng)能力,在不平地面和松軟地面上的運(yùn)動(dòng)速度較高,能耗較少。足的數(shù)目越多,越適合重載和慢速運(yùn)動(dòng)。雙足和4足具有最好的適應(yīng)性和靈活性,也最接近人類和動(dòng)物。類人型雙足步行移動(dòng)機(jī)器人是當(dāng)前研究的熱門,但由于平衡難以解決,其容易摔倒且動(dòng)作不靈活。輪式移動(dòng)機(jī)構(gòu)輪式移動(dòng)機(jī)構(gòu)有兩輪式、3輪式、4輪式和多輪式。常見的輪子主要有普通輪(主動(dòng)輪)、萬向輪(從動(dòng)輪)和全向輪(主動(dòng)輪)。輪子選擇的依據(jù)是機(jī)器人所處的環(huán)境和用途。輪式移動(dòng)機(jī)構(gòu)的優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單、動(dòng)作靈活、定位準(zhǔn)確和效率最高;缺點(diǎn)是適應(yīng)能力較差。履帶式移動(dòng)機(jī)構(gòu)履帶式移動(dòng)機(jī)構(gòu)的履帶布置方式有雙履帶和多履帶兩種,其優(yōu)點(diǎn)是兼具輪式和足式的長(zhǎng)處,如越坑、爬樓梯等,與地接觸面大,穩(wěn)定性好;缺點(diǎn)是效率低,功耗大。特殊式移動(dòng)機(jī)構(gòu)特殊式移動(dòng)機(jī)構(gòu)主要應(yīng)用在一些特殊場(chǎng)合,如在沙漠中像蛇一樣地行走;在水里像魚兒一樣地游動(dòng);在空中像鳥兒一樣地飛行等。面對(duì)21世紀(jì)太空、深海探測(cè)的挑戰(zhàn),移動(dòng)機(jī)構(gòu)是各種自主式機(jī)器人最基本和最關(guān)鍵的部已經(jīng)進(jìn)入實(shí)用化階段。軀干和關(guān)節(jié)機(jī)器人的軀干是直接連接、支撐和傳動(dòng)手臂及移動(dòng)機(jī)構(gòu)的部件。一般情況下,機(jī)器人的臂部實(shí)現(xiàn)升降、回轉(zhuǎn)和俯仰等運(yùn)動(dòng),移動(dòng)機(jī)構(gòu)的傳動(dòng)部件都安裝在軀干上。常見的軀干結(jié)構(gòu)有升降回轉(zhuǎn)型、俯仰型、平移型和類人型。機(jī)器人的關(guān)節(jié)用來連接驅(qū)動(dòng)部分和執(zhí)行部分,將驅(qū)動(dòng)部分的運(yùn)動(dòng)形式、運(yùn)動(dòng)及動(dòng)力參數(shù)轉(zhuǎn)變?yōu)閳?zhí)行部分的運(yùn)動(dòng)形式、運(yùn)動(dòng)和動(dòng)力參數(shù)。例如,把旋轉(zhuǎn)運(yùn)動(dòng)變換為直線運(yùn)動(dòng);把高轉(zhuǎn)速變?yōu)榈娃D(zhuǎn)速;把小轉(zhuǎn)矩變?yōu)榇筠D(zhuǎn)矩。機(jī)器人關(guān)節(jié)常用的部件有齒輪、帶、鏈、連桿、齒輪齒條、絲杠、蝸輪蝸桿、諧波齒輪、凸輪。齒輪。齒輪是相互嚙合的有齒的機(jī)械零件,是機(jī)器人應(yīng)用最廣的關(guān)節(jié)傳動(dòng)形式,可分為平面齒輪和空間齒輪。其優(yōu)點(diǎn)是傳遞動(dòng)力大、效率高、壽命長(zhǎng)、工作平穩(wěn)、可靠性作原理可分為摩擦型和嚙合型。鏈。鏈傳動(dòng)是由兩個(gè)具有特殊齒形的鏈條和一條撓性的閉合鏈條所組成的,依靠鏈確或兩者軸距較遠(yuǎn)的場(chǎng)合。連桿。連桿是利用連桿機(jī)構(gòu)傳遞動(dòng)力的機(jī)械傳動(dòng)方式,在所有的傳動(dòng)方式中,連桿指定經(jīng)過軌跡上某點(diǎn)的速度。按照連架桿其可分為曲柄式和撥叉式兩種。線運(yùn)動(dòng),這樣,齒輪的旋轉(zhuǎn)運(yùn)動(dòng)就轉(zhuǎn)換成拖板的直線運(yùn)動(dòng),這種形式的回差較大。絲杠。一個(gè)旋轉(zhuǎn)的精密絲杠可驅(qū)動(dòng)一個(gè)螺母沿絲杠軸向移動(dòng),其滑動(dòng)摩擦力大,低滾珠絲杠,它具有滾動(dòng)摩擦小、運(yùn)動(dòng)平穩(wěn)、雙螺母預(yù)緊去回差的優(yōu)點(diǎn)。蝸輪蝸桿。蝸輪蝸桿是用來傳遞空間互相垂直而不相交的兩軸間的運(yùn)動(dòng)和動(dòng)力的傳很大的減速比。諧波齒輪。諧波齒輪傳動(dòng)由剛性齒輪、諧波發(fā)生器、柔性齒輪3性齒輪固定安裝,柔性齒輪沿剛性齒輪的內(nèi)齒轉(zhuǎn)動(dòng)。凸輪。需要重復(fù)完成簡(jiǎn)單作業(yè)的搬運(yùn)機(jī)器人中廣泛采用連桿和凸輪。一般分為外凸輪、內(nèi)凸輪和圓柱凸輪。機(jī)器人關(guān)節(jié)除了上述的基本結(jié)構(gòu),還有一些特殊的機(jī)械部件來完成相應(yīng)的功能,如聯(lián)軸器、制動(dòng)器、減速器和離合器等。聯(lián)軸器。聯(lián)軸器是用來連接不同機(jī)構(gòu)中兩根軸(主動(dòng)軸和從動(dòng)軸)傳遞扭矩的機(jī)械部件,廣義的聯(lián)軸器包括脹套、萬向節(jié)等。制動(dòng)器。制動(dòng)器的作用是在機(jī)器人停止工作時(shí),保持機(jī)械臂的位置不變;在電源發(fā)的。減速器。減速器是一種由封閉在剛性殼體內(nèi)的齒輪傳動(dòng)、蝸桿傳動(dòng)或齒輪—?jiǎng)铀M成的獨(dú)立部件,常用在工作機(jī)和動(dòng)力機(jī)之間作為減速的傳動(dòng)裝置。用是操縱機(jī)器人傳動(dòng)系統(tǒng)的斷續(xù),以便進(jìn)行變速和換向。驅(qū)動(dòng)裝置按利用的能源分類,機(jī)器人的驅(qū)動(dòng)裝置可分為電動(dòng)、液動(dòng)和氣動(dòng)三類,其將來自電、液壓和氣壓等各種能源的能量轉(zhuǎn)換成旋轉(zhuǎn)運(yùn)動(dòng)、直線運(yùn)動(dòng)等方式的機(jī)械能。其中,電動(dòng)驅(qū)動(dòng)裝置精確度高、調(diào)速方便,但推力小,大推力時(shí)成本高;液壓驅(qū)動(dòng)裝置推力大、體積小、調(diào)速方便,但系統(tǒng)成本高,可靠性差,維修保養(yǎng)麻煩;氣動(dòng)驅(qū)動(dòng)裝置成本低、動(dòng)作可靠、不發(fā)熱,無污染,但推力偏小,不能實(shí)現(xiàn)精確的中間位置調(diào)節(jié)。電動(dòng)驅(qū)動(dòng)裝置在電動(dòng)驅(qū)動(dòng)裝置中,機(jī)器人的驅(qū)動(dòng)由電動(dòng)機(jī)提供的,通過電動(dòng)機(jī)的轉(zhuǎn)動(dòng)實(shí)現(xiàn)要完成的一系列操作。電動(dòng)機(jī)按原理和用途來分,可分為直流電動(dòng)機(jī)、交流電動(dòng)機(jī)和控制電動(dòng)機(jī),電動(dòng)機(jī)的效率等級(jí)表明有多少消耗的電能轉(zhuǎn)化成了機(jī)械能。液壓驅(qū)動(dòng)裝置其利用液壓泵將原動(dòng)機(jī)的機(jī)械能轉(zhuǎn)換成液體的壓力能,通過液體壓力能的變化來傳遞能量,經(jīng)過各種控制閥和管路的傳遞,借助液壓元件(液壓缸或馬達(dá))間大。液壓驅(qū)動(dòng)裝置適用于生產(chǎn)線固定式的特大功率機(jī)器人系統(tǒng)或機(jī)器人化工程機(jī)械。氣壓驅(qū)動(dòng)裝置氣壓驅(qū)動(dòng)裝置由氣源、氣動(dòng)執(zhí)行元件、氣動(dòng)控制閥和氣動(dòng)附件組成。氣源一般由壓縮機(jī)提供;氣動(dòng)執(zhí)行元件把壓縮氣體的壓力能轉(zhuǎn)換成機(jī)械能,用來驅(qū)動(dòng)執(zhí)行元件;氣動(dòng)控制閥用來調(diào)節(jié)氣流的方向、壓力和流量,相應(yīng)地分為方向控制閥、壓力控制閥和流量控制閥。氣動(dòng)驅(qū)動(dòng)裝置的優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單、價(jià)格低、易清潔、動(dòng)作靈敏、具有緩沖作用,但具有需要增設(shè)氣壓源、功率小、剛度差、噪聲大、不易控制等缺點(diǎn),多用于精度不高,但有潔凈、防爆等要求的機(jī)器人系統(tǒng)。感知系統(tǒng)從人類生理學(xué)觀點(diǎn)來看,人的感知可分為內(nèi)部感知和外部感知。類似地,機(jī)器人感知系統(tǒng)也可以分為內(nèi)部感知系統(tǒng)和外部感知系統(tǒng)。機(jī)器人感知系統(tǒng)的構(gòu)成如圖12-1所示。圖12-1 機(jī)器人感知系統(tǒng)的構(gòu)成機(jī)器人感知系統(tǒng)使機(jī)器人具有類似于人的肢體及感官功能,動(dòng)作靈活,在工作中可以不依賴于人的操縱。機(jī)器人傳感器在機(jī)器人感知系統(tǒng)中起到了十分重要的作用。正因?yàn)橛辛藗鞲衅?,機(jī)器人才具備類似人的知覺功能和反應(yīng)能力。機(jī)器人傳感器是從20世紀(jì)70年代發(fā)展起來的一類專用于機(jī)器人技術(shù)方面的新型傳感器。與普通傳感器相比,其工作原理基本相同,都是將非電量轉(zhuǎn)換成電信號(hào)輸出的裝置,一般由敏感元件、轉(zhuǎn)換元件和測(cè)量電路三部分組成,有時(shí)還需要加輔助電路。但機(jī)器人傳感器取決于機(jī)器人的工作需要和應(yīng)用特點(diǎn),機(jī)器人傳感器有其特殊性。對(duì)機(jī)器人感知系統(tǒng)的要求是選擇傳感器的基本依據(jù),機(jī)器人感知系統(tǒng)的一般要求如下。精度高、重復(fù)性好。穩(wěn)定性和可靠性好??垢蓴_能力強(qiáng)。質(zhì)量輕、體積小、安裝方便。內(nèi)部傳感器和外部傳感器,如圖12-2所示。內(nèi)部傳感器主要用于測(cè)量機(jī)器人自身的功能,具體的檢測(cè)對(duì)象:關(guān)節(jié)的線位移、角位移等幾何量;速度、加速度等運(yùn)動(dòng)量;傾斜角和振動(dòng)等物理量。內(nèi)部傳感器常用在控制系統(tǒng)中作為反饋元件,檢測(cè)機(jī)器人自身的各種狀態(tài)參數(shù),如關(guān)節(jié)的運(yùn)動(dòng)位置、速度、加速度、力和力矩等。常用的內(nèi)部傳感器種類如表12-1所示。圖12-2 機(jī)器人傳感器分類表12-1 常用內(nèi)部傳感器種外部傳感器是主要用來檢測(cè)機(jī)器人所處環(huán)境(如果是物體,則判斷離物體的距離有多遠(yuǎn)等)及狀況(如抓取的物體是否滑落)離傳感器、力傳感器、方向傳感器等。其具體種類如表12-2所示。表12-2 外部傳感器種類續(xù)表內(nèi)部監(jiān)測(cè)系統(tǒng)機(jī)器人的內(nèi)部監(jiān)測(cè)系統(tǒng)用于監(jiān)測(cè)機(jī)器人系統(tǒng)內(nèi)部的狀態(tài)參數(shù),如電源電壓、位置、速度和方位等。機(jī)器人內(nèi)部傳感器在機(jī)器人中感知它自己的狀態(tài),以調(diào)整和控制機(jī)器人自身的行動(dòng)。位移傳感器機(jī)器人位移按照位移的特征可分為線位移和角位移。線位移是機(jī)器人沿著某一條直線運(yùn)動(dòng)的距離,角位移是機(jī)器人繞某一點(diǎn)轉(zhuǎn)動(dòng)的角度。電位器式位移傳感器:由一個(gè)繞線式電阻和一個(gè)滑動(dòng)觸點(diǎn)組成,當(dāng)被檢測(cè)的位置量值,根據(jù)輸出電壓值的變化,可以檢測(cè)機(jī)器人各關(guān)節(jié)的位置和位移量。尺表面來回移動(dòng);定尺和滑尺之間保證有一定間隙,一般為0.25mm左右。圓形感應(yīng)同步器:主要用于角位移測(cè)量,由定子和轉(zhuǎn)子兩部分組成。里程計(jì)是一種利用從移動(dòng)傳感器獲得的數(shù)據(jù)來估計(jì)物體位置隨時(shí)間變化的方法。在許多機(jī)器人系統(tǒng)上,里程計(jì)被用來估計(jì)而不是確定這些機(jī)器人相對(duì)于初始位置移動(dòng)的距離。這種方法對(duì)由速度對(duì)時(shí)間積分來求得位置的誤差十分敏感??焖?、精確地?cái)?shù)據(jù)采集,設(shè)備標(biāo)定及處理過程對(duì)于高效地使用里程計(jì)十分必要。假設(shè)一個(gè)機(jī)器人在其輪子或腿關(guān)節(jié)處配備了旋轉(zhuǎn)編碼盤等設(shè)備,當(dāng)它向前一段時(shí)間后,想知道大致的移動(dòng)距離,此時(shí)可以借助旋轉(zhuǎn)編碼器,測(cè)量出輪子旋轉(zhuǎn)的圈數(shù),如果知道了輪子的周長(zhǎng),則可計(jì)算出機(jī)器人移動(dòng)的距離。速度和加速度傳感器一般能達(dá)到每分鐘幾十萬轉(zhuǎn),并且可以工作很長(zhǎng)時(shí)間,可用多種方法讀取軸所指示的方向,并自動(dòng)將數(shù)據(jù)信號(hào)傳給機(jī)器人控制系統(tǒng)。外部感官機(jī)器人的外部感官好比人的五官,可看作“電五官”,它感測(cè)到外界環(huán)境信息,然后反饋給機(jī)器人的大腦“處理器”進(jìn)行加工處理。如果一個(gè)機(jī)器人系統(tǒng)沒有外部感官,那么就像一個(gè)人沒有五官一樣。機(jī)器人的體感和觸覺機(jī)器人觸覺可感知被接觸物體的特征及傳感器接觸外界物體后的自身狀況,主要包括接觸覺、壓力覺、滑覺和接近覺。接觸覺傳感器最早的接觸覺傳感器為開關(guān)式傳感器,只有接觸(開)和不接觸(關(guān))兩個(gè)信號(hào),后來又出現(xiàn)了利用柔順指端結(jié)構(gòu)和電流變流體的指端應(yīng)變式觸覺傳感器、利用壓阻材料構(gòu)成兩層列電極與行電極的壓阻陣列觸覺傳感器。力覺傳感器力覺傳感器是將各種力學(xué)量轉(zhuǎn)換為電信號(hào)的器件,力學(xué)量包括質(zhì)量、力、力矩、壓力和應(yīng)力等。機(jī)器人在工作時(shí),需要有合適的握力,握力太小或太大都不合適。力覺傳感器通過彈性敏感元件將被測(cè)力或力矩轉(zhuǎn)換成某種位移量或形變量,然后通過各自的敏感介質(zhì)把位移量或形變量轉(zhuǎn)換成能夠輸出的電量。機(jī)器人力覺傳感器可分為以下3類。驅(qū)動(dòng)器上。人最后一個(gè)關(guān)節(jié)之間。指力傳感器:測(cè)量夾持物體的受力情況,安裝在機(jī)器人手爪(關(guān)節(jié))上?;X傳感器滑覺傳感器用于讓機(jī)器人感知手指與物體接觸面之間相對(duì)運(yùn)動(dòng)(滑動(dòng))的大小和方向,從而確定最佳大小的把握力,以保證既能握住物體不產(chǎn)生滑動(dòng),又不至于因?yàn)橛昧^大而使物體發(fā)生變形或被損壞?;X檢測(cè)功能是實(shí)現(xiàn)機(jī)器人柔性抓握的必備條件。常用的滑覺傳感器有受迫振蕩式滑覺傳感器(小探針與滑動(dòng)物體接觸使壓電晶體產(chǎn)生機(jī)械形變,從而使閾值檢測(cè)器感應(yīng)合成電壓脈沖,改變抓取力直到物體停止滑動(dòng))、斷續(xù)器(物體滑動(dòng)使磁滾輪轉(zhuǎn)動(dòng),從而使永磁體經(jīng)過磁頭上方時(shí)產(chǎn)生一個(gè)脈沖以改變抓取力)。接近覺傳感器覺傳感器的信息,可以輔助視覺系統(tǒng)來判斷對(duì)象物體的方位、外形,同時(shí)識(shí)別其表面形(或距離),接近覺傳感器大致可分為3類:感知近距離(mm級(jí))物體的有接觸式、感應(yīng)式、電容式等;感知中距離(30cm以內(nèi))物體的有紅外光電式;感知遠(yuǎn)距離(30cm以外)物體的有超聲式和激光式?;陔娙?、PVDF(聚偏二氟乙烯)、光波導(dǎo)等技術(shù)的三維觸覺傳感器的研究得到了廣泛應(yīng)用。例如,南安普頓大學(xué)研發(fā)的基于厚膜壓電式傳感器的仿真手指是滑覺傳感器較成功的體現(xiàn);用PVDF薄膜制作的像皮膚一樣粘貼在假手的手指表面的觸滑覺傳感器,可以安全地握取易碎或比較柔軟的物體;一種將基于PVDF膜三向力傳感技術(shù)的觸覺和基于光電原理的滑覺相結(jié)合的新型觸滑覺傳感器,可以實(shí)現(xiàn)機(jī)器人的物體抓取。哈爾濱工業(yè)大學(xué)基于光纖的光強(qiáng)內(nèi)調(diào)制原理設(shè)計(jì)了一種用于水下機(jī)器人的滑覺傳感器,其采用了特殊的調(diào)理電路和智能化的信息處理方法,適用于水下機(jī)器人作業(yè);西安交通大學(xué)設(shè)計(jì)了基于單片機(jī)控制的光電反射式接近覺傳感器和光纖微彎力覺傳感器的機(jī)器人。機(jī)器人的耳朵和聽覺判斷聲源的大致方位;有的甚至要求機(jī)器人能進(jìn)行語音交流,使其具備“人—機(jī)”對(duì)話功傳聲器、駐極體電容式傳聲器、動(dòng)圈式傳聲器和帶式傳聲器等。無噪聲壓電傳聲器:采用兩塊壓電高聚物PVF2薄膜構(gòu)成傳感器的振膜,收到機(jī)械振從而可實(shí)現(xiàn)阻抗變化。駐極體電容式傳聲器:振膜采用高聚物駐極體,膜鍍上金或鋁金屬作為一個(gè)電極,轉(zhuǎn)化成方便測(cè)量的電信號(hào)。動(dòng)圈式傳聲器:線圈貼于振膜上,懸于兩磁極之間,聲波通過空氣使振膜振動(dòng),從與聲波直接相關(guān),聲波經(jīng)過調(diào)音臺(tái)進(jìn)行調(diào)整,然后通過放大器和揚(yáng)聲器再還原成聲音。帶式傳聲器:不是靠線圈產(chǎn)生電壓,而是使用一條金屬帶來產(chǎn)生電壓,金屬帶在強(qiáng)壓。機(jī)器人的眼睛和視覺視覺傳感器是機(jī)器人不可或缺的重要部分,其發(fā)展不斷推動(dòng)機(jī)器人的視覺研究的發(fā)展,視覺傳感器的性能在不同的應(yīng)用中有不同的要求,其性能的好壞會(huì)直接影響機(jī)器人的操作任務(wù)。為此,科研工作者們進(jìn)行了一系列的研究,如已研制的一種由激光器、CCD和濾光片組成的視覺傳感器系統(tǒng),具有體積小巧、結(jié)構(gòu)緊湊、性價(jià)比高、質(zhì)量輕等優(yōu)點(diǎn)。機(jī)器人的視覺傳感器工作一般包括3個(gè)過程:圖像獲取、圖像處理和圖像理解。常用的視覺傳感器有光導(dǎo)視覺傳感器、CCD圖像傳感器、CMOS圖像傳感器和紅外線傳感器等。光導(dǎo)視覺傳感器:主要用于光導(dǎo)式攝像機(jī),這種攝像機(jī)是由接收部分、光電轉(zhuǎn)換部子的外光效應(yīng)而制成的真空或充氣的光電器件。CCD圖像傳感器:是在MOS集成電路基礎(chǔ)上發(fā)展起來的,使用的是高感光度的半導(dǎo)體材料,能把光線轉(zhuǎn)變成電荷,并通過模數(shù)轉(zhuǎn)換器芯片轉(zhuǎn)換成數(shù)字信號(hào);CCD由許多感光單位組成,通常以百萬像素為單位;當(dāng)CCD表面受到光線照射時(shí),每個(gè)感光單位將電荷反映在組件上,綜合在一起構(gòu)成一幅完整的畫面。CMOS圖像傳感器:互補(bǔ)型金屬氧化物半導(dǎo)體在數(shù)碼相機(jī)中可記錄光線變化,利用半導(dǎo)體在CMOS上共存N(-)極和P(+)極可產(chǎn)生互補(bǔ)效應(yīng)的電流,并被處理芯片記錄和解讀成影像,傳感器中的每個(gè)像素都會(huì)鄰接一個(gè)放大器及A/D路的方式將數(shù)據(jù)輸出。紅外線傳感器:紅外線具有光熱效應(yīng),能輻射能量,常用熱電晶體作為敏感元件。體的影像,從而識(shí)別環(huán)境或物體,跟蹤目標(biāo),測(cè)定障礙物距離以避免碰撞。動(dòng)物和人通過眼睛觀察客觀世界時(shí),不是單純地看,更重要的是理解。數(shù)字?jǐn)z像視覺系統(tǒng)能為機(jī)器人提供豐富的影像信息,這些信息經(jīng)過復(fù)雜的處理后,可被機(jī)器人理解和識(shí)別??紤]到采集的數(shù)據(jù)量龐大及實(shí)時(shí)性的要求,可用多核DSP并行處理的架構(gòu)來處理大量圖像數(shù)據(jù);為了提高機(jī)器人視覺系統(tǒng)的圖像處理速度,可以將光學(xué)小波變換應(yīng)用于視覺系統(tǒng),還可以采用帶冷卻系統(tǒng)的結(jié)構(gòu)光視覺傳感器。機(jī)器人視覺系統(tǒng)主要用于方向定位、避障和目標(biāo)跟蹤等。中國科學(xué)院沈陽自動(dòng)化所采用光學(xué)原理的全方位位置傳感器系統(tǒng),通過觀測(cè)路標(biāo)和視角定位的方法,確定機(jī)器人在世界坐標(biāo)系中的位置和方向;浙江工業(yè)大學(xué)采用一種單目視覺結(jié)合紅外線測(cè)距傳感器共同避障的策略,使用光流法處理采集的圖像序列信息,獲得了移動(dòng)機(jī)器人前方的避障物信息;四川大學(xué)以主從雙目視覺傳感器實(shí)現(xiàn)目標(biāo)識(shí)別和定位任務(wù),實(shí)現(xiàn)了多傳感器、多視角的協(xié)同采集和數(shù)據(jù)處理;中國農(nóng)業(yè)大學(xué)根據(jù)作物的反射光譜特性,選擇敏感波長(zhǎng)的激光源構(gòu)建三維視覺系統(tǒng),并利用三角測(cè)量技術(shù)來獲得物體3D信息。機(jī)器人的鼻子和嗅覺某些特定功能的機(jī)器人需要具有類似人類鼻子嗅覺的功能,以便檢測(cè)外界環(huán)境的某些參數(shù)轉(zhuǎn)換成對(duì)應(yīng)電信號(hào)的轉(zhuǎn)換器。常見的氣體傳感器有半導(dǎo)體式、接觸燃燒式和電化學(xué)式3種。半導(dǎo)體式氣體傳感器:利用半導(dǎo)體氣敏元件同氣體接觸時(shí),半導(dǎo)體電導(dǎo)率等物理性做定性檢測(cè)。接觸燃燒式氣體傳感器:基于強(qiáng)催化劑使氣體在其表面燃燒時(shí)會(huì)產(chǎn)生熱量,使傳感不受環(huán)境濕度的影響。電化學(xué)式氣體傳感器:一種是液體電解質(zhì)氣體傳感器,即氣體直接氧化或還原產(chǎn)生電流,或者氣體溶解于電解質(zhì)溶液中并離子化,離子作用于離子電極產(chǎn)生電動(dòng)勢(shì);另一種是有機(jī)凝膠電解質(zhì)或固體電解質(zhì)氣體傳感器,即電解質(zhì)兩邊的電勢(shì)差與電極兩邊氣體分壓之比成對(duì)數(shù)關(guān)系。目前,科研工作者對(duì)于機(jī)器人嗅覺的研究尚處于初級(jí)階段,真正具有嗅覺功能的機(jī)器人不多見,該技術(shù)尚未成熟,目前研究更多地集中在移動(dòng)機(jī)器人的嗅覺定位領(lǐng)域。主要采用以下3種方法實(shí)現(xiàn)機(jī)器人嗅覺功能。在機(jī)器人上安裝單個(gè)或多個(gè)氣體傳感器,再配置相應(yīng)的處理電路來實(shí)現(xiàn)嗅覺功能。Ishida等采用4個(gè)氣體傳感器制成氣味方向探測(cè)裝置,充分利用氣味信息和風(fēng)向信息完成味源搜索;PawalPyk研制了一個(gè)裝有6陣列金屬氧化物氣體傳感器和風(fēng)向標(biāo)式風(fēng)向傳感器的氣體的定性識(shí)別。自行研制嗅覺裝置,Kuwana使用活的蟬蛾觸角配上電極構(gòu)造了兩種能感知信息素的學(xué)的AchimLilientha和瑞典厄勒布魯大學(xué)的TomDuckett合作研制了MarkIII型立體式電子鼻和一臺(tái)移動(dòng)機(jī)器人構(gòu)成了移動(dòng)電子鼻。味源。機(jī)器人的舌頭和味覺映樣品味覺特征的結(jié)果。目前,廣泛運(yùn)用的生物模擬味覺和味覺傳感系統(tǒng)是根據(jù)接觸物質(zhì)溶液的類脂/高聚物膜會(huì)產(chǎn)生電位差的原理制成的多通道味覺傳感器。日本九州大學(xué)的K.Toko等設(shè)計(jì)了能鑒別12味覺傳感器是用來檢測(cè)液態(tài)中的非揮發(fā)性的離子和分子的。南昌大學(xué)以鉑工作電極為基地,用8個(gè)固態(tài)PPP味覺傳感器與217型飽和雙鹽橋甘汞電極組成傳感器陣列,采用主成分空間很大。機(jī)器人的操作系統(tǒng)作為軟件平臺(tái),機(jī)器人操作系統(tǒng)最為突出的是開源機(jī)器人操作系統(tǒng)(RobotOperatingSystem,ROS)。ROS集成了全世界機(jī)器人領(lǐng)域頂級(jí)科研機(jī)構(gòu),包括斯坦福大學(xué)、麻省理工學(xué)院、慕尼黑工業(yè)大學(xué)、東京大學(xué)等多年的研究成果。隨后,因其開源性,世界各地機(jī)器人領(lǐng)域的研究者推動(dòng)其不斷發(fā)展。ROS是一個(gè)先進(jìn)的機(jī)器人操作系統(tǒng)框架,2013年,《麻省理工科技評(píng)論》(MITTechnologyReview)中指出,“從2010年發(fā)布1.0版本以來,ROS已成為機(jī)器人軟件的事實(shí)標(biāo)準(zhǔn)”。ROS概述起源ROS起源于2007年斯坦福大學(xué)人工智能實(shí)驗(yàn)室項(xiàng)目與WillowGarage公司的個(gè)人機(jī)器人項(xiàng)目(PersonalRobotsProgram)之間的合作,2008年之后由WillowGarage公司進(jìn)行推動(dòng)。2010年,WillowGarage公司發(fā)布的ROS一經(jīng)問世便在機(jī)器人研究領(lǐng)域引起了學(xué)習(xí)和使用熱潮。目前OSRF(OpenSourceRoboticsFoundation,Inc)公司在維護(hù)開源項(xiàng)目。ROS在機(jī)器人PR2疊衣服、做早飯等行為方面表現(xiàn)優(yōu)異,WillowGarage公司希望借助開源的力量使PR2變成“全能機(jī)器人”。PR2價(jià)格高昂,2011年零售價(jià)高達(dá)40萬美元,主要應(yīng)用于科研。PR2有兩條手臂,每個(gè)手臂有7個(gè)關(guān)節(jié),手臂末端有一個(gè)鉗形手,底部有4個(gè)輪子便于移動(dòng)。PR2的頭部、胸部、肘部和鉗形手上安裝了高分辨率攝像頭、激光測(cè)距儀、慣性測(cè)量單元和觸覺傳感器等豐富的感知設(shè)備。PR2底部有兩臺(tái)八核的計(jì)算機(jī)來作為機(jī)器人的“大腦”,其安裝了Ubuntu和ROS。定義ROS是面向機(jī)器人的開源的元操作系統(tǒng)(Meta-OperationSystem)。它能夠提供類似傳統(tǒng)操作系統(tǒng)的諸多功能,如硬件抽象、底層設(shè)備驅(qū)動(dòng)、用戶功能實(shí)現(xiàn)、進(jìn)程間消息傳遞和程序包管理等。此外,它提供了相關(guān)工具和庫,用于獲取、編譯、編輯代碼及在多個(gè)計(jì)算機(jī)之間運(yùn)行程序以完成分布式計(jì)算。ROS首先是一個(gè)操作系統(tǒng)。操作系統(tǒng)是用來管理計(jì)算機(jī)硬件與軟件資源,并提供一些公用服務(wù)的系統(tǒng)軟件,ROS在ROS中可以用相同的方式表示(Topic等),供上層應(yīng)用程序(運(yùn)動(dòng)路徑規(guī)劃)調(diào)用。ROS是一種跨平臺(tái)模塊化的軟件通信機(jī)制。ROS利用節(jié)點(diǎn)(Node)應(yīng)用程序,不同節(jié)點(diǎn)之間通過事先定義好格式的消息(Topic)、服務(wù)(Service)、動(dòng)作(Action)來實(shí)現(xiàn)連接。基于這種模塊化的通信機(jī)制,開發(fā)者可以很方便地替換、更新系統(tǒng)內(nèi)的某些模塊;也可以用自己編寫的節(jié)點(diǎn)替換ROS外,ROS可以跨平臺(tái),在不同計(jì)算機(jī)、不同操作系統(tǒng)、不同編程語言、不同機(jī)器人中使用。ROS是一系列開源工具。ROS高開發(fā)效率。①rqt_plot:可以實(shí)時(shí)繪制當(dāng)前任意Topic的數(shù)值曲線。②rqt_graph:可以繪制各節(jié)點(diǎn)之間的連接狀態(tài)和正在使用的Topic等。③TF:TransForm的簡(jiǎn)寫,利用它,開發(fā)者可以實(shí)時(shí)知道各連桿坐標(biāo)系的位姿,也可求出兩個(gè)坐標(biāo)系的相對(duì)位置。④Rviz:超強(qiáng)大的3D可視化工具,可以顯示機(jī)器人模型、3D電影、各種文字圖標(biāo),也可很方便地進(jìn)行二次開發(fā)。此外,ROS還有很多其他有用的開源工具。ROS是一系列最先進(jìn)的算法。除ROS項(xiàng)目,但ROS正逐漸將它們囊括在自己的范疇里,具體介紹如下。OROCOS:這個(gè)開源項(xiàng)目主要側(cè)重于機(jī)器人底層控制系統(tǒng)的設(shè)計(jì),包括用于計(jì)算串聯(lián)機(jī)械臂運(yùn)動(dòng)學(xué)數(shù)值解的KDL、貝葉斯濾波、實(shí)時(shí)控制等功能。OpenRave:這是在ROS之前用來做運(yùn)動(dòng)規(guī)劃的平臺(tái),ROS已經(jīng)將其中的ikfast(計(jì)算串聯(lián)機(jī)械臂的運(yùn)動(dòng)學(xué)解析解)等功能吸收。Player:一款優(yōu)秀的二維仿真平臺(tái),可以用于平面機(jī)器人的仿真,現(xiàn)在可由ROS直接使用。OpenCV:機(jī)器人視覺開源項(xiàng)目,ROS提供了cv_bridge,可以將OpenCV的圖片格式與ROS的圖片格式相互轉(zhuǎn)換。OMPL:現(xiàn)在最著名的運(yùn)動(dòng)規(guī)劃開源項(xiàng)目,已經(jīng)成為Movelt的一部分。Visp:一個(gè)開源視覺伺服項(xiàng)目,已經(jīng)跟ROS完美整合。Gazebo:一款優(yōu)秀的開源仿真平臺(tái),可以實(shí)現(xiàn)力學(xué)仿真、傳感器仿真等,已被ROS吸收。ORK:一個(gè)物體識(shí)別與位姿估計(jì)開源庫,包含LineMod算法,但實(shí)際使用效果不理想。PCL:一個(gè)開源點(diǎn)云處理庫,原本是從ROS發(fā)展起來的,后來為了讓非ROS用戶也能用,就單獨(dú)成立了一個(gè)PCL項(xiàng)目。Gmapping:從OpenSlam項(xiàng)目繼承過來的,后來有了進(jìn)一步發(fā)展,改動(dòng)較大,利用Gmapping可以實(shí)現(xiàn)laser-basedSLAM,從而快速建立室內(nèi)二維地圖。Localization:基于擴(kuò)展卡爾曼濾波(EKF)和無跡卡爾曼濾波(UKF)的機(jī)器人定位算法,可以融合各種傳感器的定位信息,獲得較為準(zhǔn)確的定位效果。Navigation:基于Dijkstra、A*(全局規(guī)劃器)和動(dòng)態(tài)窗口算法DWA(局部規(guī)劃器)的移動(dòng)機(jī)器人路徑規(guī)劃模塊,可以在二維地圖上實(shí)現(xiàn)機(jī)器人導(dǎo)航。Movelt:專注于移動(dòng)機(jī)械臂運(yùn)動(dòng)規(guī)劃的模塊。ROS是一個(gè)最活躍的機(jī)器人開發(fā)交流平臺(tái)。ROS版本定期更新,主要模塊專人維護(hù),問答區(qū)活躍,各maillists也非常活躍,開發(fā)者熱衷于交流分享?,F(xiàn)在需要其他項(xiàng)目來替代或部分替代ROS功能,如OpenRave運(yùn)動(dòng)規(guī)劃、V-rep仿真,但這些項(xiàng)目的社區(qū)遠(yuǎn)遠(yuǎn)沒有ROS活躍。設(shè)計(jì)目標(biāo)ROS是開源并用于機(jī)器人的一種后操作系統(tǒng),部分學(xué)者稱其為次級(jí)操作系統(tǒng)。它提供類似于計(jì)算機(jī)操作系統(tǒng)所提供的功能,包括硬件抽象描述、底層驅(qū)動(dòng)程序管理、共用功能的執(zhí)行、程序間的消息傳遞、程序包發(fā)行管理,也提供一些工具程序和庫,用于獲取、建立、編寫和運(yùn)行多機(jī)整合的程序。ROS的首要設(shè)計(jì)目標(biāo)是在機(jī)器人研發(fā)領(lǐng)域提高代碼復(fù)用率。ROS是一種分布式處理框架,這使可執(zhí)行文件能被單獨(dú)設(shè)計(jì),并且在運(yùn)行時(shí)松散耦合。這些過程可以封裝到數(shù)據(jù)包(Package)和堆棧(Stacks)中,以便共享和分發(fā)。ROS還支持代碼庫的聯(lián)合系統(tǒng),使得協(xié)作也能被分發(fā)。這種從文件級(jí)別到社區(qū)一級(jí)的設(shè)計(jì)讓ROS獨(dú)立地決定發(fā)展和實(shí)施工作成為可能。主要特點(diǎn)ROS的運(yùn)行架構(gòu)是一種使用ROS通信模塊實(shí)現(xiàn)模塊間P2P松耦合的網(wǎng)絡(luò)連接的處理架構(gòu),它執(zhí)行若干種類型的通信,包括基于服務(wù)的同步RPC(遠(yuǎn)程調(diào)用)通信、基于Topic的異步數(shù)據(jù)流通信,還有參數(shù)服務(wù)器上的數(shù)據(jù)存儲(chǔ),但ROS本身沒有實(shí)時(shí)性。點(diǎn)對(duì)點(diǎn)設(shè)計(jì)ROS包括一系列進(jìn)程,這些進(jìn)程存在于多個(gè)不同的主機(jī)中且在運(yùn)行過程中通過端對(duì)端的拓?fù)浣Y(jié)構(gòu)進(jìn)行聯(lián)系?;谥行姆?wù)器的那些軟件框架也具有實(shí)現(xiàn)多進(jìn)程和多主機(jī)的優(yōu)勢(shì),但在這些框架中,當(dāng)各計(jì)算機(jī)通過不同的網(wǎng)絡(luò)進(jìn)行連接時(shí),中心數(shù)據(jù)服務(wù)器就會(huì)發(fā)生問題。ROS的點(diǎn)對(duì)點(diǎn)設(shè)計(jì)及服務(wù)和節(jié)點(diǎn)管理器等機(jī)制可以分散由計(jì)算機(jī)視覺和語音識(shí)別等功能帶來的實(shí)時(shí)計(jì)算壓力,能夠解決多機(jī)器人遇到的挑戰(zhàn)。分布式計(jì)算機(jī)器人系統(tǒng)往往需要多個(gè)計(jì)算機(jī)同時(shí)運(yùn)行多個(gè)進(jìn)程,為實(shí)現(xiàn)不同進(jìn)程之間的通信問題,ROS提供了一個(gè)通信中間件來實(shí)現(xiàn)分布式系統(tǒng)的構(gòu)建。軟件復(fù)用任何一個(gè)算法實(shí)用的前提是其能夠應(yīng)用于新的領(lǐng)域,如導(dǎo)航、路徑規(guī)劃、建圖等。ROS通過ROS標(biāo)準(zhǔn)包(StandardPackage)提供穩(wěn)定的、可調(diào)式的各類重要機(jī)器人算法實(shí)現(xiàn);ROS通信接口正成為機(jī)器人軟件互操作的事實(shí)標(biāo)準(zhǔn),絕大部分最新的硬件驅(qū)動(dòng)和最新的前沿算法實(shí)現(xiàn)都可以在ROS中找到。開發(fā)人員可以將更多的時(shí)間用于新思想和新算法的設(shè)計(jì)與實(shí)現(xiàn),盡量避免重復(fù)實(shí)現(xiàn)已有的研究成果。多語言支持ROS具有語言中立性架構(gòu),支持多種不同的語言,如C++、Python、Octave和LISP,也包含其他語言的接口實(shí)現(xiàn)。多語言支持便于滿足編程者偏向某一些編程語言的習(xí)慣。ROS能夠利用各種語言實(shí)現(xiàn)更加自然、更符合各種語言的語法約定,而不是基于C語言給各種其他語言提供實(shí)現(xiàn)接口。ROS利用簡(jiǎn)單的、和語言無關(guān)的接口定義來描述模塊之間的消息傳送。接口定義語言使用簡(jiǎn)短的文本來描述每條消息的結(jié)構(gòu),也允許消息合成。因?yàn)橄⑹菑母鞣N簡(jiǎn)單的文本文件中自動(dòng)生成的,在消息傳遞和接收的過程中,通過ROS自動(dòng)連續(xù)并行地實(shí)現(xiàn),很容易列舉出新的消息類型。這些消息從傳感器傳送數(shù)據(jù),使機(jī)器人可以檢測(cè)到周圍環(huán)境。和語言無關(guān)的消息處理,使ROS可以讓多種語言自由地混合和匹配使用。精簡(jiǎn)與集成ROS建立的算法具有模塊化的特點(diǎn),各模塊中的代碼可以單獨(dú)編譯,而且編譯使用的CMake工具很容易實(shí)現(xiàn)精簡(jiǎn)的理念。ROS基本將復(fù)雜的代碼封裝在庫中,只創(chuàng)建了一些小的應(yīng)用程序作為ROS顯示庫的功能,這就允許對(duì)簡(jiǎn)單的代碼超越原型進(jìn)行移植和重新使用。利用已經(jīng)存在的開源項(xiàng)目的代碼,在每個(gè)實(shí)例中,ROS項(xiàng)及使各軟件之間進(jìn)行數(shù)據(jù)通信,同時(shí)對(duì)它們進(jìn)行微小的包裝和改動(dòng)。ROS社區(qū)維護(hù)中進(jìn)行升級(jí),包括從其他的軟件庫、應(yīng)用補(bǔ)丁中升級(jí)ROS的源代碼。工具包豐富為了管理復(fù)雜的ROS軟件框架,大量的小工具被利用去編譯和運(yùn)行多種多樣的ROS組件,從而構(gòu)建了內(nèi)核,而不是構(gòu)建了一個(gè)龐大的開發(fā)和運(yùn)行環(huán)境。這些工具擔(dān)任了各種各樣的任務(wù),如組織源代碼的結(jié)構(gòu)等。免費(fèi)且開源ROS所有的源代碼都是公開發(fā)布的,這必將促進(jìn)ROS軟件在各層次的調(diào)試,以便不斷地改正錯(cuò)誤。當(dāng)硬件和各層次的軟件同時(shí)設(shè)計(jì)與調(diào)試時(shí),一個(gè)開源的平臺(tái)就無可替代了。ROS以分布式的關(guān)系遵循著BSD許可,通過內(nèi)部處理的通信系統(tǒng)進(jìn)行數(shù)據(jù)傳遞,不要求各模塊在同樣的可執(zhí)行功能上連接在一起。如此,利用ROS構(gòu)建的系統(tǒng)可以很好地使用豐富的組件。個(gè)別的模塊可以包含被各種協(xié)議保護(hù)的軟件,這些協(xié)議是從GPL到BSD的,但許可的一些“污染物”將在模塊的分解上被完全消除??焖贉y(cè)試為機(jī)器人開發(fā)軟件比開發(fā)其他軟件更具挑戰(zhàn)性,主要因?yàn)檎{(diào)試時(shí)間長(zhǎng),且調(diào)試過程復(fù)雜,況且因?yàn)橛布S修的經(jīng)費(fèi)限制等,不一定隨時(shí)有機(jī)器人可供使用。精心設(shè)計(jì)的ROS框架將底層硬件控制模塊和頂層數(shù)據(jù)處理與決策模塊分離,從而可以使用模擬器代替底層硬件模塊來獨(dú)立測(cè)試頂層部分,從而提高了測(cè)試效率。ROS還提供了一種簡(jiǎn)單的方法來在調(diào)試過程中記錄傳感器數(shù)據(jù)及其他類型的消息數(shù)據(jù),并在試驗(yàn)后按時(shí)間回放,通過這種方式,每次運(yùn)行機(jī)器人就可以獲得更多的測(cè)試機(jī)會(huì)。例如,可以記錄傳感器的數(shù)據(jù),并通過多次回放測(cè)試不同的數(shù)據(jù)處理算法。在ROS術(shù)語中,這類記錄的數(shù)據(jù)稱為包(Bag),一個(gè)被稱為Rosbag的工具可以用于記錄和回放包數(shù)據(jù)。ROS不是唯一具備上述能力的軟件平臺(tái),其最大的優(yōu)勢(shì)是實(shí)現(xiàn)了代碼的“無縫連接”,因?yàn)閷?shí)體機(jī)器人、仿真器、回放包可以提供同樣的接口,上層軟件不需要修改就可以與它們進(jìn)行交互,實(shí)際上甚至不需要知道操作的對(duì)象是否為實(shí)體機(jī)器人。ROS得到了來自機(jī)器人領(lǐng)域諸多開發(fā)者的認(rèn)可和支持,這種認(rèn)可和支持促使ROS不斷發(fā)展、進(jìn)步和完善。架構(gòu)工作空間工作空間簡(jiǎn)介ROS執(zhí)行命令都在一個(gè)工作空間中進(jìn)行。ROS需要一個(gè)區(qū)域來供代碼操作,這個(gè)區(qū)域就是工作空間(WorkSpace),工作空間是ROS中最小環(huán)境配置單位,可以把工作空間看成一個(gè)有結(jié)構(gòu)的文件夾,它包含多個(gè)Package及一些結(jié)構(gòu)性文件。每次將一個(gè)工作空間配置寫進(jìn)環(huán)境變量中,才能使用ROS命令執(zhí)行與這個(gè)工作空間中的Package相關(guān)的操作。工作空間的結(jié)構(gòu)Package和工作空間都是有結(jié)構(gòu)的,這些結(jié)構(gòu)都是由編譯系統(tǒng)(BuildSystem)規(guī)定的。ROS的編譯系統(tǒng)有兩種:一種是Catkin;另一種是Rosbuild。利用不同的BuildSystem創(chuàng)建出來的工作空間和Package也分為兩種。當(dāng)運(yùn)行工作空間相關(guān)命令時(shí),它會(huì)在一個(gè)指定的空文件夾下面放很多功能性文件,并將這個(gè)文件夾變成一個(gè)工作空間。當(dāng)運(yùn)行Package相關(guān)命令時(shí),它會(huì)在指定的路徑下面創(chuàng)建Package。工作空間的使用在使用工作空間之前,必須要命令(source)幾個(gè)setup.bash文件,也就是讓Terminal知道當(dāng)前需要使用的工作空間,具體涉及工作空間的初始化和工作空間覆蓋的內(nèi)容,讀者可以在ROS官方網(wǎng)站找到具體的操作方法。1)main其核心部分主要由WillowGarage公司和一些開發(fā)者設(shè)計(jì)、提供及維護(hù)。它提供一些分布式計(jì)算的基本工具及整個(gè)ROS的核心部分的程序編寫功能。2)Universe全球范圍內(nèi)的代碼,由不同國家的ROS社區(qū)組織開發(fā)和維護(hù),其中包含庫代碼,如OpenCV、PCL等;庫的上一層是從功能角度提供的代碼,如人臉識(shí)別,該代碼調(diào)用下層的庫;最上層的代碼是應(yīng)用級(jí)的代碼,可讓機(jī)器人完成某一確定的功能。從另一角度對(duì)ROS分級(jí),主要分為計(jì)算圖級(jí)、文件系統(tǒng)級(jí)和社區(qū)級(jí),如圖12-3所示。圖12-3 ROS層3.計(jì)算圖級(jí)計(jì)算圖是ROS處理數(shù)據(jù)的一種點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)形式。程序運(yùn)行時(shí),所有進(jìn)程及所進(jìn)行的數(shù)據(jù)處理,將會(huì)通過一種點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)形式表現(xiàn)出來。這一級(jí)的主要概念有節(jié)點(diǎn)(Node)、消息(Message)、主題(Topic)和服務(wù)(Service)。節(jié)點(diǎn)節(jié)點(diǎn)是一些執(zhí)行運(yùn)算任務(wù)的進(jìn)程。ROS利用規(guī)模可增長(zhǎng)的方式使代碼模塊化:一個(gè)系統(tǒng)就是典型的由多個(gè)節(jié)點(diǎn)組成的。在這里,節(jié)點(diǎn)也可以被稱為“軟件模塊”。使用節(jié)點(diǎn)使得ROS在運(yùn)行時(shí)更加形象化。消息節(jié)點(diǎn)之間是通過傳送消息進(jìn)行通信的。每個(gè)消息都是一個(gè)嚴(yán)格的數(shù)據(jù)結(jié)構(gòu),原來標(biāo)準(zhǔn)的數(shù)據(jù)類型(整型、浮點(diǎn)型、布爾型等)都可以被支持,同時(shí)其支持原始數(shù)據(jù)組類型。消息可包含任意的嵌套結(jié)構(gòu)和數(shù)組。主題消息以一種發(fā)布/訂閱的方式傳遞。一個(gè)節(jié)點(diǎn)可以在一個(gè)給定的主題中發(fā)布消息,并針對(duì)某個(gè)主題關(guān)注并訂閱特定類型的數(shù)據(jù)。可能同時(shí)有多個(gè)節(jié)點(diǎn)發(fā)布或者訂閱同一個(gè)主題的消息。總體上,發(fā)布者和訂閱者不了解彼此的存在。服務(wù)服務(wù)用一個(gè)字符串和一對(duì)嚴(yán)格規(guī)范的消息定義:一個(gè)用于請(qǐng)求,一個(gè)用于回應(yīng)。類似于Web服務(wù)器,服務(wù)由URIs定義,同時(shí)帶有完整定義類型的請(qǐng)求和回復(fù)文檔。ROS控制器可以使節(jié)點(diǎn)有條不紊地執(zhí)行,通過遠(yuǎn)程過程調(diào)用(RemoteProcedureCall)提供登記表和對(duì)其他計(jì)算圖表的查找。沒有控制器,節(jié)點(diǎn)將無法找到其他節(jié)點(diǎn),無法交換消息和調(diào)用服務(wù)??刂乒?jié)點(diǎn)訂閱和發(fā)布消息的模型如圖12-4所示。圖12-4 節(jié)點(diǎn)訂閱和發(fā)布消息模型ROS控制器給ROS節(jié)點(diǎn)存儲(chǔ)了主題和服務(wù)的注冊(cè)信息。節(jié)點(diǎn)與控制器通信以報(bào)告它們的注冊(cè)信息。當(dāng)這些節(jié)點(diǎn)與控制器通信時(shí),它們可以接收關(guān)于其他已注冊(cè)節(jié)點(diǎn)的信息并建立與其他節(jié)點(diǎn)的聯(lián)系。當(dāng)節(jié)點(diǎn)注冊(cè)信息改變時(shí),控制器也會(huì)回饋其他節(jié)點(diǎn),同時(shí)其動(dòng)態(tài)創(chuàng)建與新節(jié)點(diǎn)之間的連接。要求建立一個(gè)與出版該主題的節(jié)點(diǎn)的連接,并且將會(huì)在同意連接協(xié)議的基礎(chǔ)上建立該連接。4.文件系統(tǒng)級(jí)ROS文件系統(tǒng)級(jí)指在硬盤上查看的ROS源代碼的組織形式。ROS中有無數(shù)的節(jié)點(diǎn)、消息、服務(wù)、工具和庫文件,需要有效的結(jié)構(gòu)去管理這些代碼。ROS的文件系統(tǒng)級(jí)有包(Package)和堆棧(Stack)。包ROS的軟件以包的形式組織起來,包包含節(jié)點(diǎn)、ROS依賴庫、數(shù)據(jù)套、配置文件、第三方軟件或任何其他邏輯。包的目標(biāo)是提供一種易于使用的結(jié)構(gòu),以便于軟件的重復(fù)使用。堆棧堆棧是包的集合,提供一個(gè)完整的功能,與版本號(hào)關(guān)聯(lián),也是如何發(fā)行ROS軟件方式的關(guān)鍵。ROS是一種分布式框架,可以將可執(zhí)行文件封裝到包和堆棧中,以便共享和分發(fā)。Manifests:提供關(guān)于包的元數(shù)據(jù),包括它的許可信息和包之間的依賴關(guān)系及語言特性信息,如編譯優(yōu)化參數(shù)。Stackmanifests:提供關(guān)于堆棧的元數(shù)據(jù),包括它的許可信息和堆棧之間的依賴關(guān)系。5.社區(qū)級(jí)ROS的社區(qū)級(jí)概念是ROS網(wǎng)絡(luò)上進(jìn)行代碼發(fā)布的一種表現(xiàn)形式,代碼庫的聯(lián)合系統(tǒng),使得協(xié)作也能被分發(fā)。這種從文件系統(tǒng)級(jí)到社區(qū)級(jí)的設(shè)計(jì)讓獨(dú)立地發(fā)展和實(shí)施工作成為可能。正是因?yàn)檫@種分布式結(jié)構(gòu),ROS才能迅速發(fā)展,其軟件庫中包含包的數(shù)量呈指數(shù)級(jí)增加。機(jī)器人的控制系統(tǒng)機(jī)器人不同于一般的自動(dòng)化機(jī)器,其控制系統(tǒng)具有獨(dú)特的要求。機(jī)器人的控制與機(jī)構(gòu)運(yùn)動(dòng)及動(dòng)力學(xué)密切相關(guān)。成一個(gè)多變量控制系統(tǒng)。機(jī)器人控制系統(tǒng)必須是一個(gè)計(jì)算機(jī)控制系統(tǒng)。化,其參數(shù)也在變化,各變量之間還存在耦合。機(jī)器人的動(dòng)作往往可以通過不同的方式和路徑來完成,因此,存在一個(gè)“最優(yōu)”題。主要內(nèi)容機(jī)器人的種類繁多,機(jī)器人控制涉及諸多內(nèi)容,主要分為底層控制和上層控制。其中,底層控制包括機(jī)器人本體,即機(jī)械部分、驅(qū)動(dòng)器控制部分、傳感器部分及控制策略;上層控制包括機(jī)器人的運(yùn)動(dòng)分析部分、路徑規(guī)劃部分及機(jī)器人的軟件部分。一個(gè)典型的工業(yè)機(jī)器人控制系統(tǒng)結(jié)構(gòu)如圖12-5所示[3]。圖12-5 典型工業(yè)機(jī)器人控制系統(tǒng)結(jié)構(gòu)控制方式點(diǎn)位式很多機(jī)器人要求能準(zhǔn)確地控制末端執(zhí)行器的工作位置,而不關(guān)心路徑,如在印制電路板上安插元件、點(diǎn)焊和裝配等,都需要點(diǎn)位式控制。軌跡式在弧焊、噴漆和切割等作業(yè)時(shí),要求機(jī)器人末端執(zhí)行器按照示教的軌跡和速度運(yùn)動(dòng),如果偏離預(yù)定的軌跡和速度,就會(huì)產(chǎn)生廢品。力矩控制在完成裝配、抓取物體等工作時(shí),除了要求準(zhǔn)確定位,還要求機(jī)器人使用適度的力矩進(jìn)行工作,這時(shí)就要求進(jìn)行力矩控制。智能控制方式機(jī)器人的智能控制指通過各種智能技術(shù)對(duì)機(jī)器人進(jìn)行控制,智能控制是今后一段時(shí)間重點(diǎn)研究的關(guān)鍵技術(shù),包括機(jī)器人變結(jié)構(gòu)控制、機(jī)器人模糊控制、機(jī)器人分層遞階控制、機(jī)器人神經(jīng)網(wǎng)絡(luò)控制和機(jī)器人智能控制技術(shù)的融合?;締卧獧C(jī)器人控制系統(tǒng)包括驅(qū)動(dòng)器系統(tǒng)、運(yùn)動(dòng)控制系統(tǒng)、作業(yè)控制系統(tǒng)、機(jī)器人決策系統(tǒng)、硬件和軟件。關(guān)節(jié)驅(qū)動(dòng)的電動(dòng)機(jī)居多。運(yùn)動(dòng)控制系統(tǒng)。其負(fù)責(zé)路徑規(guī)劃、協(xié)調(diào)機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)、軌跡控制。作業(yè)控制系統(tǒng)。其負(fù)責(zé)環(huán)境監(jiān)測(cè)、任務(wù)規(guī)劃、確定作業(yè)流程。為。硬件。硬件采用二級(jí)結(jié)構(gòu):協(xié)調(diào)級(jí)和執(zhí)行級(jí)。軟件。軟件主要實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)特性的計(jì)算、機(jī)器人智能控制和人—機(jī)交互功能。機(jī)器人的大腦“大腦”是機(jī)器人區(qū)別于自動(dòng)化機(jī)器的主要標(biāo)志,機(jī)器人控制系統(tǒng)的大腦能夠處理外界環(huán)境參數(shù),然后根據(jù)要求決策做出合適的反應(yīng)。機(jī)器人的大腦由一種或多種處理器(嵌入式微處理、微控制器、DSP、FPGA、SoC等)實(shí)現(xiàn)。嵌入式微處理器(EmbeddedMicroprocessorUnit,EMPU)。EMPU采用“增強(qiáng)型”通面較通用型的標(biāo)準(zhǔn)高。根據(jù)機(jī)器人控制系統(tǒng)應(yīng)用要求,將EMPU裝配在專門設(shè)計(jì)的主板上,外圍配以ROM、RAM、總線接口和各種外設(shè)接口等器件,可以大幅度減小系統(tǒng)的體積和功耗,但系統(tǒng)的可靠性、技術(shù)保密性也隨之降低。EMPU主要有x86、PowerPC、MIPS等。微控制器(MicrocontrollerUnit,MCU),又稱單片機(jī)。其將整個(gè)計(jì)算機(jī)系統(tǒng)集成到一塊芯片,體積小,功耗和成本低,可靠性高。MCU主要有8051系列、PIC系列、AVR系列等。DSP處理器(DigitalSignalProcessor,DSP)。DSP是一種獨(dú)特的微處理器,有自己完整的指令系統(tǒng),是以數(shù)字信號(hào)來處理大量信息的器件。DSP采用的是哈佛結(jié)構(gòu),允許執(zhí)具有可編程性,而且實(shí)時(shí)運(yùn)行速度高。這兩大特點(diǎn)使得DSP運(yùn)算能力強(qiáng)、速度快、體積小,采用軟件編程具有高度靈活性,其在機(jī)器人控制系統(tǒng)中日益重要??删幊涕T陣列(FieldProgrammableGateArray,F(xiàn)PGA)。FPGA是在PAL、GAL、PLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,具有可重復(fù)編程靜態(tài)特征和在系統(tǒng)重構(gòu)的目前FPGA的品種有Xilinx公司的XC系列和Altera公司的FLEX系列等。片上系統(tǒng)(SystemonChip,SoC)。隨著半導(dǎo)體工藝的迅速發(fā)展,可以在一塊硅片上實(shí)現(xiàn)一個(gè)更為復(fù)雜的系統(tǒng),這就產(chǎn)生了SoC技術(shù)。該技術(shù)使用戶只需要定義整個(gè)應(yīng)用系功耗、提高可靠性非常有利。機(jī)器人控制系統(tǒng)隨著人工智能技術(shù)、計(jì)算機(jī)科學(xué)、網(wǎng)絡(luò)技術(shù)的發(fā)展,對(duì)處理器的性能提出了更高的要求。單CPU結(jié)構(gòu)、集中控制方式。將傳感器數(shù)據(jù)的處理、運(yùn)動(dòng)規(guī)劃、伺服控制等都集成在一個(gè)CPU求主控制器具有極強(qiáng)的處理能力,缺乏對(duì)動(dòng)態(tài)、復(fù)雜環(huán)境的適應(yīng)性。多CPU結(jié)構(gòu)、分布式控制方式。其采用一級(jí)CPU為主機(jī)、二級(jí)CPU為從機(jī)的方式,統(tǒng)的管理,下位機(jī)由多個(gè)CPU組成,分別控制各關(guān)節(jié)運(yùn)動(dòng)。分布式控制方式能夠適應(yīng)環(huán)境的變化,在可靠性、容錯(cuò)性、并行處理和可伸縮性方面較集中控制方式優(yōu)越。機(jī)器人控制系統(tǒng)專用VLSI??稍O(shè)計(jì)專用的VLSI(VeryLargeScaleIntegration,超大規(guī)模集成電路),度。但是當(dāng)算法改變時(shí),芯片就不能用了。機(jī)器人底層控制系統(tǒng)部件。底層控制的根本問題是控制電動(dòng)機(jī)。步進(jìn)電動(dòng)機(jī)及其控制概念及特性步進(jìn)電動(dòng)機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào)時(shí),它就驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(稱為步距角),它的旋轉(zhuǎn)是以固定的角度一步一步進(jìn)行的。可以通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;可以通過控制脈沖頻率來控制電動(dòng)機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。步進(jìn)電動(dòng)機(jī)的特性包括:能夠簡(jiǎn)單地做到高精度的定位控制;具有定位保持力;動(dòng)作靈較大的轉(zhuǎn)矩,能夠提供更大的扭力輸出;故障及誤動(dòng)作少,檢查及保養(yǎng)簡(jiǎn)單容易;體積小、功率大;無積累誤差;外表溫度允許在80~90載啟動(dòng)頻率,若高于一定值則無法啟動(dòng)。步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)系統(tǒng)步進(jìn)電動(dòng)機(jī)由于不必依賴于傳感器定位就能以輸入的脈沖做速度和位置定位,屬于開回路控制,最適合機(jī)器人在短距離、高頻度、高精度定位控制的場(chǎng)合下使用。步進(jìn)電動(dòng)機(jī)在僅有電壓時(shí)不會(huì)動(dòng)作,必須通過脈沖產(chǎn)生器提供位置(脈沖數(shù))、速度的脈沖信號(hào)指令,以及驅(qū)動(dòng)器驅(qū)動(dòng)電流流過電動(dòng)機(jī)內(nèi)部線圈、依順序切換激磁相序的方式才能夠運(yùn)轉(zhuǎn)。因此,步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)系統(tǒng)由脈沖產(chǎn)生器、步進(jìn)驅(qū)動(dòng)器和步進(jìn)電動(dòng)機(jī)組成。脈沖產(chǎn)生器:給出角度、速度和運(yùn)轉(zhuǎn)方向等驅(qū)動(dòng)指令的脈沖信號(hào)。步進(jìn)驅(qū)動(dòng)器:依控制器所輸入的脈沖信號(hào)指令,提供電流來驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)動(dòng)作。步進(jìn)電動(dòng)機(jī):通過提供力矩輸出來帶動(dòng)負(fù)載。舵機(jī)與轉(zhuǎn)向控制舵機(jī)概述舵機(jī)是一種位置(角度)地說,其集成了直流電動(dòng)機(jī)、電動(dòng)機(jī)控制器和減速器等,并封裝在一個(gè)便于安裝的外殼里。它能夠利用簡(jiǎn)單的輸入信號(hào)比較精確地控制轉(zhuǎn)動(dòng)角度,具有如下特點(diǎn)。體積緊湊,便于安裝。輸出力矩大,穩(wěn)定性好??刂坪?jiǎn)單,便于和數(shù)字系統(tǒng)連接。舵機(jī)轉(zhuǎn)向控制輸出轉(zhuǎn)動(dòng)角度,控制電路能夠根據(jù)角度傳感器的信息比較精確地控制和保持輸出軸的角度。這樣的控制方式稱為閉環(huán)控制。因?yàn)槎鏅C(jī)有許多優(yōu)點(diǎn),所以在機(jī)器人控制中應(yīng)用廣泛。舵機(jī)的控制信號(hào)采用周期為20ms的脈寬調(diào)制(PWM)信號(hào),其中脈沖寬度為0.5~2.5ms,相對(duì)應(yīng)的舵盤位置為0°~180°動(dòng)范圍不能超過180°,適用于機(jī)器人關(guān)節(jié)。機(jī)器人運(yùn)動(dòng)控制系統(tǒng)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)是以電動(dòng)機(jī)為控制對(duì)象,以控制器為核心,以電力電子、功率變換裝置為執(zhí)行機(jī)構(gòu),在控制理論指導(dǎo)下組成的電氣運(yùn)動(dòng)控制系統(tǒng),主要由上位計(jì)算機(jī)、運(yùn)動(dòng)控制器、功率驅(qū)動(dòng)裝置、電動(dòng)機(jī)和傳感器反饋裝置及被控對(duì)象等部分組成。電動(dòng)機(jī)及功率驅(qū)動(dòng)裝置作為執(zhí)行器主要為被控對(duì)象提供動(dòng)力。特別設(shè)計(jì)的應(yīng)用于伺服系統(tǒng)的電動(dòng)機(jī)稱為伺服電動(dòng)機(jī),其內(nèi)含位置反饋裝置,如光電編碼盤。運(yùn)動(dòng)控制器是以中央邏輯控制單元為核心、以傳感器為信號(hào)敏感元件、以電動(dòng)機(jī)或動(dòng)力裝置和執(zhí)行單元為控制對(duì)象的一種控制裝置。其功能在于提供整個(gè)伺服系統(tǒng)的閉環(huán)控制,如位置控制、速度控制和轉(zhuǎn)矩控制。硬件結(jié)構(gòu)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)的硬件結(jié)構(gòu)以“PC+運(yùn)動(dòng)控制器”為核心設(shè)計(jì),PC負(fù)責(zé)人機(jī)交互界面的發(fā)送和外部信號(hào)的監(jiān)控等;運(yùn)動(dòng)控制器配備內(nèi)容豐富、功能強(qiáng)大的運(yùn)動(dòng)函數(shù)庫供用戶使大大提高了系統(tǒng)的控制精度和可靠性。軟件開發(fā)運(yùn)動(dòng)控制器配有運(yùn)動(dòng)函數(shù)庫,函數(shù)庫為步進(jìn)和伺服控制提供了許多運(yùn)動(dòng)函數(shù),如中軸運(yùn)動(dòng)、多軸獨(dú)立運(yùn)動(dòng)、多軸插補(bǔ)運(yùn)動(dòng)和多軸同步運(yùn)動(dòng)等??刹捎肔abView、VB、VC等多種語言開發(fā)用戶自己的應(yīng)用程序。由于LabView是NI公司自己的產(chǎn)品,搭配NI公司的NI7340系列運(yùn)動(dòng)控制器NI7342時(shí)最方便,作為一種圖形化編程語言,它和其他高級(jí)語言一樣,提供各種循環(huán)和結(jié)構(gòu),以虛擬儀器(VirtualInstrument)的形式代替其他語言的函數(shù)功能。NI專門為用戶提供運(yùn)動(dòng)控制的VI-NI-Montion,用戶利用LabView編寫圖形程序結(jié)構(gòu)包括主體運(yùn)動(dòng)控制程序、初始化、與PC的實(shí)時(shí)數(shù)據(jù)交互、系統(tǒng)保護(hù)、狀態(tài)監(jiān)測(cè)等部分。發(fā)展機(jī)器人運(yùn)動(dòng)控制系統(tǒng)采用“PC+運(yùn)動(dòng)控制器”結(jié)構(gòu),運(yùn)動(dòng)控制器具有開放式結(jié)構(gòu),已經(jīng)發(fā)展成基于PC總線的以DSP和FPGA為核心處理器的開放式運(yùn)動(dòng)控制器,具有使用簡(jiǎn)便、功能豐富、可靠性高的優(yōu)點(diǎn)。在硬件方面,其采用PC的PCI總線方式,所有資源自動(dòng)配置,所有的輸入、輸出信號(hào)均用光電隔離,從而提高了控制器的可靠性和抗干擾能力。在軟件方面,豐富的運(yùn)動(dòng)控制函數(shù)可滿足不同的應(yīng)用要求。用戶只需要根據(jù)控制系統(tǒng)的要求編制人機(jī)界面,并調(diào)用運(yùn)動(dòng)函數(shù)庫中的指令函數(shù),就可以開發(fā)出既滿足要求又成本低廉的多軸運(yùn)動(dòng)控制系統(tǒng)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,將運(yùn)動(dòng)控制技術(shù)與網(wǎng)絡(luò)技術(shù)有機(jī)結(jié)合是當(dāng)前一個(gè)新的研究方向,其可以更好地實(shí)現(xiàn)多臺(tái)電動(dòng)機(jī)的同步控制和各控制器間的通信。機(jī)器人移動(dòng)軌跡控制路徑與軌跡動(dòng)過程中的位移、速度和加速度。如果機(jī)器人從A點(diǎn)運(yùn)動(dòng)到B點(diǎn),再到C點(diǎn),那么中間位姿序列就構(gòu)成了一條路徑。而軌跡則與何時(shí)到達(dá)路徑中的各點(diǎn)有關(guān),強(qiáng)調(diào)的是時(shí)間。因此,無論機(jī)器人何時(shí)到達(dá)B點(diǎn)和C點(diǎn),其路徑是一樣的,而軌跡則依賴于速度和加速度。如果機(jī)器人抵達(dá)B點(diǎn)和C點(diǎn)的時(shí)間不同,則相應(yīng)的軌跡也不同。軌跡規(guī)劃機(jī)器人的規(guī)劃(Planning)是機(jī)器人根據(jù)自身的任務(wù),求得完成這一任務(wù)解決方案的過程,包括任務(wù)規(guī)劃(TaskPlanning)、動(dòng)作規(guī)劃(MotionPlanning)、軌跡規(guī)劃(TrajectoryPlanning)。軌跡規(guī)劃是基礎(chǔ),其根據(jù)作業(yè)任務(wù)要求,計(jì)算出預(yù)期的運(yùn)動(dòng)軌跡,對(duì)機(jī)器人的任務(wù)、運(yùn)動(dòng)路徑和軌跡進(jìn)行描述,屬于機(jī)器人底層規(guī)劃,基本上不涉及人工智能問題,而是在機(jī)器人運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)的基礎(chǔ)上討論關(guān)節(jié)空間及笛卡兒空間中機(jī)器人運(yùn)動(dòng)的軌跡與軌跡生成方法,在機(jī)器人的控制中具有重要的作用,直接影響著控制的準(zhǔn)確性和快速性。機(jī)器人根據(jù)預(yù)期的軌跡,實(shí)時(shí)計(jì)算機(jī)器人運(yùn)動(dòng)的位移、速度、加速度,生成運(yùn)動(dòng)軌跡,具體方法包括多項(xiàng)式插值法、最小時(shí)間優(yōu)化法和最小能量法等[4]。軌跡控制軌跡的控制與再現(xiàn)軌跡的控制方式有多種,軌跡的控制與再現(xiàn)是其中最簡(jiǎn)便易行的一種,機(jī)器人的工作過程由示教過程和再現(xiàn)過程組成。其中,示教過程指將操作人員的一組動(dòng)作通過一組瞬時(shí)關(guān)節(jié)位置來實(shí)現(xiàn),并實(shí)時(shí)地記錄下來;再現(xiàn)過程指機(jī)器人將所記錄的各關(guān)節(jié)信息傳輸給相應(yīng)關(guān)節(jié)上的執(zhí)行元件,以實(shí)現(xiàn)相應(yīng)的關(guān)節(jié)角,并按順序完成示教過程所記錄的運(yùn)動(dòng)。其優(yōu)點(diǎn)是簡(jiǎn)單,軌跡物理上是可以實(shí)現(xiàn)的;缺點(diǎn)是被處理的工件必須始終處于指定位置,操作人員必須進(jìn)入工作空間,若環(huán)境改變,軌跡也相應(yīng)地改變,這種軌跡控制方式不具備適應(yīng)環(huán)境變化的能力。離線控制與在線控制為使機(jī)器人在笛卡兒空間完成指定的運(yùn)動(dòng),需要對(duì)其實(shí)施控制。操作機(jī)可分為離線控制與在線控制兩種。離線控制指所需計(jì)算在操作機(jī)運(yùn)動(dòng)前就已完成;在線控制指所需計(jì)算要在操作機(jī)運(yùn)動(dòng)的過程中實(shí)時(shí)地進(jìn)行。機(jī)器人力控制系統(tǒng)在精密裝配、磨削、拋光和擦洗等操作過程中,要求機(jī)器人具有接觸力的感知和控制能期機(jī)器人力控制系統(tǒng)實(shí)時(shí)性差,系統(tǒng)不穩(wěn)定。成為機(jī)器人研究的一個(gè)主要方向——鍵技術(shù),也是柔性裝配自動(dòng)化的難點(diǎn)和瓶頸。機(jī)器人屬于高度剛性的結(jié)構(gòu),微小的位置偏差就會(huì)產(chǎn)生相當(dāng)大的作用力,導(dǎo)致嚴(yán)重的后控制需要腕力傳感器、關(guān)節(jié)力矩傳感器和觸覺傳感器及控制策略。阻尼力控制阻尼力控制不是直接控制機(jī)器人與環(huán)境的作用力,而是根據(jù)機(jī)器人端部的位置和端部作用力之間的關(guān)系,通過調(diào)整反饋位置誤差、速度誤差或剛度來達(dá)到控制力的目的,此時(shí)接觸過程的彈性形變尤為重要。當(dāng)把力反饋信號(hào)轉(zhuǎn)換為位置調(diào)整量時(shí),這種力控制稱為剛度控制;當(dāng)把力反饋信號(hào)轉(zhuǎn)換為位置和速度修正量時(shí),這種力控制稱為阻抗控制。相互力控制相互力控制是實(shí)現(xiàn)柔順控制的方法之一。在柔順坐標(biāo)空間,其將任務(wù)分解為沿某些自由度的位置控制和沿一些自由度的力控制,并在該空間分別進(jìn)行位置控制和力控制的計(jì)算,然后將計(jì)算結(jié)果轉(zhuǎn)換到關(guān)節(jié)空間,合并為統(tǒng)一的關(guān)節(jié)控制力矩,從而驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)來實(shí)現(xiàn)所需要的柔順功能。機(jī)器人視覺控制系統(tǒng)眼睛對(duì)于人的作用不容置疑,給機(jī)器人配置視覺裝置,它就可以把視覺所獲得的大量信息傳到仲裁機(jī)構(gòu),并與其他傳感器進(jìn)行信息融合以實(shí)現(xiàn)類人的視覺行為。機(jī)器人視覺控制系統(tǒng)可在位置環(huán)境中找到要求尋找的目標(biāo),面向目標(biāo)實(shí)時(shí)提取目標(biāo)在機(jī)器人視野中的位置信息,并把信息轉(zhuǎn)換成控制命令送給攝像頭,以此來控制攝像頭的運(yùn)動(dòng),使目標(biāo)始終能夠在視野中,從而為移動(dòng)機(jī)器人導(dǎo)航提供幫助。機(jī)器人能夠?qū)崿F(xiàn)搜尋目標(biāo)、辨識(shí)目標(biāo)、走向目標(biāo)和目標(biāo)跟蹤。機(jī)器人視覺控制系統(tǒng)主要包括圖像采集、圖像處理、圖像匹配和通信。圖像采集段(如可見光、紅外線、紫外線等)敏感的物理器件,它能將“看到的”景物轉(zhuǎn)換為相應(yīng)的模擬電信號(hào);另一種是數(shù)字化器,它能將上述得到的模擬電信號(hào)轉(zhuǎn)化為數(shù)字(離散)圖像。圖像處理能夠?qū)崿F(xiàn)圖像處理的編程語言有多種,如C、VisualC++等。VisualC++本身是一個(gè)圖形的開發(fā)界面,提供了豐富的位圖操作函數(shù),為開發(fā)圖像處理系統(tǒng)提供了極大的方便,現(xiàn)在已經(jīng)成為開發(fā)Win32程序,包括圖像處理程序的主要開發(fā)工具。圖像匹配圖像匹配的目的是計(jì)算目標(biāo)在攝像頭屏幕中的位置。因?yàn)闄C(jī)器人在未知環(huán)境中,目標(biāo)距離機(jī)器人的遠(yuǎn)近、方向不確定,這就要求計(jì)算機(jī)在識(shí)別圖像時(shí)具有對(duì)圖像的平移、旋轉(zhuǎn)、比例不變性的數(shù)學(xué)形態(tài)特征,從而達(dá)到很好的圖像識(shí)別匹配效果。通信通信的任務(wù)是實(shí)現(xiàn)計(jì)算機(jī)和攝像頭及機(jī)器人控制中心的圖像、數(shù)據(jù)等的通信。其中,計(jì)算機(jī)和攝像頭的圖像傳輸采用無線影音傳輸,計(jì)算機(jī)和機(jī)器人控制中心之間的數(shù)據(jù)傳輸采用無線數(shù)據(jù)傳輸。機(jī)器人視覺控制系統(tǒng)目標(biāo)搜尋功能的實(shí)現(xiàn)機(jī)器人視覺控制系統(tǒng)分為視覺系統(tǒng)、控制系統(tǒng)和驅(qū)動(dòng)系統(tǒng)。在目標(biāo)搜尋時(shí),機(jī)器人要進(jìn)行實(shí)時(shí)的環(huán)境檢測(cè)、路徑選擇和避障,并經(jīng)過多個(gè)傳感器的信息融合、多行為協(xié)調(diào)決策來實(shí)現(xiàn)漫游搜尋。在目標(biāo)搜尋過程中,機(jī)器人完成的任務(wù)包括以下幾個(gè)。圖像采集、處理,由視覺系統(tǒng)完成。目標(biāo)識(shí)別,由視覺系統(tǒng)完成。功能實(shí)現(xiàn)路徑如下。將機(jī)器人要尋找的目標(biāo)信息記入計(jì)算機(jī)。機(jī)器人在漫游過程中進(jìn)行目標(biāo)識(shí)別。找到目標(biāo),視覺導(dǎo)航。機(jī)器人智能控制系統(tǒng)智能控制的產(chǎn)生來源于被控對(duì)象的高度復(fù)雜性、高度不確定性及人們?cè)絹碓礁咭蟮目刂菩阅?。它是控制理論發(fā)展的高級(jí)階段,常用的智能控制技術(shù)有模糊邏輯、專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、遺傳算法及混合技術(shù)。隨著計(jì)算機(jī)技術(shù)、微電子技術(shù)、網(wǎng)絡(luò)技術(shù)的快速發(fā)展,智能控制的機(jī)器人研究成為目前機(jī)器人研究的熱點(diǎn)。采用人工網(wǎng)絡(luò)、模糊技術(shù)和專家系統(tǒng)對(duì)機(jī)器人進(jìn)行定位、環(huán)境建模、檢測(cè)、控制和規(guī)劃,已在多個(gè)實(shí)際應(yīng)用中得到驗(yàn)證[5]。專家控制專家控制是基于控制對(duì)象和控制規(guī)律的各種知識(shí)的,其以智能的方式利用這些知識(shí),以使受控系統(tǒng)盡可能地優(yōu)化和實(shí)用化。自1965年第一個(gè)專家系統(tǒng)在美國斯坦福大學(xué)問世以來,各種專家系統(tǒng)已在各領(lǐng)域中廣泛應(yīng)用。專家系統(tǒng)能把人的控制經(jīng)驗(yàn)、技巧和各種直覺推理邏輯直接用于控制中,從而改善控制系統(tǒng)性能,提高其智力水平和適應(yīng)能力。專家系統(tǒng)已應(yīng)用于超高壓巡線機(jī)器人、核電站智能機(jī)器人、輸液匹配機(jī)器人、智能整骨機(jī)器人等一系列機(jī)器人的控制系統(tǒng)中。模糊控制模糊控制器基于包含模糊信息的控制規(guī)則,所構(gòu)成的控制系統(tǒng)比常規(guī)的控制系統(tǒng)穩(wěn)定性以通過改變規(guī)則、隸屬函數(shù)、推理方法及決策方法來修正系統(tǒng)特性。因此,自20世紀(jì)80代將模糊控制引進(jìn)機(jī)器人控制中以來,模糊控制在機(jī)器人控制領(lǐng)域得到廣泛的應(yīng)用與發(fā)展。神經(jīng)網(wǎng)絡(luò)控制神經(jīng)網(wǎng)絡(luò)的研究目標(biāo)是復(fù)雜的非線性系統(tǒng)的識(shí)別和控制,神經(jīng)網(wǎng)絡(luò)具有能夠充分逼近任意復(fù)雜的非線性系統(tǒng);能夠?qū)W習(xí)與適應(yīng)不確定系統(tǒng)的動(dòng)態(tài)特性;具有很強(qiáng)的魯棒性和容錯(cuò)性等。因此,神經(jīng)網(wǎng)絡(luò)對(duì)機(jī)器人控制具有很大的吸引力。在機(jī)器人的神經(jīng)網(wǎng)絡(luò)動(dòng)力學(xué)控制方法中,典型的是計(jì)算力矩控制和分解運(yùn)動(dòng)加速度控制。前者在關(guān)節(jié)空間閉環(huán),后者在直角坐標(biāo)空間閉環(huán)。在基于模型的計(jì)算力矩控制結(jié)構(gòu)中,關(guān)鍵是逆運(yùn)動(dòng)學(xué)計(jì)算,為實(shí)現(xiàn)實(shí)時(shí)計(jì)算和避免參數(shù)不確定性,可通過神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)輸入輸出的非線性關(guān)系。對(duì)多自由度的機(jī)器人手臂,其輸入?yún)?shù)多、學(xué)習(xí)時(shí)間長(zhǎng),為了減少訓(xùn)練數(shù)據(jù)樣本的個(gè)數(shù),可將整個(gè)系統(tǒng)分解為多個(gè)子系統(tǒng),并分別對(duì)每個(gè)子系統(tǒng)進(jìn)行學(xué)習(xí),這樣會(huì)減少網(wǎng)絡(luò)的訓(xùn)練,從而實(shí)現(xiàn)實(shí)時(shí)控制。優(yōu)化方法控制優(yōu)化方法控制指利用優(yōu)化方法對(duì)PID控制器的參數(shù)進(jìn)行優(yōu)化調(diào)節(jié),在一般的固定結(jié)構(gòu)控制器、預(yù)測(cè)控制器、滑模控制器、自適應(yīng)控制器、魯棒控制器等控制器的優(yōu)化設(shè)計(jì)中得到了廣泛應(yīng)用。除此之外,優(yōu)化方法控制常用于解決復(fù)雜系統(tǒng)控制中涉及的各種資源規(guī)劃、分配、調(diào)度等優(yōu)化問題。這些問題與復(fù)雜系統(tǒng)的控制有著密切的關(guān)系。例如,Huang為配有3個(gè)獨(dú)立驅(qū)動(dòng)全向輪的移動(dòng)機(jī)器人設(shè)計(jì)了運(yùn)動(dòng)控制器,其中采用ACO優(yōu)化控制器參數(shù),較好地實(shí)現(xiàn)了機(jī)器人的軌跡跟蹤和點(diǎn)鎮(zhèn)定控制。融合控制糊系統(tǒng)來逼近或推理,仿真實(shí)驗(yàn)證明,該方法比PID控制或滑??刂聘行АI窠?jīng)網(wǎng)絡(luò)控制和變結(jié)構(gòu)控制融合。一般利用神經(jīng)網(wǎng)絡(luò)來近似模擬非線性系統(tǒng)的滑動(dòng)效果。模糊控制和神經(jīng)網(wǎng)絡(luò)控制融合。將模糊系統(tǒng)和神經(jīng)網(wǎng)絡(luò)相結(jié)合來實(shí)現(xiàn)對(duì)控制對(duì)象的自動(dòng)控制,是由美國學(xué)者B.Kosko首先提出的。模糊系統(tǒng)和神經(jīng)網(wǎng)絡(luò)都屬于一種數(shù)值化和習(xí)功能來對(duì)模糊控制的各有關(guān)環(huán)節(jié)進(jìn)行訓(xùn)練;可利用神經(jīng)網(wǎng)絡(luò)在線學(xué)習(xí)模糊集的隸屬函依賴。環(huán)境建模環(huán)境建模是實(shí)現(xiàn)機(jī)器人全局路徑規(guī)劃的前提和基礎(chǔ),是對(duì)移動(dòng)機(jī)器人所在環(huán)境的有效描規(guī)劃的數(shù)學(xué)模型。環(huán)境地圖構(gòu)建指建立機(jī)器人所處環(huán)境中的各種物體,包括障礙、路標(biāo)等準(zhǔn)確的空間位置描述,即建立空間模型或地圖。構(gòu)建環(huán)境地圖的目的在于幫助移動(dòng)機(jī)器人在建立好的含障礙的環(huán)境模型中規(guī)劃出一條從起點(diǎn)到目標(biāo)點(diǎn)的最優(yōu)路徑。全局路徑規(guī)劃方法全局路徑規(guī)劃能夠處理完全已知環(huán)境(障礙物的位置和形狀預(yù)先給定)下的路徑規(guī)劃問柵格分解圖、四叉分解圖、可視圖、Voronoi圖。柵格分解圖柵格分解圖將移動(dòng)機(jī)器人所在的環(huán)境分割成規(guī)則且均勻的柵格,每個(gè)柵格只可能有兩種狀態(tài),即占據(jù)或自由,對(duì)應(yīng)占據(jù)柵格和自由柵格,都用固定的1或0來表示。柵格的尺寸通常與移動(dòng)機(jī)器人的尺寸和步長(zhǎng)一致。四叉分解圖四叉分解圖從均勻柵格分解圖發(fā)展而來。在四叉樹方法中,每棵樹由4個(gè)節(jié)點(diǎn)樹組成,每個(gè)節(jié)點(diǎn)樹用黑、白、灰3種顏色表示。如果某一節(jié)點(diǎn)樹由單一的黑色或白色組成,則該節(jié)點(diǎn)樹用該顏色標(biāo)記;如果某一節(jié)點(diǎn)樹由灰色組成,則將該節(jié)點(diǎn)樹重新分成4個(gè)子節(jié)點(diǎn)樹,并同前面的方法一樣進(jìn)行顏色標(biāo)記。這樣一直繼續(xù)下去,直到節(jié)點(diǎn)樹由單一的黑色或白色組成為止??梢晥D柵格分解圖及四叉分解圖主要有兩個(gè)缺點(diǎn):第一,地圖的尺寸隨著環(huán)境規(guī)模的增大而增大;第二,基準(zhǔn)柵格的大小不好掌握,即地圖分辨率難以把握??梢晥D建模方法需要對(duì)環(huán)境中不同障礙物的各頂點(diǎn)進(jìn)行可視化判斷。兩點(diǎn)之間是“可視的”線并賦予權(quán)值,則可視的兩點(diǎn)間的連線組成可視邊集合;可視邊和各頂點(diǎn)組成可視圖??梢晥D建模方法的好處在于實(shí)現(xiàn)比較簡(jiǎn)單,當(dāng)把環(huán)境中的障礙物描述成多邊形時(shí),基于可視圖的路徑規(guī)劃搜索可以比較容易地使用障礙物的多邊形描述,因此,移動(dòng)機(jī)器人路徑規(guī)劃的任務(wù)就是沿著可視圖定義的路徑,尋找從機(jī)器人起點(diǎn)到目標(biāo)點(diǎn)的最短路徑。程也會(huì)十分緩慢;同時(shí),當(dāng)障礙物的頂點(diǎn)數(shù)量過多時(shí),頂點(diǎn)之間形成的可視邊的數(shù)量過多,即路徑規(guī)劃算法中需要考慮的候選路徑的數(shù)量過多,導(dǎo)致路徑尋優(yōu)的過程緩慢。Voronoi圖Voronoi圖建模過程需要將多邊形不規(guī)則障礙物的各頂點(diǎn)看成n個(gè)點(diǎn)的集合,到頂點(diǎn)集合中的某點(diǎn)比到集合中所有其他點(diǎn)之間距離都短的點(diǎn)所組成的軌跡稱為Voronoi圖的邊,各條軌跡相交的點(diǎn)稱為Voronoi圖的頂點(diǎn)?;赩oronoi圖的環(huán)境模型有一個(gè)缺點(diǎn),即機(jī)器人與障礙物間的距離最大化,執(zhí)行路徑規(guī)劃算法后,所選的路徑質(zhì)量通常較差。局部路徑規(guī)劃方法常用的適用于局部路徑規(guī)劃的方法有事例學(xué)習(xí)法、滾動(dòng)窗口法、人工勢(shì)場(chǎng)法、智能算法及行為分解法。事例學(xué)習(xí)法過程是將移動(dòng)機(jī)器人路徑規(guī)劃所需問題或知識(shí)(環(huán)境信息或路徑信息)入事例庫的過程,當(dāng)移動(dòng)機(jī)器人遇到新問題時(shí),其將已經(jīng)建好的事例庫中的事例與之比新。張培艷等[6]提出了一種用于智能排球機(jī)器人運(yùn)動(dòng)規(guī)劃問題建模的事例推理方法,其采用基于LW-SVR初始化運(yùn)動(dòng)規(guī)劃。滾動(dòng)窗口法滾動(dòng)窗口(DynamicWindowApproach,DWA)法屬于預(yù)測(cè)控制理論中的一種次最優(yōu)方法?;跐L動(dòng)窗口法的移動(dòng)機(jī)器人路徑規(guī)劃方法將移動(dòng)機(jī)器人獲得的局部環(huán)境信息建立成一個(gè)“窗口”,通過循環(huán)計(jì)算這個(gè)含有自身周圍環(huán)境信息的“窗口”來實(shí)現(xiàn)路徑規(guī)劃。在滾動(dòng)計(jì)算時(shí),其用啟發(fā)式方法獲得子目標(biāo),利用生成的子目標(biāo)在當(dāng)前的滾動(dòng)窗口中進(jìn)行實(shí)時(shí)規(guī)劃,并隨著滾動(dòng)窗口的推進(jìn),不斷利用獲得的信息更新子目標(biāo),直到完成規(guī)劃任務(wù)。任敏等[7]提出按照不同頻率推動(dòng)滾動(dòng)窗口,分別在全局和局部窗口進(jìn)行異步雙精度規(guī)劃,從而解決了無人機(jī)實(shí)時(shí)航跡規(guī)劃中的精度與速度的矛盾問題。劉春明等[8]機(jī)器人基于行為的導(dǎo)航問題,將最小二乘法和機(jī)器學(xué)習(xí)思想引入基于滾動(dòng)窗口的路徑規(guī)劃方法中,加強(qiáng)了未知環(huán)境中機(jī)器人導(dǎo)航的準(zhǔn)確性。人工勢(shì)場(chǎng)法吸引力場(chǎng)一般是一個(gè)球形,在無障礙環(huán)境中驅(qū)使機(jī)器人至目標(biāo)點(diǎn)。排斥力場(chǎng)包圍著障礙其他附加條件來解決人工勢(shì)場(chǎng)法局部極小點(diǎn)問題[9,10]。例如,王芳等[11]提出一種基于柵格勢(shì)場(chǎng)函數(shù)的水下機(jī)器人運(yùn)動(dòng)環(huán)境模型,通過分別計(jì)算毅等[12]提出一種基于模糊規(guī)則的機(jī)器人自適應(yīng)路徑規(guī)劃方法,在機(jī)器人處于不同情況時(shí),通過調(diào)整控制方式及參數(shù)解決局部極小點(diǎn)問題和目標(biāo)不可達(dá)問題。智能算法智能算法包括采用遺傳算法對(duì)障礙物斥力角度的改變及虛擬最小局部區(qū)域的半徑兩個(gè)參數(shù)進(jìn)行路徑優(yōu)化的方法,以及適用于移動(dòng)機(jī)器人自主導(dǎo)航的量子強(qiáng)化學(xué)習(xí)算法。量子強(qiáng)化學(xué)習(xí)算法受量子測(cè)量中的崩潰現(xiàn)象的啟發(fā),將量子計(jì)算和機(jī)器學(xué)習(xí)理論相結(jié)合,采用概率計(jì)算的方法選擇行為并將量子計(jì)算中的振幅放大理論應(yīng)用到強(qiáng)化學(xué)習(xí)中?;跈C(jī)器人平臺(tái)的實(shí)驗(yàn)表明,量子強(qiáng)化學(xué)習(xí)算法有更強(qiáng)的魯棒性。此外,智能算法還包括融合李雅普諾夫理論與粒子群優(yōu)化算法的自適應(yīng)狀態(tài)反饋模糊跟蹤控制器,其應(yīng)用于移動(dòng)機(jī)器人的視覺跟蹤導(dǎo)航系統(tǒng)。行為分解法行為分解法也稱為基于行為的機(jī)器人路徑規(guī)劃方法,常被用來解決移動(dòng)機(jī)器人的局部路徑規(guī)劃問題,近年來受到了廣泛的關(guān)注。1986年,Brooks首先提出了一種名為包容式控制結(jié)構(gòu)的行為協(xié)調(diào)技術(shù),為基于行為的移動(dòng)機(jī)器人路徑規(guī)劃技術(shù)的研究奠定了基礎(chǔ)。根據(jù)近來的研究成果,基于行為的機(jī)器人路徑規(guī)劃過程由一系列獨(dú)立的子行為組成,子行為根據(jù)獲得的傳感器信息完成特定的任務(wù)。移動(dòng)機(jī)器人使用不同的子行為來處理遇到的環(huán)境中的不同情況,通過對(duì)子行為進(jìn)行合理的定義并設(shè)定子行為的開啟與結(jié)束條件,可使移動(dòng)機(jī)器人在環(huán)境中遇到不同情況時(shí),能夠有較好的應(yīng)對(duì)策略,并且盡快地完成路徑規(guī)劃任務(wù),這樣做減少了規(guī)劃的復(fù)雜程度。路徑規(guī)劃改進(jìn)方法移動(dòng)機(jī)器人的局部路徑規(guī)劃方法要求在建立的地圖模型上使用路徑尋優(yōu)算法來獲得從起點(diǎn)到目標(biāo)點(diǎn)的最短路徑。上述移動(dòng)機(jī)器人常用的局部路徑規(guī)劃方法存在一些明顯的不足,改進(jìn)這些方法可使其更好地應(yīng)用于移動(dòng)機(jī)器人環(huán)境建模。人工勢(shì)場(chǎng)法是一種虛擬力的方法,目標(biāo)點(diǎn)對(duì)機(jī)器人產(chǎn)生引力而障礙點(diǎn)對(duì)機(jī)器人產(chǎn)生排斥勢(shì)場(chǎng)法在路徑規(guī)劃中的應(yīng)用。勢(shì)場(chǎng)函數(shù)改進(jìn)法對(duì)于傳統(tǒng)的人工勢(shì)場(chǎng)法,當(dāng)目標(biāo)點(diǎn)在障礙物的作用距離內(nèi)時(shí),機(jī)器人在向目標(biāo)點(diǎn)移動(dòng)的過程中,與障礙物和目標(biāo)點(diǎn)間的距離在逐漸縮短,因此機(jī)器人受到目標(biāo)的吸引力越來越小,而受到障礙物的排斥力逐漸增大;機(jī)器人在目標(biāo)點(diǎn)處受到的吸引力為零,而受到障礙物的排斥作用不為零,導(dǎo)致機(jī)器人在目標(biāo)點(diǎn)處所受合力不平衡,機(jī)器人在目標(biāo)點(diǎn)附近發(fā)生往復(fù)振蕩,無法停止。在向目標(biāo)點(diǎn)移動(dòng)的過程中,機(jī)器人在未進(jìn)入障礙物的作用距離內(nèi)時(shí),只在目標(biāo)點(diǎn)的吸引作用下移動(dòng)。當(dāng)機(jī)器人與目標(biāo)點(diǎn)的連線上存在障礙物且機(jī)器人駛?cè)胝系K物的影響距離內(nèi)時(shí),機(jī)器人受到障礙物的排斥力與目標(biāo)點(diǎn)的吸引力在同一直線,且機(jī)器人受到的障礙物的排斥力逐漸增大,受到目標(biāo)點(diǎn)的吸引力逐漸減小,因此在障礙物前某一點(diǎn)處,由于受到的障礙物的排斥力與目標(biāo)點(diǎn)的吸引力平衡,機(jī)器人在障礙物前往復(fù)振蕩,不能避開障礙物。可以對(duì)排斥函數(shù)進(jìn)行改造,使得當(dāng)機(jī)器人靠近目標(biāo)時(shí),斥力場(chǎng)趨近于零,這樣就可以讓目點(diǎn)是整個(gè)勢(shì)場(chǎng)的最小點(diǎn)。可以在原始排斥函數(shù)模型的基礎(chǔ)上,將其乘以與機(jī)器人和目標(biāo)點(diǎn)相對(duì)距離有關(guān)的高斯函標(biāo)軸上的分量進(jìn)行改進(jìn)。虛擬目標(biāo)點(diǎn)法采用勢(shì)場(chǎng)函數(shù)改進(jìn)法雖然可以解決目標(biāo)不可達(dá)問題,但在機(jī)器人的行進(jìn)過程中,若抵達(dá)目標(biāo)點(diǎn)前的某一點(diǎn)受到的合力為零,機(jī)器人將誤以為抵達(dá)目標(biāo)點(diǎn),從而會(huì)停止前進(jìn)或在該點(diǎn)處來回振蕩,導(dǎo)致規(guī)劃路徑失敗,這個(gè)問題被稱為局部極小點(diǎn)問題。點(diǎn)會(huì)使機(jī)器人在局部極小值位置點(diǎn)受到的合力不為零,在該目標(biāo)點(diǎn)產(chǎn)生的虛擬力的作用下,機(jī)器人將擺脫局部極小值點(diǎn)繼續(xù)前進(jìn)。之后,撤銷該虛擬目標(biāo)點(diǎn)?;煦鐑?yōu)化算法統(tǒng)的人工勢(shì)場(chǎng)法和混沌優(yōu)化算法的改進(jìn)算法——道中擺動(dòng)的問題。在混沌人工勢(shì)場(chǎng)法中,目標(biāo)函數(shù)為勢(shì)函數(shù),控制變量為機(jī)器人行走的步長(zhǎng)及運(yùn)動(dòng)方向相對(duì)于世界坐標(biāo)的夾角。在采用混沌人工勢(shì)場(chǎng)法進(jìn)行路徑規(guī)劃時(shí),可通過傳感器獲取外界的障礙物信息,每次采樣之后通過混沌優(yōu)化算法計(jì)算最優(yōu)步長(zhǎng)和方向角,從而使機(jī)器人準(zhǔn)確抵達(dá)下一位置。如此反復(fù),直到機(jī)器人抵達(dá)目標(biāo)點(diǎn)為止?;煦缛斯?shì)場(chǎng)法的優(yōu)點(diǎn)如下。在傳感器的協(xié)助下,機(jī)器人可以在未知環(huán)境中快速移動(dòng)并不陷入局部極小值點(diǎn)。在動(dòng)態(tài)環(huán)境中,機(jī)器人可以有效地實(shí)時(shí)避開障礙物并躲避局部極小值點(diǎn)。能在相近障礙物間發(fā)現(xiàn)路徑。徑。三維建模并在行進(jìn)過程中不斷地進(jìn)行地圖融合和擴(kuò)展過程。目前大量的成果是基于二維地圖建模建的方法尤為重要。移動(dòng)機(jī)器人三維地圖構(gòu)建的過程是“獲取坐標(biāo)—形成點(diǎn)云—點(diǎn)云拼接”不斷循環(huán)的過程。其主要步驟如下。利用能感知外界環(huán)境信息的傳感器提取環(huán)境中的特征點(diǎn)。中的位置信息及深度信息。利用單次獲得的特征點(diǎn)信息進(jìn)行三維點(diǎn)云構(gòu)造。夠獲得全局的三維地圖。實(shí)驗(yàn):機(jī)器人系統(tǒng)單元設(shè)計(jì)本節(jié)利用ROS和Python語言來實(shí)現(xiàn)機(jī)器人系統(tǒng)的感知部分、執(zhí)行部分和規(guī)劃部分,通過舵機(jī)控制、路徑規(guī)劃和視覺目標(biāo)檢測(cè)等實(shí)驗(yàn)來讓讀者熟悉機(jī)器人系統(tǒng)的設(shè)計(jì)與功能。本節(jié)需要讀者初步具備Python程序設(shè)計(jì)的基礎(chǔ)知識(shí),并可熟練進(jìn)行Python安裝與開發(fā)環(huán)境搭建。舵機(jī)控制通常,舵機(jī)是由一個(gè)標(biāo)準(zhǔn)的直流系統(tǒng)和一個(gè)內(nèi)部反饋控制裝置(一個(gè)減速齒輪和電位計(jì))組成的,主要作用是將齒輪軸旋轉(zhuǎn)到一個(gè)預(yù)定義的方向上。本實(shí)驗(yàn)采用樹莓派(RaspberryPi)3計(jì)算平臺(tái);軟件編程語言采用Python。實(shí)驗(yàn)?zāi)康牧私釹G90舵機(jī)。SG90舵機(jī)的控制方式。使用Python控制SG90舵機(jī)。實(shí)驗(yàn)要求了解舵機(jī)的控制原理。掌握Python語言控制程序設(shè)計(jì)。知道機(jī)器人系統(tǒng)執(zhí)行部分功能的實(shí)現(xiàn)方法。實(shí)驗(yàn)原理脈沖寬度調(diào)制(PWM)技術(shù)被應(yīng)用于舵機(jī)的控制,舵機(jī)轉(zhuǎn)動(dòng)的方向不是由占空比決定的,而是由脈沖長(zhǎng)度t決定的。有的舵機(jī)使用的PWM頻率為fPWM=50Hz,其對(duì)應(yīng)的PWM周期T=20ms。脈沖長(zhǎng)度t和轉(zhuǎn)動(dòng)方向之間的關(guān)系是線性的,但也取決于電機(jī)和齒輪的配合,如圖12-6所示。圖12-6 脈沖長(zhǎng)度和轉(zhuǎn)動(dòng)方向的線性關(guān)系舵機(jī)SG90一共有3根線:紅線接5V電源;棕線接GND;黃線為數(shù)據(jù)控制線,該線接到GPIO上,接口為pin21。SG90脈沖周期為20ms,也就是說,其最多1s內(nèi)可以轉(zhuǎn)動(dòng)50次。但是考慮到每次轉(zhuǎn)動(dòng)還要耗時(shí),所以實(shí)際達(dá)不到50次。PWM控制信號(hào)周期為20ms,脈寬為0.5~2.5ms,對(duì)應(yīng)的角度為-90°~+90°,范圍為180°(3°左右的偏差)。當(dāng)脈寬為1.5ms時(shí),舵機(jī)在中立點(diǎn)(0°),可以直接用Python的GPIO提供的PWM控制。脈寬為0.5~2.5ms對(duì)應(yīng)的占空比為2.5%~12.5%。理論上,10%的占空比可以提供180°的線性分割。實(shí)驗(yàn)步驟安裝Python庫和GPIO庫安裝Python庫,代碼如下。執(zhí)行更新,代碼如下。安裝Python-pip,代碼如下。安裝Python的GPIO庫,代碼如下。基于Python的編程,編寫sg90.py執(zhí)行cd~。執(zhí)行sudomkdirSG90。執(zhí)行cdSG90。執(zhí)行nanosg90.py。舵機(jī)從0°轉(zhuǎn)到180°,再轉(zhuǎn)回到0°的示例程序sg90.py如下。實(shí)驗(yàn)結(jié)果保存腳本并退出,連接好硬件,試運(yùn)行Python3pwm.py:舵機(jī)正轉(zhuǎn)180°,反轉(zhuǎn)180°,回到原位。路徑規(guī)劃使用Python實(shí)現(xiàn)的常用路徑規(guī)劃算法,語法簡(jiǎn)潔,體現(xiàn)了Python的特點(diǎn),因此本實(shí)驗(yàn)基于Python3.6實(shí)現(xiàn)A*算法。實(shí)驗(yàn)?zāi)康牧私饴窂揭?guī)劃原理。了解A*算法。使用Python實(shí)現(xiàn)A*算法。實(shí)驗(yàn)要求理解路徑規(guī)劃原理。掌握Python語言控制程序設(shè)計(jì)。知道機(jī)器人系統(tǒng)執(zhí)行部分功能的實(shí)現(xiàn)方法。實(shí)驗(yàn)原理移動(dòng)一個(gè)簡(jiǎn)單的物體看起來是容易的,而路徑規(guī)劃是復(fù)雜的。A*算法可把靠近初始點(diǎn)的節(jié)點(diǎn)和靠近目標(biāo)點(diǎn)的節(jié)點(diǎn)信息塊結(jié)合起來,潛在地搜索圖中一個(gè)很大的區(qū)域,并用啟發(fā)式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 買房有物業(yè)合同范本
- bt合同ppp合同范本
- 企業(yè)人事聘用合同范本
- 出租保安服裝合同范本
- 單位購儀器合同范本
- 先打款后開票合同范本
- 協(xié)議付款合同范例
- 上門宴席服務(wù)合同范本
- 東莞企業(yè)勞務(wù)合同范本
- 兒童游泳班合同范本
- 2025年企業(yè)法務(wù)顧問聘用協(xié)議范本
- 教育部人文社科 申請(qǐng)書
- 無菌手術(shù)臺(tái)鋪置的細(xì)節(jié)管理
- 《康復(fù)評(píng)定技術(shù)》課件-第五章 運(yùn)動(dòng)控制
- 議論文8(試題+審題+范文+點(diǎn)評(píng)+素材)-2025年高考語文寫作復(fù)習(xí)
- 【理特咨詢】2024生成式人工智能GenAI在生物醫(yī)藥大健康行業(yè)應(yīng)用進(jìn)展報(bào)告
- 2025新人教版英語七年級(jí)下單詞默寫表(小學(xué)部分)
- 2025年春新外研版(三起)英語三年級(jí)下冊(cè)課件 Unit6第1課時(shí)Startup
- 2025江蘇蘇州高新區(qū)獅山商務(wù)創(chuàng)新區(qū)下屬國企業(yè)招聘9人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《蒙牛集團(tuán)實(shí)施財(cái)務(wù)共享過程中存在的問題及優(yōu)化建議探析》8800字(論文)
- 平拋運(yùn)動(dòng)的經(jīng)典例題
評(píng)論
0/150
提交評(píng)論