雙輪差速底盤視覺循跡功能的實(shí)現(xiàn)
1. 任務(wù)描述
? ? ? ? 在機(jī)器人小車上搭載攝像頭,攝像頭采集圖像信息并通過WiFi將信息傳遞給PC端,然后PC端使用OpenCV對(duì)攝像頭讀取到的視頻進(jìn)行灰度化、高斯濾波、腐蝕、膨脹等處理,使圖像分為黑白兩色。PC端進(jìn)行圖像信息處理并將處理結(jié)果傳遞為下位機(jī),下位機(jī)接收上位機(jī)處理的圖像信息結(jié)果后便會(huì)控制小車相應(yīng)運(yùn)動(dòng),小車運(yùn)動(dòng)包含前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)、停止。

2. 電子硬件
在這個(gè)示例中,我們采用了以下硬件,請(qǐng)大家參考:

3. 功能實(shí)現(xiàn)
視覺小車巡黑線工作原理:
? ? ? (1) 攝像頭采集圖像信息;
? ? ? (2) 通過 WiFi 將圖像信息傳遞給 PC 端(VS2015 配置的 OpenCV 環(huán)境);
? ? ? (3) 在 PC 端使用 OpenCV 對(duì)攝像頭讀取到的視頻進(jìn)行灰度化、高斯濾波、腐蝕、膨脹等處理,使圖像分為黑白兩色,采用 RGB 顏色模型作為黑白顏色判斷;
? ? ? (4) 將圖像對(duì)稱分成左右兩半,分別判斷左、右計(jì)算檢測在顯示的攝像范圍內(nèi)的黑色像素區(qū)域所占比例=黑色像素范圍/顯示的攝像范圍;
? ? ? (5) 比較兩側(cè)黑色像素區(qū)域所占比例大小確定前進(jìn)方向,如果左側(cè)比例大于右側(cè),則小車左偏離,進(jìn)行右轉(zhuǎn);
? ? ? (6) PC端進(jìn)行圖像信息處理,將處理結(jié)果傳遞為下位機(jī),下位機(jī)控制小車進(jìn)行相應(yīng)的運(yùn)動(dòng);
3.1硬件連接
接線說明:
? ? ? ① 將2510通信轉(zhuǎn)接板連接到擴(kuò)展板的擴(kuò)展塢上面;
? ? ? ② 用3根母對(duì)母杜邦線將2510通信轉(zhuǎn)接板與WiFi路由器連接起來,GND-GND、RX-RX、TX-TX;
? ? ? ③ 找到1根USB線,一端連接到2510通信轉(zhuǎn)接板接口上,另一端連接到WiFi路由器USB接口上;
? ? ? ④ 將攝像頭線連接到WiFi路由器接口上。


3.2示例程序
編程環(huán)境:Arduino 1.8.19
① 下位機(jī)例程:
? ? ? 下位機(jī)接收上位機(jī)處理的圖像信息結(jié)果控制小車相應(yīng)運(yùn)動(dòng),小車運(yùn)動(dòng)包含前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)、停止。
參考例程代碼(car.ino)如下:
② 上位機(jī)例程:
? ? ?上位機(jī)(Visual Studio 2015.net下配置OpenCV環(huán)境)進(jìn)行圖像信息處理。下面提供一個(gè)參考例程(MainWindow.xaml.cs),大家可嘗試根據(jù)實(shí)驗(yàn)效果改寫。
4. 資料內(nèi)容
① 視覺循跡-程序源代碼
②? 視覺循跡-樣機(jī)3D文件
資料下載地址 https://www.robotway.com/h-col-113.html