自主式移動(dòng)機(jī)器人的無線控制實(shí)現(xiàn)_第1頁
自主式移動(dòng)機(jī)器人的無線控制實(shí)現(xiàn)_第2頁
自主式移動(dòng)機(jī)器人的無線控制實(shí)現(xiàn)_第3頁
自主式移動(dòng)機(jī)器人的無線控制實(shí)現(xiàn)_第4頁
自主式移動(dòng)機(jī)器人的無線控制實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、自主式移動(dòng)機(jī)器人的無線控制實(shí)現(xiàn)The Realization of Wireless Control on Autonomous Mobile Robot同濟(jì)大學(xué)信息與控制工程系(200092)陳華東 周健 蔣平【摘要】如何提高自主式移動(dòng)機(jī)器人對(duì)各種傳感器信息的處理能力是一個(gè)關(guān)鍵技術(shù)問題。在機(jī)器人自身有限負(fù)重能力情況下,通過無線通信方式,借助外部計(jì)算機(jī)和工作站處理傳感器信息成為一種可行方案。本文以一種輪式移動(dòng)機(jī)器人作為控制平臺(tái),成功地實(shí)現(xiàn)了自主式移動(dòng)機(jī)器人的無線控制。【關(guān)鍵詞】機(jī)器人,控制,無線,通信Abstract: It is a key technology how to improve

2、 the ability of autonomous mobile robot to process information from sensors. Under the condition of its limited load ability, it is possible for robot to process the information through other computer or workstation via wireless communication. This paper describes the implementation of wireless cont

3、rol based on a wheeled mobile robot.Key words: robot, control, wireless, communication1. 引言自主式移動(dòng)機(jī)器人是一個(gè)對(duì)外界環(huán)境高度開放的智能系統(tǒng),能夠按照預(yù)先給定的任務(wù)指令,根據(jù)已知的地圖信息作出全局路徑規(guī)劃,并在行進(jìn)中不斷感知周圍的局部環(huán)境信息,自主地作出各種決策,自動(dòng)避開障礙物,引導(dǎo)自身安全行駛到指定的目標(biāo),執(zhí)行要求的動(dòng)作和操作。它與固定式機(jī)械手相比具有更廣闊的運(yùn)動(dòng)空間,更強(qiáng)的靈活性。移動(dòng)機(jī)器人可廣泛應(yīng)用于工業(yè)、國防、航空航天以及服務(wù)性行業(yè),如工業(yè)上危險(xiǎn)地區(qū)的標(biāo)本采樣和故障處理、國防上無人駕駛戰(zhàn)車等。隨

4、著人口老化和工作、生活節(jié)奏的加快,人類在服務(wù)性行業(yè)迫切需要助手。無論是家庭、醫(yī)院,還是在賓館、商店,都有移動(dòng)機(jī)器人的用武之地。全球來看,美國的火星登陸者和日本的無人看護(hù)病房已走在前列。12近年來,在機(jī)器人和自動(dòng)化領(lǐng)域里移動(dòng)機(jī)器人的研究吸引了眾多研究者的注意力,其中輪式移動(dòng)機(jī)器人以其結(jié)構(gòu)簡單、容易實(shí)現(xiàn)成為受到歡迎的控制平臺(tái)。另外一方面,移動(dòng)機(jī)器人在與外部的通信方式選擇上,由于其具有廣闊的運(yùn)動(dòng)空間,無線通信成為移動(dòng)機(jī)器人所必須具備的通信方式。在這種背景下,有關(guān)機(jī)器人無線控制的課題便應(yīng)運(yùn)而生。本文以一種輪式移動(dòng)機(jī)器人作為控制平臺(tái),在計(jì)算機(jī)與單片機(jī)之間實(shí)現(xiàn)無線通信進(jìn)而通過單片機(jī)與機(jī)器人之間的接口,成功

