謝 云, 羅梓華
(廣東工業大學 自動化學院, 廣東 廣州 510006)
實驗技術與方法
Android手機控制球形機器人實驗設計與實現
謝 云, 羅梓華
(廣東工業大學 自動化學院, 廣東 廣州 510006)
鑒于工程教育專業認證對本科學生“解決復雜工程問題”的要求,綜合球形機器人運動控制原理、藍牙通信、JAVA程序設計、單片機軟硬件設計、電機驅動和機械結構設計等技術,開發了Android手機遙控的自主運動球形機器人實驗平臺,實現了預期實驗設計目標。
球形機器人; 實驗設計; 工程教育專業認證; 復雜工程問題
現代工程發展的綜合性、多樣性和跨學科交融性,對我國高校工科專業在學科交叉、課程設置及其內涵、面向工業界等方面提出了新的更高的要求[1-2]。工程教育專業認證是提高中國高等工程教育的抓手。《中國工程教育專業認證協會工程教育認證標準(2015版)》強調工程類本科專業對“解決復雜工程問題”的要求[3-4]。本科階段工科教育以模擬“解決復雜工程問題”為載體,根據成果反向設計理念,按照核心能力要求,以現代實際的成熟的復雜工程問題研發過程典型化為載體,轉化為系統化、可操作的教學項目,其重點是“綜合、實踐”。
為此,本文結合學生畢業設計工作,開發基于Android系統的手機控制球形機器人實驗項目。項目綜合了球形機器人運動原理、藍牙通信、JAVA程序設計、單片機軟硬件設計、電機驅動和機械結構設計等技術,及機械和電子的各工藝流程等,實現了以“解決復雜工程問題”為載體的實驗目標、實驗過程與結果。
為了便于學生理解球形運動、藍牙通信和機械結構的基本原理,更好地運用JAVA程序設計和單片機軟硬件設計技術開發符合要求的應用程序,首先設計了一個內部部件摩擦帶動外部球殼運動的球體結構[5-7],球內的單片機和兩電機控制重心保持平衡,通過陀螺儀控制球形機器人的姿態;其次結合手機的觸屏功能、藍牙功能、視覺和重力感應等,通過JAVA編程實現球形機器人的通信和運動控制。并且基于該研究結果制訂相應的實驗方案,提供本科生常規實驗、綜合性與設計性實驗及研究性實驗。具體包括以下2個實驗設計目標:
(1) 由STC12C5A60S2單片機、兩電機驅動、5層球內部件、鋸齒內外傳動等構成的球體子系統的半開放實驗。為了便于學習球形運動算法和單片機編程技術在實際中的應用,開放算法設計部分,固化硬件電路和結構部分,為學生提供機器人運動控制應用研究的平臺。
(2) 基于Android系統采用JAVA編程,實現球形機器人的通信、姿態和運動控制的實驗內容,作為編程平臺開放給學生,學習對手機的觸屏、藍牙、視覺和重力感應等功能的使用,增強學生結合應用需求思考和解決實際問題的能力。
2.1 球形機器人運動原理
在各種運動方式中,球形滾動有顯著的特點:運動全向性(轉彎半徑可以為零)、摩擦力小、適應崎嶇不平的地面(不會發生傾倒現象),球面外殼可保護內部所有部件,結構相對簡單、重量輕,系統可靠性好等。
由于球體的運動不能借助外力,只能依靠內部驅動。主要有改變球體內部質心位置和內部部件摩擦帶動外部球殼運動兩種驅動方式。本文采用機械結構設計相對簡單的第二種方式。但其難點在于內部小車的姿態控制。
該結構采用內部小車摩擦帶動外部球殼滾動。通過設計球體的重心,讓球形機器人在靜止時保持平衡。通過陀螺儀控制球體的姿態,讓球形機器人在行進中保證其方向。球體內部兩電機同時轉動,可以控制小球的前進與后退。兩電機一正一反或者一快一慢轉動,可以控制小球的方向改變。
2.2 球形機器人內部結構設計
首先需要解決的是內部組件的重心問題。球體內質量較大的主要是電池與電機。但試驗表明,電池與電機的質量不足使圓球的重心穩定。因此,在電機與電池安放得盡量低的前提下,增加2片較重的鐵片在電機底部,保證圓球重心穩定。
球體的結構決定著圓球軌跡控制的精度。球體內部機械結構從上至下為5層, 如圖1所示。第一層是起支撐作用的頂端軸承,因滾動時要盡量減小與外殼的摩擦,故設計成光滑的圓盤狀。第二層是硬件電路PCB板、第三層是兩塊鋰電池、層次間用六角螺絲柱隔離。第四層為動力層,2個固定在軸套固定架上的直流電機,通過齒輪帶動輪胎轉動,輪胎摩擦外殼帶動整個球體滾動。第五層為穩定重心的配重層。經過試驗,普通外形的小輪胎帶動外殼運動的能力較差,圓球滾動速度受到很大的限制。因此,輪胎做成鋸齒狀,增大與外殼之間的摩擦。

