傳動系統#
介紹#
驅動系統包括車輪和電機,用於控制機器人的行駛和轉向。驅動系統常見於 Code Base 2.0、Super Car 等機器人或客製化機器人。
Drivetrains use the Inertial Sensor in the Brain to detect crashes and help the robot move and turn precisely. At the start of each project, the drivetrain calibrates the Inertial Sensor automatically. Keep the robot still for about 2 seconds during calibration, so the robot can move and turn correctly.
傳動系統程式設計方式有很多種。以下是所有傳動系統模組的清單:
動作-移動和轉向機器人。
drive — 使機器人無限向前或向後移動。
驅動 — 使機器人向前或向後移動指定的距離。
驅動直到 — 使機器人前進或後退,直到眼傳感器偵測到物體或機器人偵測到碰撞。
turn — 使機器人永遠向左或向右轉。
turn for — 使機器人向左或向右旋轉指定的角度數。
轉向航向 — 將機器人轉向 -359 度到 359 度之間的特定航向。機器人將沿著最短路徑轉向以達到目標航向。
轉向旋轉 — 將機器人轉向指定的旋轉方向。
停止駕駛 — 停止機器人的移動。
設定 — 調整傳動系統設定。
設定驅動速度 — 告訴機器人要以多快的速度行駛。
設定轉彎速度 — 告訴機器人轉彎的速度。
set drive stopping — 告訴機器人如何停止移動:透過煞車、滑行或保持。
設定驅動超時 — 設定機器人嘗試完成一次移動的秒數。
設定驅動航向 — 將機器人的目前航向變更為新的航向。
設定驅動旋轉 — 將機器人的目前旋轉改為新的旋轉。
數值 — 檢查移動狀態。
行動#
駕駛#
驅動 模組使機器人能夠無限向前或向後移動。機器人將持續移動,直到收到其他指令,例如轉向或停止。
行駛 [前方 v]
參數 |
描述 |
|---|---|
方向 |
機器人移動方向:前進或後退。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
行駛 [前方 v]
等待 (2) 秒
停止行駛
驅動#
驅動堆疊模組控制機器人前進或後退一段特定距離。程式會等待機器人完成移動後,才會執行堆疊中的下一個模組。
行駛 [前方 v] [100] [mm v] ▶
參數 |
描述 |
|---|---|
方向 |
機器人移動方向:前進或後退。 |
距離 |
機器人行駛的距離。可以是整數,也可以是小數。 |
單元 |
距離單位:mm(毫米)或英吋。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Drive back and forth.]
行駛 [前方 v] [100] [mm v] ▶
行駛 [反向 v] [4] [英吋 v] ▶
開車直到#
驅動直到堆疊塊使機器人前進或後退,直到眼傳感器檢測到物體或機器人檢測到碰撞為止。
行駛 [前方 v] 直到 [物件 v] ▶
參數 |
描述 |
|---|---|
方向 |
機器人移動方向:前進或後退。 |
狀態 |
導致機器人停止運作的條件:遇到障礙物或發生碰撞。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Turn right after a crash.]
行駛 [前方 v] 直到 [碰撞 v] ▶
向 [右 v] 轉 (90) 度 ▶
轉動#
轉向 積木塊會讓機器人無限向左或向右轉向。機器人會一直轉向,直到收到另一個動作指令,例如行駛或停止。
向 [右 v] 轉
參數 |
描述 |
|---|---|
方向 |
機器人轉向的方向:向左或向右。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Turn right and left, then stop.]
向 [右 v] 轉
等待 [2] 秒
向 [左 v] 轉
等待 [2] 秒
停止行駛
轉向#
「轉向」堆疊模組會使機器人向左或向右旋轉指定的角度。旋轉角度是相對於機器人的當前位置而言的。程式會等待機器人完成旋轉後,才會執行堆疊中的下一個模組。
向 [右 v] 轉 (90) 度 ▶
參數 |
描述 |
|---|---|
方向 |
機器人轉向的方向:向左或向右。 |
角度 |
機器人旋轉的角度數。可以是整數,也可以是小數。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Turn right then left.]
向 [右 v] 轉 (90) 度 ▶
向 [左 v] 轉 (90) 度 ▶
轉向標題#
航向角是指機器人大腦所面向的方向,以度為單位。 轉向航向角 堆疊塊使機器人轉向 -359 度到 359 度之間的特定航向角。機器人會選擇到達目標航向角的最短路徑。
起始航向為0度。

