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