使用數學不等式對 V5 距離感測器進行編碼

在 VEX 機器人競賽 (VRC) 比賽期間,在機器人上使用 V5 距離感測器可以讓您的機器人透過自主運動獲得更多分數。

本文範例使用的遊戲是 2021-2022 年 VRC 遊戲《Tipping Point》。 查看本頁 以了解有關該遊戲及其玩法的更多資訊。 有關本文所使用的遊戲定義、遊戲規則概述和評分, 請參閱《引爆點的遊戲手冊。


V5距離感測器

V5距離感測器

V5 距離感測器 是功能強大的 V5 感測器之一,專為與 V5 機器人平台完全整合而設計。

  • 此感測器使用教室安全雷射脈衝來測量從感測器正面到物體的距離。
  • V5距離感測器可用於偵測物體並確定物體的相對尺寸。 物體的大致尺寸被報告為小、中或大。
  • 該感測器還可用於計算機器人的接近速度。 接近速度測量機器人/感測器向物體移動時的速度。

有關 V5 距離感測器、其工作原理以及如何與 VEXcode V5 一起使用的更多詳細信息,v請參閱 VEX 庫中的這篇文章


V5 距離感測器範例

該計畫的目標是讓機器人拾取並移動移動目標,使用 V5 距離感測器來偵測目標的距離。

這是本文將介紹的程式碼範例

這是本文將介紹的程式碼範例。

將詳細介紹範例中的行為以及如何取得用於編碼 V5 距離感測器的參數。

您可以按照本文的說明在 VEXcode V5 中建立項目,或者您也可以閱讀本文以獲取靈感,作為在編寫自己的自訂機器人時如何包含 V5 距離感測器的範例。

該影片顯示了上面的程式碼正在執行,以及機器人拾取並移動移動目標。

這是 VEXcode V5 中使用的機器人配置

如果您想親自嘗試該範例,這裡是 VEXcode V5 中使用的機器人配置,用於將機器人和距離感測器新增至本範例的配置中。

本例中使用的機器人

本例使用的機器人是2021-2022 VRC Hero Bot

本例中使用的機器人是 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 控制左前叉。

手動升起貨叉,直到移動目標的底部為
      ,且不遮擋距離感測器的視野

手動升起貨叉,直到移動目標的底部不會遮擋距離感測器的視野。

手動升起貨叉時,請確保同時升起 Moby 左右兩側的每個貨叉,因為每個貨叉均由各自的馬達控制。

注意: 手動抬起貨叉時,避免 夾點

叉子升高的度數

大腦螢幕上會報告叉子抬起的度數。

這是將在項目中使用的值

這是在專案中升高和降低貨叉以拾取和放置移動目標時將使用的值。

使用運算符塊

操作塊用於將距離感測器編碼為

在此項目中, <Less than> 操作符塊用於對距離感測器進行編碼。

這是因為隨著距離感測器越來越近

這是因為,隨著距離感測器越來越接近某個物體,感測器與該物體之間的距離(以毫米為單位)會減少。

可以選擇閾值來觸發行為

一旦距離小於預定量,可以選擇閾值來觸發機器人的行為。

例如,當機器人朝著移動目標行駛時,一旦距離為 小於 約 139 毫米 (mm),請使用 <Less than> 操作員區塊來觸發機器人停止的行為。

操作符塊

例如,如果該值更改為 10 毫米 (mm),則機器人實際上會遇到移動目標並可能損壞自身,因為距離感測器 10 毫米 (mm) 的距離不足以防止機器人的叉子接觸移動目標。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: