在 VEX 機器人競賽 (VRC) 比賽期間,在機器人上使用 V5 距離感測器可以讓您的機器人透過自主運動獲得更多分數。
本文範例使用的遊戲是 2021-2022 年 VRC 遊戲《Tipping Point》。 查看本頁 以了解有關該遊戲及其玩法的更多資訊。 有關本文所使用的遊戲定義、遊戲規則概述和評分, 請參閱《引爆點的遊戲手冊。
V5距離感測器
V5 距離感測器 是功能強大的 V5 感測器之一,專為與 V5 機器人平台完全整合而設計。
- 此感測器使用教室安全雷射脈衝來測量從感測器正面到物體的距離。
- V5距離感測器可用於偵測物體並確定物體的相對尺寸。 物體的大致尺寸被報告為小、中或大。
- 該感測器還可用於計算機器人的接近速度。 接近速度測量機器人/感測器向物體移動時的速度。
有關 V5 距離感測器、其工作原理以及如何與 VEXcode V5 一起使用的更多詳細信息,v請參閱 VEX 庫中的這篇文章。
V5 距離感測器範例
該計畫的目標是讓機器人拾取並移動移動目標,使用 V5 距離感測器來偵測目標的距離。
這是本文將介紹的程式碼範例。
將詳細介紹範例中的行為以及如何取得用於編碼 V5 距離感測器的參數。
您可以按照本文的說明在 VEXcode V5 中建立項目,或者您也可以閱讀本文以獲取靈感,作為在編寫自己的自訂機器人時如何包含 V5 距離感測器的範例。
該影片顯示了上面的程式碼正在執行,以及機器人拾取並移動移動目標。
如果您想親自嘗試該範例,這裡是 VEXcode V5 中使用的機器人配置,用於將機器人和距離感測器新增至本範例的配置中。
本例中使用的機器人
本例中使用的機器人是 2021-2022 VRC 英雄機器人 Moby。 Moby 的設計沒有任何感測器,本例中為 Moby 添加了 V5 距離感測器。
在此範例中,V5 距離感測器安裝在 Moby's Forks 的中心附近。
有關 Moby 的更多信息, 請查看 VEX 庫中的這篇文章。
您不必使用 Moby 來編碼 V5 距離感測器或參加今年的比賽。 您可以將感測器安裝在定制機器人上任何您認為合適的位置。
注意: 確保機器人上沒有任何結構位於感測器表面的小雷射窗口前面。 目標和感測器之間的感測器前面需要有一條暢通的路徑。
細分行為進行評分
要使用 V5 距離感測器的回饋來拾取並移動移動目標,首先要分解機器人該如何移動。
首先,機器人應面向移動目標放置。
然後,機器人應向前行駛,直到距離感測器偵測到移動目標位於貨叉內並靠近感測器。
一旦感測器偵測到移動目標位於貨叉內部或靠近感測器,機器人就會停止行駛並抬起貨叉拾取移動目標。
一旦拾取移動目標,機器人將左轉 90 度並向前行駛 600 毫米 (mm)。
然後,機器人將降低叉子以將移動目標放下,並反向行駛遠離移動目標,這樣在下一步移動時就不會意外地將其撞倒。
了解參數
為了執行上述行為,了解移動目標距離 V5 距離感測器有多遠非常重要。
使用 V5 距離感測器拾取移動目標的參數
為了讓機器人向前行駛,直到距離感測器偵測到移動目標位於貨叉內部並靠近感測器,需要從 V5 Brain 記錄感測器的值。
將移動目標放在機器人的叉子之間。
然後,從大腦的螢幕中選擇“設備”,然後選擇距離感測器的圖示。
移動目標與感測器的距離(以毫米 (mm) 為單位)會顯示在 Brain 的螢幕上。
這是使用距離感測器拾取移動目標時將在專案中使用的值。
升高和降低貨叉的參數
再次將移動目標放入叉子內。
然後,從 Brain 的畫面中選擇“裝置”,然後選擇 Motor 2 的圖示。 馬達 2 控制左前叉。
大腦螢幕上會報告叉子抬起的度數。
這是在專案中升高和降低貨叉以拾取和放置移動目標時將使用的值。
使用運算符塊
在此項目中, <Less than> 操作符塊用於對距離感測器進行編碼。
這是因為,隨著距離感測器越來越接近某個物體,感測器與該物體之間的距離(以毫米為單位)會減少。
一旦距離小於預定量,可以選擇閾值來觸發機器人的行為。
例如,當機器人朝著移動目標行駛時,一旦距離為 小於 約 139 毫米 (mm),請使用 <Less than> 操作員區塊來觸發機器人停止的行為。
例如,如果該值更改為 10 毫米 (mm),則機器人實際上會遇到移動目標並可能損壞自身,因為距離感測器 10 毫米 (mm) 的距離不足以防止機器人的叉子接觸移動目標。