該專案將等待機器人完成轉向後,才會運行堆疊中的下一個模組。
轉向航向 [90] 度 ▶
參數 |
描述 |
|---|---|
標題 |
機器人應面向的方向,以整數表示,範圍從 -359 度到 359 度。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Turn to face the cardinal directions.]
轉向航向 [90] 度 ▶
等待 [1] 秒
轉向航向 [180] 度 ▶
等待 [1] 秒
轉向航向 [270] 度 ▶
等待 [1] 秒
轉向航向 [0] 度 ▶
轉向旋轉#
旋轉到旋轉 堆疊塊使機器人旋轉到特定角度。
旋轉角度是指機器人轉動的幅度,以度為單位。在專案開始時,旋轉角度值設定為 0 度。也可以使用 set drive rotation 程式碼區塊來設定旋轉角度。
旋轉角度是絕對值。這意味著轉彎方向取決於機器人目前的旋轉角度。向右轉會增加旋轉角度,向左轉彎會減少旋轉角度。
例如,如果機器人從0度開始,你將其旋轉720度,它會向右轉兩次。如果你再將其旋轉360度,它會向左轉一次,因為360小於720。

該專案將等待機器人完成轉向後,才會運行堆疊中的下一個模組。
轉至旋轉 (90) 度 ▶
參數 |
描述 |
|---|---|
旋轉 |
機器人將要旋轉的角度值,以度為單位。該值可以是整數。 |
不要等待 |
選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Make one full turn to the right.]
轉至旋轉 [360] 度 ▶
[Make another full turn to the right.]
轉至旋轉 [720] 度 ▶
[Make one full turn to the left, returning to 360 degrees.]
轉至旋轉 [360] 度 ▶
停止駕駛#
停止驅動堆疊塊會停止機器人的移動。
停止行駛
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
行駛 [前方 v]
等待 (2) 秒
停止行駛
設定#
設定驅動速度#
設定驅動速度 代碼塊告訴機器人以多快的速度行駛。百分比越高,機器人行駛速度越快;百分比越低,機器人行駛速度越慢。
每個專案開始時,機器人預設以 50% 的速度行駛。
注意: 速度越高,機器人行駛速度越快,但精度可能越低。速度越低,機器人行駛速度越慢,但精度越高。
設定行駛速度為 (50) %
參數 |
描述 |
|---|---|
速度 |
行駛速度,範圍從 0% 到 100%。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Drive at different velocities.]
行駛 [前方 v] [100] [mm v] ▶
等待 [1] 秒
[Drive slow.]
設定行駛速度為 (20) %
行駛 [前方 v] [100] [mm v] ▶
等待 [1] 秒
[Drive fast.]
設定行駛速度為 (100) %
行駛 [前方 v] [100] [mm v] ▶
設定轉彎速度#
設定轉彎速度 代碼塊告訴機器人轉彎的速度。百分比越高,機器人轉彎越快;百分比越低,機器人轉彎越慢。
每個專案開始時,機器人預設以 50% 的速度旋轉。
注意: 速度越高,機器人轉彎越快,但精確度可能越低。速度越低,機器人轉彎越慢,但精準度越高。
設定轉向速度為 [50]%
參數 |
描述 |
|---|---|
速度 |
轉彎速度從 0% 到 100%。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Turn at different velocities.]
向 [右 v] 轉 [180] 度 ▶
等待 [1] 秒
[Turn fast.]
設定轉向速度為 [100]%
向 [右 v] 轉 [180] 度 ▶
設定驅動停止#
設定驅動停止堆疊塊設定機器人停止移動的方式:透過煞車、滑行或保持。
設定行駛停止方式為 [剎車 v]
參數 |
描述 |
|---|---|
停止行為 |
How the robot will stop:
|
如果不使用此模組,機器人停止時將使用煞車。
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Drive, then coast to a stop.]
設定行駛速度為 (100) %
設定行駛停止方式為 [滑行 v]
行駛 [前方 v]
等待 [2] 秒
停止行駛
設定驅動超時#
設定驅動超時 程式碼區塊用於設定機器人嘗試完成一次動作的秒數。如果機器人無法在規定時間內完成,它將停止嘗試並執行程式碼區塊中的下一個。這樣可以防止機器人卡在某個動作上。
設定行駛超時為 [1] 秒
參數 |
描述 |
|---|---|
時間 |
機器人嘗試完成一次動作的秒數。該值可以是整數或小數。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Drive as far as possible for 1 second before turning right.]
設定行駛超時為 [1] 秒
行駛 [前方 v] [25] [英吋 v] ▶
向 [右 v] 轉 [90] 度 ▶
設定驅動航向#
航向角是指機器人大腦所朝向的方向,以度為單位。 設定驅動航向堆疊區塊會將機器人的目前航向角變更為新的航向角值。
例如,如果機器人轉向右側,將航向設定為 0 度,則該右側位置將成為新的 0 度航向。然後,機器人可以根據新的航向轉向其他位置。
設定行駛航向為 [0] 度
參數 |
描述 |
|---|---|
標題 |
要設定的機器人航向角值,單位為度。該值可以是 0 到 359 之間的整數。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Face the new 0 degree heading.]
設定行駛航向為 [90] 度
轉向航向 [0] 度 ▶
設定驅動旋轉#
旋轉角度是指機器人轉動的程度,以度為單位。在專案開始時,旋轉角度值設定為 0 度。 設定驅動旋轉角度 程式碼區塊會將機器人的當前旋轉角度變更為新值。
例如,如果機器人向右轉了兩圈,它的旋轉角度將為 720 度。將旋轉角度設為 0 度會將旋轉角度從 720 度重設為 0 度。然後,機器人可以根據這個新的旋轉角度進行旋轉。
設定行駛旋轉為 (0) 度
參數 |
描述 |
|---|---|
旋轉 |
機器人旋轉角度值,以度為單位。該值可以是整數。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Spin counterclockwise two times.]
設定行駛旋轉為 [720] 度
轉至旋轉 [0] 度 ▶
價值觀#
駕駛已完成#
「驅動完成」布林模組用於報告機器人是否已停止移動。這可用於根據機器人的移動狀態來控制其他行為的執行時間。
正確 — 機器人已停止移動。
錯誤 — 機器人仍在移動。
此模組與以下具有and don’t wait參數的傳動系統模組配合使用:drive for、drive until、turn for、turn to heading和turn to rotation。
<行駛完成?>
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Turn when the drivetrain is done moving forward.]
行駛 [前方 v] [100] [mm v] ◀ 且不等待
等待 [0.25] 秒
永遠
如果 <行駛完成?> 則
向 [右 v] 轉 [180] 度 ▶
中斷
否則
列印 [Still moving...] ▶
等待 [0.1] 秒
清除所有列
行駛方向#
航向是指機器人大腦所面向的方向,以度為單位。 驅動航向報告模組會報告該航向,範圍從 0 度到 359 度。
機器人的初始航向角為0度。

