自主式移動(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頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、個(gè)人資料整理僅限學(xué)習(xí)使用自主式移動(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ī)器人的無線控制。 b5E2RGbCAP 【關(guān)鍵詞】機(jī)器人,控制,無線,通信Abstract:Itisa keytech

2、nologyhow toimprovetheabilityofautonomousmobilerobottoprocessinformationfromsensors.Undertheconditionof itslimitedloadability,itis possibleforrobotto processtheinformationthroughothercomputerorworkstationviawirelesscommunication.Thispaperdescribestheimplementationofwirelesscontrolbasedona wheeledmob

3、ilerobot.p1EanqFDPwKey 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è)、國(guó)防、航空航天以及服務(wù)性行業(yè),如工業(yè)上危險(xiǎn)地區(qū)的標(biāo)本采樣和故障處理、國(guó)防上無人駕駛戰(zhàn)車等。隨著人口老化和工作、生活節(jié)奏的加快,

4、人類在服務(wù)性行業(yè)迫切需要助手。無論是家庭、醫(yī)院,還是在賓館、商店,都有移動(dòng)機(jī)器人的用武之地。全球來看,美國(guó)的火星登陸者和日本的無人看護(hù)病房已走在前列。12 DXDiTa9E3d近年來,在機(jī)器人和自動(dòng)化領(lǐng)域里移動(dòng)機(jī)器人的研究吸引了眾多研究者的注意力,其中輪式移動(dòng)機(jī)器人以其結(jié)構(gòu)簡(jiǎn)單、容易實(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ī)器人之間的接口,成功地實(shí)現(xiàn)了無線

5、方式控制移動(dòng)機(jī)器人。RTCrpUDGiT2. 機(jī)器人平臺(tái)實(shí)驗(yàn)中采用能力風(fēng)暴個(gè)人機(jī)器人作為控制平臺(tái)。該機(jī)器人與傳統(tǒng)意義上的工業(yè)機(jī)器人不同,體積微小,外形呈宇宙飛船形,直徑約30cm,重量?jī)H 1kg。該機(jī)器人采用Motorola 單片機(jī) 68HC11作為微控制器,主要具有如下特點(diǎn):5PCzVD7HxA1屬輪式移動(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è)置偏置量得到校正。jLBHrnAILg1 / 7個(gè)人資料整理僅限學(xué)習(xí)使用2 機(jī)器人帶有自己的專

6、用開發(fā)系統(tǒng),即交互式C語言 <簡(jiǎn)稱 JC)。 JC由兩部分組成:編譯環(huán)境 <包含交互式命令行編輯和調(diào)試功能)和機(jī)器人操作系統(tǒng)。JC實(shí)現(xiàn)了 C語言的一個(gè)子集,它包括控制語句<for,while,ifelse)局部變量和全局變量,數(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)行。 xHAQX74J0X3機(jī)器人帶有一定數(shù)量的傳感器,初步具有感知周圍環(huán)境的能力。機(jī)器人上帶有碰撞傳感器 <bumper),光敏傳感

7、器,主動(dòng)式紅外測(cè)障傳感器,旋轉(zhuǎn)角度編碼器和麥克風(fēng)。其中麥克風(fēng)沒有方向性,能感知聲音的強(qiáng)弱;光敏傳感器能感知所在方向上的光強(qiáng);主動(dòng)式紅外測(cè)障傳感器能感知前方 40厘 M 以內(nèi)的障礙物。碰撞傳感器有效范圍最小,能感受到四個(gè)方向上的碰撞;旋轉(zhuǎn)角度編碼器不是用于探測(cè)外部環(huán)境,而是測(cè)量輪子旋轉(zhuǎn)的角度數(shù)。 LDAYtRyKfE機(jī)器人僅依靠初始程序和自身傳感器來運(yùn)行,已具自主式移動(dòng)機(jī)器人雛形。為了讓機(jī)器人更準(zhǔn)確地感知周圍的局部環(huán)境信息,機(jī)器人往往需要處理周圍的語音信息和圖像信息。對(duì)這類信息的處理,一般有兩種方式:<1)機(jī)器人用自己的“大腦 ”處理這些信息,然后分析、判斷、執(zhí)行動(dòng)作,但這需要機(jī)器人具有功

8、能強(qiáng)大的“大腦 ”;<2 )機(jī)器人再添加一個(gè)“大腦 ”來處理這些信息,最后在幾個(gè)“大腦 ”之間通信就行了。實(shí)驗(yàn)中,由于機(jī)器人自己的 “大腦 ”還不夠十分強(qiáng)大,不具有處理圖像等復(fù)雜信息的功能,我們利用計(jì)算機(jī)來處理這類信息,然后計(jì)算機(jī)通過無線通信以控制指令的形式將這些信息傳給機(jī)器人,同時(shí)機(jī)器人響應(yīng)計(jì)算機(jī)以確認(rèn)信息。Zzz6ZB2Ltk機(jī)器人設(shè)計(jì)了硬件擴(kuò)展總線ASBUS ,這樣為機(jī)器人功能擴(kuò)展提供了方便,也為計(jì)算機(jī)控制機(jī)器人提供了前提條件。硬件擴(kuò)展總線ASBUS 共提供了二十多條信號(hào)線,實(shí)驗(yàn)中將用到下面一些信號(hào)線:dvzfvkwMI1VCC : +5V 電源GND :地PC0 PC7:數(shù)據(jù)總線

9、IS0 IS3:輸入選擇線0-3OS0 OS3:輸出選擇線0-3PA1PA2:輸入捕捉口PA3:輸出比較口3. 計(jì)算機(jī)與單片機(jī)間的無線通信3.1 無線通信模塊計(jì)算機(jī)與機(jī)器人的通信,考慮到自主式移動(dòng)機(jī)器人的特點(diǎn),無線通信是較為理想的通信方式。實(shí)驗(yàn)中,無線收發(fā)模塊采用基于RF401無線通訊單片機(jī)的 PTR2000 微小型、低功耗、高速率 19.2K 無線收發(fā)數(shù)傳 MODEM 。該無線收發(fā)模塊主要有以下特性:rqyn14ZNXI1 體積微小,約 40mm*27mm*5mm ,且接收發(fā)射合一。2 工作頻率為國(guó)際通用的數(shù)傳頻段433MHz , FSK調(diào)制,工作電壓 2.75.25v ,功耗小,使用無需申

10、請(qǐng)?jiān)S可證。EmxvxOtOco3 工作最高速率可達(dá) 20kbit/s,也可在較低速率如4800bps、 9600bps下工作,無需設(shè)置模塊通信速率。SixE22 / 7個(gè)人資料整理僅限學(xué)習(xí)使用yXPq5PTR2000 模塊共有七個(gè)引腳,分別定義如下:VCC :正電源,接2.75.25VCS:頻道選擇, CS=0選擇工作頻道1, 433.92MHz , CS=1選擇工作頻道 2, 434.33MHz 6ewMyirQFLDO:數(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),

11、TXEN=0 時(shí)模塊為接收狀態(tài)3.2 無線通信協(xié)議及校驗(yàn)沒有信號(hào)時(shí), PTR2000 的串口輸出是隨機(jī)數(shù)據(jù),因此需要定義一個(gè)簡(jiǎn)單的指令協(xié)議,如在發(fā)送時(shí)在有效數(shù)據(jù)前加幾個(gè)字節(jié)的固定起始字節(jié),在接收一方的軟件中,檢測(cè)到該固定標(biāo)志后作為正式數(shù)據(jù)的開始。本實(shí)驗(yàn)中,傳輸協(xié)議定義為:kavU42VRUs開始 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。選擇它們作為有效包開始的原因是:測(cè)試和實(shí)驗(yàn)表明,255<0XFF)后跟 0<0X00)在噪聲中不容易發(fā)生。實(shí)驗(yàn)中通信有效數(shù)據(jù)有三個(gè)字節(jié),分別表示

12、能力風(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)志。 y6v3ALoS89無線通信中信道的不確定性決定了對(duì)其必須進(jìn)行通信校驗(yàn)。實(shí)驗(yàn)中采用CRC校驗(yàn) 3 。在各種校驗(yàn)方法中,奇偶校驗(yàn)容易實(shí)現(xiàn),但卻是最不可靠的,因其

13、只能發(fā)現(xiàn)奇數(shù)個(gè)錯(cuò)誤。校驗(yàn)和能夠檢測(cè)到比奇偶校驗(yàn)更多的錯(cuò)誤,但當(dāng)字節(jié)順序顛倒時(shí),校驗(yàn)和不能發(fā)現(xiàn),因其不能發(fā)現(xiàn)次序錯(cuò)誤。 CRC比校驗(yàn)和可靠。實(shí)驗(yàn)中生成多項(xiàng)式862G<X) = X +X +X+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)表的 VB 生成程序 ,生成

14、的校驗(yàn)表放在數(shù)組 crctable(> 中。 M2ub6vSTnPFor i = 0 To 255 Step 1count = iFor j = 0 To 7 Step 1If (count And &H80> = 0 Thencount = count * 2 ' 用乘 2來實(shí)現(xiàn)位的左移Elsecount = count - &H808+X6+X2+1異或 0YujCfmUCwcount = (count * 2> Xor &H45 ' 與生成多項(xiàng)式 g(x>= XEnd IfNext j3 / 7個(gè)人資料整理僅限學(xué)習(xí)使用crc

15、table(i> = countNext i3.3計(jì)算機(jī)與 2051 間的無線通信實(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&g

16、t; 連接。計(jì)算機(jī)和單片機(jī) 2051與對(duì)方的通信流程分別見圖1和圖 2。 eUts8ZQVRd單片機(jī) 2051可直接通過將P3.7位置 1或置 0 而將無線收發(fā)模塊置于發(fā)射或接收狀態(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ī)

17、的通信速率約定為9600bps ,為了獲得精確的波特率,2051選用11.0592M 的晶振。 sQsAEJkW5TGMsIasNXkA串口端口初始化等待控制命令TIrRGchYzg收到控制命令后,生成信息發(fā)送數(shù)組檢測(cè)是否收到計(jì)算機(jī)數(shù)據(jù)由信息發(fā)送數(shù)組生成CRC校驗(yàn)位,一起組成數(shù)據(jù)發(fā)送數(shù)組收到數(shù)據(jù)嗎?是否打開串口發(fā)送數(shù)據(jù)檢測(cè)單片機(jī)數(shù)據(jù)返回有數(shù)據(jù)返回否嗎?是否返回正確信息嗎?是4 / 7將數(shù)據(jù)放入內(nèi)存,取出信息數(shù)據(jù)生成 CRC 校驗(yàn)位,與收到的校驗(yàn)位比較兩個(gè)校驗(yàn)數(shù)據(jù)否一致嗎?是將數(shù)據(jù)送至機(jī)器人,向計(jì)算機(jī)并向計(jì)算機(jī)返回正確返回錯(cuò)誤信息信息個(gè)人資料整理僅限學(xué)習(xí)使用圖 1 計(jì)算機(jī)與單片機(jī)通信流程圖 2

18、單片機(jī)與計(jì)算機(jī)通信流程4. 機(jī)器人與單片機(jī)間的通信由機(jī)器人硬件擴(kuò)展總線 ASBUS 可知,機(jī)器人提供了 8位的數(shù)據(jù)總線擴(kuò)展口,由此可實(shí)現(xiàn)與單片機(jī) 2051的通信。機(jī)器人的 PC0 PC7經(jīng)過數(shù)據(jù)鎖存器后分別與 2051 的 P1.0 P1.7連接,之所以用到數(shù)據(jù)鎖存器,是因?yàn)闄C(jī)器人提供的數(shù)據(jù)擴(kuò)展口是總線口,而不是具有保持功能的 I/O 口,因此數(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ī)

19、器人發(fā)送數(shù)據(jù)為例,作出單片機(jī)2051和機(jī)器人與對(duì)方的通信流程分別見圖3和圖 4。 7EqZcWLZNXlzq7IGf02EP3.4=1,向機(jī)器人發(fā)檢測(cè) PA1握手信號(hào)否檢測(cè)機(jī)器人握手信PA1=1?號(hào) P3.2是否PA3=1, 并接收單P3.2=1?片機(jī)數(shù)據(jù)是P3.4=0, 并向機(jī)器人發(fā)否收到數(shù)據(jù) ?送數(shù)據(jù) ,后檢測(cè) P3.2是否PA3=0,通知單片P3.2=0?機(jī)已接收數(shù)據(jù)是否否數(shù)據(jù)發(fā)送完 ?數(shù)據(jù)接收完 ?是是執(zhí)行下面程序機(jī)器人處理程序圖 3 單片機(jī)與機(jī)器人通信流程圖 4 機(jī)器人與單片機(jī)通信流程5. 機(jī)器人無線控制的實(shí)現(xiàn)基于上面的計(jì)算機(jī)與單片機(jī)之間的無線通信和單片機(jī)與機(jī)器人之間的通信,設(shè)計(jì)無線

20、5 / 7個(gè)人資料整理僅限學(xué)習(xí)使用控制機(jī)器人的總體框架如圖5所示。 zvpgeqJ1hk無線通信計(jì)算機(jī)無線收無線收單片機(jī)機(jī)器人發(fā)模塊 1發(fā)模塊 2電平轉(zhuǎn)換數(shù)據(jù)鎖存圖 5 計(jì)算機(jī)控制機(jī)器人的總體設(shè)計(jì)從圖中數(shù)據(jù)流向<箭頭方向)可看出,整個(gè)通信過程均是雙向的。計(jì)算機(jī)可用VB 控件制作一個(gè)簡(jiǎn)單的機(jī)器人控制界面,在此界面上,可非常方便地設(shè)定機(jī)器人的平移速度和旋轉(zhuǎn)速度,實(shí)時(shí)地控制機(jī)器人前行、后退、左轉(zhuǎn)和右轉(zhuǎn)以及運(yùn)動(dòng)的停止。NrpoJac3v1機(jī)器人主程序如下所示,非常簡(jiǎn)單:void main ( >start-process (billiards_drive(>> 。start-p

21、rocess(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ī)器人馬上停下來,即使計(jì)算機(jī)命令機(jī)器人繼續(xù)前行,機(jī)器人也不予“理睬 ”。碰撞檢測(cè)通過讀取碰撞傳感器檢測(cè)函數(shù) bumper(>即可。以后還可以加上紅外傳感器處理進(jìn)

溫馨提示

  • 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)論