基于ARM9的仿人機器人分布式控制系統(tǒng)
在計算機和單片機的控制數(shù)據(jù)傳輸領(lǐng)域內(nèi),長期以來廣泛的使用RS-232,RS-485等通信方式,這些通信方式訊的實時性較差, 故障率較高, 出現(xiàn)故障時, 不容易排查[3]。不能夠滿足小型仿人機器人的實時性和大批量數(shù)據(jù)傳輸?shù)囊蟆?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/USB">USB總線通信方式作為新一代計算機外設(shè)的接口技術(shù),隨著USB技術(shù)的日益成熟,及獨特的優(yōu)點(對多種設(shè)備的廣泛適用性,自動配置,容易擴充,易于連接,熱插拔,即插即用、高可靠性,低成本,低功耗等),應(yīng)用前景非常廣泛[4]。
本控制系統(tǒng)中的管理控制器ARM9(S3C2410)集成了一個USB host,采用Linux操作系統(tǒng);C8051F320器件集成了全速/低速USB功能控制器,用于實現(xiàn)USB接口的外部設(shè)備,均支持USB2.0通信協(xié)議。單片機端設(shè)計了通信固件程序和應(yīng)用程序,用于接收USB通信內(nèi)容。
2.3 基于C8051單片機和CD4017外部計數(shù)器的關(guān)節(jié)控制器設(shè)計
采用一片單片機與4片CD4017外部計數(shù)器的關(guān)節(jié)控制器設(shè)計方案,極大限度的精簡了硬件數(shù)量,節(jié)省了空間,降低了軟硬件出錯的可能性,也為系統(tǒng)運動功能的擴展提供了足夠空間和靈活性(自由度數(shù)量設(shè)置可在36個以內(nèi)任意增減)。
基于C8051的設(shè)計中有很多方法用于產(chǎn)生PWM波形:軟件循環(huán)、查詢或中斷驅(qū)動的定時器等。使用可編程計數(shù)器陣列PCA產(chǎn)生PWM相對于任何查詢機制(基于軟件或定時器而言)可以大大降低所需要的CPU帶寬,并可以消除在中斷驅(qū)動的基于定時器的設(shè)計中因中斷延遲不一致而產(chǎn)生的時序抖動。PCA由一個專用的16位計數(shù)器/定時器和5個16位捕捉/比較模塊組成。每個捕捉/比較模塊有其自己的I/O線。計數(shù)器/定時器由一個可編程的時基信號驅(qū)動。計數(shù)器/定時器有一個16位的計數(shù)器/定時器寄存器、一個用于選擇時間基準的方式寄存器和一個包含計數(shù)器/定時器運行控制及各模塊捕捉/比較標志的控制寄存器。每個捕捉/比較模塊有一個用于選擇模塊工作方式的配置寄存器和一個16位的捕捉/比較寄存器。每個捕捉/ 比較模塊的工作方式都可以被獨立配置。由于所有的捕捉/比較模塊共享一個時間基準,因此它們同步工作[5][6]。本文研究的小型娛樂機器人關(guān)節(jié)控制器設(shè)計中,將PCA配置為獨立工作;每個模塊的中斷服務(wù)程序只影響該模塊的捕捉/比較寄存器。PCA方式寄存器和配置寄存器設(shè)置一次后不再改變,讓計數(shù)器/定時器寄存器自由運行。
在高速輸出方式,每當PCA計數(shù)器與模塊的16位捕捉/比較寄存器發(fā)生匹配時,模塊I/O線的引腳上的邏輯電平將發(fā)生高低轉(zhuǎn)換,并可以選擇產(chǎn)生中斷。本應(yīng)用程序中選擇了該中斷。
Y9輸出均變?yōu)榈碗娖剑挥衁0腳輸出變?yōu)楦唠娖?,故可以利用CR的正脈沖輸入中斷計數(shù)[7]。~Y9這10個輸出端,計滿10個數(shù)后計數(shù)器復(fù)零,同時CO端輸出一個進位脈沖。當CR端有正脈沖輸入時,該脈沖的上升沿將觸發(fā)CD4017復(fù)位,此時Y1~CD4017基本功能是對CP端輸入脈沖的個數(shù)進行十進制計數(shù),并按照輸入脈沖的個數(shù)順序?qū)⒚}沖分配在Y0
本文研究的小型娛樂仿人機器人控制系統(tǒng)方案中,一個CD4017輸出7路脈沖,分別發(fā)送給7個舵機。
3 實驗
控制系統(tǒng)硬件實物連接圖如圖4。
機器人步行實驗完成5步的向前行和5步的后退的行走過程。步行實驗過程如圖5。
4 結(jié)論
根據(jù)小型仿人機器人的機構(gòu)特點和性能要求,構(gòu)建了以ARM9為主控制器的小型仿人機器人控制系統(tǒng)。設(shè)計開發(fā)了C8051USB單片機和CD4017外部計數(shù)器組成關(guān)節(jié)控制器,該關(guān)節(jié)控制器能夠?qū)崿F(xiàn)多舵機的協(xié)調(diào)控制任務(wù)。實踐證明,采用該結(jié)構(gòu)之后,整個機器人系統(tǒng)的模塊化程度更高,系統(tǒng)的裝配和調(diào)試更加方便??刂葡到y(tǒng)實現(xiàn)了小型化、低功耗,而且機器人行走穩(wěn)定性。
本文作者的創(chuàng)新點
根據(jù)小型仿人機器人的機構(gòu)特點和性能要求,構(gòu)建了以ARM9為主控制器的小型仿人機器人控制系統(tǒng)。設(shè)計開發(fā)了C8051USB單片機和CD4017外部計數(shù)器組成關(guān)節(jié)控制器,該關(guān)節(jié)控制器能夠?qū)崿F(xiàn)多舵機的協(xié)調(diào)控制任務(wù)。實踐證明,采用該結(jié)構(gòu)之后,整個機器人系統(tǒng)的模塊化程度更高,系統(tǒng)的裝配和調(diào)試更加方便??刂葡到y(tǒng)實現(xiàn)了小型化、低功耗,而且機器人行走穩(wěn)定性。
評論