圖1 圓球內部機械結構
2.3 球內硬件電路
球內硬件電路由單片機MCU模塊、藍牙模塊、電機驅動模塊、電源模塊和三色LED組成,如圖2所示。采用宏晶公司的STC12C5A60S2單片機作為圓球的主控芯片。藍牙模塊采用2.0版本民用級別的HC-05芯片,調制度為2 Mbit/s~3 Mbit/s、內置2.4 GHz天線、無線數字發射與接收、3.3 V 工作電壓、具有PIO0-PIO11、AIO0、AIO1、USB、PCM、UART及SPI接口。

圖2 球體控制電原理框圖
采用ST公司的帶二極管的推挽式四通道驅動器L293DD。每兩個通道可以構成一個H橋,四通道驅動兩電機[8]。其操作電壓可達36 V,連續輸出電流可達600 mA/通道,峰值電流可達1.2 A/通道。
為了增大圓球的續航時間,采用2塊3.7 V的鋰電池并聯來為圓球所有電子元器件供電。用MC34063作為升壓芯片,設計了5 V升壓電路為單片機供電,6 V升壓電路為電機驅動供電。此外,增加2個三色LED,為球形機器人提供閃爍功能,便于實驗調試,又有視覺沖擊,提高學生學習興趣。
2.4 系統軟件設計思想
2.4.1 Android上位機程序設計
使用基于Android系統的手機作為上位機來控制球形機器人的運動,通過手機界面生成響應的操作指令發送給藍牙模塊。
藍牙程序主要使用BluetoothAdapter類、BluetoothDevice類、BluetoothSocket類、InputStream 類和OutputStream 類等。系統定義10個字節字符串的通信協議,以控制球形機器人的直線行走、左轉彎、右轉彎、左旋轉、右旋轉、三色LED發光等功能。這10個字節的數組構成定義:字節0為‘L’是LED控制指令,‘M’是電機控制指令;字節1和2為方向高低位,字節3為速度位,字節4和5為紅燈高低位,字節6和7為綠燈高低位,字節8和9為藍燈高低位。
設計一個360°搖桿來控制圓球的各個方向的動作。既美化界面UI又方便操作。手機搖桿如圖3所示。圖中有2個圓心重合的圓。灰黑色部分為固定不動的搖桿背景,表示搖桿的活動范圍。中間彩色部分為可活動的搖桿。

