機器人專用模組#
介紹#
Hero Bot Swish 包含兩種馬達選項和光學感測器。
所有標準 VEXcode VR 模組可在 IQ 24-25 快速接力 遊樂場使用。
以下是所有可用的機器人專用模組清單:
驅動系統-控制機器人的移動和轉向。
操作
設定
價值觀
驅動完成 — 報告機器人是否已完成移動。
drive is moving — 報告機器人是否正在移動。
驅動航向 — 報告機器人的當前航向,範圍從 0 到 359.99 度。
驅動旋轉 — 報告機器人的當前旋轉方向。
驅動速度 — 回報機器人的行駛速度。
運動控制-移動並追蹤機器人的馬達。
操作
spin motor – 使馬達或馬達群組沿著一個方向永遠旋轉。
spin motor for – 使馬達或馬達組旋轉指定的角度或圈數。
旋轉馬達到位置 – 將馬達或馬達組旋轉到特定位置。
停止馬達 – 停止馬達或馬達組旋轉。
設定
價值觀
感知-利用機器人的各種感測器。
光學的
光學偵測到物體 – 報告感測器是否在範圍內偵測到物體。
光學偵測顏色 – 報告光學感測器是否偵測到指定的顏色。
光學亮度 – 報告光學感測器偵測到的亮度。
光學色調 – 報告光學感測器偵測到的色調。
當光學感測器偵測到或遺失物體時 – 當光學感測器偵測到或遺失物體時,請執行附加的模組堆疊。
本頁範例使用 Playground 的預設起始位置。
傳動系統#
動力系統控制VR機器人的駕駛和轉向。動力系統可以前進或後退、左轉或右轉、轉向特定航向並追蹤其旋轉。
行動#
駕駛#
驅動 模組使機器人能夠無限向前或向後移動。機器人將持續移動,直到收到其他指令,例如轉向或停止。
行駛 [前方 v]
參數 |
描述 |
|---|---|
方向 |
機器人移動方向:前進或後退。 |
例子
當開始時 :: hat events
[Drive forward, then stop.]
行駛 [前方 v]
等待 (2) 秒
停止行駛
驅動#
驅動堆疊模組控制機器人前進或後退一段特定距離。程式會等待機器人完成移動後,才會執行堆疊中的下一個模組。
行駛 [前方 v] (200) [mm v] ▶
參數 |
描述 |
|---|---|
方向 |
機器人移動方向:前進或後退。 |
距離 |
機器人行駛的距離。可以是整數,也可以是小數。 |
單元 |
距離單位:mm(毫米)或英吋 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時 :: hat events
[Drive forward.]
行駛 [前方 v] (500) [mm v] ▶
轉動#
轉向 積木塊會讓機器人無限向左或向右轉向。機器人會一直轉向,直到收到其他動作指令,例如行駛或停止。
向 [右 v] 轉
參數 |
描述 |
|---|---|
方向 |
機器人轉向的方向:向左或向右。 |
例子
當開始時 :: hat events
[Turn right, then stop.]
向 [右 v] 轉
等待 (2) 秒
停止行駛
轉向#
「轉向」堆疊模組會使機器人向左或向右旋轉指定的角度。旋轉角度是相對於機器人的當前位置而言的。程式會等待機器人完成旋轉後,才會執行堆疊中的下一個模組。
向 [右 v] 轉 (90) 度 ▶
參數 |
描述 |
|---|---|
方向 |
機器人轉向的方向:向左或向右。 |
角度 |
機器人旋轉的角度數。可以是整數,也可以是小數。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時 :: hat events
[Turn left, then turn around to the right.]
向 [左 v] 轉 (90) 度 ▶
向 [右 v] 轉 (180) 度 ▶
轉向標題#
航向角是指機器人面向的方向,以度為單位。 轉向航向角 代碼塊可以將機器人轉向 -359 度到 359 度之間的特定航向角。機器人會選擇到達目標航向角的最短路徑。
起始航向為0度。
該專案將等待機器人完成轉向後,才會運行堆疊中的下一個模組。
轉向航向 (90) 度 ▶
參數 |
描述 |
|---|---|
標題 |
機器人應面向的航向,範圍從 -359 度到 359 度。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時 :: hat events
[Turn to face the cardinal directions.]
轉向航向 (90) 度 ▶
等待 (2) 秒
轉向航向 (180) 度 ▶
等待 (2) 秒
轉向航向 (270) 度 ▶
等待 (2) 秒
轉向航向 (0) 度 ▶
等待 (2) 秒
轉向旋轉#
旋轉到旋轉 堆疊塊使機器人旋轉到特定角度。
旋轉角度是指機器人轉動的幅度,以度為單位。在專案開始時,旋轉角度值設定為 0 度。也可以使用 set drive rotation 程式碼區塊來設定旋轉角度。
旋轉角度是絕對值。這意味著轉彎方向取決於機器人目前的旋轉角度。向右轉會增加旋轉角度,向左轉彎會減少旋轉角度。
例如,如果機器人從0度開始,你將其旋轉720度,它會向右轉兩次。如果你再將其旋轉360度,它會向左轉一次,因為360小於720。
該專案將等待機器人完成轉向後,才會運行堆疊中的下一個模組。
轉至旋轉 (90) 度 ▶
參數 |
描述 |
|---|---|
旋轉 |
機器人將旋轉到的角度值。該值可以是整數或小數。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時 :: hat events
[Turn left, then spin in a circle clockwise and face right.]
轉至旋轉 (-90) 度 ▶
等待 (2) 秒
轉至旋轉 (450) 度 ▶
停止駕駛#
停止驅動堆疊塊會停止機器人的移動。
停止行駛
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Drive forward, then stop.]
行駛 [前方 v]
等待 [4] 秒
停止行駛
設定#
設定驅動速度#
設定驅動速度 代碼塊告訴機器人以多快的速度行駛。百分比越高,機器人行駛速度越快;百分比越低,機器人行駛速度越慢。
每個專案開始時,機器人預設以 50% 的速度行駛。
注意:速度越高,機器人行駛速度越快,但精度可能越低;速度越低,機器人行駛速度越慢,但精度可能越高。
設定行駛速度為 (50) [% v]
參數 |
描述 |
|---|---|
速度 |
行駛速度,範圍從 0% 到 100%。 |
單元 |
速度單位:% |
例子
當開始時 :: hat events
[Drive forward at the default velocity.]
行駛 [前方 v] (100) [mm v] ▶
等待 (1) 秒
[Move slower.]
設定行駛速度為 (20) [% v]
行駛 [前方 v] (100) [mm v] ▶
等待 (1) 秒
[Move faster.]
設定行駛速度為 (100) [% v]
行駛 [前方 v] (100) [mm v] ▶
等待 (1) 秒
設定轉彎速度#
設定轉彎速度 代碼塊告訴機器人轉彎的速度。百分比越高,機器人轉彎越快;百分比越低,機器人轉彎越慢。
每個專案開始時,機器人預設以 50% 的速度旋轉。
注意:速度越高,機器人轉彎越快,但精度可能越低;速度越低,機器人轉彎越慢,但精度可能越高。
設定轉向速度為 (50) [% v]
參數 |
描述 |
|---|---|
速度 |
轉彎速度從 0% 到 100%。 |
單元 |
速度單位:% |
例子
當開始時 :: hat events
[Turn at default velocity.]
向 [右 v] 轉 (100) 度 ▶
等待 (1) 秒
[Turn slower.]
設定轉向速度為 (20)%
向 [右 v] 轉 (100) 度 ▶
等待 (1) 秒
[Turn faster.]
設定轉向速度為 (100)%
向 [右 v] 轉 (100) 度 ▶
等待 (1) 秒
設定驅動航向#
航向角是指機器人朝向的方向,以度為單位。 設定驅動航向堆疊區塊會將機器人的目前航向角變更為新的航向角值。
例如,如果機器人轉向右側,將航向設定為 0 度,則該右側位置將成為新的 0 度航向。然後,機器人可以根據新的航向轉向其他位置。
設定行駛航向為 (0) 度
參數 |
描述 |
|---|---|
標題 |
要設定的機器人航向值(以度為單位)。 |
例子
當開始時 :: hat events
[Turn to the left.]
設定行駛航向為 (90) 度
轉向航向 (0) 度 ▶
設定驅動旋轉#
旋轉角度是指機器人轉動的程度,以度為單位。在專案開始時,旋轉角度值設定為 0 度。 設定驅動旋轉角度 程式碼區塊會將機器人的當前旋轉角度變更為新值。
例如,如果機器人向右轉了兩圈,它的旋轉角度將為 720 度。將旋轉角度設為 0 度會將旋轉角度從 720 度重設為 0 度。然後,機器人可以根據這個新的旋轉角度進行旋轉。
設定行駛旋轉為 (0) 度
參數 |
描述 |
|---|---|
旋轉 |
機器人旋轉角度的設定值,單位為度數。可以是整數或小數。 |
例子
當開始時 :: hat events
[Spin counterclockwise two times.]
設定行駛旋轉為 (720) 度
轉至旋轉 (0) 度 ▶
設定驅動超時#
設定驅動超時 程式碼區塊用於設定機器人嘗試完成一次動作的秒數。如果機器人無法在規定時間內完成,它將停止嘗試並執行程式碼區塊中的下一個。這樣可以防止機器人卡在某個動作上。
設定行駛超時為 (1) 秒
參數 |
描述 |
|---|---|
時間 |
機器人嘗試完成一次動作的秒數。該值可以是整數或小數。 |
例子
當開始時 :: hat events
[Drive forward for 1 second, then turn.]
設定行駛超時為 (1) 秒
行駛 [前方 v] (25) [英吋 v] ▶
向 [右 v] 轉 (90) 度 ▶
價值觀#
駕駛已完成#
「驅動完成」布林模組用於報告機器人是否已停止移動。這可用於根據機器人的移動狀態來控制其他行為的執行時間。
正確 — 機器人已停止移動。
錯誤 — 機器人仍在移動。
此模組與具有 and don’t wait 參數的傳動系統模組配合使用。
<行駛完成?>
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Start spinning when the drive is complete.]
行駛 [前方 v] (200) [mm v] ◀ 且不等待
等待直到 <行駛完成?>
向 [右 v] 轉 (360) 度 ▶
車輛正在行駛#
「驅動正在移動」布林模組用於報告機器人是否正在移動。這可用於根據機器人的移動狀態來控制其他行為的執行時間。
正確 — 機器人正在移動。
錯誤 — 機器人沒有移動。
此模組與具有 and don’t wait 參數的傳動系統模組配合使用。
<行駛中?>
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Print that the robot is moving while it is still driving.]
行駛 [前方 v] (200) [mm v] ◀ 且不等待
當 <行駛中?>
列印 [Still Moving...] ▶
等待 (0.1) 秒
清除螢幕
結束
列印 [Done!] ▶
行駛方向#
航向角是指機器人朝向的方向,以度為單位。 驅動航向報告模組會報告 0 到 359.99 度的航向角。
機器人的初始航向角為0度。
(行駛航向(度))
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Display the heading after turning.]
向 [右 v] 轉 (450) 度 ▶
在螢幕上列印 (行駛航向(度)) ◀ 並將游標移至下一列
驅動旋轉#
旋轉角度是指機器人轉動的程度,以度為單位。專案開始時,旋轉角度值設定為 0 度。 「驅動旋轉」報告模組會報告機器人目前的旋轉角度。
向右轉會增加旋轉角度,向左轉會減少旋轉角度。例如,向右轉兩圈,旋轉角度將達到 720 度。
(行駛旋轉(度))
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Display the rotation after turning.]
向 [右 v] 轉 (450) 度 ▶
在螢幕上列印 (行駛旋轉(度)) ◀ 並將游標移至下一列
驅動速度#
驅動速度報告模組會報告機器人的行駛速度。
(行駛速度([% v]))
參數 |
描述 |
|---|---|
單元 |
速度單位:% |
例子
當開始時 :: hat events
[Display the velocity after driving.]
行駛 [前方 v] (200) [mm v] ▶
在螢幕上列印 (行駛速度([% v])) ◀ 並將游標移至下一列
運動#
Swish 利用進料馬達收集球體並將其輸送到彈射器上。彈射器馬達組下降並釋放彈射臂,從而發射球體。
每個馬達和馬達組都有各自的運動方向選項。方向名稱描述了該馬達或電機組在Swish上的運動方式。
行動#
旋轉馬達#
「旋轉馬達」堆疊模組會使馬達或馬達組沿著兩個方向之一持續旋轉。馬達或馬達組將持續旋轉,直到收到其他指令,例如改變旋轉方向或停止。
旋轉 [IntakeMotor v] [攝入 v]
參數 |
描述 |
|---|---|
引擎 |
要旋轉的馬達或馬達組:進氣馬達或彈射器組*。 |
方向 |
馬達或馬達組的旋轉方向:
|
例子
當開始時
[Launch the preloaded Ball.]
旋轉 [CatapultGroup v] [釋放 v]
[Lower the Catapult to load a new Ball.]
旋轉 [CatapultGroup v] [更低 v]
用於旋轉馬達#
“旋轉馬達”堆疊模組會使馬達或馬達組旋轉指定的距離。旋轉距離是相對於馬達或馬達組的當前位置而言的。程式會等待馬達或馬達組旋轉完畢後,才會運作堆疊中的下一個模組。
旋轉 [IntakeMotor v] [攝入 v] [90] [度 v] ▶
參數 |
描述 |
|---|---|
引擎 |
要旋轉的馬達或馬達組:進氣馬達或彈射器組*。 |
方向 |
馬達或馬達組的旋轉方向:
|
距離 |
馬達或馬達組的旋轉距離。 度數使用整數。 圈數可以使用整數或小數。 |
單元 |
距離單位:度或圈。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時
[Launch the preloaded Ball.]
旋轉 [CatapultGroup v] [釋放 v]
[Lower the Catapult to load a new Ball.]
旋轉 [CatapultGroup v] [更低 v] [1350] [度 v] ▶
旋轉馬達定位#
旋轉馬達定位 堆疊塊將馬達或馬達組旋轉到特定位置。
馬達或馬達組的位置是指其旋轉的距離,以度或圈數衡量。一圈等於 360 度。在專案開始時,馬達或馬達組的位置設定為 0 度。也可以使用 set motor position 程式碼區塊來設定馬達或馬達組的位置。
位置值是絕對值。這意味著旋轉方向取決於馬達或馬達組的當前位置。
例如,如果馬達或馬達組從 0 度開始旋轉到 720 度,它將正轉兩圈。如果之後它旋轉到 360 度,它將反轉一圈,因為 360 小於 720。
旋轉 [IntakeMotor v] 至位置 [90] [度 v] ▶
參數 |
描述 |
|---|---|
引擎 |
要旋轉的馬達或馬達組:進氣馬達或彈射器組*。 |
位置 |
馬達或馬達組將旋轉到的位置值。 角度使用整數。 圈數可以使用整數或小數。 |
單元 |
位置單位:度或圈。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時
[Launch the preloaded Ball.]
旋轉 [CatapultGroup v] [釋放 v]
[Lower the Catapult to load a new Ball.]
旋轉 [CatapultGroup v] 至位置 [1260] [度 v] ▶
停止馬達#
停止馬達 堆疊塊可停止選取的馬達或馬達組。
停止 [IntakeMotor v]
參數 |
描述 |
|---|---|
引擎 |
要停止的馬達或馬達組:進氣馬達或彈射器組*。 |
例子
當開始時
[Start spinning Intake Motor to prepare to pick up a Ball.]
旋轉 [IntakeMotor v] [攝入 v]
等待 (1) 秒
[After the Ball is picked up, stop spinning the Intake Motor.]
停止 [IntakeMotor v]
設定#
設定馬達速度#
設定馬達轉速 代碼塊用於告訴馬達或馬達組的轉速。百分比越高,馬達或馬達組的轉速越快;百分比越低,馬達或馬達組的轉速越慢。
每個項目開始時,每個馬達或馬達組預設以 50% 的速度旋轉。
注意:更高的速度會使馬達或馬達組旋轉得更快,但精度可能會降低。更低的速度會使馬達或馬達組旋轉得更慢,但精度可能會更高。
設定 [IntakeMotor v] 速度為 [50] [% v]
參數 |
描述 |
|---|---|
引擎 |
設定下列馬達或馬達組的速度:進氣馬達或彈射器組。 |
速度 |
馬達或馬達組的旋轉速度。 百分比使用0%到100%之間的整數。 |
單元 |
速度單位:%。 |
例子
當開始時
[Start spinning the Intake Motor to prepare to pick up Balls.]
設定 [IntakeMotor v] 速度為 [100] [% v]
旋轉 [IntakeMotor v] [攝入 v]
設定馬達超時#
設定馬達超時 代碼塊用於設定馬達或馬達組嘗試完成動作的時間。如果馬達或馬達組無法在該時間內完成,則會停止嘗試並執行程式碼區塊中的下一個程式碼區塊。這樣可以防止馬達或馬達組卡在某個動作上。
設定 [IntakeMotor v] 超時為 [1] 秒
參數 |
描述 |
|---|---|
引擎 |
要設定超時時間的馬達或馬達組:IntakeMotor* 或 CatapultGroup。 |
時間 |
馬達或馬達組嘗試完成一次動作的秒數。該值可以是整數或小數。 |
例子
當開始時
設定 [CatapultGroup v] 超時為 [2] 秒
[Lower Catapult Arm to prepare to pick up a Ball.]
旋轉 [CatapultGroup v] [更低 v] [10] [圈 v] ▶
位置#
設定馬達位置#
馬達或馬達組的位置是指其旋轉的距離,以度或圈數衡量。一圈等於 360 度。 設定馬達位置堆疊區塊會將馬達或馬達群組的目前位置變更為新值。
例如,如果馬達或馬達組旋轉了 180 度,將其位置設為 0 度會將該位置從 180 度重設為 0 度。然後,馬達或馬達組可以根據該新值旋轉到對應位置。
設定 [IntakeMotor v] 位置為 [0] [度 v]
參數 |
描述 |
|---|---|
引擎 |
設定以下位置的馬達或馬達組:進氣馬達或彈射器組*。 |
位置 |
要設定的馬達或馬達組的位置值。 角度使用整數。 圈數可以使用整數或小數。 |
單元 |
位置單位:度或圈。 |
例子
當開始時
[Release the preloaded Ball.]
旋轉 [CatapultGroup v] [釋放 v]
[Lower the Catapult Arm to prepare for the next Ball.]
旋轉 [CatapultGroup v] 至位置 [1260] [度 v] ▶
[Make the lowered Catapult Arm position the new 0 degrees position.]
設定 [CatapultGroup v] 位置為 [0] [度 v]
馬達位置#
馬達或馬達組的位置是指其旋轉的距離,以度或圈數衡量。一圈等於 360 度。 馬達位置報告模組用於報告馬達或馬達組的當前位置。
專案開始時,馬達或馬達組的位置設定為 0 度。如果馬達或馬達組正向旋轉一整圈,則位置為 360 度或 1 圈。如果馬達或馬達組反向旋轉,則位置為負值。
([IntakeMotor v] 位置([度 v]))
參數 |
描述 |
|---|---|
引擎 |
若要報告以下馬達或馬達組的位置:進氣馬達或彈射器組。 |
單元 |
報告馬達位置的單位:度或圈。 |
例子
當開始時
[Release the preloaded Ball.]
旋轉 [CatapultGroup v] [釋放 v]
[Lower the Catapult Arm to prepare for the next Ball.]
旋轉 [CatapultGroup v] [更低 v]
等待直到 <[1260] [math_less_than v] ([CatapultGroup v] 位置([度 v]))>
停止 [CatapultGroup v]
價值觀#
馬達已完成#
「馬達已完成」布林模組用於報告馬達或馬達組是否已停止運動。這可用於根據馬達或電機組的運動狀態來控制其他行為的執行時間。
正確 — 馬達或馬達組已停止運轉。
錯誤 — 馬達或馬達組仍在運轉。
此模組與以下具有and don’t wait參數的運動模組配合使用:spin motor for 和 spin motor to position。
<[IntakeMotor v] 完成?>
參數 |
描述 |
|---|---|
引擎 |
若要報告是否已完成運動的馬達或馬達組:IntakeMotor* 或 CatapultGroup。 |
馬達正在旋轉#
「馬達是否旋轉」布林模組用於報告馬達或馬達組是否正在旋轉。這可用於根據馬達或電機組的運動狀態來控制其他行為的執行時間。
正確 — 馬達或馬達組正在旋轉。
錯誤 — 馬達或馬達組沒有旋轉。
此模組與以下具有and don’t wait參數的運動模組配合使用:spin motor for 和 spin motor to position。
<[IntakeMotor v] 旋轉中?>
參數 |
描述 |
|---|---|
引擎 |
若要報告是否正在旋轉的馬達或馬達組:進氣馬達* 或 彈射器組。 |
馬達速度#
馬達速度報告模組以百分比形式報告馬達或馬達組的旋轉速度,範圍從 -100% 到 100%。
([IntakeMotor v] 速度([% v]) :: custom-motion)
參數 |
描述 |
|---|---|
引擎 |
若要報告以下馬達或馬達組的速度:進氣馬達或彈射器組。 |
單元 |
馬達速度的報告單位:%。 |
感測#
光學的#
光學儀器發現了一個物體#
光學感測器偵測到物體布林模組報告光學感測器是否在範圍內偵測到物體。
正確 — 光學感測器偵測到了物體。
錯誤 — 光學感測器未偵測到物體。
<[IntakeOptical v] 偵測到物件?>
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
光學檢測顏色#
光學檢測顏色布林模組根據偵測到的色調值報告光學感測器是否偵測到指定的顏色。
正確 – 感測器偵測到了指定的顏色。
錯誤 – 感測器未偵測到指定顏色。
注意: 光學感測器正在尋找與指定顏色相符的色調範圍。有關檢測特定色調範圍的信息,請參閱光學色調模組。
<[IntakeOptical v] 偵測到 [黃色 v]?>
參數 |
描述 |
|---|---|
顏色 |
Which color to look for:
|
光學亮度#
光學亮度報告模組以百分比(0% 到 100%)報告有多少光反射迴光學感測器。
百分比越高,表示反射迴光學感測器的光線越多;百分比越低,表示反射回的光線越少。
([IntakeOptical v] 亮度(%))
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
光學色調#
光學色調報告模組將光學感測器偵測到的色調報告為 0 到 359 度之間的數字。
色相是用色輪上的數字來描述顏色的一種方法。

([IntakeOptical v] 色相(度))
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
光學#
當光學感測器偵測到或遺失物體時,when Optical 模組會運作所連接的模組堆疊。
當 [IntakeOptical v] [偵測到 v] 物件時
參數 |
描述 |
|---|---|
狀態 |
當附加的積木堆疊運行時:detects 會在偵測到未偵測到的物件時執行,而 loses 會在偵測到的物件不再被偵測到時運行。 |