教你打造自己專屬的可視化遠程遙控移動機械手
發布時間:2015-03-03 責任編輯:sherryyu
【導讀】本篇文章說的是采用Android手機為控製中心,搖杆手柄為輸入設備實現了移動機械手的可視化實時操作。同時利用OMAP4430異構多核處理器內部協處理核Cortex-M3、IVA-HD 多媒體引擎加快720P H264視頻編碼效率,提高了無線視頻服務的實時性的可視化遠程遙控移動機械手設計。
機ji械xie手shou在zai現xian代dai社she會hui已yi經jing廣guang泛fan應ying用yong於yu製zhi造zao業ye,航hang空kong航hang天tian業ye,軍jun事shi業ye,同tong時shi也ye將jiang進jin入ru服fu務wu業ye,移yi動dong機ji械xie手shou是shi近jin年nian來lai迅xun速su發fa展zhan起qi來lai的de高gao新xin技ji術shu密mi集ji的de機ji電dian一yi體ti的de產chan品pin。隨sui著zhe社she會hui生sheng產chan技ji術shu的de飛fei速su發fa展zhan,移yi動dong機ji械xie手shou的de應ying用yong領ling域yu不bu斷duan擴kuo展zhan。從cong自zi動dong化hua生sheng產chan線xian到dao海hai洋yang資zi源yuan的de探tan索suo,乃nai至zhi太tai空kong作zuo業ye等deng領ling域yu,機ji械xie手shou已yi成cheng為wei高gao技ji術shu領ling域yu內nei具ju有you代dai表biao性xing的de戰zhan略lve目mu標biao。然ran而er就jiu目mu前qian的de機ji械xie手shou技ji術shu水shui平ping而er言yan,機ji械xie手shou在zai信xin息xi的de獲huo取qu、處理及控製能力等方麵都是有限的,對於複雜的工作任務及多變的工作環境,機械手的能力更顯不足。隨著移動互聯網時代的到來、嵌qian入ru式shi技ji術shu及ji軟ruan件jian技ji術shu的de快kuai速su發fa展zhan,越yue來lai越yue多duo的de高gao性xing能neng嵌qian入ru式shi芯xin片pian的de出chu現xian,嵌qian入ru式shi操cao作zuo係xi統tong的de快kuai速su發fa展zhan,並bing且qie應ying用yong到dao嵌qian入ru式shi處chu理li器qi中zhong,促cu進jin了le移yi動dong機ji械xie手shou向xiang更geng加jia向xiang智zhi能neng化hua方fang向xiang發fa展zhan。本ben文wen以yiTI公司的OMAP4430異構多核處理器為核心,Android手機為控製終端,實現了一款基於搖杆手柄操作的可視化移動機械手。
控製終端Android手機響應搖杆事件控製移動機械手操作。同時借助OMAP4430異構多核處理器在視頻編解碼上的強大優勢實現了對720P視頻的實時無線傳輸。為了提高移動機械手的控製精度和相應速度,采用直流馬達驅動機械手運動並采用實現180級別角度和速度的7個AX-12馬達來提供更大的力矩。最後通過實驗來驗證本次設計的可行性。
控製終端Android手機響應搖杆事件控製移動機械手操作。同時借助OMAP4430異構多核處理器在視頻編解碼上的強大優勢實現了對720P視頻的實時無線傳輸。為了提高移動機械手的控製精度和相應速度,采用直流馬達驅動機械手運動並采用實現180級別角度和速度的7個AX-12馬達來提供更大的力矩。最後通過實驗來驗證本次設計的可行性。
1 硬件平台
本次設計的可視化遠程遙控移動機械手硬件部分主要分為OMAP4430開發板、Android手機、車體及機械手馬達三部分。
1.1 OMAP4430開發板
OMAP4430 是TI公司的實現了高性能和低功耗完美平衡的Soc,其內部主要包括四個處理引擎:基於ARMv7l指令集的SMP Cortex-A9 1Ghz雙核處理器,可編程多媒體硬件加速引擎IVA-HD及協處理核Cortex-M3,高性能的圖像顯卡Power SGX540及提供圖像視頻並行計算的ISP。其中IVA-HD多媒體加速引擎內部有7個針對各種視頻編解碼而設計的加速引擎,能夠實現對720P視頻的實時編解碼。其內部示意圖如圖1所示:

圖1 OMAP4430內部引擎示意圖
1.2 Android平台
Android是一個以Linux為基礎的開放源代碼移動設備操作係統,主要用於移動設備,由Google成立的Open Handset Alliance持續領導與開發中。Android具有開源、良好的可移植性等成為全球第一大智能手機操作係統。本次設計Android手機采用聯發科Cortex-A7處理器,支持無線網卡AP熱點,支持H264硬解碼。
1.3 移動機械手
移動機械手由運動小車和機械手組成,運動小車負責地麵移動,而機械手通過旋轉6個馬達關節來完成捉取地麵目標任務。
1.3.1 移動小車
利用高性能MCU ATmega128L芯片通過傳感器采集當前的狀態及驅動DC馬達進行移動, ATmega128單片機為基於AVR RISC結構的8位低功耗CMOS微處理器。由於其先進的指令集以及單周期指令執行時間,ATmega128單片機的數據吞吐率高達1MIPS/MHZ,小車采用4輪驅動車輪形移動機器人,配有4個DC直流馬達及多種傳感器,具有卓越的旋轉能力和穩定性好的特點,小車控製框架如圖2所示:

