控制終端Android手機(jī)響應(yīng)搖桿事件控制移動(dòng)機(jī)械手操作。同時(shí)借助OMAP4430異構(gòu)多核處理器在視頻編解碼上的強(qiáng)大優(yōu)勢(shì)實(shí)現(xiàn)了對(duì)720P視頻的實(shí)時(shí)無線傳輸。為了提高移動(dòng)機(jī)械手的控制精度和相應(yīng)速度,采用直流馬達(dá)驅(qū)動(dòng)機(jī)械手運(yùn)動(dòng)并采用實(shí)現(xiàn)180級(jí)別角度和速度的7個(gè)AX-12馬達(dá)來提供更大的力矩。最后通過實(shí)驗(yàn)來驗(yàn)證本次設(shè)計(jì)的可行性。
教你打造自己專屬的可視化遠(yuǎn)程遙控移動(dòng)機(jī)械手
發(fā)布時(shí)間:2015-03-03 責(zé)任編輯:sherryyu
【導(dǎo)讀】本篇文章說的是采用Android手機(jī)為控制中心,搖桿手柄為輸入設(shè)備實(shí)現(xiàn)了移動(dòng)機(jī)械手的可視化實(shí)時(shí)操作。同時(shí)利用OMAP4430異構(gòu)多核處理器內(nèi)部協(xié)處理核Cortex-M3、IVA-HD 多媒體引擎加快720P H264視頻編碼效率,提高了無線視頻服務(wù)的實(shí)時(shí)性的可視化遠(yuǎn)程遙控移動(dòng)機(jī)械手設(shè)計(jì)。
機(jī)械手在現(xiàn)代社會(huì)已經(jīng)廣泛應(yīng)用于制造業(yè),航空航天業(yè),軍事業(yè),同時(shí)也將進(jìn)入服務(wù)業(yè),移動(dòng)機(jī)械手是近年來迅速發(fā)展起來的高新技術(shù)密集的機(jī)電一體的產(chǎn)品。隨著社會(huì)生產(chǎn)技術(shù)的飛速發(fā)展,移動(dòng)機(jī)械手的應(yīng)用領(lǐng)域不斷擴(kuò)展。從自動(dòng)化生產(chǎn)線到海洋資源的探索,乃至太空作業(yè)等領(lǐng)域,機(jī)械手已成為高技術(shù)領(lǐng)域內(nèi)具有代表性的戰(zhàn)略目標(biāo)。然而就目前的機(jī)械手技術(shù)水平而言,機(jī)械手在信息的獲取、處理及控制能力等方面都是有限的,對(duì)于復(fù)雜的工作任務(wù)及多變的工作環(huán)境,機(jī)械手的能力更顯不足。隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來、嵌入式技術(shù)及軟件技術(shù)的快速發(fā)展,越來越多的高性能嵌入式芯片的出現(xiàn),嵌入式操作系統(tǒng)的快速發(fā)展,并且應(yīng)用到嵌入式處理器中,促進(jìn)了移動(dòng)機(jī)械手向更加向智能化方向發(fā)展。本文以TI公司的OMAP4430異構(gòu)多核處理器為核心,Android手機(jī)為控制終端,實(shí)現(xiàn)了一款基于搖桿手柄操作的可視化移動(dòng)機(jī)械手。
控制終端Android手機(jī)響應(yīng)搖桿事件控制移動(dòng)機(jī)械手操作。同時(shí)借助OMAP4430異構(gòu)多核處理器在視頻編解碼上的強(qiáng)大優(yōu)勢(shì)實(shí)現(xiàn)了對(duì)720P視頻的實(shí)時(shí)無線傳輸。為了提高移動(dòng)機(jī)械手的控制精度和相應(yīng)速度,采用直流馬達(dá)驅(qū)動(dòng)機(jī)械手運(yùn)動(dòng)并采用實(shí)現(xiàn)180級(jí)別角度和速度的7個(gè)AX-12馬達(dá)來提供更大的力矩。最后通過實(shí)驗(yàn)來驗(yàn)證本次設(shè)計(jì)的可行性。
控制終端Android手機(jī)響應(yīng)搖桿事件控制移動(dòng)機(jī)械手操作。同時(shí)借助OMAP4430異構(gòu)多核處理器在視頻編解碼上的強(qiáng)大優(yōu)勢(shì)實(shí)現(xiàn)了對(duì)720P視頻的實(shí)時(shí)無線傳輸。為了提高移動(dòng)機(jī)械手的控制精度和相應(yīng)速度,采用直流馬達(dá)驅(qū)動(dòng)機(jī)械手運(yùn)動(dòng)并采用實(shí)現(xiàn)180級(jí)別角度和速度的7個(gè)AX-12馬達(dá)來提供更大的力矩。最后通過實(shí)驗(yàn)來驗(yàn)證本次設(shè)計(jì)的可行性。
1 硬件平臺(tái)
本次設(shè)計(jì)的可視化遠(yuǎn)程遙控移動(dòng)機(jī)械手硬件部分主要分為OMAP4430開發(fā)板、Android手機(jī)、車體及機(jī)械手馬達(dá)三部分。
1.1 OMAP4430開發(fā)板
OMAP4430 是TI公司的實(shí)現(xiàn)了高性能和低功耗完美平衡的Soc,其內(nèi)部主要包括四個(gè)處理引擎:基于ARMv7l指令集的SMP Cortex-A9 1Ghz雙核處理器,可編程多媒體硬件加速引擎IVA-HD及協(xié)處理核Cortex-M3,高性能的圖像顯卡Power SGX540及提供圖像視頻并行計(jì)算的ISP。其中IVA-HD多媒體加速引擎內(nèi)部有7個(gè)針對(duì)各種視頻編解碼而設(shè)計(jì)的加速引擎,能夠?qū)崿F(xiàn)對(duì)720P視頻的實(shí)時(shí)編解碼。其內(nèi)部示意圖如圖1所示:
圖1 OMAP4430內(nèi)部引擎示意圖
1.2 Android平臺(tái)
Android是一個(gè)以Linux為基礎(chǔ)的開放源代碼移動(dòng)設(shè)備操作系統(tǒng),主要用于移動(dòng)設(shè)備,由Google成立的Open Handset Alliance持續(xù)領(lǐng)導(dǎo)與開發(fā)中。Android具有開源、良好的可移植性等成為全球第一大智能手機(jī)操作系統(tǒng)。本次設(shè)計(jì)Android手機(jī)采用聯(lián)發(fā)科Cortex-A7處理器,支持無線網(wǎng)卡AP熱點(diǎn),支持H264硬解碼。
1.3 移動(dòng)機(jī)械手
移動(dòng)機(jī)械手由運(yùn)動(dòng)小車和機(jī)械手組成,運(yùn)動(dòng)小車負(fù)責(zé)地面移動(dòng),而機(jī)械手通過旋轉(zhuǎn)6個(gè)馬達(dá)關(guān)節(jié)來完成捉取地面目標(biāo)任務(wù)。
1.3.1 移動(dòng)小車
利用高性能MCU ATmega128L芯片通過傳感器采集當(dāng)前的狀態(tài)及驅(qū)動(dòng)DC馬達(dá)進(jìn)行移動(dòng), ATmega128單片機(jī)為基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器。由于其先進(jìn)的指令集以及單周期指令執(zhí)行時(shí)間,ATmega128單片機(jī)的數(shù)據(jù)吞吐率高達(dá)1MIPS/MHZ,小車采用4輪驅(qū)動(dòng)車輪形移動(dòng)機(jī)器人,配有4個(gè)DC直流馬達(dá)及多種傳感器,具有卓越的旋轉(zhuǎn)能力和穩(wěn)定性好的特點(diǎn),小車控制框架如圖2所示:
圖2 小車運(yùn)動(dòng)控制示意圖
[page]
1.3.2 機(jī)械手
機(jī)械手由6個(gè)AX-12馬達(dá)組成,AX-12馬達(dá)具有180級(jí)別位置和速度控制、位置角度和速度的實(shí)時(shí)反饋、內(nèi)部溫度或力矩超出范圍時(shí)給予警告提示等優(yōu)點(diǎn)。第一個(gè)馬達(dá)的關(guān)節(jié)負(fù)責(zé)機(jī)械手360度旋轉(zhuǎn),第二個(gè)關(guān)節(jié)的同時(shí)控制兩個(gè)馬達(dá),這個(gè)關(guān)節(jié)在提起和放下物體時(shí)提供了必須的扭矩,因此通過控制兩個(gè)馬達(dá)補(bǔ)充扭矩大小的不足,而第三第四個(gè)馬達(dá)提供了機(jī)械手捉取目標(biāo)時(shí)前伸和后縮所需的力矩,第五個(gè)馬達(dá)則是手腕旋轉(zhuǎn)馬達(dá),用于旋轉(zhuǎn)最后一個(gè)馬達(dá)的空中角度。最后一個(gè)馬達(dá)的旋轉(zhuǎn)將推動(dòng)夾子張開和閉合來捉取地表目標(biāo)。通過這6個(gè)馬達(dá)的機(jī)械臂,可向所有方向移動(dòng)并進(jìn)行多樣化的動(dòng)作實(shí)驗(yàn)。
1.4 系統(tǒng)硬件框架
圖4 系統(tǒng)硬件框架圖
2 軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)包括Android手機(jī)應(yīng)用、OMAP4430開發(fā)板Linux控制服務(wù)端和無線視頻服務(wù)軟件設(shè)計(jì)、AVR單片機(jī)程序設(shè)計(jì),系統(tǒng)軟件框架如圖5所示。
Android應(yīng)用主要負(fù)責(zé)接收手柄水平、豎直方向的搖桿時(shí)間和手柄按鍵事件、實(shí)時(shí)分析處理事件、將結(jié)果通過Socket發(fā)送給OMAP4430開發(fā)板。同時(shí)Android將實(shí)時(shí)接收經(jīng)過OMAP4430開發(fā)板通過H264算法壓縮的720P視頻流并通過硬解碼技術(shù)將解碼緩存繪制到控制界面上。
OMAP4430開發(fā)板搭載Linux3.9.11操作系統(tǒng),通過無線網(wǎng)卡Socket編程與Android手機(jī)建立通信,它主要負(fù)責(zé)接收Android平臺(tái)發(fā)過來的控制命令并進(jìn)行處理后將數(shù)據(jù)通過無線藍(lán)牙串口發(fā)送給AVR單片機(jī)控制移動(dòng)機(jī)械手的運(yùn)動(dòng)和馬達(dá)操作。利用OMAP4430異構(gòu)多核處理器在視頻編解碼上的強(qiáng)大優(yōu)勢(shì),通過USB攝像頭采集720P分辨力的視頻幀通過libdce庫利用內(nèi)部的IVA-HD多媒體硬件加速引擎進(jìn)行H264編碼,并將編碼視頻緩存流通過無線網(wǎng)卡Socket通信發(fā)送到Android手機(jī)進(jìn)行顯示。
而底端AVR單片機(jī)則負(fù)責(zé)接收OMAP4430發(fā)過來的控制命令來操作4個(gè)直流電機(jī)進(jìn)行運(yùn)動(dòng)、同時(shí)將通信數(shù)據(jù)進(jìn)行解析成機(jī)械馬達(dá)旋轉(zhuǎn)速度及角度械手的動(dòng)作來完成任務(wù)。
圖5 系統(tǒng)軟件框架圖
[page]
2.1 移動(dòng)機(jī)械手單片機(jī)軟件實(shí)現(xiàn)
移動(dòng)機(jī)械手的控制核心為ATmega128L單片機(jī),其內(nèi)部通過時(shí)鐘產(chǎn)生變換PWM來控制4個(gè)DC電機(jī)旋轉(zhuǎn)從而實(shí)現(xiàn)機(jī)械手的移動(dòng)。同時(shí)內(nèi)部有兩個(gè)UART串口,分別與OMAP4430通信的藍(lán)牙串口和控制AX-12馬達(dá)旋轉(zhuǎn)的串口。其軟件流程如下:
1)寄存器初始化:包括初始化時(shí)鐘定時(shí)器、端口輸入輸出初始化、設(shè)置LED控制寄存器等
2)打開藍(lán)牙串口和與AX-12通信串口,設(shè)置串口的波特率、奇偶校驗(yàn)、停止位等屬性
3)藍(lán)牙串口接收OMAP4430發(fā)過來的控制參數(shù),并進(jìn)行參數(shù)解析處理。如果為運(yùn)動(dòng)控制參數(shù),則通過PWM_change()修改PWM來控制機(jī)械手運(yùn)動(dòng)方向,如果為機(jī)械手設(shè)置參數(shù)通過Ctrl_Array_MT()設(shè)置每個(gè)AX-12馬達(dá)的旋轉(zhuǎn)角度和旋轉(zhuǎn)速度來完成捉取目標(biāo)任務(wù)。
4)讀取AX-12馬達(dá)的溫度及力矩,如果超出預(yù)定范圍則調(diào)整馬達(dá)速度和力矩并向OMAP4430開發(fā)板發(fā)出提示信息。機(jī)械手動(dòng)作控制命令如表1所示:
52.2 Android應(yīng)用軟件設(shè)計(jì)
2.2.1 搖桿手柄事件處理
搖桿手柄采用USB OTG方式連接到Android手機(jī),Linux內(nèi)核已經(jīng)包括其驅(qū)動(dòng)程序。手柄的水平豎直搖桿事件和按鍵事件都將觸發(fā)MainActivity的onKeyDown()函數(shù)和onGenericMotionEvent()函數(shù)的調(diào)用,在函數(shù)中分析事件對(duì)象的屬性(觸發(fā)按鍵ID、事件類型)進(jìn)而向OMAP4430發(fā)出不同控制命令。其參考代碼如下:
boolean onKeyDown(int keyCode, KeyEvent event)
{if(event.getSource()==InputDevice.SOURCE_JOYST ICK || event.getSource()==1281) //手柄按鍵事件
{ if(event.getAction()==KeyEvent.ACTION_DOWN)
{ int keycode=event.getKeyCode();
swicth(keycode)
{ case KeyEvent.KEYCODE_BUTTON_1:
……. break; //ID=1按鍵按下觸發(fā)的事件
case KeyEvent.KEYCODE_BUTTON_2:
case KeyEvent.KEYCODE_BUTTON_3:
default:break;}}}}
boolean onGenericMotionEvent(MotionEvent event){
if(event.getSource()==InputDevice.SOURCE_JOYSTICK)
{ //手柄搖桿事件
float Raw_x=event.getRawX(); //水平方向偏移
float Raw_y=event.getRawY(); //豎直方向偏移
}}
2.2.2 Android H264解碼
Android從4.1版本加入了H264視頻硬解碼API,其MediaCodec內(nèi)部封裝了openMax庫進(jìn)行多媒體硬解碼加速,openMax是一個(gè)開源、跨平臺(tái)的多媒體編解碼加速API[5],包括openMax應(yīng)用層、openMax集成層、openMax開發(fā)層。其解碼h264的步驟包括:
1)通過MediaCodec.createDecoderByType(“video/mp4v-es”)創(chuàng)建H264解碼對(duì)象
2)mediacodec.configure(format,…..)配置H264解碼器的參數(shù),包括圖像分辨率,視頻幀格式、H264視頻流的頭信息等
3)mediacodec.dequeueInputBuffer()獲取可用緩存指針,將接收的H264編碼拷貝到該緩存中,mediacodec.queueInputBuffer()將緩存送入解碼器的緩存隊(duì)列中
4)查詢等待解碼器完成,dequeueOutputBuffer()將解碼后的圖像緩存出隊(duì),并通過Surafce顯示接口將圖像繪制到控制界面上
[page]
2.3 Linux控制進(jìn)程及無線視頻服務(wù)
OMAP4430開發(fā)板運(yùn)行Linux3.9.11操作系統(tǒng),具有實(shí)時(shí)性強(qiáng)、良好移植性等優(yōu)點(diǎn)。利用Andriod手機(jī)無線網(wǎng)卡創(chuàng)建一個(gè)AP熱點(diǎn),OMAP4430 開發(fā)板的無線網(wǎng)卡將連接到AP上,二者通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信。
控制進(jìn)程將創(chuàng)建一個(gè)TCP Socket服務(wù)端,等待Android應(yīng)用連接,同時(shí)打開無線藍(lán)牙串口設(shè)備/dev/ttyUSB0設(shè)備,設(shè)置串口屬性(115200波特率、8位數(shù)據(jù)、無校驗(yàn)等)。在連接建立之后循環(huán)接收Andriod發(fā)過來的控制命令并進(jìn)行命令解析處理,處理結(jié)果將通過藍(lán)牙串口發(fā)送給AVR單片機(jī)來控制移動(dòng)機(jī)械手。
無線視頻傳輸進(jìn)程將通過V4L2編程接口調(diào)用USB攝像頭采集1280*720視頻幀(采集速度為30幀每秒)。利用OMAP4430異構(gòu)多核處理在多媒體視頻編解碼強(qiáng)大運(yùn)算能力,通過libdce庫的engine_open()、engine_create()、viddce_control()、viddec_procees()函數(shù)創(chuàng)建H264編碼實(shí)例并通過RPMsg消息總線遠(yuǎn)程調(diào)用協(xié)處理核的IVA-HD的加速引擎來提高視頻編碼效率。為了減小網(wǎng)絡(luò)帶寬需求、提高無線傳輸效率,本次采用Baseline、 Level3.2編碼級(jí)別。最后將H264編碼緩存通過無線網(wǎng)卡Socket服務(wù)端發(fā)送到Android客戶端進(jìn)行解碼顯示??刂七M(jìn)程和無線視頻傳輸進(jìn)程的流程如圖6、7所示:
3 測(cè)試
表2 無線視頻傳輸實(shí)時(shí)性測(cè)試
由于借助異構(gòu)多核處理器OMAP4430內(nèi)部的協(xié)處理核Cortex-M3和IVA-HD多媒體硬件引擎來實(shí)現(xiàn)H264編碼加速,因此本次720P無線視頻傳輸實(shí)時(shí)性較高,達(dá)到了28幀每秒。
4 結(jié)語
針對(duì)移動(dòng)機(jī)械手控制方式復(fù)雜,環(huán)境周圍信息獲取能力不足的缺點(diǎn),采用Android手機(jī)為控制中心,搖桿手柄為輸入設(shè)備實(shí)現(xiàn)了移動(dòng)機(jī)械手的可視化實(shí)時(shí)操作。同時(shí)利用OMAP4430異構(gòu)多核處理器內(nèi)部協(xié)處理核Cortex-M3、IVA-HD 多媒體引擎加快720P H264視頻編碼效率,提高了無線視頻服務(wù)的實(shí)時(shí)性。實(shí)踐證明系統(tǒng)具有人機(jī)交互方式友好、控制簡(jiǎn)單、多核間負(fù)債平衡、無線視頻服務(wù)實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn)。
特別推薦
- 匯聚智造大咖,共探智能工業(yè)未來 AMTS & AHTE SOUTH CHINA 2024亮點(diǎn)全揭秘
- 優(yōu)化SPI驅(qū)動(dòng)程序的幾種不同方法
- 如何使用GaNFET設(shè)計(jì)四開關(guān)降壓-升壓DC-DC轉(zhuǎn)換器?
- KLA 推出全面的IC載板產(chǎn)品組合,開啟先進(jìn)封裝新時(shí)代
- 意法半導(dǎo)體發(fā)布面向表計(jì)及資產(chǎn)跟蹤應(yīng)用的高適應(yīng)易連接雙無線IoT模塊
- 友達(dá)彭雙浪:Q4步入傳統(tǒng)淡季 明年產(chǎn)業(yè)供需相對(duì)樂觀
- http://ep.cntronics.com/market/14057
技術(shù)文章更多>>
- 有延遲環(huán)節(jié)的burst控制中得到響應(yīng)時(shí)間變化規(guī)律的仿真分析方法
- 超寬帶的力量:重塑汽車、移動(dòng)設(shè)備和工業(yè)物聯(lián)網(wǎng)體驗(yàn)
- 全差分放大器為精密數(shù)據(jù)采集信號(hào)鏈提供高壓低噪聲信號(hào)
- 利用單片機(jī)實(shí)現(xiàn)復(fù)雜的分立邏輯
- 意法半導(dǎo)體生物感測(cè)創(chuàng)新技術(shù)賦能下一代智能穿戴個(gè)人醫(yī)療健身設(shè)備
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
功率電阻
功率放大器
功率管
功率繼電器
功率器件
共模電感
固態(tài)盤
固體繼電器
光傳感器
光電池
光電傳感器
光電二極管
光電開關(guān)
光電模塊
光電耦合器
光電器件
光電顯示
光繼電器
光控可控硅
光敏電阻
光敏器件
光敏三極管
光收發(fā)器
光通訊器件
光纖連接器
軌道交通
國防航空
過流保護(hù)器
過熱保護(hù)
過壓保護(hù)