Skip to content
🔐

專班教材存取限制

請輸入授權密碼以繼續閱覽

5. 軟體基礎篇

介紹

專案的編寫是採取「畫流程圖」式的圖形化編輯,只需要先點擊流程節點,再拉由左側拉入其他流程節點(或點擊手臂上特定按鈕產生流程節點),被加入的流程節點就會自動接到原先選取的流程節點下方。也可以透過點擊節點下方的 × 按鈕來斷開與下方連接的節點,或手動拉出連接線來連接兩個節點。

坐標系(Base)

常用的坐標系一共以下種:

  • 機械坐標系(Robot Base):有「絕對位置」的概念,任何時候它的坐標都必然表示同樣位置
  • 視覺坐標系(Vision Base):有「相對位置」的概念,每次建立視覺任務後就會自動建立,會隨辨識到的物體位置而改變原點
  • 工具坐標系:一般來說只會在使用 Move 時會用到,它以法蘭中心為原點,故正常情況下 Z 軸會與 Robot Base 相反(無法單獨在專案頁新建此種坐標系)

要改變採用的坐標系也很簡單,到右上角下拉式選單即可變更。

常見坐標系

常見的坐標系,其中一般坐標系(中間的)不在此教材之介紹範圍

移動手臂

直接按住手臂上的 FREE 按鈕,就可以直接拉動手臂,將它調到想要的位置了。

若想更細致地操作手臂,則點進上方 Quick Control 圖標 使用控制器的 +- 進行微調。

Point

在移動到想要的位置後,先確認右上角的坐標是否為自己想要的坐標系後,直接點擊手臂上 Point 按鈕或在軟體中拉入一個 Point,即可直接記錄目前坐標位置。

Vision

概念

Vision 分為兩大類型:

PositioningInspection
可編輯任務物件定位、TM Landmark 定位、伺服式定位、
物件校正、Smart-Pick
AOI 辨識與視覺 I/O 觸發
是否建立新坐標系

注意事項

Vision(Positioning)任務執行時也有 Point 功能,亦即會定位到指定位置後才開始視覺辨識,故建立 Vision 前須先檢查坐標系是否正確(通常使用 Robot Base)

操作方式

初階課程我們以物件定位Landmark 為主,來帶大家認識 Vision

無論是物件定位還是 Landmark,都會用 PositioningVision 節點,因此要先移動手臂到合適位置後,再拉 Vision 節點。拉入後,點擊它左上角的,進入編輯畫面後,點擊 視覺任務 旁的 選擇 以開啟,點擊 創建視覺任務圖標 以創建一個新視覺任務,隨便起一個名後,即可進入視覺任務的編輯畫面。進入後,確認左側選的是 Eye-in-Hand 並點擊 設定,即可依下方步驟完成物件定位或 Landmark 的視覺任務設定。

物件定位

點擊 物件定位下一步,等它跑完後,就會進到物件定位的編輯流程,左側那幾個方塊就是它的辨識流程,只要照著它的順序逐一設定好即可,記憶上應該不困難。

在第一個方塊(Motion)中,點擊右側 設定工作平面建立,即可進入工作平面的設定介面,在 視覺應用選擇 頁面選擇 自動下一步,進入畫面後,你應該會在畫面正中央看到目前手臂的相機畫面,接著把校正板放到鏡頭可以清楚辨識處(建議可以在下方用兩到三塊麻將墊著,讓校正板保持水平),之後我們可以先點擊畫面上方 調整相機參數圖示 來在校正時啟用燈光,按下 Next 後,依畫面指示按住控制器上的 PLAY 按鈕,手臂會開自動校正,跑到下方進度條全滿且指示消失後,會跳出「校正已完成」視窗,點擊 確定,之後在 工作平面名稱 處為工作平面隨便取個名字,即可點擊 Save確定 儲存。完成此步後,校正板就可以拿走了。

接著點擊右側 Camera 流程塊,建議可以勾選 內建光源 選項,它會自動在視覺任務時開燈,並在完成辨識後關燈,啟用此選項可以減少環境造成辨識失敗的機率。點擊 自動調整相機參數,就完成了這一步的設定。

當選著 Camera 流程塊時,它下方會出現一個 新增流程節點圖示,點擊它後,在 Find 類別中找到 樣板對比(輪廓特徵),選取它,並點擊 確定。此時需在畫面中放置一個麻將,建議擺正,以利後續選取樣板的方便。選擇右側 選擇樣板,它會開啟一個樣板選擇視窗,可以用滑鼠拉出一個長方形方塊去框住麻將的「TM」Logo(建議不要選取到下方小字或上方 QR Code),選好後點擊 下一步,待它跑完後,會跳出一個 選擇樣板 視窗,圖中會列出三種選取方式,選擇一個你認為框選得最精準的樣板,並點擊 確定,即完成此步設定。注意,在建立好視覺任務後到真的去夾它之前,麻將都不能再移動位置了,否則要重新建立任務。

點擊左上角的 存檔圖示儲存 以儲存此視覺任務。最後再點擊 設定確認,跳出視覺任務設定頁,即完成。

Landmark

點擊 Landmark 定位下一步,等它跑完後,就會進到 Landmark 辨識的編輯流程,與物件定位類似,左側那幾個方塊就是它的辨識流程,不過它的設定要比物件定位簡單許多。

