郭 燕,王 琰,胡鵬路
(1.南京科技職業(yè)學院,江蘇 南京 210048;2.南京熊貓機電儀技術有限公司,江蘇 南京 210007)
現(xiàn)代社會智能技術正越來越深刻地影響著我們的生活,智能旅游是指在旅游行業(yè)采用最新智能技術進行環(huán)境感知和規(guī)劃決策,以智能手段開展旅游服務,使游客能夠便捷地獲取舒適的旅游方式[1]。本課題研制開發(fā)了一種用于旅游的智能導游小車,該小車由52單片機、QTI傳感器、RFID讀卡器、語音模塊(WT588D)、鋰電池電源模塊、伺服舵機等部件組成,實現(xiàn)從起始點出發(fā)到目的地,按照指定軌跡移動,在規(guī)定時間內游歷指定景點,并播報相應的景點信息,在游歷完所有景點后回到出發(fā)地的相應功能。
本課題所開發(fā)的智能導游小車是由機械本體、檢測元件、驅動系統(tǒng)、控制系統(tǒng)和執(zhí)行裝置組合在一起的組合體,能夠完成一系列開環(huán)或閉環(huán)系統(tǒng)的工作,實現(xiàn)半自動或全自動的系統(tǒng)操作。該系統(tǒng)能夠在一系列景點之間按事先設定好的順序自動循線行走,不需要人為的遙控;同時,該系統(tǒng)結合無線射頻技術檢測景點信息,采用多功能、可編輯的WT588D語音芯片進行站點信息的語音播報,采用AT89S52單片機控制裝置實現(xiàn)可編程控制[2-4],以此實現(xiàn)導游的功能。智能導游小車系統(tǒng)總體結構框圖[5-6]如圖1所示,其中電源模塊為整個系統(tǒng)提供動力來源;QTI光電傳感器實現(xiàn)循跡功能;RFID讀卡器讀取標簽卡進行景點識別;語音模塊用來編輯與存儲語音片段;功放模塊實現(xiàn)語音的放大與保真,并采用DAC方式驅動揚聲器進行景點語音信息的播報;360°伺服舵機作為執(zhí)行單元按照指令進行小車前進方向或速度的控制,實現(xiàn)小車的前進、后退等各種巡航動作;ISP下載模塊實現(xiàn)程序往單片機的燒錄;AT89S52單片機為整個系統(tǒng)的協(xié)調與控制提供保障等。
圖1 智能導游小車系統(tǒng)總體結構框圖
本系統(tǒng)采用8個循跡傳感器連接至單片機P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7等8個端口,用于獲取路面信息,進行循線;采用RFID讀卡器連接至控制器P2.4、P3.0端口來實現(xiàn)循跡和讀取標簽卡信息;采用語音模塊(WT588D)連接至單片機P2.0、P2.1、P2.2、P2.3實現(xiàn)語音的編輯、存儲與調用;采用伺服舵機連接至單片機P1.0、P1.1驅動小車左右輪按照預定的方式動作。智能導游小車控制部分連接示意圖見圖2。本系統(tǒng)采用軟硬件結合的設計方法,實現(xiàn)在規(guī)定時間內游歷指定景點,并播報相應的景點信息,在游歷完所有景點后回到出發(fā)地的相應功能。
本系統(tǒng)采用DM-S53401QTI光電傳感器,該傳感器采用光電接收管來進行循線。當QTI傳感器在一個很暗的表面上時,反射光強度很低;當QTI傳感器在一個很亮的表面上時,反射光強度很高,從而導致傳感器輸出的變化,不同強度的反射光導致傳感器輸出不同,即探測到不同顏色的物體輸出不同的電平信號。
圖2 控制部分連接電路示意圖
本系統(tǒng)共采用8個QTI傳感器,在小車的前、后分別安裝4個QTI傳感器。安裝好后,用套件中附帶的3PIN杜邦線將QTI的引腳連接到機器小車的面板上,將QTI傳感器的GND連接至控制板上的GND、VCC連接到控制板上的Vdd,然后將SIG連接到單片機的P0口上,在此以前4組傳感器為例說明連接方法和循跡策略。
傳感器與單片機接口的連接示意圖如圖3所示,以前端4組QTI傳感器為例,將其SIG信號線分別連接至小車平臺的相應P0.0、P0.1、P0.2、P0.3位,從而進行路面的檢測,以便循線。
圖3 傳感器與單片機接口連接示意圖
讀卡功能模塊由RFID讀卡器和無源只讀標簽卡組成,RFID讀卡器可低功耗被動讀取標簽,實現(xiàn)串口通信,能夠采用軟件來啟動或者禁用輸入使能端,并且具有雙色LED狀態(tài)顯示,每個標簽含有一個唯一的標識符,由RFID射頻讀取卡中信息后,通過串行接口P3.0傳輸給單片機控制端[7]。
RFID讀卡器有4個引腳:VCC、/ENABLE、SOUT、GND。其中,單片機P2.4連接其使能引腳/ENABLE,讀卡器的輸出信號SOUT與單片機的P3.0引腳相連,實現(xiàn)串口通信。RFID讀卡器電路連接方式見表1。
表1 RFID讀卡器電路連接方式
在循跡的過程中,循跡函數由前進循跡void run_online(int steps)、后退循跡void run_online1(int steps)、左轉void run_online_a(int steps)、右轉void run_online1_a(int steps)組成。前進循線根據前頭的4個QTI傳感器返回的信息,然后根據run_online()函數執(zhí)行前進、左轉修正、右轉修正等動作實現(xiàn)循線;后退循線與前進循跡類似。
循跡部分函數如下:
void run_online(int steps){
while(steps)
{
if((P02_state()&&(!P01_state()))||(P03_state()&&(!P02_state())&&(!P01_state())&&(!P00_state()))) //1100 1000
{
move(1530,1300,1);
}
else
if(((!P02_state())&&P01_state())||((!P03_state())&&(!P02_state())&&(!P01_state())&&P00_state()))
{move(1700,1470,1);}
else if((!P01_state())&&(!P02_state()))
{
move(1500,1500,1);
delay_nms(1000);
move(1700,1300,8);
city_RFID=RFID();
if(city[Travel_itinerary[travel_city]]==city_RFID)
{
voice_broadcast(Travel_itinerary[travel_city]);
travel_city++;
}
break;
}
else
{
move(1700,1300,1);
steps--;
}
}
在語音播報過程中,首先采用move()子函數,RFID通信串口初始化,當讀卡器讀完一幀數據,即產生串行中斷,調用串行中斷子函數serial()并進行解碼,按照位通信協(xié)議讀取數據,調取相應語音,同時進行播報。語音播報主要由串口中斷讀卡函數、RFID通信串口初始化函數以及解碼函數組成。語音播報流程如圖4所示。
本智能導游小車使用的算法是基于數字地圖的向量分析法[8],首先用數組M存儲相應的景點坐標、景點標簽卡信息,數組N存儲機器小車的移動路徑。機器小車通過循線到達某個景點,并通過RFID讀卡器讀取該景點的標簽卡信息,將標簽卡信息與數組M對比找到該景點的坐標B。再通過機器小車移動路徑數組N獲取上一個景點和下一個景點的信息,對照數組M找到這兩個景點的坐標A和C,最后通過這三個景點(上一個景點坐標A、當前景點坐標B、下一個景點坐標C)來獲知小車需轉動的方向和轉動角度,小車獲知轉動方向和角度后便可旋轉至下一個軌道,循線前進。
圖4 語音播報流程
軟件設計思路是:小車從起始景點出發(fā),先播報起始景點信息,再沿某個方向循線運動,到達下一個景點時小車通過內側的兩個QTI檢測到相應的信息,驅動RFID讀卡器讀取無線射頻標簽卡信息,將讀取到的信息與city[][]數組的對應列數據對比,找到與之相對應的景點后讀取該景點的X、Y坐標值;通過景點播報路徑數組Travel_itinerary[]獲知該景點是否是播報景點,再通過機器小車移動路徑數組path[]獲取上次經過的景點的X、Y坐標以及下一個將要去的景點的坐標;知道3個景點坐標后便可以計算出需要轉動的角度和方向,由于機器小車轉動的時候會有一些小誤差,因此轉動后需要繼續(xù)搜索黑線,找到黑線后便可循線移動到下一個景點,如此循環(huán)執(zhí)行,直到走完小車移動路徑規(guī)劃的景點,并播報路線規(guī)定的所有景點后跳出循環(huán),回到起始區(qū)域停下。智能導游機器小車的程序流程見圖5。
本課題開發(fā)了一種以AT89S52單片機為控制核心的智能導游機器小車,該方案以QTI光電傳感器作為路徑信息采集工具實現(xiàn)循線;采用語音模塊進行語音片段的存儲和編輯,功放模塊實現(xiàn)語音的放大與保真;結合無線射頻技術檢測景點信息,進行景點信息的語音播報,實現(xiàn)導游機器小車的智能化行進與景點信息講解。經過實踐證明:該系統(tǒng)運行可靠,具有很好的路面識別與信息播報能力,以及很強的實踐性和一定的推廣價值。
圖5 智能導游小車程序流程