5、地實(shí)現(xiàn)了無線方式控制移動(dòng)機(jī)器人。2. 機(jī)器人平臺(tái)實(shí)驗(yàn)中采用能力風(fēng)暴個(gè)人機(jī)器人作為控制平臺(tái)。該機(jī)器人與傳統(tǒng)意義上的工業(yè)機(jī)器人不同,體積微小,外形呈宇宙飛船形,直徑約30cm,重量僅1kg。該機(jī)器人采用Motorola單片機(jī)68HC11作為微控制器,主要具有如下特點(diǎn):1 屬輪式移動(dòng)機(jī)器人,采用左右兩輪驅(qū)動(dòng),前后兩輪隨動(dòng)。當(dāng)兩輪轉(zhuǎn)速相等轉(zhuǎn)向相同時(shí),機(jī)器人沿直線行走;當(dāng)兩輪轉(zhuǎn)速相等轉(zhuǎn)向相反時(shí),機(jī)器人沿原地旋轉(zhuǎn);當(dāng)兩輪轉(zhuǎn)速不等轉(zhuǎn)向相同時(shí),機(jī)器人沿弧線行走。電機(jī)偏差可通過在軟件中設(shè)置偏置量得到校正。2 機(jī)器人帶有自己的專用開發(fā)系統(tǒng),即交互式C語言(簡稱JC)。JC由兩部分組成:編譯環(huán)境(包含交互式命令行編

6、輯和調(diào)試功能)和機(jī)器人操作系統(tǒng)。JC實(shí)現(xiàn)了C語言的一個(gè)子集,它包括控制語句(for, while, if else)局部變量和全局變量,數(shù)組,指針,結(jié)構(gòu)體,16位和32位整數(shù),和32位浮點(diǎn)數(shù)。JC的一大優(yōu)點(diǎn)是支持多任務(wù)程序的運(yùn)行。68HC11支持串口功能,只需要在PC機(jī)上運(yùn)用JC編程,通過串口線下載到機(jī)器人上后,拔掉串口線,機(jī)器人即可自主運(yùn)行。3 機(jī)器人帶有一定數(shù)量的傳感器,初步具有感知周圍環(huán)境的能力。機(jī)器人上帶有碰撞傳感器( bumper),光敏傳感器,主動(dòng)式紅外測障傳感器,旋轉(zhuǎn)角度編碼器和麥克風(fēng)。其中麥克風(fēng)沒有方向性,能感知聲音的強(qiáng)弱;光敏傳感器能感知所在方向上的光強(qiáng);主動(dòng)式紅外測障傳感器

7、能感知前方40厘米以內(nèi)的障礙物。碰撞傳感器有效范圍最小,能感受到四個(gè)方向上的碰撞;旋轉(zhuǎn)角度編碼器不是用于探測外部環(huán)境,而是測量輪子旋轉(zhuǎn)的角度數(shù)。機(jī)器人僅依靠初始程序和自身傳感器來運(yùn)行,已具自主式移動(dòng)機(jī)器人雛形。為了讓機(jī)器人更準(zhǔn)確地感知周圍的局部環(huán)境信息,機(jī)器人往往需要處理周圍的語音信息和圖像信息。對(duì)這類信息的處理,一般有兩種方式:(1)機(jī)器人用自己的“大腦”處理這些信息,然后分析、判斷、執(zhí)行動(dòng)作,但這需要機(jī)器人具有功能強(qiáng)大的“大腦”;(2)機(jī)器人再添加一個(gè)“大腦”來處理這些信息,最后在幾個(gè)“大腦”之間通信就行了。實(shí)驗(yàn)中,由于機(jī)器人自己的“大腦”還不夠十分強(qiáng)大,不具有處理圖像等復(fù)雜信息的功能,我

8、們利用計(jì)算機(jī)來處理這類信息,然后計(jì)算機(jī)通過無線通信以控制指令的形式將這些信息傳給機(jī)器人,同時(shí)機(jī)器人響應(yīng)計(jì)算機(jī)以確認(rèn)信息。機(jī)器人設(shè)計(jì)了硬件擴(kuò)展總線ASBUS,這樣為機(jī)器人功能擴(kuò)展提供了方便,也為計(jì)算機(jī)控制機(jī)器人提供了前提條件。硬件擴(kuò)展總線ASBUS共提供了二十多條信號(hào)線,實(shí)驗(yàn)中將用到下面一些信號(hào)線: VCC:+5V電源GND:地PC0PC7:數(shù)據(jù)總線IS0IS3:輸入選擇線0-3OS0OS3:輸出選擇線0-3PA1PA2:輸入捕捉口PA3:輸出比較口3. 計(jì)算機(jī)與單片機(jī)間的無線通信3.1 無線通信模塊計(jì)算機(jī)與機(jī)器人的通信,考慮到自主式移動(dòng)機(jī)器人的特點(diǎn),無線通信是較為理想的通信方式。實(shí)驗(yàn)中,無線收

9、發(fā)模塊采用基于RF401無線通訊單片機(jī)的PTR2000微小型、低功耗、高速率19.2K無線收發(fā)數(shù)傳MODEM。該無線收發(fā)模塊主要有以下特性:1 體積微小,約40mm*27mm*5mm,且接收發(fā)射合一。2 工作頻率為國際通用的數(shù)傳頻段433MHz,F(xiàn)SK調(diào)制,工作電壓2.75.25v,功耗小,使用無需申請(qǐng)?jiān)S可證。3 工作最高速率可達(dá)20k bit/s,也可在較低速率如4800bps、9600bps下工作,無需設(shè)置模塊通信速率。PTR2000模塊共有七個(gè)引腳,分別定義如下:VCC:正電源,接2.75.25VCS:頻道選擇,CS=0選擇工作頻道1,433 .92MHz,CS=1選擇工作頻道2,434

10、.33MHzDO:數(shù)據(jù)輸出DI:數(shù)據(jù)輸入GND:電源地PWR:節(jié)能控制,PWR=1正常工作狀態(tài),PWR=0待機(jī)微功耗狀態(tài)TXEN:發(fā)射接收控制,TXEN=1時(shí)模塊為發(fā)射狀態(tài),TXEN=0時(shí)模塊為接收狀態(tài)3.2 無線通信協(xié)議及校驗(yàn)沒有信號(hào)時(shí),PTR2000的串口輸出是隨機(jī)數(shù)據(jù),因此需要定義一個(gè)簡單的指令協(xié)議,如在發(fā)送時(shí)在有效數(shù)據(jù)前加幾個(gè)字節(jié)的固定起始字節(jié),在接收一方的軟件中,檢測到該固定標(biāo)志后作為正式數(shù)據(jù)的開始。本實(shí)驗(yàn)中,傳輸協(xié)議定義為:開始1 開始2 開始3 數(shù)據(jù)1 數(shù)據(jù)2 數(shù)據(jù)3 8位校驗(yàn) 數(shù)據(jù)結(jié)束標(biāo)志其中開始1是0XFF,開始2是0XFF,開始3是0X00。選擇它們作為有效包開始的原因是:

11、測試和試驗(yàn)表明,255(0XFF)后跟0(0X00)在噪聲中不容易發(fā)生。實(shí)驗(yàn)中通信有效數(shù)據(jù)有三個(gè)字節(jié),分別表示能力風(fēng)暴機(jī)器人的控制命令、平移速度和旋轉(zhuǎn)速度。機(jī)器人的控制命令定義為:0b00000001表示前進(jìn),0b00000010表示左轉(zhuǎn),0b00000100表示后退,0b00001000表示右轉(zhuǎn),0b00000000表示暫停,等等。平移速度和旋轉(zhuǎn)速度分別取0到100之間任一值,表示0到1m/s之間的一個(gè)速度。需要指出的是,通信中的有效數(shù)據(jù)可根據(jù)需要任意擴(kuò)展。8位校驗(yàn)是對(duì)通信中有效數(shù)據(jù)的校驗(yàn)。實(shí)驗(yàn)中用“”作為數(shù)據(jù)收發(fā)結(jié)束標(biāo)志。無線通信中信道的不確定性決定了對(duì)其必須進(jìn)行通信校驗(yàn)。實(shí)驗(yàn)中采用CRC

