国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

機(jī)器人手機(jī)編程系統(tǒng)設(shè)計(jì)

2017-06-19 18:50陳誠(chéng)斌蘇凱雄
關(guān)鍵詞:舵機(jī)藍(lán)牙語(yǔ)句

陳誠(chéng)斌,蘇凱雄,劉 夢(mèng),趙 陽(yáng),邱 瑾

(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350100)

?

機(jī)器人手機(jī)編程系統(tǒng)設(shè)計(jì)

陳誠(chéng)斌,蘇凱雄,劉 夢(mèng),趙 陽(yáng),邱 瑾

(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350100)

設(shè)計(jì)了一種基于手機(jī)Android系統(tǒng)、機(jī)器人ARM核心控制板、藍(lán)牙系統(tǒng)的手機(jī)端編程系統(tǒng)。該系統(tǒng)將機(jī)器人常見(jiàn)控制指令函數(shù)封裝成庫(kù),存儲(chǔ)在機(jī)器人控制器內(nèi)存中,Android手機(jī)端使用自主定義的控制指令,通過(guò)與機(jī)器人的藍(lán)牙連接,將手機(jī)編程的指令傳輸給機(jī)器人,存儲(chǔ)在機(jī)器人的EEPROM中,最后由機(jī)器人調(diào)取完成相應(yīng)控制。該系統(tǒng)控制簡(jiǎn)單,一定程度上擺脫了傳統(tǒng)的電腦編程,利用智能手機(jī)的便捷性,使得機(jī)器人編程變得更加便捷簡(jiǎn)單,并通過(guò)實(shí)驗(yàn)證明了設(shè)計(jì)方法的有效性。

Android;機(jī)器人;手機(jī)編程;藍(lán)牙

0 引言

圖1 控制流程

目前,機(jī)器人產(chǎn)業(yè)蓬勃發(fā)展,于此同時(shí),教育機(jī)器人、玩具機(jī)器人層出不窮,以樂(lè)高為首的國(guó)內(nèi)外機(jī)器人廠商紛紛推出自己的產(chǎn)品。目前市面上主流機(jī)器人產(chǎn)品主要編程采用的是圖形化編程[1]、計(jì)算機(jī)語(yǔ)言編程、實(shí)體編程[2]等編程方式,運(yùn)用在教育、開發(fā)等領(lǐng)域。然而機(jī)器人開發(fā)過(guò)程中,需要掌握一定的計(jì)算機(jī)編程規(guī)范,并且需要擁有電腦、實(shí)體編程開發(fā)套件等,有一定的硬件要求。在現(xiàn)在青少年機(jī)器人創(chuàng)客教育中,人手一臺(tái)電腦進(jìn)行學(xué)習(xí)開發(fā)使得開發(fā)的便攜性受到一定的制約?,F(xiàn)如今Android手機(jī)擁有便攜性強(qiáng)、普及度高、開發(fā)性強(qiáng)、操作簡(jiǎn)單等優(yōu)點(diǎn)。本文借助Android手機(jī)的方便性,主要從軟件方面解決使用手機(jī)上位機(jī)對(duì)機(jī)器人進(jìn)行動(dòng)作的編寫、參數(shù)的整定、路程的規(guī)劃、指令的執(zhí)行等控制。

1 機(jī)器人手機(jī)編程控制系統(tǒng)的總體設(shè)計(jì)

本方案機(jī)器人控制系統(tǒng)采用ARM內(nèi)核的STM32作為主控制器,將底層部分程序封裝成功能庫(kù),與外界僅留下藍(lán)牙通信接口,通過(guò)手機(jī)與機(jī)器人藍(lán)牙直連。整體控制如圖1所示。編程時(shí),通過(guò)藍(lán)牙建立手機(jī)與機(jī)器人的連接,將用戶手機(jī)編程信息傳送并存儲(chǔ)在機(jī)器人EEPROM。當(dāng)接收到手機(jī)發(fā)出的執(zhí)行指令后,機(jī)器人會(huì)掛起藍(lán)牙連接,程序內(nèi)部會(huì)順序讀取EEPROM的數(shù)據(jù),與自建程序指令集進(jìn)行比對(duì),匹配出相應(yīng)的程序或參數(shù)指令予以調(diào)用并執(zhí)行,執(zhí)行完成之后,再次建立連接,等待新一輪的指令。

2 機(jī)器人控制系統(tǒng)硬件設(shè)計(jì)

2.1 UI設(shè)計(jì)

