《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于3G通信網的移動機器人遠程監控的設計與實現
基于3G通信網的移動機器人遠程監控的設計與實現
來源:電子科技
作者:劉丙洋,郭文成
摘要: 本文所介紹的系統在實驗中獲得了較好的結果,視頻圖像的傳輸具有較好的穩定性,為了提高圖像的連續性,可以通過修改代碼提高攝像頭的采集頻率。該移動機器人平臺可以根據實際需要進行功能擴充,并可以通過本文所闡述的方法,對控制面板的功能進行相應的擴展,比如攝像頭的調焦、溫濕度顯示、機械手臂運動控制等。
Abstract:
Key words :

   3G是第三代移動通信技術,結合了無線通信技術和互聯網等多媒體技術。隨著3G技術的發展,它在聲音和數據的傳輸速度上有很大提升,并能夠在全球范圍內實現無線漫游。其數據傳輸高速、永遠在線、覆蓋范圍廣等優點,有效地解決了移動機器人采用有線或者無線遠程控制所帶來的信息傳輸和控制距離等方面的瓶頸問題,使遠程救援機器人、仿真機器人、家庭保姆機器人等移動機器人技術在大數據量實時傳輸方面多了一種可利用的解決方案。

  1 系統總體架構

  本系統主要用來將移動機器人所采集到的視頻數據通過3G網絡傳給服務器,再將服務器的控制信號傳給電機驅動板,以驅動移動機器人平臺運動,總體架構如圖1 所示。攝像頭OV9650采集的視頻圖像經過JPEG壓縮后,存入緩存區,當服務器監聽到客戶端的接入請求后,再將緩存區的數據通過網絡傳輸給客戶端的監控界面進行顯示;當需要控制機器人行動時,客戶端的控制按鈕發送控制信息給服務器,服務器通過程序解析后控制底層電機驅動器,驅動機器人平臺運動。

 圖1 系統總體架構圖 
圖1 系統總體架構圖

  系統硬件平臺核心處理器采用S3C6410,它基于ARM1176JZF—S內核,是一個16/32位RISC微處理器,其內部集成了強大的硬件加速器,包括音視頻處理、2D加速等,為2.5G和3G通信服務提供了優化的硬件性能,工作頻率最高可達677 MHz;采用2 GB NAND Flash,主要用于存放內核代碼、應用程序、文件系統和數據資料;DDRSDRAM采用兩片128 MB K4X51163PE芯片;攝像頭采用CMOS圖像傳感器OV9650,最高輸出130萬像素(1300×1 024),具有高敏感度、低功耗、支持多種常用的圖像格式輸出、支持自動圖像控制等優點。

  Linux作為一種類Unix操作系統,具有穩定健壯、低成本、高性能、互操作性好和源代碼開放等特點。而其良好的內核結構,以及可裁剪的特性,滿足了嵌入式應用的差異性需求,使其在嵌入式系統領域占有一席之地。本系統中采用的Linux內核為3.0.1版本,文件系統采用 YAFFS2,Bootloader選用uboot。

  2 系統軟件設計

  2.1 視頻數據的采集與傳輸

  視頻數據的采集通過Linux中視頻設備OV9650的驅動以及Video for Linux提供的相應接口完成。為了方便,將視頻采集的相關信息封裝到以下結構體中:

  將視頻采集的相關信息封裝到結構體

  采集程序通過函數init_s3c6410(struct vdIn*vd,char*device,int width,int height)來完成對攝像頭以及采集參數的初始化,并通過函數s3c6410_Grab(struetvdIn*vd)完成對圖像的抓取,用JPEG壓縮算法對采集到的圖像進行壓縮,圖像格式為RGB565。

  視頻數據傳輸通過Socket實現,且直接在服務器設備端與Web客戶端之間進行傳輸,通過視頻流服務器實現對視頻的開關控制。由于視頻傳輸是連續的過程,所以客戶端和服務器端都通過線程來實現發送與接收。接收線程由函數pthread_create(& (servers[id].threadID),NULL,server thread,&(servers[id]))創建。

  視頻的采集和傳輸是在兩個線程中實現的,它們共享一個緩沖池。這兩個線程都是在視頻采集服務器端的程序啟動時創建并運行的。其中采集視頻圖像的線程不斷通過攝像頭采集現場圖像,經過JPEG壓縮后存放到緩沖池中,而傳輸視頻數據的線程創建一個Socket來監聽等待遠程客戶的連接請求。當有客戶發送連接請求并建立連接后,就通過該連接向遠程客戶發送視頻數據,而發送的視頻數據就是從緩沖池中獲取的。也就是說,在視頻采集服務器端,視頻數據傳輸所需要的一切都已經準備好,就等著客戶的請求,一旦建立連接,就可以發送視頻數據,從而實現較快的速度和較高的效率。

  視頻采集和傳輸的工作流程圖如圖2所示。

  圖2 視頻采集和傳輸的工作流程圖
