[紀錄] 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社群聚會 #23 @2018/10/29

raspberry_pi_meetup_23_self_driving_car_banner
RSVP:Raspberry Pi Meetup #23
The 23th of the Raspberry Pi meetup, the topic is “Raspberry Pi self-driving car”.

Speaker 1: Yi Lee/DonkeyCar.Taipei
Topic: Donkey Car – The application of RC self-driving car with Raspberry Pi
Abstract: Donkey Car is an open source project based on Raspberry Pi and Python. In this platform, the machine learning and computer vision are used for the self-driving car. We will share some experiences:
1) Donkey Car system architecture
2) Car assembly, turning and lane design
3) Performance modeling and analysis
4) The mystery of Donkey Car

Speaker 2: sosorry
Topic: The introduction of Duckietown – A self-driving car open source project based on Raspberry Pi and ROS.
1) What is the Duckietown?
2) The hardware
3) Computer vision as the input
4) Estimate and control the car by probability
5) Resources
6) DEMO

Additional Information:

  • 2018/10/29 19:10 ~ 2018/10/29 21:30
  • 2F., No.105, Sec. 1, Chongqing S. Rd., Zhongzheng Dist., Taipei City
  • $100 per person
  • - – – – – – – – – - 以下為中文 – – – – – – – – – -

    報名:Raspberry Pi社群聚會 #23

    第二十三次 Raspberry Pi 社群聚會,希望能透過社群活動的分享和交流,找到更多 Raspberry Pi 的可能。本次主題是「樹莓派自走車」。

    分享者1:李翼/DonkeyCar.Taipei
    題目:驢車學走路 – 樹莓派在自駕遙控車的應用
    大綱:Donkey Car (驢車) 是一個開源專案,這是以 python 為基礎,在 Raspberry Pi 使用機器學習和電腦視覺等方法驅動遙控車的自駕車平台,以下是我們的經驗分享:
    1) Donkey Car 系統架構
    2) 系統組裝調校與車道設計
    3) 模型效率分析
    4) 驢車傳說

    分享者2:sosorry (台灣樹莓派)
    題目:小鴨城(Duckietown),一個基於Raspberry Pi和ROS 的開源無人小車專案介紹
    1) 什麼是Duckietown?
    2) 所需硬體和環境
    3) 使用電腦視覺作為自駕車的輸入
    4) 用機率計算車道相對估計與控制
    5) 學習資源
    6) DEMO

    活動資訊

    • 活動時間: 2018/10/29(週一) 19:10 ~ 21:30 (6:40pm 開始入場)
    • 活動人數上限: 100
    • 活動地點:台北市重慶南路一段105號2樓(天瓏書局)

    費用

    • 每人100元場地費用
    • 帶作品展示的參加者免收場地費用

    備註

    • 活動場地有提供無線網路

    報名:Raspberry Pi社群聚會 #23

    [產品] Duckietown 小鴨車 小鴨城 自走車 學習套件

    duckietown-raspberry-piros-14-638

    Duckietown(小鴨城)源自於 MIT 2.166 自動駕駛車開放課程,使用樹莓派加魚眼相機加上馬達控制板建立一個自走小車(DuckieBot)。

    DuckieBot(小鴨車)是在樹莓派上安裝 Ubuntu + ROS(Robot Operating System) 做為自走車的開發架構,使用魚眼鏡頭進行物體辨識,將當前環境根據非線性估計後使用馬達控制板控制左右馬達進行車道跟隨(lane following)。

    Duckietown 是一個遵守預先定義好的道路設計、標誌、指示牌(AprilTag)等自由擴充的環境,讓 DuckieBot 進行各項任務,例如車道跟隨(Lane Following)、定位(localization),規劃(planning)和導航(navigation)等等,並可擴充成多系統機器人交換訊息和協調等進階功能,甚至可進行各項比賽等。

    更多介紹可以參考:

    小鴨城(Duckietown) 一個基於Raspberry Pi和ROS 的開源無人小車專案介紹
    from raspberrypi-tw

    《特色》
    - 搭配Duckietown小鴨城自走車工作坊使用教材。
    - 學習自動駕駛原理,包括 ROS 使用、電腦視覺與相機校正、非線性估計、物體辨識、投影轉換和車道跟隨。

    《規格》

    1. 雙層自走車底盤(含底盤x2、輪胎x2、萬向輪x1、馬達x2、螺絲組) x1
    2. 馬達驅動板 x1
    3. 魚眼相機 x1
    4. 相機固定座 x1
    5. USB轉TTL x1
    6. 2.4GHz搖桿(需自備AAA 4號電池x2顆) x1
    7. 專用鋰電池擴充板 x1
    8. USB轉microUSB電源線 x1
    9. 塑膠螺絲包 x1
    10. 公對母排線(20cm)x2
    11. 黃色小鴨(6x6x5cm)x1

    * 注意:
    - 建議搭配 Pi 3 Model B 使用(非Pi 3 Model B+)。
    - 本商品不包含 Raspberry Pi 3記憶卡5V/2.5A電源轉換器

    《教學》
    - 組裝說明
    - 小鴨車安裝設定
    - 虛擬機安裝設定
    - 快速體驗Duckietown
    - 工作坊投影片,day1day2
    - 指令大全

    單買小鴨車套件 $ 3,800

    小鴨車加購 Pi 3B入門組(含Pi 3B、32G SD、電源)合購價 $ 5,900


    ※若無法使用Paypal購買,請到 這裡 填寫表單購買,造成您的不便敬請見諒。

    [活動] Duckietown小鴨城自走車工作坊(兩天)

    上限 20 人。購買全套配件:$9450元。
    Raspberry Pi 工作坊候補表單  <==額滿了,填寫候補表單!

    Duckietown(小鴨城)源自於 MIT 2.166 自動駕駛車開放課程,使用樹莓派加魚眼相機加上馬達控制板建立一個自走小車(DuckieBot)。

    DuckieBot(小鴨車)是在樹莓派上安裝 Ubuntu + ROS(Robot Operating System) 做為自走車的開發架構,使用魚眼鏡頭進行物體辨識,將當前環境根據非線性估計後使用馬達控制板控制左右馬達進行車道跟隨(lane following)。

    兩天的活動,讓你由淺入深,從 ROS 介紹到電腦視覺,自動駕駛原理一次學會。

    【Duckietown小鴨城自走車工作坊】
    目標:學習自動駕駛原理,包括 ROS 使用、電腦視覺與相機校正、非線性估計、物體辨識、投影轉換和車道跟隨一次學會。
    時間:2018/09/15-16(六-日) 早上 09:00~下午 18:00
    地點:CLBC台北市大安區復興南路一段293號4樓
    講師:
    1. YC_thumb YC 老師,Robotist。Pioneer in Duckietown。第一屆 ROS.Taipei 2018 年會年協辦,ROS.Taipei 2018年會發表 “I am supposed to build robots!
    2. HY_thumb HY 老師,Robotist。Pioneer in Duckietown。Unity, Unreal遊戲引擎專家。新竹Mars團隊, 新竹實驗中學與光武國中STEM教學資深講師。悠遊虛擬與現實間。

    9/15(週六)

    09:00 – 10:00: 1. Duckiebot環境設定(SSH設定/虛擬機設定)
    10:00 – 12:00: 2. 單元測試與ROS介紹與練習(ROS/底盤校正/攝影機讀取)
    13:00 – 14:00: 3. 電腦視覺與相機校正(內外參數/OpenCV基礎)
    14:00 – 17:30: 4. 自動駕駛原理(一)(非線性估計/光補償校正)

    9/16(週日)

    09:00 – 10:30: 1. 自動駕駛原理(二)(物體辨識/投影轉換/車道跟隨(1))
    10:30 – 12:00: 2. 自動駕駛原理(三)(車道跟隨(2))
    13:00 – 17:00: 3. 實地測試

    上限 20 人。購買全套配件:$9450元 Raspberry Pi 工作坊候補表單  <==額滿了,填寫候補表單!
    包含樹莓派 Pi 3B 必備套件(Pi 3B + 32G SD卡 + 5V/2.5A 電源 + PL2303HXD傳輸線) + 小鴨車材料包(雙層小車、160 度魚眼相機、相機座、Adafruit 馬達驅動板(已焊接)、鋰電池擴充板、2.4G 搖桿、全車螺絲包、USB 轉 TTL、黃色小鴨),不包含午餐。

    注意事項:
    * 完成付款即完成報名。
    * 學員當天需自備筆電,Windows / Linux / Mac 皆可。
    * 本活動是進階課程,建議有使用過樹莓派和在上面開發程式的人參加。

    更多介紹可以參考:

    小鴨城(Duckietown) 一個基於Raspberry Pi和ROS 的開源無人小車專案介紹
    from raspberrypi-tw