圖2 小車運動控製示意圖
[page]
1.3.2 機械手
機械手由6個AX-12馬達組成,AX-12馬達具有180級別位置和速度控製、位置角度和速度的實時反饋、內部溫度或力矩超出範圍時給予警告提示等優點。第一個馬達的關節負責機械手360度(du)旋(xuan)轉(zhuan),第(di)二(er)個(ge)關(guan)節(jie)的(de)同(tong)時(shi)控(kong)製(zhi)兩(liang)個(ge)馬(ma)達(da),這(zhe)個(ge)關(guan)節(jie)在(zai)提(ti)起(qi)和(he)放(fang)下(xia)物(wu)體(ti)時(shi)提(ti)供(gong)了(le)必(bi)須(xu)的(de)扭(niu)矩(ju),因(yin)此(ci)通(tong)過(guo)控(kong)製(zhi)兩(liang)個(ge)馬(ma)達(da)補(bu)充(chong)扭(niu)矩(ju)大(da)小(xiao)的(de)不(bu)足(zu),而(er)第(di)三(san)第(di)四(si)個(ge)馬(ma)達(da)提(ti)供(gong)了(le)機(ji)械(xie)手(shou)捉(zhuo)取(qu)目(mu)標(biao)時(shi)前(qian)伸(shen)和(he)後(hou)縮(suo)所(suo)需(xu)的(de)力(li)矩(ju),第(di)五(wu)個(ge)馬(ma)達(da)則(ze)是(shi)手(shou)腕(wan)旋(xuan)轉(zhuan)馬(ma)達(da),用(yong)於(yu)旋(xuan)轉(zhuan)最(zui)後(hou)一(yi)個(ge)馬(ma)達(da)的(de)空(kong)中(zhong)角(jiao)度(du)。最(zui)後(hou)一(yi)個(ge)馬(ma)達(da)的(de)旋(xuan)轉(zhuan)將(jiang)推(tui)動(dong)夾(jia)子(zi)張(zhang)開(kai)和(he)閉(bi)合(he)來(lai)捉(zhuo)取(qu)地(di)表(biao)目(mu)標(biao)。通(tong)過(guo)這(zhe)6個馬達的機械臂,可向所有方向移動並進行多樣化的動作實驗。
1.4 係統硬件框架

圖4 係統硬件框架圖
2 軟件設計
係統軟件設計包括Android手機應用、OMAP4430開發板Linux控製服務端和無線視頻服務軟件設計、AVR單片機程序設計,係統軟件框架如圖5所示。
Android應用主要負責接收手柄水平、豎直方向的搖杆時間和手柄按鍵事件、實時分析處理事件、將結果通過Socket發送給OMAP4430開發板。同時Android將實時接收經過OMAP4430開發板通過H264算法壓縮的720P視頻流並通過硬解碼技術將解碼緩存繪製到控製界麵上。
OMAP4430開發板搭載Linux3.9.11操作係統,通過無線網卡Socket編程與Android手機建立通信,它主要負責接收Android平台發過來的控製命令並進行處理後將數據通過無線藍牙串口發送給AVR單片機控製移動機械手的運動和馬達操作。利用OMAP4430異構多核處理器在視頻編解碼上的強大優勢,通過USB攝像頭采集720P分辨力的視頻幀通過libdce庫利用內部的IVA-HD多媒體硬件加速引擎進行H264編碼,並將編碼視頻緩存流通過無線網卡Socket通信發送到Android手機進行顯示。
而底端AVR單片機則負責接收OMAP4430發過來的控製命令來操作4個直流電機進行運動、同時將通信數據進行解析成機械馬達旋轉速度及角度械手的動作來完成任務。

