《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于繪圖板程序的家政機器人室內定位系統(tǒng)實現(xiàn)
基于繪圖板程序的家政機器人室內定位系統(tǒng)實現(xiàn)
來源:電子技術應用2011年第10期
李彥松,,陳 祥,胡 永,,王祖強
(山東大學 信息科學與工程學院,山東 濟南250100)
摘要: 針對目前家政服務機器人在可視化定位上的不足,,提出一種將房屋布局圖加載到上位機繪圖板程序中,,通過在上位機上繪制路線,實時控制家政服務機器人位置的方案。在該系統(tǒng)中,,上位機按照RS-232協(xié)議傳輸路線信息到無線模塊并發(fā)送,,機器人端采用Altera公司的SoPC技術,使用Nios II軟核作為核心處理器讀取無線模塊接收到的信息,,并控制機器人按指定路線在室內行駛,。系統(tǒng)具有很好的實用性。
關鍵詞: FPGA NiosII 室內定位
中圖分類號: TP242.6
文獻標識碼: A
文章編號: 0258-7998(2011)10-0026-03
Implement of domestic robot′s indoor positioning control with VB drawing program
Li Yansong,,Chen Xiang,,Hu Yong,Wang Zuqiang
College of Information Science and Engineering, Shandong University, Jinan 250100,,China
Abstract: For the shortages in positional visualization of domestic robots, a convenient method used to locate and control robots is proposed by loading the building layout with VB program. Messages are sent from PC to wireless communication block according to the RS-232 contact and the SoPC technique of Altera Company is adopted to use Nios II soft core as the processor dealing with the messages that are received by the robot. With the method we proposed, the robot can move to the exact position and finish the homework assigned as soon as it receives the data of its position at present time and commands. The system has very good applition Value.
Key words : FPGA,;Nios II;indoor positioning system


    隨著經(jīng)濟發(fā)展的高速化,,人們的生活節(jié)奏也越來越快,,家政機器人DR(Domestic Robot),因能夠代替人完成家政服務工作而受到了更多都市市民的青睞,。目前,,低端DR以單一的輸入功能如清潔功能等重復性作業(yè)為主,缺乏與用戶的交互,;高端DR雖然功能完善,,但是價格昂貴,不易為普遍用戶接受,。本文設計的系統(tǒng)是通過上位機的路線繪制程序與用戶進行交互,,以低成本便捷的方式實現(xiàn)對DR的室內定位控制(Indoor Positioning Control),具有很好的實用性,。
1 系統(tǒng)結構
    系統(tǒng)整體構架分為上位機信息發(fā)送系統(tǒng)和機器人子系統(tǒng)兩個部分,。上位機端采用VB編寫的繪制路線程序作為可視控制平臺,實現(xiàn)房屋布局圖載入,、行進路線繪制,、坐標提取、路線信息計算與無線傳輸?shù)裙δ?。機器人處理子系統(tǒng)采用FPGA芯片作為核心處理器,,結合SoPC技術和Verilog硬件描述語言以完成對FPGA芯片的配置、Nios II軟核實現(xiàn)路線信息的無線接收,、提取路線信息,。使用Verilog硬件描述語言搭建電機和舵機的PWM控制模塊,控制電機與舵機配合,完成路線的行駛,。其系統(tǒng)框圖如圖1所示,。



2.1.2 串口無線模塊
    PC機路線繪制程序將信息打包通過串口傳輸?shù)綗o線模塊CC1100-232后發(fā)送出去,。CC1100是TI公司的高性能無線通信芯片,采用串口工作方式,,可以工作在433 MHz/868 MHz/915 MHz公用頻段,,串口速率為1.2 Kb/s~38.4 Kb/s。在無線傳感器,、家庭自動化,、機器人控制等領域有著廣泛的應用。
2.2 機器人子系統(tǒng)
    機器人子系統(tǒng)的功能是實現(xiàn)路線信息的接收與執(zhí)行,,由FPGA處理器,、CC1100-232無線模塊、機器人模型組成,。
2.2.1 機器人模型
    微元路線的準確實現(xiàn)需要機器人根據(jù)路線信息準確地行走,,機器人模型設計的關鍵在于行進部分的設計,本系統(tǒng)的機器人行進部分由兩個從動輪,、一個帶碼盤的驅動輪,、光電對管TCRT5000和電機模組組成。驅動輪的電機模組分為130電機和5010舵機兩部分,,電機與舵機安裝于驅動輪上,,電機帶動驅動輪轉動,,舵機帶動驅動輪旋轉,。PWM波可以控制電機、舵機轉動,,調節(jié)PWM波的占空比可以改變電機轉速和舵機的轉動角度,。在驅動輪上帶有碼盤和光電對管TCRT5000,兩者結合可以準確地記錄驅動輪轉動了多少碼格,。
    機器人的行進方式有兩種:(1)舵機偏轉為0°時,,電機作用驅動輪,機器人直線行駛,;(2)舵機偏轉90°時,,電機作用驅動輪,機器人繞幾何中心點轉動,,如圖4所示,。

    每次微元的路線機器人的執(zhí)行方式都是舵機擺至90°,電機驅動輪行進使機器人繞中心點轉動相應轉角,,然后舵機擺正,,電機驅動機器人行走微元路線相應的距離。
2.2.2 FPGA控制模塊
    系統(tǒng)采用Altera Cyclone III EP3C16 FPGA芯片,,Verilog硬件描述語言完成復雜的數(shù)字系統(tǒng)設計,。Altera公司的SoPC技術可自定義IP核配置NIOS軟核,可定制性高[1]。通過軟硬件協(xié)同設計使整個系統(tǒng)的FPGA實現(xiàn)更加靈活與高效,。

 


    本系統(tǒng)使用Nios II系統(tǒng)通過C語言編寫UART串口模塊程序,,與串口無線模塊CC1100-232進行通信提取路線信息,控制PIO口進行相應的中斷檢測與中斷服務,。軟件設計的整個流程可以在Nios IDE環(huán)境中完成,。在Nios II系統(tǒng)開發(fā)過程中,使用寄存器操作方式訪問PIO口[2]:即定義一個寄存器結構體,,然后通過訪問結構體元素的方式讀寫PIO口數(shù)據(jù),,如圖5所示。

    使用Verilog語言搭建電機與舵機的控制模塊以及光電對管的計數(shù)模塊,,如圖6所示,。圖中,電機部分:cp50m為50 MHz時鐘輸入端,;jian為光電對管檢測輸入端,,內部計數(shù)器完成對它的計數(shù);en為參數(shù)設置使能,;len[15..0]為計數(shù)預設定值,,由Nios II軟核根據(jù)路線信息計算得出參考值;dir為電機轉向控制輸入端,,根據(jù)輸入控制信號ctrl1,、ctrl2完成對電機控制。pwm輸出信號實現(xiàn)電機轉速控制,,finish信號負責動作執(zhí)行完畢后向Nios II軟核發(fā)送完成信息,。舵機部分:為了方便控制舵機只需要旋轉0°或90°即可,控制時通過pulse輸出端輸出周期為20 ms,、高電平為0.5 ms的PWM波,,舵機轉向即為0°;輸出周期 20 ms,,高電平為1.5 ms的PWM波,, 舵機轉向即為90°。舵機轉向由dir控制,。

    通過Nios II系統(tǒng)與電機舵機控制模塊完成對FPGA核心處理器的配置后,,整個系統(tǒng)搭建完畢,F(xiàn)PGA控制器框圖如圖7所示,。
2.2.3 機器人子系統(tǒng)路線信息執(zhí)行過程
    機器人子系統(tǒng)執(zhí)行時,,串口無線模塊CC1100-232接收由發(fā)射端傳遞的路線信息,數(shù)據(jù)接收完成后相應信號管腳置高,。Nios II系統(tǒng)相應的IO口檢測后產生中斷,,啟動中斷函數(shù),,通過串口讀取接收模塊信息(接收信息包含路線的長度和轉角兩部分內容)。
    驅動輪的直徑為5 cm,,驅動輪上碼盤的碼格數(shù)為100個,,設計數(shù)值為x1,則其行進距離L為:
  
    若機器人按照式(1)直行某確定距離L,,應根據(jù)式(4)設置好相應的計數(shù)值x1,;若使機器人旋轉某個角度θ,應根據(jù)式(5)設置好相應的計數(shù)值x2,。
    分析設定好光電計數(shù)器的預設定值后就可以啟動機器人行進,。首先是轉角,舵機偏轉90°后,,Nios II系統(tǒng)將轉角預設定值x2傳給電機模塊len[15..0],,然后驅動電機轉動讓機器人旋轉,驅動輪轉動時碼盤的遮光部分使光電對管斷開檢測管腳為0,,透光部分使光電對管正常工作檢測管腳為1,,計數(shù)器對檢測管腳的脈沖計數(shù)。當計數(shù)值與預設值相等時,,機器人轉角完成,,此時finish信號置高,Nios II系統(tǒng)檢測到此信號后就會控制舵機模塊使舵機擺正,,接著加載距離信息的預設值x1,,進行直線行進,執(zhí)行完畢后機器人系統(tǒng)進入等待下一次路線信息接收狀態(tài),。
    本文闡述了一種采用繪圖板上位機實現(xiàn)的可視化家政機器人控制方法,。利用FPGA配置靈活性的特點,,結合Altera公司的SoPC技術,,使整個系統(tǒng)軟硬件協(xié)調配合完成信息傳遞和處理。位置可視化的優(yōu)勢在于可更方便地讓使用者對DR進行實時的調度,,以更加人性化的方式方便了行動不便的使用者,。本方法以其易于實現(xiàn)和控制的特點為家政機器人定位系統(tǒng)提供了一個有效可行的方案。
參考文獻
[1] 赫建國,,倪德克,,鄭燕.基于Nios II內核的FPGA電路系統(tǒng)設計.第1版[M].北京:電子工業(yè)出版社,2010:110-142.
[2] 周立功.SoPC嵌入式系統(tǒng)基礎教程.第1版[M].北京:北京航空航天大學出版社,,2006:194-218.

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。