友好的交互方式是解決機(jī)器人與人本身交互的必要環(huán)節(jié)[3]。本設(shè)計(jì)使用TFT觸摸屏作為設(shè)計(jì)的顯示單元,顯示主體如圖2所示。主菜單顯示多程序運(yùn)行界面、電壓檢測(cè)、指南針顯示、陀螺儀顯示、藍(lán)牙通信等功能。該控制器可以存儲(chǔ)多個(gè)程序,用戶可選擇何時(shí)運(yùn)行哪個(gè)程序。擺脫了以往控制器只能存儲(chǔ)單個(gè)程序,需要更換程序就不得不連接重新下載的麻煩。同時(shí)控制器自帶的自檢程序可以檢測(cè)幾乎所有的硬件,可以非常方便地診斷機(jī)器出現(xiàn)的各種問(wèn)題,并將數(shù)據(jù)顯示在UI界面上。

圖2 UI界面

2.2 A/D電壓檢測(cè)

在機(jī)器人設(shè)計(jì)中要實(shí)時(shí)監(jiān)控機(jī)器人的動(dòng)力電源使用情況。本設(shè)計(jì)基于STM32自帶的ADC模塊,由于STM32的ADC只能在0~3.3 V之間測(cè)試,所以,本設(shè)計(jì)以分壓擴(kuò)充量程,采用一個(gè)I/O即PA1作為ADC通道腳使用,又通過(guò)外擴(kuò)展電路擴(kuò)充量程,具體如圖3所示。本設(shè)計(jì)實(shí)現(xiàn)對(duì)0~30的電壓點(diǎn)測(cè)試,并返回電壓值,以伏特為單位,本設(shè)計(jì)主要用于電源電壓的測(cè)試,來(lái)判斷是否需要充電。

圖3 A/D硬件電路圖

2.3 舵機(jī)控制

在機(jī)器人控制中,舵機(jī)控制是其中重要一環(huán)。數(shù)字舵機(jī)將由數(shù)據(jù)線上輸入的方波與自身內(nèi)部產(chǎn)生的一個(gè)標(biāo)準(zhǔn)波形進(jìn)行比較,一般頻率為50 Hz[4]。比較后數(shù)字舵機(jī)控制電機(jī)轉(zhuǎn)動(dòng),兩波形占空比的差值決定了電機(jī)轉(zhuǎn)動(dòng)角度。單片機(jī)的定時(shí)器輸出引腳可輸出一定頻率的方波,即可控制舵機(jī)。本設(shè)計(jì)開放11路I/O口輸出,用標(biāo)準(zhǔn)的舵機(jī)三線接口與外界舵機(jī)連接,硬件連接時(shí),將0~180度舵機(jī)的正負(fù)直接連電源正負(fù),數(shù)據(jù)端連接控制引腳PWM占空比來(lái)控制舵機(jī)轉(zhuǎn)向。

2.4 EEPROM

EEPROM在本設(shè)計(jì)中尤為重要,本設(shè)計(jì)中EEPROM的芯片型號(hào)為24C02。該芯片的總?cè)萘渴?56 B,芯片通過(guò)I2C總線與外部連接[5]。通過(guò)STM32來(lái)實(shí)現(xiàn)對(duì)24C02的讀寫。串行EEPROM是基于I2C-BUS 的存儲(chǔ)器件,遵循二線制協(xié)議,由于其具有接口方便、體積小、數(shù)據(jù)掉電不丟失等特點(diǎn),在儀器儀表及工業(yè)自動(dòng)化控制中得到大量的應(yīng)用。

2.5 藍(lán)牙

藍(lán)牙技術(shù)是短距離低功耗的一種無(wú)線通信技術(shù),其作為一種無(wú)線通信技術(shù)標(biāo)準(zhǔn),采用快速確認(rèn)和調(diào)頻方案,從而實(shí)現(xiàn)藍(lán)牙模塊良好的抗干擾能力和系統(tǒng)穩(wěn)定性,可以完成固定設(shè)備、移動(dòng)設(shè)備之間的短距離數(shù)據(jù)交換。隨著無(wú)線通信技術(shù)的發(fā)展,藍(lán)牙的使用越來(lái)越普遍[6]。本設(shè)計(jì)采用手機(jī)與藍(lán)牙通信,實(shí)現(xiàn)程序編寫后傳送,并且有著參數(shù)回傳顯示的功能。

3 手機(jī)編程系統(tǒng)軟件端設(shè)計(jì)

3.1 機(jī)器人控制端軟件庫(kù)設(shè)計(jì)

機(jī)器人將調(diào)用內(nèi)部程序庫(kù)中對(duì)機(jī)器人開放的端口和功能模塊[1]接口,通過(guò)自身設(shè)計(jì)的特定編程方式將軟件庫(kù)進(jìn)行組合,完成用戶對(duì)機(jī)器人的編程。所以本設(shè)計(jì)將所有機(jī)器人的開放接口、端口以及功能模塊進(jìn)行模塊化封裝,封裝成庫(kù)之后,方便調(diào)用。根據(jù)C語(yǔ)言各類基本語(yǔ)句,封裝了循環(huán)語(yǔ)句、條件語(yǔ)句、開關(guān)語(yǔ)句,并且預(yù)留了輔助控制語(yǔ)句字段,方便手機(jī)端調(diào)用。