圖5 係統軟件框架圖
[page]
2.1 移動機械手單片機軟件實現
移動機械手的控製核心為ATmega128L單片機,其內部通過時鍾產生變換PWM來控製4個DC電機旋轉從而實現機械手的移動。同時內部有兩個UART串口,分別與OMAP4430通信的藍牙串口和控製AX-12馬達旋轉的串口。其軟件流程如下:
1)寄存器初始化:包括初始化時鍾定時器、端口輸入輸出初始化、設置LED控製寄存器等
2)打開藍牙串口和與AX-12通信串口,設置串口的波特率、奇偶校驗、停止位等屬性
3)藍牙串口接收OMAP4430發過來的控製參數,並進行參數解析處理。如果為運動控製參數,則通過PWM_change()修改PWM來控製機械手運動方向,如果為機械手設置參數通過Ctrl_Array_MT()設置每個AX-12馬達的旋轉角度和旋轉速度來完成捉取目標任務。
4)讀取AX-12馬達的溫度及力矩,如果超出預定範圍則調整馬達速度和力矩並向OMAP4430開發板發出提示信息。機械手動作控製命令如表1所示:
52.2 Android應用軟件設計
2.2.1 搖杆手柄事件處理
搖杆手柄采用USB OTG方式連接到Android手機,Linux內核已經包括其驅動程序。手柄的水平豎直搖杆事件和按鍵事件都將觸發MainActivity的onKeyDown()函數和onGenericMotionEvent()函數的調用,在函數中分析事件對象的屬性(觸發按鍵ID、事件類型)進而向OMAP4430發出不同控製命令。其參考代碼如下:
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按鍵按下觸發的事件
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內部封裝了openMax庫進行多媒體硬解碼加速,openMax是一個開源、跨平台的多媒體編解碼加速API[5],包括openMax應用層、openMax集成層、openMax開發層。其解碼h264的步驟包括:
1)通過MediaCodec.createDecoderByType(“video/mp4v-es”)創建H264解碼對象
2)mediacodec.configure(format,…..)配置H264解碼器的參數,包括圖像分辨率,視頻幀格式、H264視頻流的頭信息等
3)mediacodec.dequeueInputBuffer()獲取可用緩存指針,將接收的H264編碼拷貝到該緩存中,mediacodec.queueInputBuffer()將緩存送入解碼器的緩存隊列中
4)查詢等待解碼器完成,dequeueOutputBuffer()將解碼後的圖像緩存出隊,並通過Surafce顯示接口將圖像繪製到控製界麵上
[page]
2.3 Linux控製進程及無線視頻服務
OMAP4430開發板運行Linux3.9.11操作係統,具有實時性強、良好移植性等優點。利用Andriod手機無線網卡創建一個AP熱點,OMAP4430 開發板的無線網卡將連接到AP上,二者通過網絡進行數據通信。
控製進程將創建一個TCP Socket服務端,等待Android應用連接,同時打開無線藍牙串口設備/dev/ttyUSB0設備,設置串口屬性(115200波特率、8位數據、無校驗等)。在連接建立之後循環接收Andriod發過來的控製命令並進行命令解析處理,處理結果將通過藍牙串口發送給AVR單片機來控製移動機械手。
無線視頻傳輸進程將通過V4L2編程接口調用USB攝像頭采集1280*720視頻幀(采集速度為30幀每秒)。利用OMAP4430異構多核處理在多媒體視頻編解碼強大運算能力,通過libdce庫的engine_open()、engine_create()、viddce_control()、viddec_procees()函數創建H264編碼實例並通過RPMsg消息總線遠程調用協處理核的IVA-HD的加速引擎來提高視頻編碼效率。為了減小網絡帶寬需求、提高無線傳輸效率,本次采用Baseline、 Level3.2編碼級別。最後將H264編碼緩存通過無線網卡Socket服務端發送到Android客戶端進行解碼顯示。控製進程和無線視頻傳輸進程的流程如圖6、7所示:

3 測試

表2 無線視頻傳輸實時性測試
由於借助異構多核處理器OMAP4430內部的協處理核Cortex-M3和IVA-HD多媒體硬件引擎來實現H264編碼加速,因此本次720P無線視頻傳輸實時性較高,達到了28幀每秒。
4 結語
針對移動機械手控製方式複雜,環境周圍信息獲取能力不足的缺點,采用Android手機為控製中心,搖杆手柄為輸入設備實現了移動機械手的可視化實時操作。同時利用OMAP4430異構多核處理器內部協處理核Cortex-M3、IVA-HD 多媒體引擎加快720P H264視頻編碼效率,提高了無線視頻服務的實時性。實踐證明係統具有人機交互方式友好、控製簡單、多核間負債平衡、無線視頻服務實時性強等優點。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 大聯大世平集團首度亮相北京國際汽車展 攜手全球芯片夥伴打造智能車整合應用新典範
- 2026北京車展即將啟幕,高通攜手汽車生態“朋友圈”推動智能化體驗再升級
- 邊緣重構智慧城市:FPGA SoM 如何破解視頻係統 “重而慢”
- 如何使用工業級串行數字輸入來設計具有並行接口的數字輸入模塊
- 意法半導體將舉辦投資者會議探討低地球軌道(LEO)發展機遇
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
接口IC
介質電容
介質諧振器
金屬膜電阻
晶體濾波器
晶體諧振器
晶體振蕩器
晶閘管
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發工具
開關
開關電源
開關電源電路
開關二極管
開關三極管
科通
可變電容
可調電感
可控矽
空心線圈
控製變壓器
控製模塊
藍牙
藍牙4.0
藍牙模塊
浪湧保護器




