摘要:該文主要介紹了基于ARM內(nèi)核的S3C2410在移動(dòng)機(jī)器人控制系統(tǒng)中的應(yīng)用,通過傳感器來感知外部環(huán)境信息,再通過路徑規(guī)劃做出決策進(jìn)行運(yùn)動(dòng)。同時(shí),為了讓機(jī)器人能夠更好地完成任務(wù),可以使外部計(jì)算機(jī)與機(jī)器人進(jìn)行無線通信,借助于外部計(jì)算機(jī)做出決策實(shí)現(xiàn)遠(yuǎn)程操作,增強(qiáng)了系統(tǒng)的實(shí)時(shí)性和可靠性,實(shí)現(xiàn)了機(jī)器人的精確實(shí)時(shí)控制。
關(guān)鍵詞:移動(dòng)機(jī)器人;傳感器;無線通信模塊
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)35-2356-03
Design of Mobile Robotic Control System Based on ARM
XU Min
(Department of the Electronics Information Jiangsu College of Information Technology,Wuxi 214000,China)
Abstract: This article introduced the application of S3C2410 based on the ARM core in the mobile robot control system. Through the sensor to get external environment information,then make the decision of exercise by path planning.And at the same time,may make external computer and the robot to carry on the wireless communication to let the robot complete the task well.With the aid of the decision-making from external computer to realizes the long-distance operation. It improves the system real-time performance and the system reliability, and also realizes the mobile robot precise real- time control.
Key words:mobile robot;sensor;wireless communication module
機(jī)器人是一個(gè)集環(huán)境感知、動(dòng)態(tài)決策與規(guī)劃、行為控制與執(zhí)行等多種功能于一體的綜合系統(tǒng)。隨著傳感技術(shù)、計(jì)算機(jī)科學(xué)、人工智能及其它相關(guān)學(xué)科的迅速發(fā)展, 機(jī)器人正向著智能化的方向發(fā)展。機(jī)器人必須具有感知作業(yè)環(huán)境的能力、任務(wù)規(guī)劃的能力以及決策的能力。從系統(tǒng)硬件層次上講, 機(jī)器人必須具有豐富的傳感器, 功能強(qiáng)大的控制計(jì)算機(jī)以及靈活精確的驅(qū)動(dòng)系統(tǒng)。隨著控制系統(tǒng)研究的深入, 采用復(fù)雜的控制算法已成為必然, 這使得軟件的復(fù)雜度和程序代碼增加。而單片機(jī)作為控制系統(tǒng)的微處理器, 在數(shù)據(jù)處理和代碼存儲(chǔ)等方面都已經(jīng)無法滿足系統(tǒng)的需求, ARM微處理器資源豐富, 具有良好的通用性, 其主要優(yōu)點(diǎn)是高性能、低價(jià)格、低功耗。ARM本身是32 位微處理器, 但卻集成了16 位的Thumb 指令集, 這使得ARM可以代替16 位的處理器如51系列單片機(jī)使用, 同時(shí)具有32 位處理器的速度。因此將ARM微處理器應(yīng)用于機(jī)器人的控制系統(tǒng)是一種較好的選擇[1]。
1 移動(dòng)機(jī)器人控制系統(tǒng)框架
本文設(shè)計(jì)的移動(dòng)機(jī)器人主要由4 部分組成:無線通信模塊,主控制器,運(yùn)動(dòng)控制與傳感模塊,以及人機(jī)交互界面[2]。移動(dòng)機(jī)器人的系統(tǒng)框架如圖1 所示。
無線通信模塊與主控制器通過串口相連,負(fù)責(zé)機(jī)器人與其他無線傳感器節(jié)點(diǎn)間的通信。運(yùn)動(dòng)控制與傳感模塊負(fù)責(zé)采集機(jī)器人自身裝備的超聲波環(huán)等傳感器的信息,并能接收主控制器模塊的命令,控制左右電機(jī)的轉(zhuǎn)動(dòng),返回采集的傳感器信息。它與主控制器也通過串口進(jìn)行通信。超聲波傳感器環(huán)用于獲取局部障礙物信息。主控制器模塊對(duì)運(yùn)動(dòng)控制與傳感模塊和無線通信模塊發(fā)送來的信息進(jìn)行處理,并相應(yīng)地返回一些處理結(jié)果和命令。另外,主控制模塊還外接了一塊帶觸摸屏的液晶顯示設(shè)備。主控制模塊通過該設(shè)備向用戶提供了一個(gè)圖形化的人機(jī)交互界面。用戶可通過這個(gè)界面,查看機(jī)器人的運(yùn)動(dòng)狀態(tài)信息,以及收到的傳感器信息,并能直接對(duì)機(jī)器人進(jìn)行控制和設(shè)置等。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 無線通信子系統(tǒng)
系統(tǒng)選用微小型、低功耗、高速率、19.2 kbit/s的無線收發(fā)MODEM芯片PTR2000來實(shí)現(xiàn)機(jī)器人與計(jì)算機(jī)的無線通信,該芯片的工作頻率為國際通用的數(shù)傳頻段433 MH z,采用FSK調(diào)制,可連接到計(jì)算機(jī)的RS232接口,系統(tǒng)采用的通信協(xié)議如下:
[開始字符][數(shù)據(jù)1][數(shù)據(jù)2][校驗(yàn)和][結(jié)束字符]
將無線通信收發(fā)模塊PTR2000的DO、DIN引腳分別與S3C2410的TXD0和RXD0相連,作為串行通信的通道,CS為PTR2000模塊的頻率選擇信號(hào),PWR為模塊節(jié)能引腳,正常工作為高電平。TX E N是模塊發(fā)射接收控制,由S3C2410的I/O口控制,PTR2000是收發(fā)一體的集成芯片,采用3.3 V供電,PTR2000作為發(fā)射端與P C機(jī)相連時(shí),需要通過一個(gè)電平轉(zhuǎn)換器(這里用MAX232)轉(zhuǎn)換成R S232電平,對(duì)收發(fā)狀態(tài)的控制,S3C2410可以通過將輸出口置1或清零,將無線通信收發(fā)模塊PTR2000設(shè)置為發(fā)送或接收狀態(tài)[3]。
2.2 電機(jī)驅(qū)動(dòng)系統(tǒng)
為了使電機(jī)獲得更好的動(dòng)態(tài)和靜態(tài)特性,采用了電流環(huán)和速度環(huán)雙重控制,控制算法采用了離散PID算法。
連續(xù)PID控制器的理想PID算法為:
其中額e(t)表示偏差,u(t)表示輸出,由比例部分、積分部分和微分部分組成。U(0)表示初值。
當(dāng)用差分反演法對(duì)式(1)進(jìn)行離散化時(shí),數(shù)字PID的算法形式可以寫為:
式中T是采樣周期,Ti=是積分時(shí)間常數(shù),Td是微分時(shí)間常數(shù),e(k)是第k個(gè)采樣周期的偏差值,u(k)是第k個(gè)采樣周期的輸出值,u(0)是初值。圖2顯示了電機(jī)控制框圖。
圖2 電機(jī)控制框圖
2.3 超聲傳感器子系統(tǒng)
為減輕控制器S3C2410的負(fù)擔(dān),超聲傳感器系統(tǒng)由單片機(jī)AT89C1051控制,單片機(jī)AT89C1051是含有一個(gè)1 KB可編程E2PROM的高性能微控制器,它與工業(yè)標(biāo)準(zhǔn)MCS-51的指令和引腳兼容,因而是一種功能強(qiáng)大的微控制器,它對(duì)很多嵌入式控制應(yīng)用提供了一個(gè)高度靈活有效的解決方案。
超聲波發(fā)射接收子系統(tǒng)如圖3所示,單片機(jī)AT89C1051利用P1.0引腳向外發(fā)送40 kHz的脈沖信號(hào),此信號(hào)作為4~16譯碼器74H C154的使能信號(hào),引腳P1.1~P1.4作為譯碼信號(hào),分別對(duì)應(yīng)編號(hào)0~15的超聲波傳感器,此信號(hào)經(jīng)過三極管9013放大后推動(dòng)換能器產(chǎn)生40 kHz的超聲波信號(hào)[4]。
超聲子系統(tǒng)基本功能概述如下:當(dāng)接收器接收到超聲波回波時(shí),產(chǎn)生交流小信號(hào),此信號(hào)經(jīng)過LM358組成的2級(jí)放大電路后,幅值達(dá)到25 mV以上,當(dāng)LM567的3腳輸入幅度大于或等于25 mV,頻率為40kHz信號(hào)時(shí),8腳由高電平變成低電平,此低電平信號(hào)被連接到AT89C1051的INT0引腳產(chǎn)生中斷信號(hào),AT89C1051在超聲波發(fā)送時(shí)啟動(dòng)定時(shí)器,在INT0中斷時(shí)關(guān)閉定時(shí)器,由此可以得到超聲波的傳播時(shí)間,并計(jì)算出障礙物距離[5]。表1為超聲波測距數(shù)據(jù)。
2.4 人機(jī)交互界面設(shè)計(jì)
人機(jī)交互界面的主要功能有:
1) 設(shè)置機(jī)器人運(yùn)動(dòng)參數(shù),如速度、方位等;
2) 查看機(jī)器人運(yùn)行狀態(tài)信息;
3) 查看機(jī)器人從無線傳感器網(wǎng)絡(luò)中獲取的信息。
人機(jī)交互界面主程序的入口點(diǎn)在MiniGUIMain()函數(shù)。在該函數(shù)中先定制好對(duì)話框的模板, 然后再通過調(diào)用DialogBoxIndirectParam()函數(shù)來建立主窗口。當(dāng)主窗口中有按扭被按下時(shí),會(huì)向該按鈕的回調(diào)函數(shù)發(fā)送消息,回調(diào)函數(shù)根據(jù)發(fā)送消息的按鈕ID 值的不同,進(jìn)行相應(yīng)的處理。
主控制模塊可以接收外部的數(shù)據(jù)信息,在對(duì)這些信息處理之后,產(chǎn)生相應(yīng)控制命令傳遞給運(yùn)動(dòng)控制與傳感模塊,來控制機(jī)器人的動(dòng)作。這部分的功能也被集成到了人機(jī)交互界面中。主程序?qū)iT建立了一個(gè)線程來完成與無線傳感器節(jié)點(diǎn)的通信,從而保證了信息采集的實(shí)時(shí)性;另外,這樣做也使得主程序在無線通信失敗的情況下也能繼續(xù)穩(wěn)定的工作。主程序還使用了一個(gè)定時(shí)器,每隔0.5s,定時(shí)器就會(huì)向主窗口的過程函數(shù)發(fā)送MSG_TIMER 消息。過程函數(shù)在收到該消息后,就可以對(duì)獲取的信息進(jìn)行處理[6-7]。
3 試驗(yàn)與結(jié)果分析
分別用普通單片機(jī)與ARM控制直流電機(jī)做階躍響應(yīng)試驗(yàn),可得結(jié)果如表2。從表中的數(shù)據(jù)可見,基于普通單片機(jī)的直流電機(jī)控制明顯不如基于ARM 的直流電機(jī)控制效果好。
1) 基于普通單片機(jī)的控制加速度時(shí)間大于基于ARM的控制,采用單片機(jī)控制時(shí),直流電機(jī)在0.13秒達(dá)到最大值,而采用ARM只需要0.06秒,幾乎是前者的一半。
2) 采用ARM 芯片的超調(diào)量明顯小于單片機(jī)的超調(diào)量。
3) 采用ARM 芯片從暫態(tài)進(jìn)入穩(wěn)態(tài)的過度時(shí)間為0.15秒,采用單片機(jī)時(shí)為0.27秒。
4) 采用ARM 芯片抗干擾能力優(yōu)于采用單片機(jī)。
4 結(jié)論
本設(shè)計(jì)創(chuàng)新點(diǎn)在于采用多傳感器系統(tǒng)和模糊避障算法,很好的解決了超聲波傳感器的幻影問題, 增強(qiáng)了系統(tǒng)的可靠性。程序經(jīng)仿真調(diào)試后編譯燒入S3C2410 處理器中, 運(yùn)行測試結(jié)果證明, 工作安全可靠、數(shù)據(jù)收發(fā)正確。本系統(tǒng)可以作為移動(dòng)機(jī)器人的載體, 在技術(shù)成熟以后可以應(yīng)用于門禁系統(tǒng)、小區(qū)巡邏、實(shí)地勘測等領(lǐng)域, 市場前景廣闊, 具有很大經(jīng)濟(jì)效益。
參考文獻(xiàn):
[1] Baumann P H. Linux Serial Programming HOWTO[Z].[2006-10].
[2] KIM J H.Cooperativemulti2agent robotic systems from the robot soccer Perspective[C].//Proc. MIROSOT'97.Seoul: Korea Kaist Publisher,1997.
[3] 陳華東,周健,蔣平.自主式移動(dòng)機(jī)器人的無線控制實(shí)現(xiàn)[J].測控技術(shù),2001,20 (11):45247.
[4] 張繼軍,孟慶春,費(fèi)云瑞. 基于多傳感器信息的自主式機(jī)器人模糊控制[J].信息技術(shù),2004,28(9):426.
[5] 劉喜昂,周志宇.移動(dòng)機(jī)器人的超聲模糊避障算法[J].微計(jì)算機(jī)信息,2004,1:31-32.
[6] 田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用教程[M].北京航空航天大學(xué)出版社,2005.
[7] 陳賾,劉振興,李宗富.ARM嵌入式技術(shù)實(shí)踐教程[M].北京:航空航天大學(xué)出版社,2005.