教你打造自己專屬的可視化遠程遙控移動機械手
發布時間:2015-03-03 責任編輯:sherryyu
【導讀】本篇文章說的是采用Android手機為控製中心,搖杆手柄為輸入設備實現了移動機械手的可視化實時操作。同時利用OMAP4430異構多核處理器內部協處理核Cortex-M3、IVA-HD 多媒體引擎加快720P H264視頻編碼效率,提高了無線視頻服務的實時性的可視化遠程遙控移動機械手設計。
jixieshouzaixiandaishehuiyijingguangfanyingyongyuzhizaoye,hangkonghangtianye,junshiye,tongshiyejiangjinrufuwuye,yidongjixieshoushijinnianlaixunsufazhanqilaidegaoxinjishumijidejidianyitidechanpin。suizheshehuishengchanjishudefeisufazhan,yidongjixieshoudeyingyonglingyubuduankuozhan。congzidonghuashengchanxiandaohaiyangziyuandetansuo,naizhitaikongzuoyedenglingyu,jixieshouyichengweigaojishulingyuneijuyoudaibiaoxingdezhanlvemubiao。ranerjiumuqiandejixieshoujishushuipingeryan,jixieshouzaixinxidehuoqu、處理及控製能力等方麵都是有限的,對於複雜的工作任務及多變的工作環境,機械手的能力更顯不足。隨著移動互聯網時代的到來、嵌(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)以(yi)TI公司的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這zhe6個馬達的機械臂,可向所有方向移動並進行多樣化的動作實驗。
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藍牙亞洲大會暨展覽在深啟幕
- 維智捷發布中國願景
- 2秒啟動係統 • 資源受限下HMI最優解,米爾RK3506開發板× LVGL Demo演示
- H橋降壓-升壓電路中的交替控製與帶寬優化
- Tektronix 助力二維材料器件與芯片研究與創新
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
接口IC
介質電容
介質諧振器
金屬膜電阻
晶體濾波器
晶體諧振器
晶體振蕩器
晶閘管
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發工具
開關
開關電源
開關電源電路
開關二極管
開關三極管
科通
可變電容
可調電感
可控矽
空心線圈
控製變壓器
控製模塊
藍牙
藍牙4.0
藍牙模塊
浪湧保護器



