摘 要: 提出了一種基于CAN總線(xiàn)的智能機(jī)器人" title="智能機(jī)器人">智能機(jī)器人控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng)" title="分布式控制系統(tǒng)" title="分布式控制系統(tǒng)">分布式控制系統(tǒng)">分布式控制系統(tǒng)體系結(jié)構(gòu),闡述了系統(tǒng)的電路組成和功能實(shí)現(xiàn)原理,具體分析了系統(tǒng)的容錯(cuò)控制與魯棒性" title="魯棒性">魯棒性。該系統(tǒng)可采用多種傳感器實(shí)施組合導(dǎo)航,并可通過(guò)語(yǔ)音系統(tǒng)和無(wú)線(xiàn)網(wǎng)絡(luò)通信實(shí)現(xiàn)人機(jī)交互。實(shí)踐表明,該控制系統(tǒng)具有較高的實(shí)用價(jià)值和較好的開(kāi)放性、實(shí)時(shí)性和可靠性。
關(guān)鍵詞: 智能機(jī)器人 分布式控制系統(tǒng) 雙目視覺(jué) 語(yǔ)音識(shí)別
現(xiàn)代智能機(jī)器人大多結(jié)構(gòu)復(fù)雜,控制對(duì)象及功能較多,集中控制和主從控制方式已不能滿(mǎn)足機(jī)器人對(duì)控制系統(tǒng)實(shí)時(shí)性、開(kāi)放性、魯棒性等方面的要求。比較理想的控制系統(tǒng)解決方案是采用分布式控制系統(tǒng)DCS(Distributed Control System),將控制功能在下位機(jī)" title="下位機(jī)">下位機(jī)分散,每個(gè)下位機(jī)完成一項(xiàng)特定功能,各下位機(jī)便可實(shí)現(xiàn)并行工作,這將大大提高整個(gè)系統(tǒng)的處理能力和處理速度。DCS的核心思想是集中管理、分散控制[1],即管理與控制分離,上位機(jī)用于集中監(jiān)控和系統(tǒng)管理,下位機(jī)分散到現(xiàn)場(chǎng)實(shí)現(xiàn)分布式控制,各上下位機(jī)之間通過(guò)控制網(wǎng)絡(luò)互連實(shí)現(xiàn)信息傳輸。顯然,采用DCS方案有如下明顯優(yōu)點(diǎn):實(shí)現(xiàn)集中監(jiān)控和管理,管理與現(xiàn)場(chǎng)分離,管理更綜合化和系統(tǒng)化;實(shí)現(xiàn)分散控制,可使各功能模塊的設(shè)計(jì)、裝配、調(diào)試、維護(hù)獨(dú)立,系統(tǒng)控制的危險(xiǎn)性分散,可靠性提高,投資減小;采用網(wǎng)絡(luò)通信技術(shù),可根據(jù)需要增加以微處理器為核心的功能模塊,具有良好的系統(tǒng)開(kāi)放性、擴(kuò)展性和升級(jí)特性。
CAN(Controller Area Network)總線(xiàn)[2]作為連接各上下位機(jī)之間的通信網(wǎng)絡(luò),非常適用于分布式控制系統(tǒng),因?yàn)樗哂幸韵峦怀鎏匦裕篊AN控制器工作于多主方式,網(wǎng)絡(luò)中的各節(jié)點(diǎn)都可根據(jù)總線(xiàn)訪(fǎng)問(wèn)優(yōu)先權(quán)向總線(xiàn)發(fā)送數(shù)據(jù),通信方式靈活;CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線(xiàn)上其他節(jié)點(diǎn)的操作不受影響,因而具有突出的可靠性;CAN總線(xiàn)的通信協(xié)議可由CAN控制器芯片及其接口芯片來(lái)實(shí)現(xiàn),從而大大降低了系統(tǒng)開(kāi)發(fā)難度,縮短了開(kāi)發(fā)周期;CAN總線(xiàn)結(jié)構(gòu)簡(jiǎn)單,只有兩根信號(hào)線(xiàn),掛接在總線(xiàn)上的設(shè)備可方便地增減,因而具有優(yōu)良的可擴(kuò)展性;此外,CAN總線(xiàn)還有傳輸速率高、實(shí)時(shí)性強(qiáng)、開(kāi)放性好、成本低等特點(diǎn)。
1 系統(tǒng)功能設(shè)計(jì)
本文討論的機(jī)器人屬自主式移動(dòng)機(jī)器人,具有多種環(huán)境感知功能和控制功能,可廣泛應(yīng)用于教學(xué)機(jī)器人、娛樂(lè)機(jī)器人、服務(wù)機(jī)器人等領(lǐng)域,通過(guò)對(duì)控制系統(tǒng)的定制和擴(kuò)展,很容易實(shí)現(xiàn)某些特種機(jī)器人的功能。為此,要求該機(jī)器人的控制系統(tǒng)必須具有較好的實(shí)時(shí)性、協(xié)調(diào)性、可靠性、可擴(kuò)展性、開(kāi)放性和魯棒性等特性。該分布式控制系統(tǒng)具有以下功能特性:
·輪式移動(dòng)平臺(tái),動(dòng)作敏捷迅速,可靠性高,控制特性好。
·語(yǔ)音交互功能。具有語(yǔ)音識(shí)別與合成功能,可進(jìn)行人機(jī)語(yǔ)音交互,包括執(zhí)行用語(yǔ)音下達(dá)的命令、人機(jī)語(yǔ)音對(duì)話(huà)聊天、媒體(視頻、音頻)語(yǔ)音點(diǎn)播、語(yǔ)音信息查詢(xún)、文本語(yǔ)音播放等。
·無(wú)線(xiàn)網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控功能??赏ㄟ^(guò)遠(yuǎn)程計(jì)算機(jī)終端和無(wú)線(xiàn)網(wǎng)絡(luò)對(duì)機(jī)器人下達(dá)命令,實(shí)施控制;也可將機(jī)器人的狀態(tài)信息(如當(dāng)前任務(wù)、位置、速度等),甚至是采集到的實(shí)時(shí)視頻圖像顯示在遠(yuǎn)程監(jiān)控計(jì)算機(jī)終端上。
·多傳感器組合導(dǎo)航功能。具有雙目視覺(jué)及圖像處理功能,可實(shí)現(xiàn)視覺(jué)導(dǎo)航及目標(biāo)的定位、跟蹤和識(shí)別;可綜合利用視覺(jué)、激光、紅外、光敏等多種傳感器信息,實(shí)現(xiàn)距離檢測(cè)、障礙物檢測(cè)、懸崖檢測(cè)、光源檢測(cè)等環(huán)境感知功能,從而實(shí)現(xiàn)軌跡跟蹤、避障、避碰、避懸崖等導(dǎo)航功能。
·突出的魯棒性。具有故障診斷與處理、關(guān)鍵部件雙冗余設(shè)計(jì)、多傳感器信息融合導(dǎo)航與檢測(cè)等功能,可實(shí)現(xiàn)系統(tǒng)功能模塊故障的診斷、排除或替換;可檢測(cè)和分配電量,增強(qiáng)生命力。
2 系統(tǒng)體系結(jié)構(gòu)
基于CAN總線(xiàn)的分布式控制系統(tǒng)的上位機(jī)由主控計(jì)算機(jī)及語(yǔ)音和圖像處理單元構(gòu)成,下位機(jī)則是由以0至7號(hào)節(jié)點(diǎn)控制器為核心的功能模塊所組成??刂葡到y(tǒng)硬件結(jié)構(gòu)如圖1所示。
系統(tǒng)在縱向結(jié)構(gòu)上可分為四層。決策層:主要實(shí)現(xiàn)以下功能:(1)通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)和語(yǔ)音處理系統(tǒng)(語(yǔ)音識(shí)別與合成)兩種方式實(shí)現(xiàn)人機(jī)交互;(2)實(shí)現(xiàn)雙目視覺(jué)圖像采集與處理;(3)對(duì)整個(gè)系統(tǒng)實(shí)施管理監(jiān)控,并對(duì)控制層及功能層的事件做出響應(yīng)??刂茖樱簷z測(cè)各節(jié)點(diǎn)的工作情況,登記各節(jié)點(diǎn)的狀態(tài),對(duì)發(fā)生故障的節(jié)點(diǎn)進(jìn)行處理,對(duì)系統(tǒng)電源進(jìn)行合理的分配和調(diào)度。功能層:由一個(gè)個(gè)基于MCU的節(jié)點(diǎn)控制器及相關(guān)電路組成的功能模塊所構(gòu)成,實(shí)現(xiàn)機(jī)器人的基本行為和感知控制。執(zhí)行層:由環(huán)境感知傳感器和執(zhí)行器組成,完成數(shù)據(jù)采集和行為動(dòng)作執(zhí)行。
主控計(jì)算機(jī)是分布式控制系統(tǒng)的上位機(jī),由一臺(tái)高性能PC機(jī)承擔(dān),主要用于人機(jī)交互、系統(tǒng)管理、控制決策、任務(wù)調(diào)度、運(yùn)動(dòng)規(guī)劃、圖像識(shí)別與視覺(jué)導(dǎo)航等。環(huán)境感知部分由雙目視覺(jué)攝像機(jī)、激光傳感器、超聲傳感器、紅外傳感器、光敏傳感器、觸覺(jué)傳感器等傳感器組成,其中,雙目視覺(jué)傳感器可實(shí)現(xiàn)視覺(jué)導(dǎo)航、目標(biāo)定位與跟蹤、人臉識(shí)別等功能。輪式移動(dòng)平臺(tái)采用三組正交輪驅(qū)動(dòng),具有三個(gè)自由度,可實(shí)現(xiàn)仿人靈活移動(dòng),由移動(dòng)平臺(tái)伺服控制器、PWM放大器、驅(qū)動(dòng)電機(jī)和增量式光電碼盤(pán)構(gòu)成速度閉環(huán)控制。無(wú)線(xiàn)網(wǎng)絡(luò)采用802.11b通訊協(xié)議,可實(shí)現(xiàn)主控計(jì)算機(jī)與遠(yuǎn)程監(jiān)控計(jì)算機(jī)的互連,一方面通過(guò)遠(yuǎn)程計(jì)算機(jī)終端對(duì)機(jī)器人下達(dá)命令,實(shí)施控制;另一方面,也可將機(jī)器人的狀態(tài)信息(如當(dāng)前任務(wù)、位置、速度等)及實(shí)時(shí)視頻圖像顯示在遠(yuǎn)程監(jiān)控計(jì)算機(jī)終端上??刂葡到y(tǒng)功能圖如圖2所示。
3 系統(tǒng)容錯(cuò)控制與魯棒性分析
作為一款自主式智能機(jī)器人,其控制系統(tǒng)必須具有較好的魯棒性和容錯(cuò)性。本文從控制系統(tǒng)的硬件體系結(jié)構(gòu)、人機(jī)交互方式、多傳感器信息融合、系統(tǒng)通信架構(gòu)及軟件設(shè)計(jì)等方面,提出了一套綜合解決方案,較好地滿(mǎn)足了系統(tǒng)的魯棒性需求。
3.1 故障診斷與處理控制器
在典型分布式控制系統(tǒng)的基礎(chǔ)上,增設(shè)了一個(gè)故障診斷與處理控制器模塊(圖1中的節(jié)點(diǎn)0),負(fù)責(zé)系統(tǒng)功能層節(jié)點(diǎn)故障的診斷處理和電源電量的檢測(cè)與分配。該控制器結(jié)構(gòu)如圖3所示。
由于系統(tǒng)中較繁重的任務(wù)集中在控制層和功能層,因此提高其容錯(cuò)性,將大大提高整個(gè)系統(tǒng)的可靠性[3]。節(jié)點(diǎn)控制器發(fā)生的故障類(lèi)型可分為臨時(shí)性故障和永久性故障兩種。臨時(shí)性故障指由于軟件中存在BUG,導(dǎo)致控制器“死機(jī)”或由于某種信號(hào)干擾,致使程序“跳飛”等故障。永久性故障指由于元器件發(fā)生燒毀、功能失效或電路發(fā)生短路、斷路等原因所產(chǎn)生的故障。一般而言,臨時(shí)性故障可通過(guò)系統(tǒng)復(fù)位重新啟動(dòng)進(jìn)行修復(fù),而一旦發(fā)生永久性故障,則應(yīng)替換備用單元或?qū)⑵潢P(guān)閉。
故障診斷與處理模塊采用對(duì)功能層控制器進(jìn)行定期巡檢的方式監(jiān)控其工作。該控制器以固定時(shí)間間隔(1秒~10秒之間)向功能層廣播連接請(qǐng)求,若各節(jié)點(diǎn)控制器工作正常,則回應(yīng)請(qǐng)求,并將它們的最新?tīng)顟B(tài)信息發(fā)送給控制層,控制層便刷新節(jié)點(diǎn)狀態(tài)信息存儲(chǔ)器中這些控制器的狀態(tài)信息記錄。若在規(guī)定時(shí)間內(nèi)沒(méi)有收到某節(jié)點(diǎn)控制器的回應(yīng),則認(rèn)為該控制器發(fā)生故障。此時(shí),控制層對(duì)其實(shí)施復(fù)位操作,若復(fù)位后該機(jī)恢復(fù)正常工作,說(shuō)明發(fā)生的是臨時(shí)性故障,控制層只需將節(jié)點(diǎn)狀態(tài)信息存儲(chǔ)器中相應(yīng)狀態(tài)信息記錄發(fā)送給該節(jié)點(diǎn)控制器,它便能恢復(fù)到故障前的工作狀態(tài)。若復(fù)位后也不能恢復(fù)正常工作,則說(shuō)明發(fā)生了永久性故障,此時(shí)應(yīng)啟動(dòng)備用單元,或關(guān)閉故障單元,切斷其電源,并將其編號(hào)對(duì)外廣播注銷(xiāo)。
3.2 雙冗余設(shè)計(jì)
容錯(cuò)技術(shù)的核心是冗余技術(shù),對(duì)關(guān)鍵部件采用備份冗余,可提高系統(tǒng)的安全性、可靠性和魯棒性。當(dāng)設(shè)有備份控制器的關(guān)鍵單元發(fā)生永久性故障時(shí),故障診斷與處理控制器便執(zhí)行以下操作:(1)控制備用單元和故障單元
進(jìn)行熱切換;(2)控制現(xiàn)場(chǎng)傳感器和執(zhí)行器的切換;(3)將故障單元最后的狀態(tài)信息記錄寫(xiě)入到備用單元。
3.3 多傳感器信息融合
導(dǎo)航技術(shù)是移動(dòng)智能機(jī)器人的核心技術(shù)之一。由圖1和圖2可見(jiàn),為提高導(dǎo)航系統(tǒng)的魯棒性,本設(shè)計(jì)采用了集雙目視覺(jué)導(dǎo)航、坐標(biāo)導(dǎo)航、超聲波導(dǎo)航、激光導(dǎo)航、地圖匹配導(dǎo)航等多種導(dǎo)航方式于一體的組合導(dǎo)航[4]方法,以滿(mǎn)足機(jī)器人對(duì)越來(lái)越高的導(dǎo)航性能及復(fù)雜環(huán)境條件下導(dǎo)航技術(shù)的要求。因?yàn)閱蝹€(gè)傳感器在環(huán)境描述方面存在以下問(wèn)題:(1)只能獲得環(huán)境特征的部分信息,無(wú)法對(duì)操作環(huán)境做出全面準(zhǔn)確的描述;(2)缺乏魯棒性,偶然故障將導(dǎo)致系統(tǒng)無(wú)法正常工作;(3)數(shù)據(jù)的可信度不高。多傳感器信息融合是指?jìng)鞲衅飨到y(tǒng)對(duì)來(lái)自多種傳感器的信息進(jìn)行綜合統(tǒng)一,以產(chǎn)生更可靠、更準(zhǔn)確的信息。該項(xiàng)技術(shù)的出現(xiàn)是為了解決單個(gè)傳感器系統(tǒng)所面臨的問(wèn)題。和單個(gè)傳感器系統(tǒng)相比,多傳感器融合系統(tǒng)具有以下優(yōu)點(diǎn):(1)可得到更全面、更準(zhǔn)確的信息;(2)可提高系統(tǒng)的可靠性和魯棒性;(3)可得到描述同一環(huán)境特征的多個(gè)
冗余信息,可描述不同的環(huán)境特征;(4)可實(shí)現(xiàn)并行數(shù)據(jù)采集和處理,提高導(dǎo)航系統(tǒng)綜合性能;(5)可增強(qiáng)數(shù)據(jù)可信度。
對(duì)多種傳感器所提供的冗余或互補(bǔ)信息進(jìn)行融合,可獲得更加全面、準(zhǔn)確、可靠地反映環(huán)境特征的信息,為導(dǎo)航提供快速而準(zhǔn)確的決策依據(jù)。本系統(tǒng)的多傳感器信息融合如圖4所示。
除上述設(shè)計(jì)外,系統(tǒng)的魯棒性還體現(xiàn)在以下幾個(gè)方面:(1)采用了CAN總線(xiàn)。由于CAN總線(xiàn)除具有在CAN節(jié)點(diǎn)嚴(yán)重錯(cuò)誤的情況下能自動(dòng)關(guān)閉輸出,使總線(xiàn)上其他節(jié)點(diǎn)的操作不受影響的特點(diǎn)外,還采用非破壞性總線(xiàn)仲裁制度,即使在網(wǎng)絡(luò)負(fù)載很重的情況下也不會(huì)出現(xiàn)癱瘓現(xiàn)象,并采用短幀結(jié)構(gòu),有CRC及其他校驗(yàn)措施,數(shù)據(jù)出錯(cuò)率極低,因而具有突出的可靠性;(2)人機(jī)交互采用了語(yǔ)音交互和利用遠(yuǎn)程監(jiān)控計(jì)算機(jī)及無(wú)線(xiàn)網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程監(jiān)控兩套方案,確保了人對(duì)機(jī)器人操控指令的可靠下達(dá);(3)軟件的可靠性設(shè)計(jì)等其他措施。
本文提出了一種基于CAN總線(xiàn)的智能機(jī)器人分布式控制系統(tǒng)體系結(jié)構(gòu),闡述了系統(tǒng)的電路組成和功能實(shí)現(xiàn)方法,深入分析了系統(tǒng)的容錯(cuò)控制和魯棒性。根據(jù)這套方案設(shè)計(jì)并實(shí)現(xiàn)了娛樂(lè)機(jī)器人,實(shí)踐證明,該方案設(shè)計(jì)科學(xué)合理、切實(shí)可行,系統(tǒng)具有較好的實(shí)時(shí)性、開(kāi)放性和魯棒性。
參考文獻(xiàn)
1 王常力,羅 安.分布式控制系統(tǒng)(DCS)設(shè)計(jì)與應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,2004
2 呂當(dāng)俠. CAN總線(xiàn)的特點(diǎn)及應(yīng)用[J].航空與航天, 2005;(3):16~20
3 朱 蘭,朱玉文.多CPU探測(cè)機(jī)器人分布式體系結(jié)構(gòu)研究[J].裝甲兵工程學(xué)院學(xué)報(bào),2005;19(3):61~64
4 沈 猛,徐德民,李俊等.輪式移動(dòng)機(jī)器人組合導(dǎo)航方法及試驗(yàn)研究[J].計(jì)算機(jī)仿真,2005;22(7):85~87
5 Microsoft. Microsoft speech SDK 5.1 documentation. http://download.microsoft.com/download/SpeechSDK/SDK/5.1/WXP/EN-US/sapi.chm.
6 Verissimo P. Distributed computer-controlled systems: The DEAR-COTS approach[J].IFAC,2000
7 韓大鵬,韋 慶.機(jī)器人控制器的一種模塊化設(shè)計(jì)方法[J].微計(jì)算機(jī)信息,2005;21(5):3~4




