使用 VEX IQ 智慧型馬達進行編碼

在 VEXcode IQ 中編碼時,VEX IQ 智慧型馬達有許多可用的功能。 在對手臂、爪子、進氣口以及傳動系統和使用 VEX IQ 創建的其他機構進行編碼時,這會派上用場。 了解如何對馬達進行編碼將有助於緩解專案停滯或馬達無法按預期工作等問題。

馬達編碼器

VEX IQ智慧馬達不僅能像大多數馬達一樣將電能轉換為機械能,而且還具有大多數馬達所不具備的功能,使其變得「智慧」。 其主要特徵之一是正交編碼器。 此編碼器安裝在馬達內部,以追蹤馬達軸的速度和/或位置。

來自 VEX IQ 智慧型馬達編碼器的報告可以讓您了解:

  • 馬達轉動方向(正轉/反轉或開/關)
  • 馬達的位置以及馬達的轉數和位置(以轉數或度為單位)
  • 馬達轉速(基於編碼器隨時間的位置)

由於編碼器會報告馬達的狀態,因此它們可用於幕後計算,以使許多運動和感測命令在 VEXcode IQ 中運行。

單一馬達編碼

在開始在 VEXcode IQ 中對單一智慧型馬達進行編碼之前,您需要配置馬達。 單獨的馬達經常用於附加機構,例如入口、臂和爪。 然而,所有資訊仍然適用於使用單獨馬達的其他機構。

圖片7.png

按照本文 中的步驟在 VEXcode IQ 中配置您的個人馬達。

配置單一馬達後,控制該馬達的命令將出現在工具箱中。 您會注意到有不同類型的命令:等待和非等待。

等待命令與非等待命令

請注意,此處的所有圖像都顯示塊。 所有這些專案都可以用 Python 或 C++ 重新構建,並包含與區塊相同的功能。

圖片3.png

等待命令會阻止項目繼續進行,直到行為完成。 其中包括 [旋轉為] 和 [旋轉到位置] 等命令。

此處顯示的項目使用 Clawbot(2 馬達)模板,所有指令都在等待。 因此串聯起來,爪馬達將關閉 90 度,機器人將反向驅動,然後手臂將旋轉到 180 度的位置。

圖6.png

相反,有非等待命令。 非等待命令將無限期地執行該行為,或直到被告知更改為另一種行為為止。 其中包括 [Spin​​] 等命令。

此處顯示的項目使用新增了入口的 BaseBot。 此時進氣馬達將開始旋轉。 [Wait] 指令是一個等待指令,因此入口將繼續旋轉,直到 2 秒結束,然後移至專案中的下一個指令,即 [Stop] 指令。 然後馬達就會停止旋轉。

馬達超時

將馬達編碼為手臂或爪的一部分時,重要的是要記住等待塊和非等待塊之間的區別以及它們將如何影響機器人的運動。 馬達超時可讓您設定馬達到達預期目標位置的時間限制。 如果時間到期時仍未達到該位置,馬達將停止嘗試旋轉,項目將移至下一個命令。

圖片2.png

在此範例中,馬達超時設定為 2 秒。 如果爪子在 2 秒內沒有接近 90 度,馬達將在 2 秒標記處停止旋轉,然後移動到下一個命令並向前行駛。

圖4.png

如果您不確定馬達要移動多遠,請使用感測器儀表板。 儀表板以度數和轉數報告馬達的位置,因此當您移動馬達(例如打開和關閉爪子)時,數字會發生變化。 使用此測試來確定需要多少度或旋轉才能閉合爪子、舉起手臂、旋轉進氣等。

請參閱這些文章以了解如何使用感測器儀表板。

將智慧型馬達編碼為傳動系統的一部分

在開始在 VEXcode IQ 中編碼傳動系統之前,您需要配置傳動系統,包括所使用的馬達。 馬達在傳動系統內進行配置,以確保它們由相同的命令(如 [Drive] 和 [Drive for])控制。

等待和非等待命令

在對傳動系統進行編碼時,可以使用等待和非等待命令來控制機器人的運動。

圖片1.png

等待命令會阻止項目繼續進行,直到行為完成。 這些命令包括 [Drive for] [Turn for] 和 [Turn to header] 等命令。

此處顯示的項目使用 Clawbot(2 馬達)模板,所有指令都在等待。 因此,在系列中,機器人將透過傳動系統向前行駛 200 毫米,然後右轉。

圖片8.png

相反,有非等待命令。 非等待命令將無限期地執行該行為,或直到被告知更改為另一種行為為止。 其中包括 [Drive] 等命令。

此處顯示的項目使用 BaseBot。 在這裡,機器人將無限期地向前行駛,直到按下保險桿開關為止。 然後項目將移至下一個命令,機器人將停止行駛並右轉 90 度。

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

Last Updated: