?

除塵競賽機器人及其控制策略研究

2012-07-13 03:07李亞東嚴錫君
電子設計工程 2012年5期
關鍵詞:指南針除塵預設

李亞東,嚴錫君,嚴 妍

(河海大學 江蘇 南京 210098)

目前機器人的發展已經成為衡量各個國家科技力量的重要標準,歐美、日本等發達國家機器人設計已日趨成熟,種類繁多、功能強大。我國也投入了大量的人、財力進行機器人的研究和開發,非常重視機器人的教學,把機器人作為小學、中學和大學的實訓、實踐課程,大力開展國家、省和市級各種學生競賽,極大地推進了機器人在我國的普及,為機器人的研究打下了堅實的基礎。

競賽機器人的設計出現了百花齊放的景象,結構上有人形機器人、輪式機器人、足式機器人和履帶機器人等;完成任務上有服務機器人[1]、滅火機器人[2]、除塵機器人、游景點機器人等。針對不同的任務,具有各自的特點,除塵競賽機器人的主要性能指標是除塵面積的覆蓋率及完成的時間。本文采用16位微處理器MSP430F5418微控制器,設計輪式機器人,通過四路直流電機控制機器人的避障和運動,完成競賽任務。

1 總體結構

由于除塵競賽機器人完成的任務較單一,并對其體積的大小有嚴格的規定,所以機器人的設計應盡量簡潔實用,避免不必要的冗余設計。為此,本文采用模塊化方法設計除塵競賽機器人,可根據實際需要靈活地增加模塊、完善系統,完成規定的任務;系統主要由主控制板、電源管理模塊、紅外測距模塊、電子指南針及電機控制板等組成,其系統結構如圖1所示。

圖1 系統結構Fig.1 System architecture

主控制器采用16位微控制器MSP430F5418,因該器件具有較高的運算速度、豐富的外圍接口以及低廉的價格而廣泛地被使用[3-4],負責對傳感器采集到的數據進行處理,根據獲得的有效信息對電機的運動進行控制。電源管理模塊主要負責為整個系統中各個模塊提供獨立穩定的電源;紅外測距傳感器負責采集環境的障礙物信息,為機器人的避障[5]提供依據;電子指南針獲得角度信息來控制機器人的轉向;電機驅動板負責驅動控制直流電機。

2 系統實現

系統主要有主控制板、電源管理模塊、紅外測距模塊、電子指南針及電機控制板等組成,紅外測距和電子指南針模塊是系統實現的關鍵。

2.1 紅外測距傳感器

紅外傳感器主要負責測量機器人與障礙物之間的距離,為了可靠獲得場地及環境信息,紅外測距傳感器的位置部署很關鍵,7個傳感器部署的俯視圖側視圖分別如圖2和圖3所示。

圖2 紅外傳感器位置部署俯視圖Fig.2 Top view of infrared sensor deployment location

圖3 紅外傳感器位置部署側視圖Fig.3 Side view of infrared sensor deployment location

圖2左端為除塵機器人頭部,機器人頭部安裝紅外傳感器 1、2、3,它們分別呈 45°、90°、135°放置,用來探測機器人頭部正前方以及兩側的障礙物,由于除塵競賽機器人大賽場地的平臺高度比較低,為了能夠檢測平臺的周邊,傳感器1、2、3安裝在較低的位置。機器人兩側的紅外傳感器4、5用來保證機器人在進入房間進行轉向時整個車身處于寬闊地帶,如果僅靠紅外傳感器1或3,判斷前方的空白區域可能會出現機器人過早進行轉向,撞到墻壁的情況。紅外傳感器7傾斜45°安裝,當機器人在平臺上運行時可以通過檢測平臺邊緣高度的突變來感知路況。紅外傳感器6用來獲得機器人后方的信息作為輔助信息。

2.2 電子指南針

電子指南針是除塵機器人設計的關鍵部件,角度信息的處理直接關系到能否對機器人的轉向進行精確控制。電子指南針的設計結構如圖4所示。

HMC1022作為新一代磁傳感器,具有靈敏度高(<0.1°)、響應時間快(< 1 μs)、輸出頻率高(1 000 Hz)、體積小及固態封裝等優點[6],電路中IRF7105為HMC1022磁阻芯片提供置位/復位脈沖,HMC1022磁阻傳感器根據地磁場的施加方向,產生兩路差分模擬信號,經過兩路AD620放大電路進行差分放大,得到兩路模擬電壓AD0和AD1,經過微控制器LPC938的10位高精度A/D轉換后獲得數字信號,再進行數字濾波后計算出機器人的角度值,最后將其角度值通過UART串口傳送給MSP430F5418主控制器。UART[7]串口協議由起始字(0×24),角度值高 8位,角度值低 8為,結束同步字(0×55)組成。

圖4 電子指南針硬件結構圖Fig.4 Hardware structure of electronic compass

3 軟件設計

軟件是機器人系統的靈魂,軟件的好壞直接關系到機器人能否穩定的工作,除塵競賽軟件的設計要充分考慮到場地的具體環境,采取有效地路徑規劃。江蘇省機器人大賽除塵比賽的場地模型如圖5所示。

圖5 除塵比賽的場地模型Fig.5 Game site models

3.1 路徑規劃

為了使機器人的遍歷面積達到最大化,要對其運行路徑進行合理的規劃。為此,將場地劃分為圖中的4個房間,機器人的運行路徑為1->2->3->4->3->1。機器人運行策略的流程如圖6所示。

圖6 機器人運行策略流程圖Fig.6 Flow chart of robot running strategy

機器人的運行流程可以分為6個步驟:

1)機器人在1號房間內進行折返式遍歷,從起點出發向圖中左方前進,遇到擋板180°返回,如此反復,直到檢測到2號房間門口的黑線為止,這樣可以確保1號房間的遍歷面積達到最大。

2)機器人進入2號房間后,以圓柱型障礙物為中心,逆時針方向運行一圈即可達到最大遍歷面積。

3)機器人從2號房間出來進入3號房間時,由于4號房間是凸出的平臺,可以直接沿4號房間和斜坡的邊沿運行,進入4號房間,3號房間剩余的面積可以在返回時進行遍歷。

4)由于4號房間是平臺,且必須遍歷平臺的三分之一以上的面積,4號房間的遍歷面積才有效,所以機器人在平臺上遍歷兩圈,首先,機器人沿著墻壁和平臺邊沿在平臺上進行外圈的遍歷,然后在第二次遇到相應的墻壁和平臺邊沿時,進行適當的后退,進行內圈的遍歷達到較大的遍歷面積。

5)機器人從平臺下來以后再次進入房間3,可以根據墻壁和障礙物的信息,對步驟3中剩下的面積進行遍歷。

6)采用沿墻走策略安全回到起始點。

3.2 轉角控制

電子指南針為機器人的運行提供角度信息,在實際應用中,除塵機器人轉動的角度有 45°、90°、180°三種大角度。 電子指南針模塊輸出0°~360°的角度信息,考慮到競賽場地方向的不確定性,通常采用相對角度而非絕對值。即采用獲取當前的角度值,然后預設要轉過的角度,對采集到的角度信息進行查詢比較,當到達或超過預設角度時就停止轉角工作,進入下一步的任務。在調試過程中,發現機器人在轉角的過程中會出現連續打轉的非正常情況。經過分析研究發現,主要原因是信息獲取的抖動以及環境的影響,為此,將具體的預設角度擴展為一個范圍,一般情況下機器人轉動一定角度的原理如圖7所示。將具體的預設角度擴展為一個范圍又引入了新的問題,這是預設角度范圍存在從360°到0°突變,也就是經過360°(0°)的臨界點造成的,預設角跨越臨界角度示意圖如圖8所示。

圖7 轉動一定角度示意圖Fig.7 Schematic diagram of rotation angle

圖8 預設角跨越臨界角度示意圖Fig.8 Schematic diagram of critical angle

角度控制的流程分為以下4個步驟,控制算法實現的程序框圖如圖9所示。

1)循環獲取起始角度信息,當前后兩次獲取信息絕相差小于5°時,得到穩定的起始角度值start_angle.

2)根據當前的角度值start_angle和需要旋轉的角度值,計算得到預設的角度值set_value,

圖9 角度控制流程圖Fig.9 Angle control flow chart

為了避免預設角度值在獲取時被錯過的情況發生,可以在預設角度值的基礎上進行5°的增幅,獲得預設角度范圍angle_little─ angle_big,當angle_little<angle_big說明角度范圍沒有經過 360°─0°度的突變,否則角度范圍存在突變。

3)當angle_little<angle_big時,機器人的預設角度范圍如圖7中①,因為機器人根據相應的方向設定進行旋轉時,存在越過360°~0°的突變,所以又將除預設范圍外的部分分別化為②和③,在程序中將當前的角度值保存為result.

當機器人順時針旋轉時,滿足以下一個條件即可判斷為機器人達到預設角度值:

a)當前角度值result在預設角度范圍內。

b)當機器人的起始位置start_angle在圖7中區域②中,而當前位置result在在圖中7區域③中。

c)當機器人的起始位置start_angle在圖7中區域③中時,而當前位置result>angle_little并且result<start_angle.

當機器人逆時針旋轉時,滿足以下其中一個條件即可判斷為機器人達到預設角度值:

a)當前角度值result在預設角度范圍內。

b)當機器人的起始位置start_angle在圖7區域②中,而當前位置result<angle_little并且result>start_angle.

c)當機器人的起始位置start_angle在圖7區域③中時,而當前位置result在圖7區域②。

4)當angle_little< angle_big時,機器人的角度預設范圍經過360°─0°的突變值,為了區別變化,如圖8要將預設區間分為①和②兩個區間進行考慮,將剩余的區域化為③。然后機器人根據相應的方向設定進行旋轉,并將當前的角度值保存為result.

當機器人順時針旋轉時滿足以下其中一個條件即可判斷為機器人達到預設角度值:

a)當前角度值result在圖8區域①或區域②其中一個預設角度范圍內。

b)當機器人的起始位置start_angle在圖8區域③中,而result>angle_big并且result<start_angle.

當機器人逆時針旋轉時滿足以下其中一個條件即可判斷為機器人達到預設角度值:

a)當前角度值result在圖8區域①或區域②其中一個預設角度范圍內。

b)當機器人的起始位置start_angle在圖8區域③中,而result<angle_little并且result>start_angle.

4 結束語

將該控制策略用于控制機器人轉角,可靠性和穩定性得到了極大的提高,成功率可達到100%,完全可以滿足競賽的要求。在此基礎上設計的除塵競賽機器人具有成本低、可靠性高的特點,在第四屆江蘇省機器人大賽除塵比賽中,除塵面積覆蓋率達到80%以上,并取得一等獎。

[1]李衛,宋弘,李紅嬋.基于ARM的嵌入式服務機器人控制器的研究[J].電子設計工程,2009,17(9):3-5.

LI Wei,SONG Hong,LI Hong-chan.Research on embedded controller for service robot based on ARM [J].Electronic Design Engineering,2009,17(9):3-5.

[2]李小燕,陳帝伊,馬孝義.智能滅火機器人的設計與實現[J].電子設計工程,2010,18(3):51-54.

LI Xiao-yan,CHEN DI-yi,MA Xiao-yi. Design and implementation of intelligent fire-fighting robot[J].Electronic Design Engineering,2010,18(3):51-54.

[3]秦龍.MSP430應用系統開發典型實例[M].北京:中國電力出版社,2005.

[4]沈建華,楊艷琴.MSP430系列16位超低功耗單片機實踐與系統設計[M].北京:清華大學出版社,2005.

[5]趙小川,劉培志,張敏.一種適用于移動機器人的障礙物快速檢測算法及其實現[J].機器人,2011,33(1):198-201.

ZHAO Xiao-chuan,LIU Pei-zhi,ZHANG Min.A fast obstacle detection algorithm formobile robotsand its application[J].ROBOT,2011,33(1):198-201.

[6]戰延謀,王卓柱,陳明.基于HMC1022磁引信的信號采集模塊設計[J].自動測量與控制,2007(26):69-70.

ZHAN Yan-mou,WANG Zhuo-zhu,CHEN Ming.Signal collection module design based on HMC1022 magnetic fusee[J].Automatic Measurement and Control,2007(26):69-70.

[7]王振華,何明華.基于Wishbone總線的UART IP核設計[J].電子科技,2011(2):50-53.

WANG Zhen-hua,HE Ming-hua.A UART IP core for Wishbone bus interface[J].Electronic Science and Technology,2011(2):50-53.

猜你喜歡
指南針除塵預設
失靈的指南針
用針和表就能制成指南針?
觀展指南針
如何鑒別及選購一臺好的石材除塵設備
高爐噴吹焦化除塵灰生產實踐
問題是預設與生成間的橋
對新聞采訪中語用預設的探討
新聞采訪中語用預設探討
除塵器除塵效率測定的不確定度評估
預設留白 生成精彩
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合