教師工具箱 - 本活動的目的
視覺感測器提供各種可在專案中使用的數據。 感測區塊允許使用者讓項目拍攝快照、確定物件是否存在、確定存在多少個、確定視覺感測器快照內物件的中心 X 和 Y 座標,並確定快照內物件的寬度和高度(以像素為單位) 。 此活動將介紹收集該資訊以準備視覺資料挑戰所需的所有相關模組。
以下是 Rethink 視覺資料挑戰的概述:
-
查看從視覺感測器的感測區塊收集的完整資訊資料集。
-
完成從視覺感測器收集的有關不同快照的部分資訊資料集。
-
基於快照和視覺感測器的感測區塊建立資料集。
視覺感測器的感測塊
VEXcode IQ 具有用於視覺感測器的感測塊。 您已在「播放」部分中使用前兩者來拍攝快照並檢查物件是否存在。
在下圖中,您可以看到 (Snapshot) 塊捕獲了 GREENBOX 快照。 物件 GREENBOX 在快照中被識別,因此它是否存在的答案是 TRUE。
讓我們看看這些其他感測區塊以及它們的值告訴我們什麼。
-
(物件數) 塊告訴我們快照中有多少個 GREENBOX 物件。 此處僅偵測到 1 個。
-
中心 X 值告訴我們 GREENBOX 物件是在機器人中心點的左側還是右側。 請記住,視覺感測器安裝在機器人前部的中間,因此快照的視圖就是機器人的視圖。
-
如果中心 X 大於 157.5,則物件位於機器人中心點的右側。
-
如果中心 X 小於 157.5,則物件位於機器人中心點的左側。
-
-
中心 Y 值告訴我們 GREENBOX 是否高於或低於機器人的中心點。
-
如果中心 Y 大於 105.5,則物體低於機器人中心點。
-
如果中心 Y 小於 105.5,則物體高於機器人中心點。
-
-
寬度和高度值告訴我們 GREENBOX 與機器人的距離有多近。
-
同樣大小的物體,越靠近機器人,寬度和高度就會越大。
-
教師工具箱 - 為什麼要閱讀此內容?
VEXcode IQ 中的幫助信息還提供了有關塊的信息,但在這裡,正在收集的數據根據它們具體告訴用戶有關快照中的對象的內容進行了上下文化。
筆記:
-
整個快照的centerX和centerY值用於確定物體是否位於機器人中心點的左/右或上方/下方。 它們的計算方法是將該軸上的像素總數除以二(例如,快照的 centerX = 315 / 2 = 157.5)。
我們可以假設機器人的中心點與視覺感測器快照的中心點相同,因為視覺感測器應安裝在機器人正面的中心並面向前方。 在判斷物體相對於機器人(或視覺感測器)中心點的位置時,需要考慮視覺感測器在機器人結構上的位置以及視覺感測器可能向下傾斜的角度。
-
Y 值在快照內向下增加。 在繼續下一部分之前,請確保學生認識到這一點。
中心X和中心Y值是如何計算的?
這些值是根據快照內的座標計算的。 物件的寬度和高度已經計算出來。
視覺感測器追蹤物體左上角的 X 和 Y 值。 下面,這些座標是 (84, 34)。
中心 X 和中心 Y 值可以根據左上角 (84, 34) 的座標以及提供的寬度 (W 140) 和高度 (H 142) 值來計算。
-
中心X = 140/2 + 84 = 154
-
centerX = 物件寬度的一半加到其最左側的 X 座標
-
-
中心Y = 142/2 + 34 = 105
-
centerY = 物件高度的一半加上其最上面的 Y 座標
-
教師工具箱 - 結束本頁
確保學生理解查找中心 X 和中心 Y 值所涉及的數學。 他們將需要它來進行下一頁的活動。
詢問 (84, 34) 和 (W 140, H 142) 值與快照角中提供的座標有何關係。 學生應該認識到整個快照是根據像素數映射到座標平面上的。 X 值範圍從 0 到 315(寬 316 像素),Y 值範圍從 0 到 211(高 212 像素)。 物件的座標和大小是基於物件沿著這些軸佔據的像素數量。