<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM+μc/os Ⅱ的教學(xué)機器人控制系統設計與實(shí)現

基于A(yíng)RM+μc/os Ⅱ的教學(xué)機器人控制系統設計與實(shí)現

作者: 時(shí)間:2009-03-04 來(lái)源:網(wǎng)絡(luò ) 收藏

1.引言

本文引用地址:http://dyxdggzs.com/article/152625.htm

近年來(lái)隨著(zhù)人工智能技術(shù)、計算機技術(shù)等相關(guān)技術(shù)的發(fā)展,對智能的研究越來(lái)越多。在教育領(lǐng)域,許多院校已在學(xué)生中開(kāi)設了學(xué)方面的有關(guān)課程。為了滿(mǎn)足學(xué)方面的有關(guān)課程示范和實(shí)驗的需求,我們研制開(kāi)發(fā)了全方位的輪式移動(dòng)機器人,可以作為各種智能控制方法(包括動(dòng)態(tài)避障、群體協(xié)作策略)的良好載體,同時(shí)又可以方便的構成網(wǎng)絡(luò )化的分布式系統,開(kāi)展多智能體的調度、規劃等研究。本文全面介紹了這種移動(dòng)機器人的體系結構,包括傳感器、通訊、控制、軟件構成等,并給出了實(shí)驗結果,證明了系統的可行性。

2、機器人的硬件方案選擇與

本機器人控制器采用“主控器+控制器”的形勢。控制器負責完成單關(guān)節的位置閉環(huán),在機器人控制中,要求運動(dòng)平穩無(wú)超調,所以伺服控制器的運算任務(wù)很繁重。主控制器主要完成除伺服控制器所作的位置閉環(huán)以外的所有工作,包括上位機命令接收,機器人狀態(tài)監視、顯示,根據一定的控制算法空間軌跡插補以及傳感器信息綜合處理等工作。所以主控制器的任務(wù)也很繁重。

2.1 主控制器選擇

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

2.2 位置伺服模塊

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

2.3 功率放大模塊

系統的功率放大部分以L(fǎng)MD18200為核心。LMD18200是美國國家半導體公司推出的專(zhuān)用于直流電動(dòng)機驅動(dòng)的H橋組件,同一芯片上集成了四個(gè)DMOS管,組成一個(gè)標準的H型驅動(dòng)橋,外接很少的器件就可以完成直流電機的驅動(dòng)。它瞬間驅動(dòng)電流可達6A,正常工作電流可達3A,無(wú)“shot-through”電流。LMD18200提供雙極性驅動(dòng)方式和單極性驅動(dòng)方式[4]。由于雙極性電流波動(dòng)大,功率損耗較大,所以系統中采用單極性驅動(dòng)。

具體的接口電路如圖2所示(本機器人采用3個(gè)全方位正交輪,通過(guò)3個(gè)輪子配合,機器人可以完成任意方向的運動(dòng),限于篇幅圖中只畫(huà)出一個(gè)輪子的相關(guān)電路),LM629根據PID控制算法在PWM引腳輸出占空比變化但頻率固定的PWM信號,通過(guò)光電隔離加到LMD18200的5腳,這個(gè)PWM信號的占空比通過(guò)LMD18200可調節電機速度,LM629的DIR腳的高低電平可控制電機的正反轉。為了減少功率電源部分對控制器部分的影響,這兩個(gè)信號的連接都通過(guò)了光電隔離器件TLP521,如圖2所示。引腳2、10接直流電機電樞,正轉時(shí)電流的方向從引腳2流到引腳10;反轉時(shí)相反。此電路驅動(dòng)功率大,穩定性好,方便,體積小,安全可靠。

2.4 通訊模塊

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

圖3 系統主控制器、位置伺服單元、功率單元的接口

2.5 傳感器模塊和液晶模塊

機器人上安裝的4個(gè)超聲傳感器模塊用來(lái)探測周?chē)?米內的障礙物信息。有單獨的處理器進(jìn)行數據處理,通過(guò)總線(xiàn)接口掛接在S3C44B0X的總線(xiàn)上。液晶模塊主要用來(lái)顯示系統的一些運行狀態(tài),也是通過(guò)總線(xiàn)接口連接在主控制器上。在此限于篇幅不做贅述。

2.6 系統的可靠性和低功耗措施

為了增加系統的可靠性,減少功率電路對弱電的干擾,系統中使用2組不共地的電源。S3C44B0X最小系統使用的3.3V電源和光電編碼器使用的5V電源為1組,24V的功率電源以及LMD18200用的5伏電源為一組。兩個(gè)電源之間的信號傳輸通過(guò)光電隔離器件TLP521隔離。編碼器信號以及LM629的時(shí)鐘信號都經(jīng)過(guò)施密特觸發(fā)器整形。另外使用了S3C44B0X本身的WDT模塊。

為了減少系統的功耗,主要采取了以下措施(1):主控制器將未使用的外圍模塊如SPI、定時(shí)器1、I2C等關(guān)閉;(2):主控制器控制機器人在到達指定位置而沒(méi)有新的任務(wù)(通過(guò)串口接收)之前控制LMD18200進(jìn)入剎車(chē)狀態(tài),這時(shí)LMD18200腳4置邏輯高電平、腳5置邏輯低電平,H橋中所有晶體管關(guān)斷,每個(gè)輸出端只有約1.5mA的偏流;(3):主控制執行完(2)中的步驟后進(jìn)入空閑模式,其各個(gè)寄存器的值可以保存,當有新的中斷產(chǎn)生時(shí)將喚醒主控制器進(jìn)入正常工作狀態(tài)。

為了增加系統的可靠性,利用LMD18200的保護功能了系統過(guò)流過(guò)熱的保護。LMD18200內部具有過(guò)流保護的測量電路,在LMD18200的8腳輸出電流取樣信號,典型值為377 µA/A[4]。接一個(gè)對地電阻R2,通過(guò)電阻上的電壓和給定的電壓比較來(lái)監測輸出過(guò)流情況。LMD18200提供溫度報警信號,芯片結溫達145℃時(shí),LMD18200的9腳變?yōu)榈碗娖?。這些保護信號通過(guò)光電隔離以后傳輸給S3C44B0X,過(guò)熱過(guò)流的監視。

3、控制系統的軟件組織 

軟件平臺是基于移植到S3C44B0X的實(shí)時(shí)多任務(wù)操作系統UC/OS II。它是基于優(yōu)先級、搶占式的實(shí)時(shí)內核,主要提供了任務(wù)管理、進(jìn)程調度、任務(wù)間通信及內存管理等功能,具有源代碼公開(kāi)、可移植性好等特點(diǎn),采用全占先多任務(wù)機制,可支持56 個(gè)用戶(hù)任務(wù),其中斷管理功能提供了深達255層的中斷嵌套。通過(guò)uC/ OS II 進(jìn)行多任務(wù)的管理,任務(wù)處于休眠、等待(掛起) 、就緒、運行、中斷5種狀態(tài)之一[5]。它避免了傳統的前后臺方式下實(shí)時(shí)性差、任務(wù)混亂及多任務(wù)調試困難等缺點(diǎn)[1,7]。此系統中有如下4個(gè)用戶(hù)任務(wù),Task1:接收上位機命令;Task2:軌跡規劃;Task3:系統狀態(tài)監視,Task4系統狀態(tài)發(fā)送和顯示。任務(wù)的優(yōu)先級是依次降低的。任務(wù)之間通過(guò)郵箱完成信息的交換與資源的共享。主控制器通過(guò)Task1接收上位機的位置和速度指令。由于上位機發(fā)送指令是隨機的,而下位機除了接受上位機的指令外還要處理其它的事情,為了保證運動(dòng)過(guò)程中命令的不丟失,采取了兩種措施:首先將該任務(wù)設置為優(yōu)先級最高的用戶(hù)任務(wù),另外主處理器允許UART1的接收中斷,并根據指令的長(cháng)度將接收緩沖區的觸發(fā)深度設置為12字節。(根據需要,此處上位機發(fā)送給下位機的指令每幀長(cháng)度為12字節,S3C44B0X的UART接收觸發(fā)深度可以軟件編程設置為4、8、12、16字節)。當上位機不發(fā)送指令時(shí),該任務(wù)處于掛起狀態(tài),當上位機發(fā)送12字節命令時(shí),將激發(fā)UART中斷。在該中斷服務(wù)程序中喚醒Task1進(jìn)入就緒態(tài)。由于它具有最高的優(yōu)先級,所以可以馬上執行,從接收緩沖區中接收上位機的指令。這樣避免了單個(gè)字節就激發(fā)中斷而導致主處理器頻繁的響應中斷的情況和沒(méi)有實(shí)時(shí)操作系統的前后臺調度方式中命令丟失的情況。Task2根據傳感器提供的機器人的當前位置信息和障礙物信息以及接收到的上位機指令進(jìn)行世界坐標系中的總體任務(wù)規劃、機器人運動(dòng)學(xué)逆解,生成下一個(gè)節拍每個(gè)關(guān)節應該轉動(dòng)的角位移、轉動(dòng)的角速度,然后通過(guò)總線(xiàn)寫(xiě)到相應的LM629的寄存器中,這個(gè)任務(wù)的優(yōu)先級僅低于Task1,運行周期100毫秒。Task3主要處理傳感器的信息,運行周期100毫秒。包括通過(guò)LM629的狀態(tài)寄存器獲得當前編碼器的信息,再經(jīng)過(guò)運動(dòng)學(xué)計算得到機器人當前位置信息,通過(guò)超聲傳感器獲得當前機器人周?chē)系K物的信息,通過(guò)LMD18200獲得的功率放大器的過(guò)熱過(guò)流信息。另外下位機的一些運行狀態(tài),如當前位置、障礙物信息等也需要發(fā)送給上位機同時(shí)送液晶模塊顯示,這個(gè)由Task4來(lái)完成,這個(gè)任務(wù)具有最低的優(yōu)先級,運行周期300毫秒。

系統的軟件在A(yíng)DS1.2下調試通過(guò)。由于7TDMI中沒(méi)有MMU(內存管理單元),所以其操作系統和用戶(hù)程序要編譯在一起,最后生成一個(gè)文件。在這一點(diǎn)上不同于在DOS或Windows下的概念,它的操作系統和用戶(hù)程序是分開(kāi)的,而且可以由多個(gè)應用程序同時(shí)存在于主機中。另外在A(yíng)DS1.2下可以使用c語(yǔ)言進(jìn)行軟件開(kāi)發(fā),并且可以使用數學(xué)庫,縮短了軟件開(kāi)發(fā)周期。

4、實(shí)驗結果

采用上述的軟硬件設計方法,我們設計了用于檢驗各類(lèi)控制算法的教學(xué)機器人平臺,并在上邊做了系列的實(shí)驗,圖4是上位機控制機器人從世界坐標系的(0,0)點(diǎn)運動(dòng)到(3m ,2m),然后以該點(diǎn)為圓心,以1.5m為半徑,開(kāi)始圓周運動(dòng),圓周運動(dòng)的起點(diǎn)和終點(diǎn)為(1.5m,2m)。圖中虛線(xiàn)是理想軌跡,黑線(xiàn)是實(shí)際軌跡。移動(dòng)機器人的實(shí)際軌跡偏離理想軌跡的最大誤差約10cm,但是達到了位置精度的要求。誤差主要面是由于輪子對的地面的相對滑動(dòng)以及機械精度引起。該實(shí)驗證明了系統的可行性。

5、結束語(yǔ)

ARM處理器的豐富的硬件資源以及高速流水線(xiàn)結構給各種智能控制算法提供了可能;另外采用μⅡ操作系統,增強了系統的實(shí)時(shí)性,避免了前后臺方式下任務(wù)調度困難,實(shí)時(shí)性差的缺點(diǎn)??傊?,采用32位的ARM處理器和實(shí)時(shí)操作系統μⅡ來(lái)構成機器人的控制器,具有體積小,功耗低,實(shí)時(shí)性好、處理速度遠遠超過(guò)單片機等優(yōu)點(diǎn),可以取得很好的效果。

pid控制器相關(guān)文章:pid控制器原理




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>