[紀錄] Raspberry Pi社群聚會 #23 會後資料(樹莓派自走車)

第二十三次 Raspberry Pi 社群聚會會後資料,希望透過社群活動的分享和交流,找到更多 Raspberry Pi 的可能。本次主題是「樹莓派自走車」。過往資訊可看共筆,報名可到 KKTIX

天瓏書局(Tenlong Bookstore)
這次的活動是在天瓏書局 CodingSpace 舉辦,場地很新設備很好,小老闆很給力提供了很多協助。

Raspberry Pi社群聚會 #23(Raspberry Pi Meetup #23)
但這次因為報名人數爆棚所以略顯擁擠,下次聚會要吃 Pizza 應該會更擠吧?

樹莓派基金會贊助貼紙(Raspberry Pi Foundation donate stickers to us)
這次活動樹莓派基金會有贊助貼紙,所以來參加的朋友都很開心的拿了不同的貼紙做紀念。

如何玩Donkey Car(Donkey Car How to Play)
這次的講者李翼介紹 Donkey Car 怎麼玩。Donkey Car 是一個機器學習加上馬達控制的綜合型專案,也就是使用者先在車道上使用搖桿控制小車,並且將影像資訊和搖桿資訊記錄下來。再將蒐集到的資料訓練出對應的模型,之後再把訓練好的模型放到小車上試著讓它自走,並持續做蒐集資料、訓練模型、測試小車的動作直到符合預期結果。

Donkey Car硬體清單(The Donkey Car Hardware List)
Donkey Car 的硬體清單,包含了 Pi 3、車體、相機模組、搖桿以外,還用了冰棍做相機支架,非常有趣。


目前比較難取得的是 RC Car,還要再搭配專用擴充板,不過這都可以再進行改造的。對 Donkey Car 來說,相機模組是唯一的資料輸入來源。

Donkey Car軟體架構(The Donkey Car Software Architecture)
在 Donkey Car 的軟體架構中,包含了認知(Perception)、規劃(Planning)、控制(Control)和資料收集(Data Collection)等步驟。所謂的認知就是自駕車需要取得當前的狀態(state),包括是否正在前進還是後退?如果知道狀態以後,就可以根據條件做規劃,例如左轉、右轉或是避障等。有了規劃結果以後就可以發出控制訊號來控制馬達調整車子動作,最後就是持續把從相機讀進來的影像資料或是搖桿資料給保存下來。

Donkey Car身經網路(The Donkey Neural Network Model)
Donkey Car 的核心精神就是使用神經網路將影像和對應的動作做連結,因此選擇適合的模型與調整參數是很重要的。

Donkey Car資料類別(The Donkey Car Data)
除了有好的神經網路模型以外,如何挑選好的資料在機器學習領域也是非常重要的。對此李翼分享了自身的經驗,不能只給模型乖乖的控制資料,必須要加上一些錯誤再導正的控制資料,就像是我們人在開車時的行為。

Donkey Car車道設計(Donkey Car Lane Design)
車道設計也是大哉問,不論是地板材質、膠帶材質與顏色都會影響辨識結果,並且特別要注意車道轉彎角度必須要小於車子的迴轉半徑,才不會做出一個無法跑得賽道出來。

結語
最後的結論就是雖然神經網路是一個黑盒子,但多數的行為是可以根據訓練資料而得到的,因此除了模型設計以外,使用乾淨和有設計過的資料做訓練才會得到理想的結果,也就是 “餵什麼像什麼”。


李翼的分享非常精彩,中場休息時還被團團圍住。大家都想要在這次的分享吸收講者的經驗以減少自己摸索的時間。

驢車學走路(樹莓派在自駕遙控車的應用)的投影片下載

 

源自於MIT的小鴨車專案(Duckietown Project from MIT)
我們這次介紹小鴨城(Duckietown)專案,這是一個基於 Raspberry PiROS 的開源無人小車專案,源自於 MIT。在 2016 年課程初設計時,還是一個靠著影像辨識加控制理論所搭建的自走車平台,但到了 2017/2018 年已經可以結合機器學習做到多種環境識別與容器化等更適合在學校推廣的機器人平台。


這是在 2016 年課程(2.166)的架構,一開始會需要設定樹莓派(Duckiebot)和開發環境(Virtualbox),並且讓兩邊的網路透過名稱解析方式互通。一開始會做車輪校正(Wheel Calibration)確認小車能行走直線不偏移,再來從小車的視角去觀察世界可以看到如果要做到最簡單的車道跟隨(Lane Following)會需要找到左邊的黃色線段和右邊的白色車道,因此經過影像處理的技術,包括色彩空間轉換、濾波、邊緣偵測和找直線等可得到黃線和白線的線段座標。再經過相機校正(Camera Calibration)後,可以讓影像資訊從二維相機影像座標映射到真實世界三維座標。最後經過投票與條件機率可決定最適合的參數,再根據此一參數調整馬達控制訊號讓小車狀態改變達到能沿著車道行走的功能。

車道跟隨展示(Lane Following Demo)
sosorry 也展示了車道跟隨(Lane Following)的功能。但當天的光線太暗,黃線的部份並沒有清楚的看到,但在經過亮度補償後有改善,可以完整跑完一圈。

