複製鏈接
請複製以下鏈接發送給好友

教學機器人

(智能機器人)

鎖定
隨着人工智能技術計算機技術等相關技術的發展,對智能機器人的研究越來越多。在教育領域,許多院校已在學生中開設了機器人學方面的有關課程。為了滿足機器人學方面的有關課程教學示範和實驗教學的需求,我們研製開發了全方位的輪式移動機器人,可以作為各種智能控制方法(包括動態避障、羣體協作策略)的良好載體,同時又可以方便的構成網絡化的分佈式系統,開展多智能體的調度、規劃等研究。本文全面介紹了這種移動機器人控制系統體系結構,包括傳感器、通訊、伺服控制、軟件構成等,並給出了實驗結果,證明了系統的可行性。 [1] 
中文名
教學機器人
外文名
Teaching Robot
背    景
隨着人工智能技術的發展
屬    性
智能機器人
特    點
全方位的輪式移動機器人

教學機器人背景

隨着人工智能技術、計算機技術等相關技術的發展,對智能機器人的研究越來越多。在教育領域,許多院校已在學生中開設了機器人學方面的有關課程。為了滿足機器人學方面的有關課程教學示範和實驗教學的需求,我們研製開發了全方位的輪式移動機器人,可以作為各種智能控制方法(包括動態避障、羣體協作策略)的良好載體,同時又可以方便的構成網絡化的分佈式系統,開展多智能體的調度、規劃等研究。本文全面介紹了這種移動機器人控制系統體系結構,包括傳感器、通訊、伺服控制、軟件構成等,並給出了實驗結果,證明了系統的可行性。 [1] 

教學機器人優點與獨特性

教學用機器人是一種適合大中專學生的具有開放式特徵的實訓實驗平台,是多種高科技的融合,可以完成電工、電子、單片機、機械設計、傳感器、人工智能、機電控制、數字信號處理等許多課程的幾百個實訓實驗。模糊控制、行為控制、人工智能、機器人學、多生命體、導盲機器人、智能家用電器等學科領域在實訓實驗中可以都得到更好理解和掌握,從而更好的使學生的綜合能力得以提高。 [2] 
教學機器人的作用主要以展示機械結構、運動特徵和功能關係為主,相對於工業機器人,具有它的特殊性:首先,一台教學機器人相當於一個試驗平台,要能顯示多種運動性能,因此,應用環境廣泛,功能多樣。其次,其製造加上精度略低於工業機器人,且性價比高。另外,教學機器人體積小,重量輕。對此,專用性強的工業機器人的研製方法不能滿足這樣的要求。 [2] 

教學機器人硬件選擇設計

機器人控制器採用“主控器+伺服控制器”的形勢。伺服控制器負責完成單關節的位置閉環,在機器人控制中,要求運動平穩無超調,所以伺服控制器的運算任務很繁重。主控制器主要完成除伺服控制器所作的位置閉環以外的所有工作,包括上位機命令接收,機器人狀態監視、顯示,根據一定的控制算法實現空間軌跡插補以及傳感器信息綜合處理等工作。所以主控制器的任務也很繁重。 [1] 

教學機器人主控制器選擇

在移動教學機器人系統中, 應用工業計算機作為其控制系統核心成本高,體積大,功耗大,而採用8位或者16位單片機,又存在硬件資源有限、運算和處理速度有限的困擾,很難應用模糊控制等智能控制理論。 S3C44B0X是SAMSUNG公司推出的一個基於ARM7TDMI核的低功耗的高性價比的32位處理器,它可以在60MHZ頻率下運行,採用3級流水線結構 [4] ,處理能力大大超過8/16位的單片機,接近PC機,可以支持大屏幕的液晶顯示,提供功能強大的圖形用户界面,另外基於ARM的控制器可以內嵌實時操作系統,克服了傳統基於單片機的控制系統軟件“前後台”形式造成的實時性差的缺點[1][5]。S3C44B0X有8個外部中斷,兩個帶有握手協議的UART接口,另外具有SPI和I2C接口、RTC和5個16位的PWM控制器、8路10位AD以及LCD控制器等[4]。它豐富的模塊很大程度上可以減少控制器的體積,增加系統的可靠性控制系統硬件結構如圖1所示(系統中共有3個伺服驅動單元和電機,限於篇幅只畫了一個)。包括由S3C44B0X構成的主控制器,由LM629構成的伺服控制部分,通過UART形成的通訊電路、由LMD18200構成的功率放大電路、直流電機構成的執行機構、傳感器電路等。 [1] 

