《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日日摸处处碰夜夜爽视频 | www在线视频观看 | 女攻男受高h全文肉肉 | 日本免费久久 | 性一交一无一伦一精一品 | 一区二区三区在线 | 日本 | 日韩免费一区二区三区在线 | 成人网18免费软件 | 欧美成人在线免费 | 免费观看a级毛片在线播放 免费观看a级完整视频 | 韩日色图 | 欧美成a人片免费看久久 | 男女网站在线观看 | 最近免费字幕中文大全视频 | 欧美精品第二页 | 久久久婷婷 | 欧美一级一级做性视频 | 国产成人爱情动作片在线观看 | 色综合久久综合网 | 国产成人亚洲精品 | 天天插天天插天天插 | 免费成年人视频 | 精品视频久久 | 国产一区二卡三区四区 | 国产你懂的在线观看 | 国产高清大尺度一区二区不卡 | 人人做人人性 | 欧美free性秘书xxxxhd | 免费一级黄色毛片 | 一区免费视频 | 波多野一区二区三区在线 | 美女很黄很黄的网站 | 中文三 级 黄 色 片 | 精品欧美日韩一区二区 | 国产又爽又黄又舒服又刺激视频 | 亚洲欧美人成网站综合在线 | 国产成人精品18 | 亚洲小视频网站 | 国产高清视频 | 在线观看中文字幕第一页 | 高清国产美女一级a毛片在线 |