採果機器人展示(FarmHarvestBot Demo)
我們在之前的工作坊有遇到 FarmBotTUG 的朋友,他們開了一個新的採果機器人專案(FarmHarvestBot) ,希望能做到可以自動採收水果的機器人。我們也根據他們的想法做了一個簡單的展示,可以一邊自走 S 型車道,再一邊進行手臂控制夾取物品。未來將會做成原型車,能透過影像辨識再使用機器手臂自動抓取物品。

小鴨城(Duckietown)一個基於Raspberry Pi和ROS 的開源無人小車專案介紹投影片下載
 
我們預計在十二月還會在舉辦一次小鴨車的工作坊,活動時間與地點近期會公佈,歡迎大家一起來玩。

[活動] Raspberry Pi社群聚會 #19 會後資料(特色相機技術與應用)

第十九次 Raspberry Pi 社群聚會會後資料,希望透過社群活動的分享和交流,找到更多 Raspberry Pi 的可能。本次主題是「特色相機技術與應用(Camera Technology and Application)」。過往資訊可看共筆


這次的活動有發放貼紙,要感謝 SZJapanese Raspberry Pi Users Group 的發起人 Masafumi Ohta 的幫忙。


活動還沒正式開始,就已經有很多人排隊簽到順便拿貼紙了。


今天第一場講者是義晶科技的 Aki。義晶科技做了第一台樹莓派的 360 相機,使用的 image sensor 是 OV10640。


由於樹莓派基金會的 GPU 目前只提供 OmniVision OV5647SONY IMX219 的 ISP 處理,但因為太多人有使用其他相機的需求,因此樹莓派基金會特別提供了一個 rawcam 的存取路徑。只要接上 MMAL 的 vc.ril.rawcam 的 component 就可以取得從 CSI-2 吐出的 raw 檔。更多資訊請參考論壇資訊
因此,使用非官方相機的資料存取路徑,就會是使用 rawcam 的存取路徑:Sensor => CPU memory => copy to GPU memory => GPU process,速度會比標準的存取路徑:Sensor => CPU memory => GPU process 慢了一些。


因為 360 相機是由兩個超過 180 度的魚眼相機所組成,因此如果直接取回 raw 並顯示可以看到兩個鏡頭各別的魚眼畫面結果,這樣的速度是最快。


如果需要將兩個魚眼畫面結果縫合成一張全景圖(Panorama),那還要透過 GPU 的運算後就會慢一些。


如果搭配 Live555 這樣的 RTSP Server,我們就可以將相機畫面轉成 RTSP 的串流。如果再註冊一個 youtube 的帳號,就可以用 360 相機開直播了,把樹莓派當作 Pi 360 直播盒。

AKi 的內容非常精實,如果有興趣的朋友們可以下載投影片。我們很快也會將這款 360 相機上架

 

Raspberry Pi特色相機介紹(熱成像攝影機+微距相機) from raspberrypi-tw


我們第一個展示的是熱成像相機的原理與應用,使用的是 FLIR Lepton LWIR Camera,小小一個鏡頭和橡皮擦差不多的大小卻價格驚人!


熱成像相機根據讀取到的不同波長的紅外線,透過波長與溫度的轉換,將溫度用色彩的方式轉成三維矩陣後回傳。因此我們可以看到溫度從白到黃到紅到紫到黑,顏色越深代表溫度越低。
熱成像相機的能量取得是靠紅外線的熱輻射,因此不受白天、晚上、煙霧、下雨等天候影響,過去是用在軍事上偵測敵人使用。


轉到商用上,就可以用在人型辨識或是人數計算等應用,但會需要透過影像處理的手法才能得到準確的結果。我們也展示了使用 Canny 邊緣偵測的方式,來得到人形邊緣結果。


我們第二個展示是使用微距相機搭配 OCR 做工業檢測,這源自於我們需要快速取得板子上的料號,希望能透過自動畫得方式進行光學文字辨識,並將結果儲存起來做為日後備料使用。
OCR 能使用的技術很多,我們是使用 Pytesseract 這套 Tesseract-OCR 的 wrapper。

 

相機與影像處理是 Raspberry Pi 的特色與強項,我們也會持續發展相關應用。下半年我們會有寵物小車二代,是一個結合行動+影像+機器人架構的專案。

歡迎大家來參加社群聚會,相關活動我們都會在網頁facebook 公告,如果有主題想分享也請來信 service AT raspberrypi.com.tw。

[新聞] Raspberry Pi貼紙發放

raspberry-pi-foundation-package-and-stickers

感謝 SZJapanese Raspberry Pi Users Group 的發起人 Masafumi Ohta 的幫忙,Raspberry Pi 創辦人 Eben 寄了一箱貼紙給我們,希望我們能持續推廣 Raspberry Pi,並透過社群活動的分享和交流,找到更多 Raspberry Pi 的可能。

貼紙只送不賣,我們會在社群聚會發放,也會在這次的 COSCUP 發放,發完為止。

報名:Raspberry Pi社群聚會 #19