基于激光雷達(dá)避障的機(jī)器人控制系統(tǒng)設(shè)計(jì)
移動(dòng)機(jī)器人是一種能夠感知外部環(huán)境,在有障礙物的環(huán)境中能夠?qū)崿F(xiàn)動(dòng)態(tài)決策與規(guī)劃,從而完成避障等多種功能的綜合系統(tǒng)。機(jī)器人系統(tǒng)通常分為機(jī)構(gòu)本體和控制系統(tǒng)兩部分,控制系統(tǒng)的作用是根據(jù)用戶的指令對(duì)機(jī)構(gòu)本體進(jìn)行操作和控制。隨著機(jī)器人的智能化水平越來(lái)越高,控制器要有方便、靈活的操作方式,以及多種形式的控制方式和高度可靠性,還要有很高的實(shí)時(shí)性。
為了保證系統(tǒng)的實(shí)時(shí)性,簡(jiǎn)化控制系統(tǒng)軟件的設(shè)計(jì),有必要在控制系統(tǒng)引入嵌入式操作系統(tǒng)。本設(shè)計(jì)將嵌入式技術(shù)與機(jī)器人技術(shù)相結(jié)合,利用ARM作為硬件平臺(tái)并移人μC/OS-Ⅱ嵌入式實(shí)時(shí)操作系統(tǒng),開發(fā)了具有多線程、多任務(wù)管理的控制終端。嵌入式主控制器ARM是整個(gè)機(jī)器人控制系統(tǒng)的核心,主要完成環(huán)境感知、組織管理、總體任務(wù)分配。嵌入式主控器作為機(jī)器人的運(yùn)算層,一方面作為控制上位機(jī),可以通過(guò)串口與下位機(jī)伺服控制系統(tǒng)通信,從而完成機(jī)器人的運(yùn)動(dòng)控制;另一方面還提供了與遙控操作端或用戶端的無(wú)線通信接口。本文設(shè)計(jì)的機(jī)器人控制系統(tǒng)可應(yīng)用于日常生活、足球機(jī)器人以及其他科學(xué)探索領(lǐng)域。
1 系統(tǒng)組織架構(gòu)與硬件設(shè)計(jì)
設(shè)計(jì)時(shí)考慮到機(jī)器人在體積、質(zhì)量等方面的限制,以及要滿足功耗低,實(shí)時(shí)性高,性能優(yōu)越的特點(diǎn),選擇合適的軟硬件結(jié)構(gòu)及有效的控制模式是整個(gè)設(shè)計(jì)過(guò)程的關(guān)鍵。
1.1 系統(tǒng)總體架構(gòu)
整個(gè)機(jī)器人控制系統(tǒng)由嵌入式主控制器、伺服控制模塊、無(wú)線通信模塊和傳感檢測(cè)模塊組成??刂葡到y(tǒng)的總體架構(gòu)如圖1所示。
按功能劃分,該控制系統(tǒng)分為上下兩層。由實(shí)現(xiàn)任務(wù)管理、運(yùn)動(dòng)軌跡生成、定位的上層控制系統(tǒng),以及完成機(jī)器人伺服控制、傳感器信息采集的下層控制系統(tǒng)組成。上層控制系統(tǒng)是整個(gè)控制系統(tǒng)的核心控制層,它有兩種控制實(shí)現(xiàn)方式:一種是獨(dú)立運(yùn)行模式,另一種是遙控或遠(yuǎn)程實(shí)時(shí)控制模式。獨(dú)立運(yùn)行模式有自己的運(yùn)行參數(shù),即上層控制系統(tǒng)根據(jù)激光雷達(dá)的信息傳遞到環(huán)境建模模塊,產(chǎn)生環(huán)境地圖并產(chǎn)生避障算法所需信息,控制器根據(jù)避障模塊信息產(chǎn)生機(jī)器人本體速度和方向信息,傳遞到運(yùn)動(dòng)控制器。在運(yùn)動(dòng)控制底層程序定義了一系列程序,運(yùn)動(dòng)控制器通過(guò)解釋上層控制系統(tǒng)傳遞過(guò)來(lái)的信息并執(zhí)行相應(yīng)程序,從而達(dá)到機(jī)器人控制的目的,實(shí)現(xiàn)實(shí)時(shí)避障。遙控器或遠(yuǎn)程實(shí)時(shí)控制模式是通過(guò)無(wú)線通信單元接收用戶端或遙控端發(fā)出的命令,實(shí)現(xiàn)對(duì)機(jī)器人的實(shí)時(shí)控制。系統(tǒng)的控制實(shí)現(xiàn)方式如圖2所示。
1.2 主控制模塊
主控制模塊采用SAMSUNG公司16/32位RISC處理器S3C4480作為控制器。S3C4480功耗低,有多種電源供電方式,有多種外部存儲(chǔ)器訪問(wèn),新的總線體系結(jié)構(gòu)(SAMBA),速度可達(dá)132 MHz。主控模塊使用Hynix公司的HY57V281620(SDRAM)以及SAM-SUNG公司的Nand-Flash芯片K9F2808U作為存儲(chǔ)器。為了增大數(shù)據(jù)吞吐能力,選取了2片SDRAM構(gòu)成32位地址寬度。S3C4480使用ARM7TDMI核,它滿足μC/OS-Ⅱ正常運(yùn)行的所有條件,設(shè)計(jì)時(shí)S3C4480移入μC/OS-Ⅱ操作系統(tǒng),將加快處理器的應(yīng)用和開發(fā),而且還能提高系統(tǒng)的實(shí)時(shí)性。通過(guò)將系統(tǒng)的功能劃分成按不同優(yōu)先級(jí)調(diào)度的任務(wù),實(shí)現(xiàn)對(duì)機(jī)器人的多任務(wù)控制,主控制模塊中的路徑規(guī)劃任務(wù)采用柵格法。
1.3 激光雷達(dá)測(cè)距模塊
激光雷達(dá)是一種工作在從紅外線到紫外光譜段的雷達(dá)系統(tǒng),相對(duì)于超聲波、紅外、攝像頭等其他傳感測(cè)距方法,激光雷達(dá)具有探測(cè)距離遠(yuǎn),測(cè)量精度高,價(jià)格相對(duì)適中等優(yōu)點(diǎn)。在本設(shè)計(jì)中使用德國(guó)施克公司的LMS291激光測(cè)量系統(tǒng),基于飛行時(shí)間測(cè)量原理,180°掃描角度,可以設(shè)置三個(gè)保護(hù)區(qū)域,具有濾波功能,以消除障礙檢測(cè)過(guò)程中激光雷達(dá)的測(cè)距噪聲干擾。
LMS291激光雷達(dá)通過(guò)旋轉(zhuǎn)鏡面向各個(gè)方向發(fā)射脈沖激光,并由LMS291接收器接收反射光線。該激光雷達(dá)響應(yīng)時(shí)間可固定為13 ms,發(fā)射角為幾mrad的激光脈沖,通過(guò)測(cè)量發(fā)射脈沖與反射脈沖之間的時(shí)間延遲,并乘以光速,就可以測(cè)得障礙物的距離。時(shí)間測(cè)量通過(guò)圖3所示的脈沖填充法求出。
如果計(jì)數(shù)值為N,則t=N△T=N/f,從而可得L=ct/2=cN/(2f),其中,f為時(shí)鐘脈沖。
LMS291激光測(cè)量系統(tǒng)提供RS 232數(shù)據(jù)接口,本設(shè)計(jì)主控制器采用的是S3C44B0,由于它的LVTTL電路所定義的高、低電平信號(hào)為正邏輯,而RS 232標(biāo)準(zhǔn)采用負(fù)邏輯方式,兩者間通信要進(jìn)行電平轉(zhuǎn)換,在設(shè)計(jì)時(shí)系統(tǒng)采用RS 232電平轉(zhuǎn)換芯片MAX232ACPE實(shí)現(xiàn)串口的通信。
評(píng)論