教學機器人位置伺服模塊

在機器人控制中,以單片機為核心構成位置閉環或者半閉環控制系統,不僅外圍電路結構複雜,而且軟件中軌跡插補運算比較煩瑣,難取得好的效果。而採用美國國家半導體公司生產的可編程全數字運動控制芯片LM629可以解決上述問題。它具有32位的位置、速度和加速度寄存器,內置PID算法,其參數可以修改;支持實時讀取和設定速度、加速度以及位置等運動參數,內置的梯形圖發生器能夠自動生成速度曲線,平穩地加速、減速,支持增量式光電碼盤的四倍頻輸入,適用於由正交增量式光電編碼器提供位置反饋的交直流伺服控制系統,能完成高性能數字運動控制中的實時計算工作(插補週期341微妙),可以方便的與橋式功率放大電路構成位置或速度閉環系統。LM629通過數據總線控制總線與主控制器接口,其原理圖如圖2所示,主控制器將關節轉動的角位移、角加速度等命令參數通過總線傳遞給LM629,LM629在接到S3C44B0X的指令後可以按照設定的控制方式(P、PI、PID)完成位置閉環控制。它通過500線的增量式碼盤的A、B、Z信號構成位置反饋環節。LM629每個伺服週期進行一次位置、速度的檢查,如果未達到指定的位置或速度,則繼續運動或者加速,將要達到指定位置時會自動的按照設定的加速度進行減速,完成關節空間的位置閉環控制。這樣不僅克服了運動超調的現象,而且使得系統加減速時運行平穩。 [1] 

教學機器人功率放大模塊

系統的功率放大部分以LMD18200為核心。LMD18200是美國國家半導體公司推出的專用於直流電動機驅動的H橋組件,同一芯片上集成了四個DMOS管,組成一個標準的H型驅動橋,外接很少的器件就可以完成直流電機的驅動。它瞬間驅動電流可達6A,正常工作電流可達3A,無“shot-through”電流。LMD18200提供雙極性驅動方式和單極性驅動方式[4]。由於雙極性電流波動大,功率損耗較大,所以系統中採用單極性驅動。 [1] 
具體的接口電路如圖2所示(本機器人採用3個全方位正交輪,通過3個輪子配合,機器人可以完成任意方向的運動,限於篇幅圖中只畫出一個輪子的相關電路),LM629根據PID控制算法在PWM引腳輸出佔空比變化但頻率固定的PWM信號,通過光電隔離加到LMD18200的5腳,這個PWM信號的佔空比通過LMD18200可調節電機速度,LM629的DIR腳的高低電平可控制電機的正反轉。為了減少功率電源部分對控制器部分的影響,這兩個信號的連接都通過了光電隔離器件TLP521,如圖2所示。引腳2、10接直流電機電樞,正轉時電流的方向從引腳2流到引腳10;反轉時相反。此電路驅動功率大,穩定性好,實現方便,體積小,安全可靠。 [1] 

教學機器人通訊模塊

通訊模塊使用S3C44B0X的UART1連接一個無線通訊模塊,主要從上位機接收世界座標系的位置、速度指令。由於S3C44B0X的UART可以在高達115200波特率下正常工作,並且具有獨特的多字節的FIFO結構,當採用中斷方式接受數據時只有滿足觸發深度時才會產生數據可用的中斷,很大程度上可以減少處理器響應中斷的次數,提高了處理器運行效率。UART硬件上具有監視“溢出錯誤、奇偶錯誤、幀錯誤”等錯誤的功能,並且提供相應的中斷向量。實時性好,軟件編寫方便。 [1] 

教學機器人傳感器模塊

