控制終端Android手機(jī)響應(yīng)搖桿事件控制移動機(jī)械手操作。同時借助OMAP4430異構(gòu)多核處理器在視頻編解碼上的強(qiáng)大優(yōu)勢實現(xiàn)了對720P視頻的實時無線傳輸。為了提高移動機(jī)械手的控制精度和相應(yīng)速度,采用直流馬達(dá)驅(qū)動機(jī)械手運(yùn)動并采用實現(xiàn)180級別角度和速度的7個AX-12馬達(dá)來提供更大的力矩。最后通過實驗來驗證本次設(shè)計的可行性。
教你打造自己專屬的可視化遠(yuǎn)程遙控移動機(jī)械手
發(fā)布時間:2015-03-03 責(zé)任編輯:sherryyu
【導(dǎo)讀】本篇文章說的是采用Android手機(jī)為控制中心,搖桿手柄為輸入設(shè)備實現(xiàn)了移動機(jī)械手的可視化實時操作。同時利用OMAP4430異構(gòu)多核處理器內(nèi)部協(xié)處理核Cortex-M3、IVA-HD 多媒體引擎加快720P H264視頻編碼效率,提高了無線視頻服務(wù)的實時性的可視化遠(yuǎn)程遙控移動機(jī)械手設(shè)計。
機(jī)械手在現(xiàn)代社會已經(jīng)廣泛應(yīng)用于制造業(yè),航空航天業(yè),軍事業(yè),同時也將進(jìn)入服務(wù)業(yè),移動機(jī)械手是近年來迅速發(fā)展起來的高新技術(shù)密集的機(jī)電一體的產(chǎn)品。隨著社會生產(chǎn)技術(shù)的飛速發(fā)展,移動機(jī)械手的應(yīng)用領(lǐng)域不斷擴(kuò)展。從自動化生產(chǎn)線到海洋資源的探索,乃至太空作業(yè)等領(lǐng)域,機(jī)械手已成為高技術(shù)領(lǐng)域內(nèi)具有代表性的戰(zhàn)略目標(biāo)。然而就目前的機(jī)械手技術(shù)水平而言,機(jī)械手在信息的獲取、處理及控制能力等方面都是有限的,對于復(fù)雜的工作任務(wù)及多變的工作環(huán)境,機(jī)械手的能力更顯不足。隨著移動互聯(lián)網(wǎng)時代的到來、嵌入式技術(shù)及軟件技術(shù)的快速發(fā)展,越來越多的高性能嵌入式芯片的出現(xiàn),嵌入式操作系統(tǒng)的快速發(fā)展,并且應(yīng)用到嵌入式處理器中,促進(jìn)了移動機(jī)械手向更加向智能化方向發(fā)展。本文以TI公司的OMAP4430異構(gòu)多核處理器為核心,Android手機(jī)為控制終端,實現(xiàn)了一款基于搖桿手柄操作的可視化移動機(jī)械手。
控制終端Android手機(jī)響應(yīng)搖桿事件控制移動機(jī)械手操作。同時借助OMAP4430異構(gòu)多核處理器在視頻編解碼上的強(qiáng)大優(yōu)勢實現(xiàn)了對720P視頻的實時無線傳輸。為了提高移動機(jī)械手的控制精度和相應(yīng)速度,采用直流馬達(dá)驅(qū)動機(jī)械手運(yùn)動并采用實現(xiàn)180級別角度和速度的7個AX-12馬達(dá)來提供更大的力矩。最后通過實驗來驗證本次設(shè)計的可行性。
控制終端Android手機(jī)響應(yīng)搖桿事件控制移動機(jī)械手操作。同時借助OMAP4430異構(gòu)多核處理器在視頻編解碼上的強(qiáng)大優(yōu)勢實現(xiàn)了對720P視頻的實時無線傳輸。為了提高移動機(jī)械手的控制精度和相應(yīng)速度,采用直流馬達(dá)驅(qū)動機(jī)械手運(yùn)動并采用實現(xiàn)180級別角度和速度的7個AX-12馬達(dá)來提供更大的力矩。最后通過實驗來驗證本次設(shè)計的可行性。
1 硬件平臺
本次設(shè)計的可視化遠(yuǎn)程遙控移動機(jī)械手硬件部分主要分為OMAP4430開發(fā)板、Android手機(jī)、車體及機(jī)械手馬達(dá)三部分。
1.1 OMAP4430開發(fā)板
OMAP4430 是TI公司的實現(xiàn)了高性能和低功耗完美平衡的Soc,其內(nèi)部主要包括四個處理引擎:基于ARMv7l指令集的SMP Cortex-A9 1Ghz雙核處理器,可編程多媒體硬件加速引擎IVA-HD及協(xié)處理核Cortex-M3,高性能的圖像顯卡Power SGX540及提供圖像視頻并行計算的ISP。其中IVA-HD多媒體加速引擎內(nèi)部有7個針對各種視頻編解碼而設(shè)計的加速引擎,能夠?qū)崿F(xiàn)對720P視頻的實時編解碼。其內(nèi)部示意圖如圖1所示:
圖1 OMAP4430內(nèi)部引擎示意圖
1.2 Android平臺
Android是一個以Linux為基礎(chǔ)的開放源代碼移動設(shè)備操作系統(tǒng),主要用于移動設(shè)備,由Google成立的Open Handset Alliance持續(xù)領(lǐng)導(dǎo)與開發(fā)中。Android具有開源、良好的可移植性等成為全球第一大智能手機(jī)操作系統(tǒng)。本次設(shè)計Android手機(jī)采用聯(lián)發(fā)科Cortex-A7處理器,支持無線網(wǎng)卡AP熱點,支持H264硬解碼。
1.3 移動機(jī)械手
移動機(jī)械手由運(yùn)動小車和機(jī)械手組成,運(yùn)動小車負(fù)責(zé)地面移動,而機(jī)械手通過旋轉(zhuǎn)6個馬達(dá)關(guān)節(jié)來完成捉取地面目標(biāo)任務(wù)。
1.3.1 移動小車
利用高性能MCU ATmega128L芯片通過傳感器采集當(dāng)前的狀態(tài)及驅(qū)動DC馬達(dá)進(jìn)行移動, ATmega128單片機(jī)為基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器。由于其先進(jìn)的指令集以及單周期指令執(zhí)行時間,ATmega128單片機(jī)的數(shù)據(jù)吞吐率高達(dá)1MIPS/MHZ,小車采用4輪驅(qū)動車輪形移動機(jī)器人,配有4個DC直流馬達(dá)及多種傳感器,具有卓越的旋轉(zhuǎn)能力和穩(wěn)定性好的特點,小車控制框架如圖2所示:
圖2 小車運(yùn)動控制示意圖
[page]
1.3.2 機(jī)械手
機(jī)械手由6個AX-12馬達(dá)組成,AX-12馬達(dá)具有180級別位置和速度控制、位置角度和速度的實時反饋、內(nèi)部溫度或力矩超出范圍時給予警告提示等優(yōu)點。第一個馬達(dá)的關(guān)節(jié)負(fù)責(zé)機(jī)械手360度旋轉(zhuǎn),第二個關(guān)節(jié)的同時控制兩個馬達(dá),這個關(guān)節(jié)在提起和放下物體時提供了必須的扭矩,因此通過控制兩個馬達(dá)補(bǔ)充扭矩大小的不足,而第三第四個馬達(dá)提供了機(jī)械手捉取目標(biāo)時前伸和后縮所需的力矩,第五個馬達(dá)則是手腕旋轉(zhuǎn)馬達(dá),用于旋轉(zhuǎn)最后一個馬達(dá)的空中角度。最后一個馬達(dá)的旋轉(zhuǎn)將推動夾子張開和閉合來捉取地表目標(biāo)。通過這6個馬達(dá)的機(jī)械臂,可向所有方向移動并進(jìn)行多樣化的動作實驗。
1.4 系統(tǒng)硬件框架
圖4 系統(tǒng)硬件框架圖
2 軟件設(shè)計
系統(tǒng)軟件設(shè)計包括Android手機(jī)應(yīng)用、OMAP4430開發(fā)板Linux控制服務(wù)端和無線視頻服務(wù)軟件設(shè)計、AVR單片機(jī)程序設(shè)計,系統(tǒng)軟件框架如圖5所示。
Android應(yīng)用主要負(fù)責(zé)接收手柄水平、豎直方向的搖桿時間和手柄按鍵事件、實時分析處理事件、將結(jié)果通過Socket發(fā)送給OMAP4430開發(fā)板。同時Android將實時接收經(jīng)過OMAP4430開發(fā)板通過H264算法壓縮的720P視頻流并通過硬解碼技術(shù)將解碼緩存繪制到控制界面上。
OMAP4430開發(fā)板搭載Linux3.9.11操作系統(tǒng),通過無線網(wǎng)卡Socket編程與Android手機(jī)建立通信,它主要負(fù)責(zé)接收Android平臺發(fā)過來的控制命令并進(jìn)行處理后將數(shù)據(jù)通過無線藍(lán)牙串口發(fā)送給AVR單片機(jī)控制移動機(jī)械手的運(yùn)動和馬達(dá)操作。利用OMAP4430異構(gòu)多核處理器在視頻編解碼上的強(qiáng)大優(yōu)勢,通過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個直流電機(jī)進(jìn)行運(yùn)動、同時將通信數(shù)據(jù)進(jìn)行解析成機(jī)械馬達(dá)旋轉(zhuǎn)速度及角度械手的動作來完成任務(wù)。
圖5 系統(tǒng)軟件框架圖
[page]
2.1 移動機(jī)械手單片機(jī)軟件實現(xiàn)
移動機(jī)械手的控制核心為ATmega128L單片機(jī),其內(nèi)部通過時鐘產(chǎn)生變換PWM來控制4個DC電機(jī)旋轉(zhuǎn)從而實現(xiàn)機(jī)械手的移動。同時內(nèi)部有兩個UART串口,分別與OMAP4430通信的藍(lán)牙串口和控制AX-12馬達(dá)旋轉(zhuǎn)的串口。其軟件流程如下:
1)寄存器初始化:包括初始化時鐘定時器、端口輸入輸出初始化、設(shè)置LED控制寄存器等
2)打開藍(lán)牙串口和與AX-12通信串口,設(shè)置串口的波特率、奇偶校驗、停止位等屬性
3)藍(lán)牙串口接收OMAP4430發(fā)過來的控制參數(shù),并進(jìn)行參數(shù)解析處理。如果為運(yùn)動控制參數(shù),則通過PWM_change()修改PWM來控制機(jī)械手運(yùn)動方向,如果為機(jī)械手設(shè)置參數(shù)通過Ctrl_Array_MT()設(shè)置每個AX-12馬達(dá)的旋轉(zhuǎn)角度和旋轉(zhuǎn)速度來完成捉取目標(biāo)任務(wù)。
4)讀取AX-12馬達(dá)的溫度及力矩,如果超出預(yù)定范圍則調(diào)整馬達(dá)速度和力矩并向OMAP4430開發(fā)板發(fā)出提示信息。機(jī)械手動作控制命令如表1所示:
52.2 Android應(yīng)用軟件設(shè)計
2.2.1 搖桿手柄事件處理
搖桿手柄采用USB OTG方式連接到Android手機(jī),Linux內(nèi)核已經(jīng)包括其驅(qū)動程序。手柄的水平豎直搖桿事件和按鍵事件都將觸發(fā)MainActivity的onKeyDown()函數(shù)和onGenericMotionEvent()函數(shù)的調(diào)用,在函數(shù)中分析事件對象的屬性(觸發(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是一個開源、跨平臺的多媒體編解碼加速API[5],包括openMax應(yīng)用層、openMax集成層、openMax開發(fā)層。其解碼h264的步驟包括:
1)通過MediaCodec.createDecoderByType(“video/mp4v-es”)創(chuàng)建H264解碼對象
2)mediacodec.configure(format,…..)配置H264解碼器的參數(shù),包括圖像分辨率,視頻幀格式、H264視頻流的頭信息等
3)mediacodec.dequeueInputBuffer()獲取可用緩存指針,將接收的H264編碼拷貝到該緩存中,mediacodec.queueInputBuffer()將緩存送入解碼器的緩存隊列中
4)查詢等待解碼器完成,dequeueOutputBuffer()將解碼后的圖像緩存出隊,并通過Surafce顯示接口將圖像繪制到控制界面上
[page]
2.3 Linux控制進(jìn)程及無線視頻服務(wù)
OMAP4430開發(fā)板運(yùn)行Linux3.9.11操作系統(tǒng),具有實時性強(qiáng)、良好移植性等優(yōu)點。利用Andriod手機(jī)無線網(wǎng)卡創(chuàng)建一個AP熱點,OMAP4430 開發(fā)板的無線網(wǎng)卡將連接到AP上,二者通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信。
控制進(jìn)程將創(chuàng)建一個TCP Socket服務(wù)端,等待Android應(yīng)用連接,同時打開無線藍(lán)牙串口設(shè)備/dev/ttyUSB0設(shè)備,設(shè)置串口屬性(115200波特率、8位數(shù)據(jù)、無校驗等)。在連接建立之后循環(huán)接收Andriod發(fā)過來的控制命令并進(jìn)行命令解析處理,處理結(jié)果將通過藍(lán)牙串口發(fā)送給AVR單片機(jī)來控制移動機(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編碼實例并通過RPMsg消息總線遠(yuǎn)程調(diào)用協(xié)處理核的IVA-HD的加速引擎來提高視頻編碼效率。為了減小網(wǎng)絡(luò)帶寬需求、提高無線傳輸效率,本次采用Baseline、 Level3.2編碼級別。最后將H264編碼緩存通過無線網(wǎng)卡Socket服務(wù)端發(fā)送到Android客戶端進(jìn)行解碼顯示??刂七M(jìn)程和無線視頻傳輸進(jìn)程的流程如圖6、7所示:
3 測試
表2 無線視頻傳輸實時性測試
由于借助異構(gòu)多核處理器OMAP4430內(nèi)部的協(xié)處理核Cortex-M3和IVA-HD多媒體硬件引擎來實現(xiàn)H264編碼加速,因此本次720P無線視頻傳輸實時性較高,達(dá)到了28幀每秒。
4 結(jié)語
針對移動機(jī)械手控制方式復(fù)雜,環(huán)境周圍信息獲取能力不足的缺點,采用Android手機(jī)為控制中心,搖桿手柄為輸入設(shè)備實現(xiàn)了移動機(jī)械手的可視化實時操作。同時利用OMAP4430異構(gòu)多核處理器內(nèi)部協(xié)處理核Cortex-M3、IVA-HD 多媒體引擎加快720P H264視頻編碼效率,提高了無線視頻服務(wù)的實時性。實踐證明系統(tǒng)具有人機(jī)交互方式友好、控制簡單、多核間負(fù)債平衡、無線視頻服務(wù)實時性強(qiáng)等優(yōu)點。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計
- ADI電機(jī)運(yùn)動控制解決方案 驅(qū)動智能運(yùn)動新時代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 邁向更綠色的未來:GaN技術(shù)的變革性影響
- 集成電阻分壓器如何提高電動汽車的電池系統(tǒng)性能
- 帶硬件同步功能的以太網(wǎng) PHY 擴(kuò)大了汽車?yán)走_(dá)的覆蓋范圍
- 精準(zhǔn)監(jiān)測電離分?jǐn)?shù)與沉積通量,助力PVD/IPVD工藝與涂層質(zhì)量雙重提升
- ADC 總諧波失真
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖
電路圖符號
電路圖知識
電腦OA
電腦電源
電腦自動斷電
電能表接線
電容觸控屏
電容器
電容器單位
電容器公式
電聲器件
電位器
電位器接法
電壓表
電壓傳感器
電壓互感器
電源變壓器