在機(jī)器人控制端,本設(shè)計(jì)將以下幾個(gè)部分封裝成函數(shù)庫(kù)以供調(diào)用。

(1)基礎(chǔ)動(dòng)作控制函數(shù),如控制機(jī)器人前后左右運(yùn)動(dòng)、機(jī)器人電壓檢測(cè)采集、機(jī)器人自身方位數(shù)據(jù)采集、機(jī)器人姿態(tài)數(shù)據(jù)采集等。此函數(shù)庫(kù)將機(jī)器人原有的較為復(fù)雜的控制指令以及一些融合濾波算法封裝成庫(kù),實(shí)現(xiàn)其功能,只開放調(diào)用接口。主要用途是用戶在編寫機(jī)器人動(dòng)作控制指令時(shí),方便機(jī)器人控制端調(diào)用函數(shù)庫(kù)來(lái)實(shí)現(xiàn)動(dòng)作實(shí)現(xiàn)。

(2)機(jī)器人外部接口控制函數(shù),如舵機(jī)控制、A/D采集、I/O控制、RS485接口、I2C接口、串口、PWM、外部中斷等函數(shù)庫(kù)。此類函數(shù)庫(kù)主要方便在于使用外設(shè)時(shí),能快速配好使用參數(shù),讀取外設(shè)參數(shù)值或生成所需要的參數(shù)值控制外設(shè),簡(jiǎn)化單片機(jī)外圍功能模塊的配置,方便調(diào)用。

(3)機(jī)器人內(nèi)部常用函數(shù),如延時(shí)、內(nèi)部中斷、EEPROM讀寫、參數(shù)顯示等功能函數(shù)庫(kù)。此類函數(shù)庫(kù)一般是單片機(jī)內(nèi)部實(shí)現(xiàn)使用,可以實(shí)現(xiàn)一些特定的功能。

(4)一些C語(yǔ)言自帶的基本語(yǔ)句、特殊字段、數(shù)組、字符串等,此類庫(kù)函數(shù)較為特殊。由于是通過(guò)手機(jī)編程實(shí)現(xiàn)機(jī)器人控制,不能直接在PC端對(duì)機(jī)器人進(jìn)行函數(shù)編寫,使得一些基礎(chǔ)語(yǔ)句以及數(shù)組等的控制,需要通過(guò)特定的函數(shù)庫(kù)來(lái)實(shí)現(xiàn),才能實(shí)現(xiàn)如循環(huán)語(yǔ)句、條件語(yǔ)句等C語(yǔ)言功能。

3.2 手機(jī)Android端軟件設(shè)計(jì)

手機(jī)端分為兩部分。第一部分是機(jī)器人軟件編寫。手機(jī)程序編寫采用的是順序編寫,編程邏輯與PC端基本相同。手機(jī)端定義了各種不同字段,與機(jī)器人控制端的各個(gè)庫(kù)函數(shù)一一對(duì)應(yīng)。在用戶編寫完程序后,手機(jī)端會(huì)通過(guò)藍(lán)牙將用戶編寫的程序以數(shù)據(jù)編碼的形式傳到機(jī)器人控制端,讓機(jī)器人控制端進(jìn)行操作。第二部分是機(jī)器人的狀態(tài)查詢部分,可以顯示機(jī)器人電壓、各個(gè)外設(shè)的狀態(tài)等。

3.3 手機(jī)編程實(shí)現(xiàn)設(shè)計(jì)

在進(jìn)行手機(jī)編程時(shí),機(jī)器人端主函數(shù)主要實(shí)現(xiàn)與機(jī)器人建立連接的手機(jī)通信以及對(duì)機(jī)器人的EEPROM進(jìn)行讀寫的操作。

圖4 手機(jī)編程程序框圖

首先,機(jī)器人會(huì)與手機(jī)建立連接。之后機(jī)器人端會(huì)循環(huán)等待手機(jī)端發(fā)來(lái)的編程指令。當(dāng)手機(jī)端編程結(jié)束后,機(jī)器人端將按順序接收機(jī)器人編程指令,同時(shí)按順序擦寫EEPROM,將手機(jī)傳來(lái)的指令編碼按行寫入EEPROM中。手機(jī)端傳送完畢時(shí),機(jī)器人端會(huì)暫時(shí)掛起藍(lán)牙通信,與此同時(shí),將EEPROM中的數(shù)據(jù)編碼進(jìn)行解碼,與機(jī)器人的函數(shù)庫(kù)進(jìn)行一一匹配,并且按EEPROM的順序執(zhí)行,達(dá)到手機(jī)編程的目的。完成手機(jī)編程后再繼續(xù)藍(lán)牙連接,等待新的通信指令。其框圖如圖4所示。

