傳動系統#

介紹#

123 型機器人採用雙輪驅動系統,使其能夠行駛和轉彎。驅動系統模組控制機器人的運動方式。

傳動系統可以透過兩種方式測量距離:步數和毫米。一步相當於123格子上的一個方格。

傳動系統程式設計方式有很多種。以下是所有傳動系統模組的清單:

動作-移動和轉向機器人。

  • drive — 使機器人無限向前或向後移動。

  • 驅動 — 使機器人向前或向後移動指定的距離。

  • 驅動直到 — 使機器人前進或後退,直到偵測到物體、碰撞或線條。

  • turn — 使機器人永遠向左或向右轉。

  • turn for — 使機器人向左或向右旋轉指定的角度數。

  • 轉向航向 — 將機器人轉向 -359 度到 359 度之間的特定航向。機器人將沿著最短路徑轉向以達到目標航向。

  • 停止駕駛 — 停止機器人的移動。

設定 — 調整傳動系統設定。

數值 — 檢查移動狀態。

  • 驅動完成 — 報告機器人是否已完成移動。

  • 驅動航向 — 報告機器人的目前航向,範圍從 0 到 359 度。

行動#

駕駛#

驅動 模組使機器人能夠無限向前或向後移動。機器人將持續移動,直到收到其他指令,例如轉向或停止。

行駛 [前方 v]

參數

描述

方向

機器人移動方向:前進或後退。

例子

當開始時
[Drive for 2 seconds.]
行駛 [前方 v]
等待 (2) 秒
停止行駛

驅動#

驅動堆疊模組控制機器人前進或後退一段特定距離。程式會等待機器人完成移動後,才會執行堆疊中的下一個模組。

行駛 [前方 v] (1) [步 v]

參數

描述

方向

機器人移動方向:前進或後退。

距離

機器人行駛的距離。可以是整數,也可以是小數。

單元

距離單位:步或毫米。

例子

當開始時
[Drive back and forth.]
行駛 [前方 v] (3) [步 v]
行駛 [反向 v] (3) [步 v]

開車直到#

驅動直到堆疊塊使機器人向前移動,直到眼傳感器偵測到物體、碰撞或線路。

向前行駛直到 [物件 v]

參數

描述

狀態

The condition that stops the robot:

  • object — The Eye Sensor detects an object.
  • crash — The robot crashes into an object.
  • line — The Line Detector detects a line under the robot.

例子

當開始時
[Reverse after a crash.]
向前行駛直到 [碰撞 v]
行駛 [反向 v] (1) [步 v]

轉動#

轉向 積木塊會讓機器人無限向左或向右轉向。機器人會一直轉向,直到收到其他動作指令,例如行駛或停止。

向 [右 v] 轉

參數

描述

方向

機器人轉向的方向:向左或向右。

例子

當開始時
[Turn for 2 seconds.]
向 [右 v] 轉
等待 (2) 秒
停止行駛

轉向#

「轉向」堆疊模組會使機器人向左或向右旋轉指定的角度。旋轉角度是相對於機器人的當前位置而言的。程式會等待機器人完成旋轉後,才會執行堆疊中的下一個模組。

向 [右 v] 轉 (90) 度

參數

描述

方向

機器人轉向的方向:向左或向右。

角度

機器人旋轉的角度數。可以是整數,也可以是小數。

例子

當開始時
[Turn left, then turn around to the right.]
向 [左 v] 轉 (90) 度
向 [右 v] 轉 (180) 度

轉向標題#

航向角是指機器人面向的方向,以度為單位。 轉向航向角 代碼塊可以將機器人轉向 -359 度到 359 度之間的特定航向角。機器人會選擇到達目標航向角的最短路徑。

機器人的初始航向為0度。

轉向航向 (90) 度

參數

描述

標題

機器人應面向的方向,以度為單位。該值可以是-359到359之間的整數或小數。

例子

當開始時
[Turn to face the cardinal directions.]
轉向航向 (90) 度
等待 (2) 秒
轉向航向 (180) 度
等待 (2) 秒
轉向航向 (270) 度
等待 (2) 秒
轉向航向 (0) 度
等待 (2) 秒

停止駕駛#

停止驅動堆疊塊會停止機器人的移動。

停止行駛

參數

描述

此程式碼區塊沒有參數。

例子

當開始時
[Stop driving after 4 seconds.]
行駛 [前方 v]
等待 [4] 秒
停止行駛

設定#

設定驅動超時#

設定驅動超時 程式碼區塊用於設定機器人嘗試完成一次動作的秒數。如果機器人無法在規定時間內完成,它將停止嘗試並執行程式碼區塊中的下一個。這樣可以防止機器人卡在某個動作上。

設定行駛超時為 (1) 秒

參數

描述

時間

機器人嘗試完成一次動作的秒數。該值可以是整數或小數。

例子

當開始時
[Turn right after driving for 1 second.]
設定行駛超時為 (1) 秒
行駛 [前方 v] (1000) [mm v]
向 [右 v] 轉 (90) 度

設定驅動航向#

航向角是指機器人朝向的方向,以度為單位。 設定驅動航向堆疊區塊會將機器人的目前航向角變更為新的航向角值。

例如,如果機器人轉向右側,將航向設定為 0 度,則該右側位置將成為新的 0 度航向。然後,機器人可以根據新的航向轉向其他位置。

設定行駛航向為 (0) 度

參數

描述

標題

要設定的機器人航向角值,單位為度。該值可以是整數,也可以是 0 到 359 之間的十進位數。

例子

當開始時
[Face the new 0 degree heading.]
設定行駛航向為 (90) 度
轉向航向 (0) 度

價值觀#

駕駛已完成#

「驅動完成」布林模組用於報告機器人是否已停止移動。這可用於根據機器人的移動狀態來控制其他行為的執行時間。

  • 正確 — 機器人已停止移動。

  • 錯誤 — 機器人仍在移動。

此模組與下列傳動系統模組搭配使用:驅動至、驅動至、轉向 和 轉向航向。

<行駛完成?>

參數

描述

此程式碼區塊沒有參數。

例子

當開始時
[Glow blue after a crash.]
向前行駛直到 [碰撞 v]
永遠
如果 <行駛完成?> 則
發光 [藍色 v]
否則
發光 [綠色 v]

行駛方向#

航向角是指機器人朝向的方向,以度為單位。 驅動航向報告模組會報告機器人目前的航向角,範圍從 0 度到 359 度。

機器人的初始航向為0度。

(行駛航向(度))

參數

描述

此程式碼區塊沒有參數。

例子

當開始時
[Display the heading after turning.]
向 [右 v] 轉 (450) 度
列印 (行駛航向(度)) ▶