如何使用raspberry pi製作一個基於圖像處理的迷宮機器人?

如題,題主想做一個Lego迷宮機器人,不同於其他機器人使用的超聲波感測器,我想用攝像頭代替超聲波感測器,通過matlab圖像處理,分析機器人離牆壁的距離,和迷宮的轉彎口。

問題1:題主打算使用簡單的靠牆演算法,用raspberry pi控制視覺系統,用arduino控制電機不知道這樣是否是最好的解決辦法。硬體上會不會容易出現問題?或者用brick pi代替arduino呢?

問題2:關於圖像處理,我是用usb camera還是用camera moudle?

希望有大神能夠給一些建議,題主是新手,如果大神手邊有相關的資料懇請可以分享一下,中英文都可!


問題1:用樹莓派+Arduino當然是最好的解決方案,樹莓派本身只有一個PWM,所以用Arduino來控制電機是最合適的。

問題2:如果你要計算與迷宮牆壁的距離,我個人認為需要兩個攝像頭,所以只能選USB攝像頭,用UVC攝像頭即可。

然後關於雙攝像頭計算距離的演算法,可以使用OpenCV來做。如果在樹莓派上做OpenCV,用python自然是最合適的啦!

參考鏈接:Pose Estimation

python打開攝像頭只需如下幾步:

import cv2
capture = cv2.VideoCapture(0)
while True:
ret, img = capture.read()
cv2.imshow("Video", img)
key = cv2.waitKey(30) 0xFF
if key == 27:
break
capture.release()

不到十行


用raspberry pi控制視覺系統,用arduino控制電機不知道這樣是否是最好的解決辦法

這種方法應該是通用的~ 以前做畢業設計看的論文都是這樣的結構。

然後推薦你看看ros(www.ros.org)。可以簡化一下開發難度(首先你在樹莓派上面安裝一個ros。然後 用ros上面rosserial_arduino 這類的包和arduino連接~)

#########################################

關於圖像處理,我是用usb camera還是用camera moudle

我感覺2個都可以~ 不過你要用 `usb camera` 買之前要看看那個webcam和樹莓派的兼容性~ 當然你可以看看那種通過gpio讀圖片的攝像頭(就像飛思卡爾智能車那樣的)

#########################################


我覺得一個比較好的方法是用藍牙,Arduino也用藍牙,Arduino接drv8833或者l298N(不建議,損耗較大)去控制2個N20減速馬達,然後接USB攝像頭支持UVC的那種就好,不建議官方攝像頭,實時發現官方的不如山寨的響應迅速,因為太高清了而且csi介面速率不夠吧...識別用opencv但是要玩兒命的去訓練你的分類器,也是蠻坑爹的.但是更好的識別方法我覺得用紅外或者觸碰開關,或者超聲波感測器也行,用視覺比較吃力.容易打擊積極性.


你的pi用raspbian,如果用一個攝像頭,那麼直接用camera module很方便;不過想用雙攝像頭,需要raspberry compute module,如果沒有或不想換,那麼就用usb camera吧。關於arduino,可以不用,裝個wiringpi,完全可以操作pi的io口。不過演算法為啥要用matlab做,opencv可以在pi上運行的


推薦閱讀:

嵌入式 Linux 如何對抗意外斷電導致的系統分區損壞?
樹莓派專用屏幕支持什麼系統?
樹莓派需要散熱片嗎?
Ruff 和樹莓派的區別是什麼?
用手機如何遠程控制樹莓派?

TAG:圖像處理 | 視覺系統 | Arduino | 樹莓派RaspberryPi | 樂高機器人 |