與物件定位不同的是,在第一步,我們不需要去設定流程塊 Motion 的部分,因為 Landmark 會自動偵測,因此直接點擊左側 Camera 流程塊,再勾選 內建光源(建議),以及點擊 自動調整相機參數,之後再直接點擊流程塊的最後一步 SUMMARY,確認畫面中有在 Landmark 周圍出現一圈框框後,就可以按左上角 存檔圖示儲存 來儲存此視覺任務。最後再點擊 設定確認,跳出視覺任務設定頁,即完成。

辨識失敗時的 Case

視覺任務建立後,該節點下方會出現 FoundMiss 兩個分支,分別對應於「有辨識到物件」和「辨識失敗」兩種情況,前者很好理解,辨識成功就繼續寫接下來要幹嘛就好,但失敗的情況呢?處理失敗的情況,最常見的做法就是讓它不斷辨識,直到成功為止。

具體的做法是,我們要使用 Goto 節點,我們可以在選取 Vision 節點的情況下,拉入 Goto 節點,並選擇 遺失路徑,就能把 Goto 接在 Miss 分支下方,之後,我們再點 Goto 左上角的鉛筆圖示以進入編輯畫面,再點擊 Set Goto Target,此時畫面會變灰,並把所有節點高亮顯示,點擊一下 Vision 節點 → 確認,即可將 Goto 節點拉回到 Vision 節點上。如此,之後在辨識失敗時,它就會一直執行辨識,直到找到目標。

小提示

前面說過 Vision 會建立新坐標系,因此要控制夾起或放下麻將時,只要在建好 Vision 後,讓 Point 去採用 Vision Base,就可以精準地控制手臂把麻將夾或放到某處。

Set

Set 的功能相當強大,不過本章只會講解如何用它來控制夾爪的開闔。

建立

Set 可以從軟體左側拉入,或用手臂上的 SET 鈕(但競賽有可能會鎖住此方法)來建立。

設置

為了控制手臂夾爪的開闔,我們要進到 Set數位輸出 設定,點擊它右邊的 選擇,並在右邊跳出來的視窗中,找到 末端模組DO_0,這一項就是我們要控制的夾爪狀態。

DO_0 右邊有個圓形,點擊後,它會在 HL空白這三種狀態循環,H 表示「」、L 表示「」,相當直觀。

點擊 輸出測試,可以將手臂調整到所設定的狀態。

Wait for

其實 Wait for 可以被用來等待輸出入、時間、變數等條件,不過本章節只會說明最常使用的用途——等待時間。

用途

以初階應用來說,它很常被用在操作完夾爪收放後。因為「夾」和「放」的操作本身是需要時間的,但在專案執行速度拉快時,它有機會會因為太快而導致「空夾」或「拋放」,為了讓夾子確實完成收放動作後,才去執行下一個動作,我們就要在夾放操作後,加上一個 Wait for

操作方式

在編輯 Wait for 介面中,選擇 時間 右邊的 選擇,在右邊跳出來的視窗中,選擇上面那個選項(有框可輸入數值的選項,理論上為預設值),並在框中輸入要等待的時間,一般建議可以寫 500(代表 500 ms,即 0.5 sec)。

Move

用途

通常我們會在操作完夾爪的收放後,為了避免移動到下一個點位的路徑上有東西,從而導致撞機,我們會用 Move 來先把手臂向上抬高一些。

操作方式

一般來說我們會用「工具」,也就是工具坐標系的方式來進行移動,我們可以在 Z 軸輸入一個負數(向上),例如 -100(代表向上 100 mm,即 10 cm)。

Stop

它屬於一個停止節點,會接在專案最後面,讓專案在執行到它時,自動退出專案介面。Stop 節點因為代表的是「結束」,故它下方無法再連接其他節點。雖然這個節點不是硬性規定,但還是推薦養成好習慣,在專案最後面都加上一個 Stop

執行專案

開始執行

點擊控制器上的 PLAY 按鈕,畫面就會進入執行專案的頁面,並伴隨三聲「嗶、嗶、嗶」後,隨即開始執行專案。

控制速度

在控制器下方會有一排燈號用以顯示目前的專案執行速度,預設是 5%,可以利用控制器的 +- 來控制專案執行速度,新手使用時一般建議設置在 15% 以下,待熟悉手臂操作後再漸漸增加上限。

退回控制器

在執行完畢後,若沒有設置 Stop 節點,則軟體畫面會停在專案執行畫面,若欲退回專案編輯畫面,可以按下控制器的 STOP 按鈕來退出執行畫面。

另一種情況是,專案沒有執行完成,無論是因為報錯停下,或是卡在某步無限迴圈了(例如迴圈設錯或視覺任務無法找到目標而卡住等),都一樣可以利用控制器的 STOP 鈕來停止並退出執行。

常見報錯

原因和特徵

手臂可能會因為撞到東西(撞機)或者在拉到某個關節的極限(奇異點)時報錯,此時手臂上的燈會呈紅色,且軟體顯示灰色,無法操作。

解除方式

  1. 按住手臂上 FREE 按鈕後,直接移動它離開原位(撞擊物或奇異點)
  2. 長按控制器上 STOP 按鈕後,方可解除報錯狀態
  3. 重新檢視並修改專案,確認報錯原因並進行修正

一移動就報錯

若手臂一移動就報錯,但仍可以進行移動時,表示手臂在某個關節已近奇異點,可能是因為被轉了一整圈,此時請不斷嘗試,找出該關節,並在手動修正後,設定手臂回到正規使用姿態,以確保手臂不會再在某關節卡住。

無法解除報錯時

可以試著使用最原始且暴力的做法——重開機。

但盡量不要用到此方法,而是學著找出問題並解決,否則若賽中無法解除報錯狀態,可能被視為未完賽。

陽明高中 AI 專班專屬教材