機器人上安裝的4個超聲傳感器模塊用來探測周圍2米內的障礙物信息。有單獨的處理器進行數據處理,通過總線接口掛接在S3C44B0X的總線上。液晶模塊主要用來顯示系統的一些運行狀態,也是通過總線接口連接在主控制器上。在此限於篇幅不做贅述。 [1] 

教學機器人可靠性低功耗

為了增加系統的可靠性,減少功率電路對弱電的干擾,系統中使用2組不共地的電源。S3C44B0X最小系統使用的3.3V電源和光電編碼器使用的5V電源為1組,24V的功率電源以及LMD18200用的5伏電源為一組。兩個電源之間的信號傳輸通過光電隔離器件TLP521隔離。編碼器信號以及LM629的時鐘信號都經過施密特觸發器整形。另外使用了S3C44B0X本身的WDT模塊。 [1] 
為了減少系統的功耗,主要採取了以下措施(1):主控制器將未使用的外圍模塊如SPI、定時器1、I2C等關閉;(2):主控制器控制機器人在到達指定位置而沒有新的任務(通過串口接收)之前控制LMD18200進入剎車狀態,這時LMD18200腳4置邏輯高電平、腳5置邏輯低電平,H橋中所有晶體管關斷,每個輸出端只有約1.5mA的偏流;(3):主控制執行完(2)中的步驟後進入空閒模式,其各個寄存器的值可以保存,當有新的中斷產生時將喚醒主控制器進入正常工作狀態。 [1] 
為了增加系統的可靠性,利用LMD18200的保護功能設計了系統過流過熱的保護。LMD18200內部具有過流保護的測量電路,在LMD18200的8腳輸出電流取樣信號,典型值為377 µA/A[4]。接一個對地電阻R2,通過電阻上的電壓和給定的電壓比較來監測輸出過流情況。LMD18200提供温度報警信號,芯片結温達145℃時,LMD18200的9腳變為低電平。這些保護信號通過光電隔離以後傳輸給S3C44B0X,實現過熱過流的監視。 [1] 

教學機器人軟件組織

軟件平台是基於移植到S3C44B0X的實時多任務操作系統UC/OS II。它是基於優先級、搶佔式的實時內核,主要提供了任務管理進程調度、任務間通信及內存管理等功能,具有源代碼公開、可移植性好等特點,採用全佔先多任務機制,可支持56 個用户任務,其中斷管理功能提供了深達255層的中斷嵌套。通過uC/ OS II 進行多任務的管理,任務處於休眠、等待(掛起) 、就緒、運行、中斷5種狀態之一[5]。它避免了傳統的前後台方式下實時性差、任務混亂及多任務調試困難等缺點[1,7]。此係統中有如下4個用户任務,Task1:接收上位機命令;Task2:軌跡規劃;Task3:系統狀態監視,Task4系統狀態發送和顯示。任務的優先級是依次降低的。任務之間通過郵箱完成信息的交換與資源的共享。主控制器通過Task1接收上位機的位置和速度指令。由於上位機發送指令是隨機的,而下位機除了接受上位機的指令外還要處理其它的事情,為了保證運動過程中命令的不丟失,採取了兩種措施:首先將該任務設置為優先級最高的用户任務,另外主處理器允許UART1的接收中斷,並根據指令的長度將接收緩衝區的觸發深度設置為12字節。(根據需要,此處上位機發送給下位機的指令每幀長度為12字節,S3C44B0X的UART接收觸發深度可以軟件編程設置為4、8、12、16字節)。當上位機不發送指令時,該任務處於掛起狀態,當上位機發送12字節命令時,將激發UART中斷。在該中斷服務程序中喚醒Task1進入就緒態。由於它具有最高的優先級,所以可以馬上執行,從接收緩衝區中接收上位機的指令。這樣避免了單個字節就激發中斷而導致主處理器頻繁的響應中斷的情況和沒有實時操作系統的前後台調度方式中命令丟失的情況。Task2根據傳感器提供的機器人的當前位置信息和障礙物信息以及接收到的上位機指令進行世界座標系中的總體任務規劃、機器人運動學逆解,生成下一個節拍每個關節應該轉動的角位移、轉動的角速度,然後通過總線寫到相應的LM629的寄存器中,這個任務的優先級僅低於Task1,運行週期100毫秒。Task3主要處理傳感器的信息,運行週期100毫秒。包括通過LM629的狀態寄存器獲得當前編碼器的信息,再經過運動學計算得到機器人當前位置信息,通過超聲傳感器獲得當前機器人周圍障礙物的信息,通過LMD18200獲得的功率放大器的過熱過流信息。另外下位機的一些運行狀態,如當前位置、障礙物信息等也需要發送給上位機同時送液晶模塊顯示,這個由Task4來完成,這個任務具有最低的優先級,運行週期300毫秒。 [1] 
系統的軟件ADS1.2下調試通過。由於ARM7TDMI中沒有MMU(內存管理單元),所以其操作系統用户程序要編譯在一起,最後生成一個文件。在這一點上不同於在DOS或Windows下的概念,它的操作系統和用户程序是分開的,而且可以由多個應用程序同時存在於主機中。另外在ADS1.2下可以使用c語言進行軟件開發,並且可以使用數學庫,縮短了軟件開發週期。 [1] 