圖2 視頻采集和傳輸的工作流程圖

  2.2 遠程控制的實現

  為了監控界面能被通用瀏覽器打開,需要移植Web服務器Boa。Boa服務器是一款小型開源的嵌入式Web服務器,交叉編譯后的可執行代碼大小約為60 KB,在Linux3.0.1內核下運行時占用的內存大小約為1.7 MB。其功能較為強大,支持身份認證、CGI動態Web技術等。它不像傳統的Web服務器那樣為每個訪問連接開啟一個進程,只能依次完成用戶的請求,即單進程響應多路請求,因此,Boa在同等硬件條件下相對于其他Web服務器表現出更快的速度,節省更多的資源。

  通用網關接口(CGI)是用于Web服務器與外部應用程序之間信息交互的標準接口。CGI可以使外部程序處理客戶端傳來的表單和數據,并對此作出某種反應。這種反應可以是HTML文件、圖片等可以在瀏覽器窗體上出現的任何數據,也可以是對服務器端硬件資源的控制。

  調用CGI程序的方法主要有兩種:

  ①GET方法,CGI程序從環境變量QUERY_STRING中獲得數據;

  ②POST方法,Web服務器通過STDIN向CGI程序傳輸數據,數據量超過1024字節時采用此方法。

  本系統采用GET方法。

  在串口應用程序中,數據的獲取通過以下代碼實現:

  ……

  char*data;

  data=getenv(“QUERY STRING”);

  ……

  3 監控界面的實現

  監控界面用網貞實現,如圖3所示。

 圖3 監控界面用網貞實現
圖3 監控界面用網貞實現

  為了使頁面呈現出動態效果,如顯示當前時間、視頻數據傳輸速率等,頁面將嵌入Javascript代碼。整個界面分為兩個區:視頻顯示區和控制面板區。視頻顯示區顯示視頻流服務器傳輸上來的視頻數據,控制面板區通過按鈕與CGI串口應用程序交互控制電機驅動板。

  Javascript是一種流行的通用腳本語言,基于Javascript可以實現用戶與頁面的交互,并響應頁面上發生的事件。

  HTML表單是Web文檔的一部分,用來將信息從瀏覽器傳遞到服務器,它提供多種接收輸入的方法,包括單選按鈕、多選框、文本框等,表單以《form》標簽開始,以《/form》標簽結束。本系統控制面板的按鈕采用“button”輸入類型。傳統的HTML表單需要通過提交按鈕(“subm it”)來發送表單數據,數據以名/值對的形式發送至服務器端的CGI程序。本系統的每個按鈕都需要實時提交,如果通過傳統方法來實現,則需要對每個按鈕配對一個不同名的提交按鈕,這樣會使頁面代碼變得更復雜,因此本系統使用Ajax方法。使用Ajax創建HTML表單時,不再需要提交按鈕來發送表單數據,對于每個按鈕,只要在屬性中添加事件處理函數onClick(),就能在點擊按鈕時觸發Ajax建立瀏覽器和服務器CGI應用程序間的通信,實現代碼如下:

 實現代碼 

  結語

  本文所介紹的系統在實驗中獲得了較好的結果,視頻圖像的傳輸具有較好的穩定性,為了提高圖像的連續性,可以通過修改代碼提高攝像頭的采集頻率。該移動機器人平臺可以根據實際需要進行功能擴充,并可以通過本文所闡述的方法,對控制面板的功能進行相應的擴展,比如攝像頭的調焦、溫濕度顯示、機械手臂運動控制等。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美成人亚洲综合精品欧美激情 | 国产一级淫片a免费播放口之 | 爽死你个放荡粗暴小淫货双女视频 | 中国一级毛片欧美一级毛片 | 精品伊人久久久久7777人 | 一级毛片一级毛片一级毛片 | 欧美一级欧美一级毛片 | 免费欧洲毛片a级视频 | 久久综合综合久久 | 韩国三级大全久久网站 | 久久久久久久久久久观看 | 国产自在线观看 | 国产美女在线精品亚洲二区 | 91av在线免费观看 | 欧美一区二区三区视视频 | 日韩高清欧美 | 99国产精品农村一级毛片 | 亚洲在线播放视频 | 国产成人免费高清视频网址 | 国产一级特黄全黄毛片 | 一级做a爱过程免费观看 | 久久99国产精品久久99 | 69精品免费视频 | 亚洲爱爱天堂 | 成年人免费小视频 | 久久福利影视 | 国产日韩欧美精品在线 | 日本免费网站视频www区 | 亚洲一区免费看 | 亲子乱子伦xxxx | 免费永久观看美女视频网站网址 | 91精品国产91久久久久青草 | 久久99久久精品国产99热 | 日本三级成人中文字幕乱码 | 日韩一区二区三区在线观看 | 日本视频一区二区三区 | 成年人免费观看网站 | 日本aaaa片毛片免费观看 | 51久久夜色精品国产 | 毛片b| 波多野结衣一区二区三区高清在线 |