SRV1簡介
作為一個可以遠程控制的網路攝像頭或者一個具有自主導航能力的機器人,SRV1可以在Blackfin主機板的固件之中運行C語言解釋器解釋執行C程式,或者在Windows,MacOS/X和Linux等系統上,運行基於Python或Java語言編寫的控制台軟體,進行遠程管理。
使用Java控制台的軟體,藉助SRV1內建的網路伺服器,可以實現通過網路瀏覽器,在世界上任何地方監控並控制SRV1,並可以根據需求保存視頻。SRV1內置的固件可以支持大量的第三方軟體如RoboRealm,微軟的Robotics Studio和Cyberbotic的Webots等。
SRV1特點
1、遵循GPL開放全部軟體源碼及硬體設計圖
2、機器人具有執行自主運行程式的能力
3、有廣泛的第三方軟體支持
4、可以通過軟體控制台或網路瀏覽器實現對機器人的遠程遙控
5、主機軟體內建網路伺服器並支持視頻存檔
6、機器人可以解釋執行儲存在FLASH中或記憶體中的C程式
7、無線遙控範圍:室內100米室外1000米(視野空曠的地方)
8、機器人可以通過終端控制台進行快捷的控制與調試
9、支持GNU/Linux 2.6作業系統也同時支持直接在DSP上通過GNU bfin-elf-工具鏈進行開發
硬體介紹
單一攝像頭系統1、處理器:500MHz的ADI Blackfin BF537(1000 mips), 32MB SDRAM, 4MB SPI Flash, JTAG
2、攝像頭:omnivision OV9655, 130萬像素(160x128到1280x1024 解析度)
3、機器人的無線通訊模組:Lantronix Matchport 802.11b/g WiFi4、有效控制距離:室內100米,室外空曠地1000米
5、感測器:2個雷射點
6、驅動:通過四個直流齒輪電動機(100:1齒輪減速比)像坦克
一樣的前進
7、速度:20-40厘米/每秒(大約1英尺每秒或0.5公里每小時)
8、框架:鋁製機械
9、規格:120mm長x100mm寬x110mm高(5"x 4" x 4.5")
10、重量:460克(16盎司)
11、電源:7.2V 2AH鋰電池,使用時間大約4小時
12、充電器:100-240交流電50/60Hz(US插頭)
1、每個攝像頭模組均包括500MHz的ADI Blackfin BF537處理器,兩個處理器之間通過SPI匯流排進行通訊(64MHz)
2、通過Lantronix Matchport 802.11g模組和板載天線實現WLAN WIFI通訊
3、底板預留8舵機控制接口 (5V供電)
4、雙H橋馬達驅動,每個馬達為1000mA容量
5、兩個100mA容量的轉換電晶體驅動雷射點
6、電池低電量檢測電路。擴展引腳連線兩個處理器的 S-32擴展匯流排
7、主機板大小: 60 mm x 150 mm , 重量:140g
8、1" x 2"的裝配孔兼容於SRV1機器人基體(兩驅和四驅版本)
9、耗電量300mA 7.4V (大約 2 瓦),符合RoHS標準
軟體開發
1、機器人固件:更新方式簡單,在GPL著作權協定下使用C語言編寫,並使用GNU bfin-elf-gcc或bfin-uclinux-gcc工具鏈編譯。
2、板載用戶程式:主機板內置C語言解釋器支持專門的機器人類型命令以供用戶程式運行。
3、開發工具:GNU工具鏈(參見擴展閱讀)
4、控制台軟體:通過運行於Windows,MAC,Linux平台上的基於java的應用程式,連線內建於SRV1中的5、WebcamSat服務程式觀看圖像,並允許多人同時通過Internet遠程觀看。
5、機器人控制協定(參見擴展閱讀)
圖像處理函式館
右圖中描述的是SRV-1Q的32M記憶體 (SDRAM) 中與圖像處理有關的存儲空間分配:拍攝的圖片先是通過DMA傳輸,存放在記憶體的DMA_BUF*;然後將之轉移到FRAME_BUF里,把FRAME_BUF的圖像壓縮好存儲在JPEG_BUF,並將壓縮後的圖像傳送到控制台。
還可以通過計算當前幀(存儲在FRAME_BUF里)和參照幀(存儲在FRAME_BUF2里)的區別,來獲得前後兩幅圖像的區別。
SRV1機器人啟動後攝像頭的默認解析度被設定為320x240像素。用戶可通過給機器人預定義色彩(需要給出每種色彩的yuv的值) ,來尋找拍攝圖片中與規定色彩匹配的區域。
另外,通過機器人自定義的通訊控制協定,用戶在控制台可以做到:
1、獲取某個坐標區域內的像素的yuv值範圍
2、獲取和預定色彩不符的區域,計算圖像每一列像素里有多少個與規定色彩匹配3、獲得當前拍攝圖像中特定坐標的像素的yuv值,計算圖像里所有像素的yuv平均值等等。
另外SRV對顏色過濾,邊緣檢測,特徵提取也有比較好的實現。
集群處理
兩個或多個SRV機器人可以通過無線電頻道來進行相互間的通訊,因為SRV1的無線網卡帶有兩個無線電頻道,每個頻道都可以通過TCP或者UDP方式與外界通訊。而SRV1之間的相互通訊則可以通過傳送UDP廣播來進行通訊。SRV1的身份識別依靠的是存儲在Flash空間裡的身份ID號。
關於使用“集群模式”進行控制的視頻,可以通過訪問官網進行觀賞。
第三方軟體支持
一、RoboRealm
SRV1可以很好的使用RoboRealm控制。RoboRealm是一個非常流行的基於Windows平台的機器人軟體。
RoboRealm對於SRV1的擴展功能允許創建腳本以便結合機器人實時傳輸圖像處理。
例如:顏色過濾,BLOB的檢測/跟蹤,邊緣檢測/概述和特徵提取,用來便捷的進行對實物的跟蹤攝影,避開障礙物,物體移動探測,進行通知等等,並可以通過RoboRealm的API開放接口以C/C++, Python, Java,C#, Lisp, Visual Basic, WScript 和 COM為腳本實現控制。
二、Microsoft Robotics Studio
其中可包含對SRV1的驅動。MSRS是一個基於Windows作業系統的開發環境,被學校,業餘愛好者和商業公司等用來開發機器人應用程式。其突出特點和優點包括:端到端機器人開發平台,快速的運行時間以及可擴展的平台。
三、Webots
Webots可移動機器人模擬軟體提供對SRV1的支持。
Webots提供一個快速建立模型環境,編程設計和模擬可移動機器人。該軟體運行在Windows,MacOS/X和Linux環境下。
具有非常優秀的3D物理建模功能。
擴展套用
一、基於立體攝像頭系統的立體視覺機器人(Stereo Vision SystemRobot,簡稱SVS機器人),可以通過立體眼鏡來體驗立體攝像頭系統採集的視頻所帶來的震撼。可以將SRV1的單一攝像系統直接替換成成立體攝像系統,然後就可以獲得立體視覺視頻了,其局限性是攝像頭不可旋轉,只能依賴機體運動而轉動;如果在攝像頭下方添加一個陀螺儀模組,則攝像頭自身就可以進行左右和上下180度旋轉了。
二、給SRV1添加GPS處理器,陀螺儀,SD卡插槽左圖中是一個用於Surveyor SRV-1 Blackfin 攝像頭以及 SVS 立體攝像系統的SRV1-X擴展板。它使用40MIPS dsPIC33 處理器,包含3軸加速, 3軸陀螺儀,定位GPS以及10個額外的12-bit A/D 頻道,大量舵機頻道,和一個 MicroSD 擴展卡槽。規格為:2.1"x2.6"
三、在SRV1的擴展IO連線埠上, 安裝EZ0超音波感測器超音波模組需要一個3.3v的電壓。27,28管腳分別連線一個模組。如果有多個感測器,需要在18連線埠加一個觸發信號線,以協調各個感測器之間的運作。