4 結(jié)論

本文設(shè)計(jì)了機(jī)器人手機(jī)編程系統(tǒng)的基本構(gòu)架,實(shí)現(xiàn)了機(jī)器人通過(guò)手機(jī)編程進(jìn)行控制。通過(guò)搭建機(jī)器人控制庫(kù)平臺(tái)、機(jī)器人內(nèi)部庫(kù)函數(shù)設(shè)計(jì)、控制系統(tǒng)程序讀取方法三個(gè)方面的重新設(shè)計(jì),可以根據(jù)不同編程水平的人群,不用PC,使用手機(jī)進(jìn)行個(gè)性化的編程設(shè)計(jì),完成特定機(jī)器人動(dòng)作設(shè)定。手機(jī)編程較PC編程更為簡(jiǎn)單、方便,調(diào)試更加簡(jiǎn)潔,較容易入門。

[1] 趙子建,梁建宏,張代兵.模塊化機(jī)器人圖形化編程系統(tǒng)的開發(fā)與研究[J].機(jī)器人技術(shù)與應(yīng)用,2016(1): 32-35.

[2] 康亮環(huán),曹東剛.CONENTITY:一種基于進(jìn)程的自主并發(fā)實(shí)體編程模型及其實(shí)現(xiàn)[J].中國(guó)科學(xué)(信息科學(xué)),2013(1): 126-142.

[3] 楊雪嬌,郝業(yè),阮軍洲.ANDROID平臺(tái)增加專用無(wú)線模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2016,42(7): 64-67.

[4] 和江,文建剛,侯文.基于模糊神經(jīng)網(wǎng)絡(luò)PID算法的舵機(jī)控制與仿真[J].中北大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,37(2): 150-156.

[5] 陳長(zhǎng)生.基于ARM9的IIC串行通信[J].電腦知識(shí)與技術(shù),2010,6(6): 1490-1493.

[6] 呂藝.藍(lán)牙模塊無(wú)線通信設(shè)計(jì)與實(shí)現(xiàn)[J].科技經(jīng)濟(jì)導(dǎo)刊,2016(8): 31.

Design of robot mobile programming system

Chen Chengbin, Su Kaixiong, Liu Meng, Zhao Yang, Qiu Jin

(School of Physics and Information Engineering, Fuzhou University, Fuzhou 350100, China)

A mobile phone terminal programming system based on mobile phone Android system, robot ARM core control panel and Bluetooth system is designed. In the system, the common robot control command functions are packaged into a library, which is stored in the memory of a robot controller. The Android mobile terminal uses its own defined control instruction, to transmit mobile phone programming commands to the robot by connecting with the robot’s Bluetooth. The commands are stored in the EEPROM of robot. And finally, the robot will complete corresponding control. The control system is simple, and get rid of the traditional computer programming to some extent, the robot programming becomes more simple and convenient by using the convenience of smart phones. Through the experiment,the validity of the proposed method has been proved.

Android; robot; mobile phone programming; Bluetooth

TP311

A

10.19358/j.issn.1674- 7720.2017.11.017

陳誠(chéng)斌,蘇凱雄,劉夢(mèng),等.機(jī)器人手機(jī)編程系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2017,36(11):57-59.

2017-01-05)

陳誠(chéng)斌(1992-),男,碩士,主要研究方向:智能硬件、數(shù)字通信。

蘇凱雄(1959-),男,碩士,教授,主要研究方向:無(wú)線通信、衛(wèi)星通信、數(shù)字電視廣播、多媒體應(yīng)用系統(tǒng)。

劉夢(mèng)(1996-),女,本科,主要研究方向:數(shù)字信號(hào)與處理。

猜你喜歡
舵機(jī)藍(lán)牙語(yǔ)句
藍(lán)牙音箱的直線之美
重點(diǎn):語(yǔ)句銜接
含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
簡(jiǎn)單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
基于云模型的舵機(jī)同步控制
我喜歡
泰州市| 沾化县| 蒙山县| 汤阴县| 玛曲县| 江西省| 财经| 石城县| 宜良县| 镇安县| 盖州市| 长丰县| 郑州市| 蚌埠市| 光山县| 商河县| 东乡县| 义马市| 乌兰浩特市| 连江县| 陵川县| 博野县| 玛沁县| 安乡县| 宝清县| 河西区| 宁陵县| 五大连池市| 富阳市| 旺苍县| 浙江省| 上思县| 稷山县| 闵行区| 禹城市| 泸西县| 高雄市| 出国| 阿克陶县| 琼结县| 班戈县|