基于S3C44B0X的移動機器人的應(yīng)用研究
移動機器人利用導(dǎo)航技術(shù),獲得機器人的目前所處的位置,結(jié)合傳感器技術(shù)對周圍外界環(huán)境(障礙物等)作實時探測,并根據(jù)環(huán)境提供的信息規(guī)劃一條可行路徑完成達到目標點的任務(wù)。移動機器人技術(shù)涉及到傳感器技術(shù),導(dǎo)航技術(shù),計算機技術(shù),人工智能等多個領(lǐng)域,因而對移動機器人的控制部分提出很高的要求,特別是視覺傳感器的出現(xiàn),要求控制系統(tǒng)不僅存儲量大,而且處理速度快等。以往基于PLC和單片機控制的移動機器人就不能很好的滿足實時性快速性的特點。
隨著ARM處理器的出現(xiàn)和發(fā)展以及嵌入式系統(tǒng)的發(fā)展,移動機器人的實時性快速性要求便能得到很好滿足,現(xiàn)在該技術(shù)已經(jīng)在多種領(lǐng)域得到有效的應(yīng)用。本文是以SAMSUNG公司一款基于ARM7TDMI核的低功耗高性能的32位處理器芯片S3C44B0X為控制核心,以凌陽16位單片機SPCE061A為輔助處理器來處理傳感器探測的障礙物信息,并運用嵌入式實時多任務(wù)操作系統(tǒng)µC/OS-II管理移動機器人的導(dǎo)航算法的實現(xiàn)和多任務(wù)的執(zhí)行。實驗結(jié)果表明:該系統(tǒng)能夠?qū)崿F(xiàn)避障和導(dǎo)航功能并能順利達到目的地。
2 控制系統(tǒng)的硬件設(shè)計
移動機器人的控制系統(tǒng)主要完成對外界障礙物的探測與信息的傳輸,機器人當(dāng)前位置的獲取,路徑規(guī)劃,和運行控制等功能。對系統(tǒng)進行功能模塊化劃分,本系統(tǒng)可劃分以下五大模塊:環(huán)境探測模塊;全局定位模塊;程序下載模塊,電機驅(qū)動模塊和電源管理模塊。各個模塊之間的關(guān)系如圖1所示。
圖1 控制系統(tǒng)硬件系統(tǒng)圖
2.1 環(huán)境探測模塊
移動機器人在避障和路徑規(guī)劃過程中,機器人必須實時探測周圍的障礙物的信息,測量障礙物的距離。目前有紅外,超聲波,激光和視覺(CDD)傳感器,激光傳感器受環(huán)境影響大,價格比較昂貴,視覺傳感器(CCD)要求芯片的存儲容量大且要求處理速度快等特點,不易采用。基于這一點本文在移動機器人的前方,左方,右方各安裝一套紅外傳感器和超聲波傳感器以測量3個方向的障礙物的距離,多傳感器的使用可以避免了單一傳感器的測量存在的盲區(qū)。
紅外傳感器有發(fā)射器和接受器構(gòu)成,此傳感器的3路發(fā)射端口接凌陽單片機SPCE061A的3路I/O口,3路接受器的端口接單片機的另外3路。當(dāng)單片機I/O輸出為高電平時,發(fā)射器端口發(fā)射紅外光,光波遇到障礙物反射被接受器,產(chǎn)生光強相對的電流經(jīng)過A/D轉(zhuǎn)換輸入單片機,根據(jù)電壓大小計算障礙物的距離。超聲波傳感器的工作原理與紅外傳感器基本相同,聲波遇到障礙物返回被接受器接受,根據(jù)時間差計算障礙物的距離。
該探測模塊可以測量0~2m距離內(nèi)的障礙物,測量誤差小,采用16位凌陽單片機SPCE061A對障礙信息進行快速處理,一旦探測到障礙物便通過總線接口與S3C44B0X通訊并作數(shù)據(jù)傳輸。
2.2 全局定位模塊
機器人當(dāng)前位置的確定至關(guān)重要,為機器人路徑規(guī)劃提供必不可少的信息,目前定位傳感器有全球定位系統(tǒng)(GPS),旋轉(zhuǎn)電位計,光電編碼器,磁羅盤,電子羅盤,加速度計等。針對使用環(huán)境,本模塊采用長春第一光學(xué)有限公司生產(chǎn)的光電編碼器和電子羅盤相結(jié)合的方法來確定機器人的當(dāng)前的坐標點¹。光電編碼器經(jīng)光電轉(zhuǎn)換,將軸的角度位移轉(zhuǎn)換成電脈沖信號,6通過放大電路輸出到S3C44B0X的計數(shù)器T1,把在特定時間采集的脈沖進行存儲,脈沖信號與輪子的轉(zhuǎn)過的圈數(shù)成正比,因而可以計算在設(shè)定機器人的實際路程。電子羅盤采用霍尼維爾低成本的HMR3100平面電子羅盤,內(nèi)部有HMC1022二軸磁傳感器,,角度測量精度可達5度,電子羅盤可以確定機器人相對北極的絕對方向,可以精確測出機器人的運動方向與理論方向之間的偏差,從而糾正機器人運動軌跡。
2.3 程序下載模塊和電機驅(qū)動模塊
程序下載模塊主要完成啟動程序和應(yīng)用程序的下載,本系統(tǒng)提供兩種下載方式,串口下載和并口下載。串口下載通過RS232串口線連接板上COM1與PC進行通訊,并口下載通過并口線與JTAG調(diào)試接口連接完成PC與S3C44B0的通訊。
電機驅(qū)動模塊的精度對整個系統(tǒng)精度的影響很大,考慮各種因素本模塊選用一種基于雙通道、高壓、高速柵極驅(qū)動方式的集成驅(qū)動器IR2110。IR2110驅(qū)動芯片能將輸入的邏輯信號轉(zhuǎn)化成同相位的低阻抗輸出驅(qū)動信號,可驅(qū)動同一橋臂上的 2路輸出,驅(qū)動能力強,響應(yīng)速度快,工作電壓高,成本低等特點提高了系統(tǒng)的精度和可靠性。電機采用普通大功率直流減速電機,使用大功率H橋驅(qū)動電路,電路原理如圖3所示。
圖3電路驅(qū)動原理圖
電路中IR2110作為前置驅(qū)動,四個IRFP250組成H橋驅(qū)動電路。當(dāng)IN1端加上PWM信號,IN2端加上低電平時Q2,Q5導(dǎo)通,Q3,Q4截止,驅(qū)動電機正轉(zhuǎn);當(dāng)IN2端加上PWM信號,IN1端加上低電平時Q3,Q4導(dǎo)通,Q2,Q5截止,驅(qū)動電機反轉(zhuǎn)。調(diào)節(jié)PWM脈沖寬度可以調(diào)節(jié)電機轉(zhuǎn)速。為了使電機運行平穩(wěn),PWM信號的頻率不低于1KHZ。
3 系統(tǒng)軟件實現(xiàn)
軟件部分的實現(xiàn)是基于移植到S3C44B0X的實時多任務(wù)操作系統(tǒng)µC/OS-II,它是基于優(yōu)先級,搶占式實時內(nèi)核,具有源代碼公開,可移植性好,可剪裁,多任務(wù)等特點,可以管理64個任務(wù),應(yīng)用程序可達56個任務(wù)。它主要完成任務(wù)管理,時間管理,信號量管理,內(nèi)存管理等功能。
該機器人主要完成避障檢測與信息傳輸,位置獲取,路徑規(guī)劃,運行控制功能,因此,該系統(tǒng)共創(chuàng)建了4個任務(wù),任務(wù)1:避障檢測與信息傳輸,任務(wù)2:位置獲取,任務(wù)3:路徑規(guī)劃,任務(wù)4:電機驅(qū)動控制。任務(wù)的優(yōu)先級依次降低,任務(wù)之間通過油箱傳遞信息。移動機器人在完成初始化系統(tǒng)后,驅(qū)動電機執(zhí)行任務(wù)4按照預(yù)定的路徑向目標點前進,同時單片機SPCE061A控制的傳感器工作,當(dāng)傳感器探測周圍有障礙物時,任務(wù)1進入就緒態(tài),由于任務(wù)1的優(yōu)先級高,就搶占CPU的使用權(quán),完成障礙信息的處理與傳輸。通過信號量的傳遞,任務(wù)2進入就緒態(tài),完成目前位置的計算,為路徑規(guī)劃提供依據(jù)。任務(wù)3根據(jù)任務(wù)1提供的障礙信息和任務(wù)2提供的信息位置信息啟動導(dǎo)航算法進行路徑規(guī)劃,新的路徑規(guī)劃完成之后,任務(wù)4進入運行狀態(tài),從而完成最終規(guī)定任務(wù)。
4 實驗結(jié)果
實驗是在室內(nèi)進行的,場地面積12m×12m,綠色毛毯狀物質(zhì)貼于場地表層以防止打滑。路徑規(guī)劃采用基于柵格的導(dǎo)航算法²,機器人形狀大小0.8m×0.8m×0.6m, 柵格尺度為機器人尺度為0.8m×0.8m,柵格的行數(shù)與列數(shù)均為15,柵格總數(shù)為15×15=225格。以積木和其它機器人為靜止障礙物。移動機器人的運行軌跡如圖4所示。圖中淺灰色方框為障礙物,深灰色方框路線為機器人運動軌跡,起始點與目標點如下圖4所標。實驗結(jié)果表明,該機器人能夠避開障礙物到達目標點,實驗多次,位置誤差在0~0.4m,具有可行性。
圖4 機器人運動示意圖
5 結(jié)論
本文作者的創(chuàng)新點是采用高性能ARM芯片S3C44B0X為主控制和單片機SPCE061A為輔助控制器相結(jié)合的方法對機器人進行控制,并引入嵌入式實時操作系統(tǒng)µC/OS-II完成機器人導(dǎo)航算法的實現(xiàn)以及對機器人多個任務(wù)進行合理規(guī)劃和調(diào)度,以及保證機器人對未知環(huán)境的快速響應(yīng)和保證整個系統(tǒng)的精度,實驗證明了這種方法具有可行性。
該控制系統(tǒng)有豐富的硬件資源,傳感器所獲取的信息的處理也采用高性能單片機SPCE061A,為以后視覺傳感器(CCD)的使用提供了硬件基礎(chǔ),該機器人占用主控制器的硬件也比較少,為以后系統(tǒng)的升級提供方便。也可以采用更先進的導(dǎo)航算法使 更加智能化。