教學機器人實驗結果

採用上述的軟硬件設計方法,我們設計了用於檢驗各類控制算法的教學機器人平台,並在上邊做了系列的實驗,圖4是上位機控制機器人從世界座標系的(0,0)點運動到(3m ,2m),然後以該點為圓心,以1.5m為半徑,開始圓周運動,圓周運動的起點和終點為(1.5m,2m)。圖中虛線是理想軌跡,黑線是實際軌跡。移動機器人的實際軌跡偏離理想軌跡的最大誤差約10cm,但是達到了位置精度的要求。誤差主要面是由於輪子對的地面的相對滑動以及機械精度引起。該實驗證明了系統的可行性。 [1] 

教學機器人結束語

ARM處理器的豐富的硬件資源以及高速流水線結構給各種智能控制算法提供了可能;另外採用μc/osⅡ操作系統,增強了系統的實時性,避免了前後台方式下任務調度困難,實時性差的缺點。總之,採用32位的ARM處理器和實時操作系統μc/osⅡ來構成機器人的控制器,具有體積小,功耗低,實時性好、處理速度遠遠超過單片機等優點,可以取得很好的效果。 [1] 

教學機器人未來發展

教學機器人在現代實驗教學中發揮的作用是顯而易見的。在不斷學習和摸索過程中,教學機器人可以在如下幾個方面進行功能擴展。 [3] 
( 1) 當今的教學機器人大多隻有運動和控制系統而無感覺系統,因此傳感器的加入無疑將大大提高教學機器人的智能化程度。
( 2) 教學機器人可以與遊戲手柄PLC以及諸多輸入輸出設備相連接,但在這方面的一系列相關設備做得還並不完善 ,還應加強這方面軟件和硬件的研發工作。
( 3) 教學機器人的手爪是單一的,且只有開和關及旋轉幾個動作,如果把手爪做成可調換的,將大大增加手爪的功能,擴大教學機器人實驗教學領域。
教學機器人的擴展方向還有很多,包括軟件、硬件、相關外設等等,都有待於我們做進一步的探索和研究。發展後的教學機器人不但可以進行實驗教學,還可以進行更多的工業機器人工作模擬,從而為更好地培養機器人方面基礎人才做更多的貢獻。
總之,全面自動化無疑已成為未來大多數產業發展的總趨勢,計算機和機器人也日趨成為社會發展的兩大支柱。在大力發展計算機技術的同時,絕不應該忽視機器人技術的不斷完善與提高。努力發展機器人技術,努力培養機器人創新、操作人才已成當務之急。 可以預見,機器人在我國的發展前景將十分廣闊!
參考資料
  • 1.    楊福廣,肖海榮,王旭光,尹佔芳. 基於ARM+μc/os Ⅱ的教學機器人控制系統設計與實現[J]. 微計算機信息,2006,(17):263-265+235.
  • 2.    朱慧玲. 教學機器人的開發與設計[J]. 機電產品開發與創新, 2007, 20(2):17-19.
  • 3.    李勁松. 教學機器人在現代實驗教學中的應用[J]. 實驗室研究與探索, 2004, 23(1):9-11.