72

東海大學應用物理系智慧潛艇實驗室

實驗室主持人:陳永忠教授東海大學應用物理系

東海大學大智慧科技大樓二樓ST226/ST227





ACTIVITIES

智慧潛水艇




自駕車








本實驗室製作的樹莓派相關的學習影片
  • 樹莓派自駕車的馬達運動控制
  • 障礙物前轉彎(不使用camera)
  • 追蹤目標
  • 自駕車測量障礙物的距離並且轉彎1
  • 自駕車測量障礙物的距離並且轉彎2
  • Targ1.py
  • Opencv影像分析捕捉目標
  • opencv 1 and 2
  • 樹莓派自駕車的馬達運動控制
  • 自駕車測量障礙物的距離並且轉彎1
  • 自駕車測量障礙物的距離並且轉彎2
  • Targ1.py
  • Opencv影像分析捕捉目標
  • ✅樹莓派的結構
    ▶樹莓派的結構
    ▶連接伺服馬達
    ▶12和5伏特電壓
    ▶駕車組裝完成


    為樹莓派配備
    ▶樹莓派自駕車配備聲、光、馬達
    ▶樹莓派的接腳示範
    ▶伺服馬達轉動鏡頭


    樹莓派自動駕駛
    ✅樹莓派超音波自駕
    ▶超音波自駕1
    ▶超音波自駕2
    ▶超音波自駕3
    ▶超音波自駕4
    ▶超音波自駕5
    ▶紅外線自駕1
    ▶紅外線自駕2
    ▶紅外線自駕3


    openCV影像自駕
    ✅openCV-1
    ✅openCV-2
    ✅openCV-3
    ✅openCV_HSV_RED
    ✅openCV_HSV_PAGE
    ▶openCV指令-1
    ▶依據影像自駕1
    ▶依據影像自駕2
    ▶依據影像自駕3
    ▶依據影像自駕4
    ▶依據影像自駕5
    ✅循跡而行
    ▶循跡而行(影片)
    ▶循跡載物(影片)
    ✅自駕車跟隨
    ▶自駕車跟隨(影片1)
    ▶自駕車跟隨(影片2)
    ▶自駕車跟隨(影片3)
    ▶自駕車跟隨(影片4)
    ▶自駕車跟隨(影片5)
    ▶自駕車跟隨程式1


    基本程式

    1. C1.py
    2. C2.py
    3. M1.py
    4. M2.py
    練習1
    利用python語言當中的迴圈(for)和條件判斷(if, elif, else, break),我們可以進行下面 幾個程式的練習。
    1. 練習讓自駕車可以繞一個邊長5公尺的正方形運動

      • 在不啟用攝影機的情況下,我們可以控制讓自駕車圍繞邊長5公尺的正方形行走一>圈。同學們可以根據自己所分配到的自駕車,測量這一個車子直線行進幾秒鐘,可以達到5>公尺的距離。
      • 然後讓這個車原地轉動若干秒,你的車可以剛好旋轉90度,然後再讓這個車行走5>公尺,以此類推就可以完成正方形的運動,回到出發點。
      這是一個簡單的應用,如果同學們可以完成這個簡單的習題,表示你對車輛的行走控制所 用到的參數,有了基本的認識。
    2. 自駕車朝向目標運動的過程中繞過一個障礙物

      設想有一個目標物放在直線行進5公尺的地方,但是在直線行進2.5公尺的地方有一個障礙 物,當自駕車靠近行駛到這個障礙物前方時,必須經由彎道行駛繞過這個障礙物,請考慮下 面兩個做法:
      • 不使用攝影鏡頭的情況下,你根據你對車子的參數的掌握,設計一個彎道的程式區 塊,使你的自駕車在這個障礙物前執行這個區塊的程式,就可以繞過障礙物。
      • 上述的程式區塊中使用攝影鏡頭判斷障礙物是否在轉彎的過程中已經離開視線,不 造成障礙時向前行進,再轉回原本的直線。這個做法的好處是確保障礙物太大時我們的彎道 必須做適當的調整,或者太小的時候不需要繞太大的彎。
      閃避過障礙物之後繼續向目標前進。
    3. 自駕車原地打轉尋找目標

      在這個練習中讓自駕車原地打轉,同時讓你的網路攝影機工作,因此就可以同時看到不同 方位方向上的影像。原則上這也是一個單獨迴圈就可完成的工作,現在同學們利用open CV>模組進行影像分析,當你的影像中出現你所分配到的目標物對應的特定色碼時,利用條件判斷的指令讓轉動停止,也就是攝影機停留在目標物的影像上。如果能夠做到這點,你可以在 擴充你的程式,當目標物運動的時候我們的車子也會跟著轉動盯著你的目標物。
    練習2

    樹莓派自駕車判別不同顏色的軌道前進

    自駕車依軌道粗細改變車速




    我們的自駕車影片:
     
    
    中區物理教師專業成長研習, 2023, 5, 25
    
    
    授課教師
    陳永忠 ycchen@thu.edu.tw