圖3 搖桿
搖桿程序思路如下:
首先,通過搖桿的坐標與觸屏點的坐標得到所形成的角度θ;然后,根據角度以及已知所在圓半徑r,算出搖桿所在灰色圓形上做圓周運動的當前坐標(X,Y):X=r cos θ,Y=r sinθ 。搖桿在灰黑色圓形內做圓周運動。程序中需要對以下內容進行判斷:做圓周運動的大小,應與灰色區域的半徑相同;觸屏事件中應首先判定用戶觸屏的位置是否在灰黑色區域中,如果不在,需獲取搖桿與觸屏點的角度θ,再計算搖桿的坐標(X,Y);如果在,只需將搖桿位置跟隨用戶點擊位置;在觸屏事件中,當用戶手指離開屏幕后,搖桿位置應恢復到初始的位置。
重力感應依靠手機的加速度傳感器(accelerometer)來實現。Android系統中的所有傳感器均須通過SensorMannager來訪問[9]。調用getSystemService(SENSOR_ SERVICE)可獲得手機的傳感器管理對象。用Sensor-EventListener接口 onSensorChanged(SensorEvent event)捕獲手機傳感器的狀態。加速度傳感器的接口G-sensor,返回x、y、z三軸的加速度數值。
2.4.2 單片機下位機程序設計
用單片機串口的收發程序實現HC-05藍牙模塊的發送與接收。藍牙接收程序除了與Android上位機通信外,還能用于下載程序,為實際應用時圓球的外殼實現完全密封提供了可能。
球形機器人的運動方式有直線行走、左轉彎、右轉彎、旋轉等基本動作。通過L293DD驅動電機的運行來完成上述動作。球形機器人的左轉、右轉共用5個擋位,對應不同的轉彎幅度。原地旋轉可在狹小的空間內靈活運動。通過給電機驅動模塊的EN1、EN2引腳輸入PWM信號來控制電機的速度。PWM信號用軟件模擬的方式來產生。
圓球內部2個三色LED,通過軟件控制每種顏色輸入電壓的大小,理論上可變換出1 600 萬種顏色。每種顏色LED的輸入電壓用IO口模擬PWM來實現。
2.5 Android手機控制球形機器人實驗
2.5.1 實驗目的
理解球形機器人的結構原理與運動原理,掌握單片機編程技術,學習電機控制與球形機器人運動原理;掌握JAVA編程技術,了解Android系統及其模擬器,研究智能手機的藍牙通信和重力感應等應用技術。
2.5.2 實驗內容
實驗平臺可進行的實驗內容主要有[10]:
(1) 單片機最小系統:對三色LED的色彩顯示編程,對藍牙模塊的應用編程;
(2) 電機驅動與機器人運動控制:了解電機驅動芯片L293DD,依據圖2確定P1口與L293DD的IN1-4、EN1-2的具體連接情況,編程實現表1中的各種工作狀態;對EN端編程模擬PWM信號,產生不同運動速度;
表1 L293DD電機驅動邏輯表EN左電機控制輸入IN1IN2右電機控制輸入IN3IN4左電機工作狀態右電機工作狀態機器人工作狀態PWM0000停止停止停止PWM0110正轉反轉右轉PWM1001反轉正轉左轉PWM0101正轉正轉前行(3) 上位機軟件編程與調試:JAVA編程各工程,各工程加入到Eclipes開發環境中;啟動Android模擬器,在模擬器上運行該工程;將手機連接到電腦上,運行整個工程項目,在手機上出現各控制界面;點擊各個按鈕,保證運行正常;
(4) 整體功能調試與運行:Android手機藍牙功能打開,與機器人配對;拖動右邊搖桿使圓球進行運動,界面提示當前運動的狀態為前進/左轉/右轉,機器人能正確執行上述動作;切換到重力控制模式,傾斜手機控制機器人運動;用滑動條來控制速度,從最低檔調節到第5檔,使速度遞增。
2.5.3 研究性實驗拓展
可拓展的研究性實驗由學生自主進行[11]。實驗平臺可支持在硬件系統不變下的實驗內容拓展,如機器人配合LED色彩的方向校準、原地旋轉與定位、速度精確變化,以及單機舞步規劃與多機聯動等。
本文結合學生畢業設計,開發基于Android系統的手機控制球形機器人實驗項目。該項目模擬解決實際復雜工程問題的研發步驟,體現了工程教育專業認證強調的“內涵”。目前,在相關“質量工程”項目的資助下正準備引入本科實驗教學,經過部分學生和教師的試運行,受到好評。實踐表明:這種引導本科畢業設計參與實驗室建設的方式,既能讓學生有機會參與具體實踐,又可以開發符合工程教育更高要求的跨學科實驗項目,使教與學進入充分互動的良性循環。
References)
[1] 姜嘉樂. 提升我國高等工程教育質量的若干戰略思考:華南理工大學王迎軍校長訪談錄[J].高等工程教育研究,2013(1):1-7.
[2] 余天佐,劉少雪,楊聚鵬.如何迎接專業認證:對美國伍斯特理工學院認證歷程的考察[J].高等工程教育研究, 2015(2):121-127.
[3] 中國工程教育專業認證協會. 中國工程教育專業認證協會工程教育認證標準(2015版)[EB/OL].[2016-06-20].http://ceeaa.heec.edu.cn/column.php?cid=17.
[4] 陳關龍. 復雜工程問題的理解與教學實施案例[C]//2013—2017年教育部高等學校電子信息類專業教學指導委員會第三次工作會議第三屆全國高等學校電子信息類專業人才培養高峰論壇.成都:2015.
[5] 趙勃,孫立寧,李滿天.球形機器人研究綜述[J].機械與電子,2010(9):63-68.
[6] 李團結,劉衛剛.風力驅動球形機器人動力學[J].航空學報, 2010,31(2):426-430.
[7] Armour R H,Vincent J F V. Rolling in nature and robotics:a review[J].Journal of Bionic Engineering,2006,3(4):195-208.
[8] 王淑芳.電機驅動技術[M].北京:科學出版社,2008.
[9] 許曉寧.Java Native Interface應用研究[J].計算機科學,2006,16(10):295-296,299.
[10] 羅梓華.Android手機控制的電子圓球[D].廣州:廣東工業大學,2015.
[11] 王秀華. 研究性教學課程評價調查研究[J].中國大學教學,2015(8):69-72.
Design and realization of experiment on spherical robot controlled by Android mobile phone
Xie Yun, Luo Zihua
(College of Automation,Guangdong University of Technology,Guangzhou 510006,China)
In view of the requirements for the authentication of Engineering Education speciality for undergraduate students to “Solve complex engineering problems,” an experimental platform for the autonomous spherical robot controlled by Android smart phone is developed by using the comprehensive spherical robot motion principle, Bluetooth communication, JAVA programming, MCU (microcontroller unit) software and hardware design, motor drive and mechanical structure design, etc. The results show that the expected experimental design objectives are achieved.
spherical robot; experimental design; authentication of Engineering Education speciality; complex engineering problems
10.16791/j.cnki.sjg.2016.12.010
2016-06-27
2014廣東省高等學校“質量工程”專項資金項目“電子系統設計實驗教學示范中心”(粵財教[2014]130號)
謝云(1964—),女,江西贛州,博士,教授,主要研究方向為通信與信息處理、智能機器人等.
E-mail:xieyun@gdut.edu.cn
TP242.6;G642.423
: A
: 1002-4956(2016)12-0036-03