12、校驗(yàn)3。在各種校驗(yàn)方法中,奇偶校驗(yàn)容易實(shí)現(xiàn),但卻是最不可靠的,因其只能發(fā)現(xiàn)奇數(shù)個(gè)錯(cuò)誤。校驗(yàn)和能夠檢測到比奇偶校驗(yàn)更多的錯(cuò)誤,但當(dāng)字節(jié)順序顛倒時(shí),校驗(yàn)和不能發(fā)現(xiàn),因其不能發(fā)現(xiàn)次序錯(cuò)誤。CRC比校驗(yàn)和可靠。實(shí)驗(yàn)中生成多項(xiàng)式G(X)= X8+X6+X2+1,最后生成8位校驗(yàn)數(shù)據(jù)。單片機(jī)是匯編語言環(huán)境編程,計(jì)算機(jī)采用的則是Visual Basic語言環(huán)境。實(shí)驗(yàn)中為了提高通信的實(shí)時(shí)性,CRC校驗(yàn)采用了生成CRC校驗(yàn)表的方法,即從0到255生成256個(gè)字節(jié)組成的CRC校驗(yàn)表,放在一數(shù)組中,在CRC校驗(yàn)表生成后,對(duì)通信數(shù)據(jù)的有效數(shù)據(jù)只需進(jìn)行查表工作,即可生成通信數(shù)據(jù)中的8位CRC校驗(yàn)碼。下面寫出了CRC校驗(yàn)

13、表的VB生成程序,生成的校驗(yàn)表放在數(shù)組crctable()中。 For i = 0 To 255 Step 1 count = i For j = 0 To 7 Step 1 If (count And &H80) = 0 Then count = count * 2 '用乘2來實(shí)現(xiàn)位的左移 Else count = count - &H80 count = (count * 2) Xor &H45 '與生成多項(xiàng)式g(x)= X8+X6+X2+1異或 End If Next j crctable(i) = count Next i3.3 計(jì)算機(jī)與2051

14、間的無線通信實(shí)驗(yàn)中,兩個(gè)PTR2000模塊用于計(jì)算機(jī)串口與單片機(jī)2051之間進(jìn)行無線通信。單片機(jī)2051支持串口通信功能,性價(jià)比高,是計(jì)算機(jī)控制機(jī)器人的理想中介4。PTR2000模塊與計(jì)算機(jī)串口的連接中,由于PTR2000模塊支持TTL電平,計(jì)算機(jī)串口的RXD和TXD線需經(jīng)電平轉(zhuǎn)換5后分別與PTR2000模塊的DO和DI相連。PTR2000模塊與單片機(jī)2051的連接中,PTR2000模塊的DO和DI分別與單片機(jī)2051的RXD(P3.0)和TXD(P3.1)連接。計(jì)算機(jī)和單片機(jī)2051與對(duì)方的通信流程分別見圖1和圖2。單片機(jī)2051可直接通過將P3.7位置1或置0而將無線收發(fā)模塊置于發(fā)射或接收

15、狀態(tài)。計(jì)算機(jī)串口對(duì)無線收發(fā)模塊收-發(fā)狀態(tài)轉(zhuǎn)換的控制,由于實(shí)驗(yàn)中計(jì)算機(jī)采用的是Visual Basic 6.0的開發(fā)環(huán)境,可通過設(shè)置MSComm控件的RTSEnable屬性6來實(shí)現(xiàn)。RTSEnble屬性設(shè)為False時(shí),串中RTS輸出高電平,電平轉(zhuǎn)換后將PTR2000置為發(fā)射狀態(tài);RTSEnble屬性設(shè)為True時(shí),串口RTS輸出低電平,電平轉(zhuǎn)換后將PTR2000置為接收狀態(tài)。計(jì)算機(jī)與單片機(jī)的通信速率約定為9600bps,為了獲得精確的波特率,2051選用11.0592M的晶振。串口端口初始化等待控制命令收到控制命令后,生成信息發(fā)送數(shù)組由信息發(fā)送數(shù)組生成CRC校驗(yàn)位,一起組成數(shù)據(jù)發(fā)送數(shù)組打開串口

16、發(fā)送數(shù)據(jù)檢測單片機(jī)數(shù)據(jù)返回有數(shù)據(jù)返回嗎?返回正確信息嗎?否是否是檢測是否收到計(jì)算機(jī)數(shù)據(jù)收到數(shù)據(jù)嗎?將數(shù)據(jù)放入內(nèi)存,取出信息數(shù)據(jù)生成CRC校驗(yàn)位,與收到的校驗(yàn)位比較兩個(gè)校驗(yàn)數(shù)據(jù)一致嗎?將數(shù)據(jù)送至機(jī)器人,并向計(jì)算機(jī)返回正確信息向計(jì)算機(jī)返回錯(cuò)誤信息是否是否圖1 計(jì)算機(jī)與單片機(jī)通信流程 圖2 單片機(jī)與計(jì)算機(jī)通信流程4. 機(jī)器人與單片機(jī)間的通信由機(jī)器人硬件擴(kuò)展總線ASBUS可知,機(jī)器人提供了8位的數(shù)據(jù)總線擴(kuò)展口,由此可實(shí)現(xiàn)與單片機(jī)2051的通信。機(jī)器人的PC0PC7經(jīng)過數(shù)據(jù)鎖存器后分別與2051的P1.0P1.7連接,之所以用到數(shù)據(jù)鎖存器,是因?yàn)闄C(jī)器人提供的數(shù)據(jù)擴(kuò)展口是總線口,而不是具有保持功能的I/O

17、口,因此數(shù)據(jù)交換時(shí),必須進(jìn)行數(shù)據(jù)鎖存。另外,機(jī)器人提供了輸入捕捉擴(kuò)展口PA1、PA2和輸出比較擴(kuò)展口PA3,實(shí)驗(yàn)中取PA1和PA3分別與單片機(jī)2051的P3.4和P3.2相連,構(gòu)成通信握手信號(hào)。單片機(jī)2051和機(jī)器人與對(duì)方的通信是雙向的,下面以單片機(jī)向機(jī)器人發(fā)送數(shù)據(jù)為例,作出單片機(jī)2051和機(jī)器人與對(duì)方的通信流程分別見圖3和圖4。檢測PA1PA1=1?PA3=1,并接收單片機(jī)數(shù)據(jù)PA3=0,通知單片機(jī)已接收數(shù)據(jù)是否收到數(shù)據(jù)?數(shù)據(jù)接收完?機(jī)器人處理程序否是否是P3.4=1,向機(jī)器人發(fā)握手信號(hào)檢測機(jī)器人握手信號(hào)P3.2P3.4=0,并向機(jī)器人發(fā)送數(shù)據(jù),后檢測P3.2執(zhí)行下面程序是否P3.2=1?P

18、3.2=0?數(shù)據(jù)發(fā)送完?是否否是圖3 單片機(jī)與機(jī)器人通信流程 圖4 機(jī)器人與單片機(jī)通信流程5. 機(jī)器人無線控制的實(shí)現(xiàn)基于上面的計(jì)算機(jī)與單片機(jī)之間的無線通信和單片機(jī)與機(jī)器人之間的通信,設(shè)計(jì)無線控制機(jī)器人的總體框架如圖5所示。計(jì)算機(jī)電平轉(zhuǎn)換無線收發(fā)模塊1無線收發(fā)模塊2單片機(jī)數(shù)據(jù)鎖存機(jī)器人無線通信圖5 計(jì)算機(jī)控制機(jī)器人的總體設(shè)計(jì)從圖中數(shù)據(jù)流向(箭頭方向)可看出,整個(gè)通信過程均是雙向的。計(jì)算機(jī)可用VB控件制作一個(gè)簡單的機(jī)器人控制界面,在此界面上,可非常方便地設(shè)定機(jī)器人的平移速度和旋轉(zhuǎn)速度,實(shí)時(shí)地控制機(jī)器人前行、后退、左轉(zhuǎn)和右轉(zhuǎn)以及運(yùn)動(dòng)的停止。機(jī)器人主程序如下所示,非常簡單:void main ( )start-process (billiards_drive();start-process(billiards_bmp();start-process(billiards_command();其中billiards_drive( ) 為電機(jī)驅(qū)動(dòng)進(jìn)程,billiards_bmp( ) 為碰撞處理進(jìn)程,billiards_command( )為響應(yīng)計(jì)算機(jī)命令進(jìn)程。每個(gè)進(jìn)程運(yùn)行5毫秒,然后交給下一個(gè)進(jìn)程運(yùn)行,這樣便實(shí)現(xiàn)了多任務(wù)設(shè)置,也以后程序擴(kuò)展提供了方便。在這個(gè)程序里,碰撞處理要優(yōu)先于計(jì)算機(jī)命令的響應(yīng):一旦機(jī)器人遇上障礙物,機(jī)器人馬上停下來,即

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論