(行駛航向(度))
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Display the heading while turning.]
向 [右 v] 轉 [450] 度 ◀ 且不等待
永遠
清除所有列
列印 (行駛航向(度)) ▶
等待 [0.1] 秒
驅動旋轉#
旋轉角度是指機器人轉動的程度,以度為單位。專案開始時,旋轉角度值設定為 0 度。 「驅動旋轉」報告模組會報告機器人目前的旋轉角度。
向右轉會增加旋轉角度,向左轉會減少旋轉角度。例如,向右轉兩圈,旋轉角度將達到 720 度。

(行駛旋轉(度))
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
向 [右 v] 轉 [450] 度 ◀ 且不等待
永遠
清除所有列
列印 (行駛旋轉(度)) ▶
等待 [0.1] 秒
驅動速度#
驅動速度報告模組會報告機器人的行駛速度,以 -100% 到 100% 的百分比表示。
正值表示機器人向前行駛,負值表示機器人向後行駛。
(行駛速度(%))
參數 |
描述 |
|---|---|
此程式碼區塊沒有參數。 |
例子
當開始時 :: hat events
[Build Used: Code Base 2.0]
[Display the velocity of the robot before and while moving.]
列印 [Start: ] ▶
列印 (行駛速度(%)) ▶
將游標移至下一列
行駛 [前方 v]
等待 [0.5] 秒
列印 [Moving: ] ▶
列印 (行駛速度(%)) ▶
停止行駛