基於手持裝置的智慧球研究與設計論文

基於手持裝置的智慧球研究與設計論文

  球形運動裝置是最近十幾年出現的一種新型移動結構形式,它的典型特徵是具有一個球形外殼且將其運動機構、控制系統、電源等都包含在球形外殼的內部,透過重心偏移、動量守恆等內部驅動方式實現可控運動。球形運動裝置具有良好的動靜態穩定性和運動靈活性,能夠在比其直徑略大的狹窄彎曲空間內運動,即使與其他物體發生碰撞或跌落,也可以自動恢復穩定狀態,不會像輪式、足式、履帶式等傳統移動裝置那樣發生“翻車”問題,因此在複雜未知環境中應用優勢顯著。

  1相關工作

  一般認為第一個真正的球形運動裝置是由Halme 等於1996年設計完成的,這個球形裝置利用一個可在球殼內滾動的帶有支撐杆的內驅動機構打破系統的平衡,實現裝置的全向運動[1]。Halme等人分析了該裝置的越障、爬坡等運動效能,但這個球形運動裝置的運動可控性與穩定性較差。Bicchi等設計的球形運動裝置是放置一輛雙輪小車於空球殼中,利用小車運動打破裝置內部的平衡從而使裝置運動,他們只做了簡單的模擬,沒有實驗結果。Bhattacharya 等設計了一個具有對稱結構的球形運動裝置,與球殼相連線的兩個相互垂直的電機驅動轉子高速旋轉,由於角動量守恆導致球殼反向轉動,由此產生裝置的運動,模擬和實驗結果表明該球形裝置的運動精度比較差[2]。Mukherjee等提出了一種球形運動裝置的概念設計,其內部從球心位置伸出4根輻條,盤式電機控制重物沿著輻條運動改變球的重心,實現球形運動裝置的全方位運動,球殼內部的支撐腿和攝像機可從球殼內伸出,完成戰場偵察、環境探測等任務[3]。Javadi等設計的球形運動裝置也是透過調整4根輻條上的配重來改變球形運動裝置的重心,但輻條的佈置方式不同,他們只在很小的運動範圍內進行了模擬和實驗[4]。2004年瑞典的`Rotundus 公司推出了用於軍事偵察與監視用的Rotundus 系列球形運動裝置。Rotundus的內部設有一根中軸,中軸上懸掛一個擺塊,在電機的驅動下,擺塊向前(或向後)擺動時球形運動裝置滾動前進(或後退),擺塊向側方移動時則進行轉向[5]。Rotundus內部可安裝相機、無線電通訊裝置等部件,可在一定距離範圍內為使用人員採集和傳輸特定區域的資訊。孫漢旭等設計了一個類似萬向節結構的全方位運動球形裝置,透過兩個垂直軸上佈置的電機調整配重位置的方式來實現球形裝置的全方位運動。戰強等設計了兩種不同結構的、直線運動與轉彎運動解耦的球形運動裝置,透過兩個電機分別驅動重物實現重心偏移,使球形運動裝置實現直線和轉彎運動[6]。

  2 智慧球控制系統

  智慧球控制系統是基於Android和藍芽功能的手機終端進行通訊,手機終端安裝了應用控制軟體, 可以進行資料傳輸。利用手機藍芽遙控智慧球的行走,以藍芽手機作為客戶端,智慧球上的藍芽模組作為服務端,透過串列埠模擬協議進行通訊。它具有程式設計靈活、自由、易於控制、穩定效能好、擴充套件容易等優點。實現了智慧球的前行、倒退、左轉、右轉和停止等功能,將手機變身為遙控器,為人們的帶來方便。

  2.1 手機客戶端設計

  手機客戶端設計採用的是Eclipse開發環境,Eclipse是一個開放原始碼的、基於Java的可擴充套件開發平臺,還需要為Eclipse安裝一個開發J2ME程式的EclipseMe外掛,為了在電腦上方便模擬自己開發的程式,還需要安裝無線開發工具WKT。

  2.1.1 初始化本地藍芽

  初始化本地藍芽裝置,建立LocalDevice類,包括取得本地裝置例項、藍芽名稱、設定發現模式、獲得發現代理。

  2.1.2 搜尋藍芽裝置

  搜尋周圍藍芽裝置,每發現一個裝置就呼叫監控介面deviceDiscovered(),在這個介面中新增自己的程式碼,把搜尋到的裝置記錄在List列表中,搜尋裝置完成呼叫介面inquiryCompleted()。完成搜尋後,把搜尋到的所有裝置顯示出來。

  2.1.3 搜尋藍芽服務

  在識別列表List中,選擇一個需要的裝置,開始搜尋服務,發現服務時自動呼叫介面servicesDiscovered(),並把服務記錄在serviceRecord,服務搜尋完成呼叫介面serviceSearchCompleted()。

  2.1.4 建立連線

  根據上一步搜尋到服務記錄serviceRecord,建立連線要獲得URL,呼叫介面函式serviceRecord.getConnectionURL(),開啟連線Connector.open(url),並開啟資料流openDataInputStream()和openDataOutputStream(),就可接收和傳送資料。

  2.1.5 監聽鍵盤事件

  由Canvas 類監聽按鍵事件,當有按鍵按下時,自動呼叫keyPressed(),並傳入按鍵編碼,發出控制訊號,控制智慧球的運動。

  2.2 智慧球服務端設計

  智慧球服務端的設計包括:藍芽串列埠通訊設計、微控制器程式設計設計、電源電路設計和直流電機驅動設計。下面介紹藍芽串列埠通訊設計和微控制器程式設計設計。

  2.2.1 串列埠通訊設計

  藍芽模組與微控制器之間的通訊使用虛擬串列埠實現的,串列埠為標準配置:波特率9600、檢驗位NONE、資料位8 位、停止位1 位。中斷接收函式只要是負責接受藍芽傳送過來的資料。

  2.2.2 微控制器程式設計設計

  由於無線接收器和微控制器通訊的方式是串列埠,為了是智慧球能迅速響應上位機發送來的訊號,微控制器使用串列埠中斷的方式,在main函數里面主要就是處理中斷接收到的資料,並控制電機的轉動。

  3 智慧球運動系統

  智慧球三維實體模型如圖1所示。該智慧球基於重心偏移的原理實現可控運動,其內部結構主要包括小車、電機、中空軸、重塊和攝像頭。其結構關係為:中空軸透過兩端的兩個滾動軸承連線在球殼上,並作為支架安裝其他4個部件。小車固定在中空軸上,其兩個車輪與球殼呈滾動摩擦接觸;驅動重塊的電機也固定在中空軸上,其輸出軸端固定連桿,連桿的末端固定有重塊,當電機旋轉時可驅動重塊繞電機軸左右擺動;就動力學控制來講,智慧球的運動學控制具有計算量少、實時性好等優點,但也存在動態特性得不到保證的缺點。採用旋量理論可推導其速度雅可比矩陣實現其速度級運動學逆解,利用可控性李代數證明該球形智慧球系統是可控的。

  智慧球的運動原理是:小車沿球殼內壁爬升帶動內部機構轉過一個角度,使智慧球整體產生重心偏移,從而驅動智慧球進行直線運動。當重心偏移力矩和滾動摩擦力矩平衡時,智慧球勻速前進,此時內部驅動機構與地面保持一個恆定的角度。

  智慧球的轉彎運動是透過電機驅動重塊在垂直於直線運動方向上擺動來實現的。當電機驅動重塊轉過一個角度時,會產生一個側向偏心力矩,使球傾斜一個角度,此時與直線運動相組合即可形成智慧球的轉彎運動。

  圖1 智慧球結構

  4實驗分析

  為了驗證結構設計的合理性及速度逆解的正確性, 對智慧球進行了圓形軌跡運動實驗, 該智慧球的直徑為200 mm。實驗過程中利用單目CCD攝像機拍攝球形智慧球的位置影象, 並透過視覺處理手段獲得其型心位置,然後將實驗測得的運動軌跡資料與理論資料進行比較。圓形軌跡運動實驗方法是以不同的轉彎半徑進行圓形軌跡運動,考察其圓形軌跡運動的穩定性和最小轉彎半徑。實驗中智慧球執行軌跡直徑為1. 6 m,執行過程中智慧球偏移理想軌跡的最大誤差約為0. 05 m,這是由於地面不平所導致的。實驗結果證明了智慧球可以實現圓周運動,智慧球的圓形軌跡運動誤差在軌跡直徑長度的5 %以內。

  5 結論

  本文根據球形運動裝置控制的特點,透過實驗發現當對智慧球採用開環控制時,由於系統的實際執行軌跡無法測量,而只能透過積分的方式獲得,因此當受到外界干擾時,智慧球的運動軌跡會受到較大的影響。為了使球形智慧球以較高的精度運動,對其進行包括動力學在內的閉環控制系統,有效地對智慧球進行運動構件的速度、加速度或位置的控制,並把智慧球與手持裝置藍芽遙控技術整合為一體化智慧球形運動裝置。

  參考文獻

  [ 1 ] Halme A ,Schonberg T ,Wang Y.Motion cont rol of a spherical mobile robot [C] ∥4t h IEEE International Work2 shop on Advanced Motion Cont rol AMC’96. 1996 : 100-106.

  [ 2 ] Bicchi A ,Balluch A ,Prattichizzo D ,et al . Int roducing t he“SPHERICL E”: an experimental testbed for research and teaching in nonholonomy [ C ] ∥Proceedings of the 1997 IEEE International Conference on Robotics and Au2tomation. 1995 :2620-2625.

最近訪問