傳動系統#

介紹#

驅動系統包括車輪和電機,用於控制機器人的行駛和轉向。驅動系統可以配置為單一馬達或馬達組。

如果傳動系統配置有慣性感測器、GPS感測器或陀螺儀感測器,則可以透過追蹤感測器的航向和旋轉,實現更精確的前進、後退和轉彎運動。

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

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

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

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

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

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

  • 轉向航向 — 將機器人轉向面向特定航向。

  • 轉向旋轉 — 將機器人轉向指定的旋轉方向。

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

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

數值 — 檢查移動狀態。

  • 校準傳動系統 – 校準傳動系統配置的慣性感測器、GPS 感測器或陀螺儀感測器。

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

  • drive is moving — 報告機器人是否正在移動。

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

  • 驅動旋轉 — 報告機器人的當前旋轉方向。

  • 驅動速度 — 回報機器人的行駛速度。

  • 驅動電流 — 報告驅動系統正在使用的電流大小。

  • 驅動功率 — 報告傳動系統使用能量的速度。

  • 驅動扭力 — 報告傳動系統正在使用的扭力大小。

  • 驅動效率 — 報告動力傳動系統使用動力的效率。

  • 驅動溫度 — 報告驅動系統的溫度。

行動#

駕駛#

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

行駛 [前方 v]

參數

描述

方向

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

例子

當開始時
[Drive forward, then stop.]
行駛 [前方 v]
等待 [2] 秒
停止行駛

驅動#

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

行駛 [前方 v] [200] [mm v] ▶

參數

描述

方向

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

距離

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

單元

距離單位:mm(毫米)或英吋

不要等待

選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。

例子

當開始時
[Drive forwards and backwards.]
行駛 [前方 v] [200] [mm v] ▶
等待 [1] 秒
行駛 [反向 v] [200] [mm v] ▶

轉動#

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

向 [右 v] 轉

參數

描述

方向

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

例子

當開始時
[Turn right, then stop.]
向 [右 v] 轉
等待 [2] 秒
停止行駛

轉向#

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

向 [右 v] 轉 [90] 度 ▶

參數

描述

方向

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

角度

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

不要等待

選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。

例子

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

轉向標題#

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

起始航向為0度。

該專案將等待機器人完成轉向後,才會運行堆疊中的下一個模組。

注意: 僅當在「裝置」視窗中為傳動系統配置了慣性感測器、GPS 感測器 或陀螺儀感測器 時,此模組才可用。

轉向航向 (90) 度 ▶

參數

描述

標題

機器人應面向的航向,範圍從 -359 度到 359 度。

不要等待

選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。

例子

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

轉向旋轉#

旋轉到旋轉 堆疊塊使機器人旋轉到特定角度。

旋轉角度是指機器人轉動的幅度,以度為單位。在專案開始時,旋轉角度值設定為 0 度。也可以使用 set drive rotation 程式碼區塊來設定旋轉角度。

旋轉角度是絕對值。這意味著轉彎方向取決於機器人目前的旋轉角度。向右轉會增加旋轉角度,向左轉彎會減少旋轉角度。

例如,如果機器人從0度開始,你將其旋轉720度,它會向右轉兩次。如果你再將其旋轉360度,它會向左轉一次,因為360小於720。

該專案將等待機器人完成轉向後,才會運行堆疊中的下一個模組。

注意: 僅當在「裝置」視窗中為傳動系統配置了慣性感測器、GPS 感測器 或陀螺儀感測器 時,此模組才可用。

轉至旋轉 [90] 度 ▶

參數

描述

旋轉

機器人將旋轉到的角度值。該值可以是整數或小數。

不要等待

選擇箭頭(▶)展開程式碼區塊,顯示“不要等待”,這樣堆疊中的下一個程式碼區塊就會立即運作。

例子

當開始時
[Turn left, then spin in a circle clockwise and face right.]
轉至旋轉 [-90] 度 ▶
等待 [2] 秒
轉至旋轉 [450] 度 ▶

停止駕駛#

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

停止行駛

參數

描述

此程式碼區塊沒有參數。

例子

當開始時
[Drive forward, then stop.]
行駛 [前方 v]
等待 [4] 秒
停止行駛

設定#

設定驅動速度#

設定驅動速度 模組告訴機器人以多快的速度行駛。百分比越高,機器人行駛速度越快;百分比越低,機器人行駛速度越慢。對於轉速 (RPM) 而言,其限制值取決於傳動系統的齒輪比。

每個專案開始時,機器人預設以 50% 的速度行駛。

注意:速度越高,機器人行駛速度越快,但精度可能越低;速度越低,機器人行駛速度越慢,但精度可能越高。

設定行駛速度為 (50) [% v]

參數

描述

速度

使用 velocityUnits::pct時,驅動速度為 0% 至 100%;使用 rpm時,驅動速度為 0 至 600 rpm。

單元

速度單位:

  • % – 百分比
  • rpm – 每分鐘轉數

例子

當開始時
[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]

參數

描述

速度

使用 velocityUnits::pct時,轉速從 0% 到 100%;使用 rpm時,轉速從 0% 到 120 rpm。

單元

速度單位:

  • % – 百分比
  • rpm – 每分鐘轉數

例子

當開始時
[Turn at default velocity.]
向 [右 v] 轉 (100) 度 ▶
等待 (1) 秒
[Turn slower.]
設定轉向速度為 (20) [% v]
向 [右 v] 轉 (100) 度 ▶
等待 (1) 秒
[Turn faster.]
設定轉向速度為 (100) [% v]
向 [右 v] 轉 (100) 度 ▶
等待 (1) 秒

設定驅動停止#

設定驅動停止堆疊塊設定機器人停止移動的方式:透過煞車、滑行或保持。

設定行駛停止方式為 [剎車 v]

參數

描述

停止行為

How the robot will stop:

  • brake — Stops immediately.
  • coast — Slows to a stop.
  • hold — Stops immediately and holds the wheels’ position.

如果不使用此模組,機器人停止時將使用煞車。

設定驅動超時#

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

設定行駛超時為 (1) 秒

參數

描述

時間

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

設定驅動航向#

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

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

注意: 僅當在「裝置」視窗中為傳動系統配置了慣性感測器、GPS 感測器 或陀螺儀感測器 時,此模組才可用。

設定行駛航向為 (0) 度

參數

描述

標題

要設定的機器人航向值(以度為單位)。

例子

當開始時
[Turn to the left.]
設定行駛航向為 (90) 度
轉向航向 (0) 度 ▶

設定驅動旋轉#

旋轉角度是指機器人轉動的程度,以度為單位。在專案開始時,旋轉角度值設定為 0 度。 設定驅動旋轉角度 程式碼區塊會將機器人的當前旋轉角度變更為新值。

例如,如果機器人向右轉了兩圈,它的旋轉角度將為 720 度。將旋轉角度設為 0 度會將旋轉角度從 720 度重設為 0 度。然後,機器人可以根據這個新的旋轉角度進行旋轉。

注意: 僅當在「裝置」視窗中為傳動系統配置了慣性感測器、GPS 感測器 或陀螺儀感測器 時,此模組才可用。

設定行駛旋轉為 (0) 度

參數

描述

旋轉

機器人旋轉角度的設定值,單位為度數。可以是整數或小數。

例子

當開始時
[Spin counterclockwise two times.]
設定行駛旋轉為 (720) 度
轉至旋轉 (0) 度 ▶

價值觀#

校準傳動系統#

「校準傳動系統」模組用於校準傳動系統中配置的慣性感測器、GPS感測器或陀螺儀感測器。所有後續模組都將等待校準完成後再執行。校準是一個內部程序,用於測量和補償感測器在指定時間段內的雜訊和漂移。在此期間,感測器必須保持完全靜止(即,放置在穩定的表面上,沒有任何外部運動)。校準期間的移動會導致結果不準確。

注意: 僅當在「裝置」視窗中為傳動系統配置了慣性感測器、GPS 感測器 或陀螺儀感測器 時,此模組才可用。

校準驅動系統

參數

描述

此程式碼區塊沒有參數。

駕駛已完成#

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

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

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

此模組與具有 and don’t wait 參數的傳動系統模組配合使用。

<行駛完成?>

參數

描述

此程式碼區塊沒有參數。

車輛正在行駛#

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

  • 正確 — 機器人正在移動。

  • 錯誤 — 機器人沒有移動。

此模組與具有 and don’t wait 參數的傳動系統模組配合使用。

<行駛中?>

參數

描述

此程式碼區塊沒有參數。

行駛方向#

航向角是指機器人朝向的方向,以度為單位。 驅動航向報告模組會報告 0 到 359.99 度的航向角。

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

注意: 僅當在「裝置」視窗中為傳動系統配置了慣性感測器、GPS 感測器 或陀螺儀感測器 時,此模組才可用。

(行駛航向(度))

參數

描述

此程式碼區塊沒有參數。

例子

當開始時
[Display the heading after turning.]
向 [右 v] 轉 (450) 度 ▶
在螢幕上列印 (行駛航向(度)) ◀ 並將游標移至下一列

驅動旋轉#

旋轉角度是指機器人轉動的程度,以度為單位。專案開始時,旋轉角度值設定為 0 度。 「驅動旋轉」報告模組會報告機器人目前的旋轉角度。

向右轉會增加旋轉角度,向左轉會減少旋轉角度。例如,向右轉兩圈,旋轉角度將達到 720 度。

注意: 僅當在「裝置」視窗中為傳動系統配置了慣性感測器、GPS 感測器 或陀螺儀感測器 時,此模組才可用。

(行駛旋轉(度))

參數

描述

此程式碼區塊沒有參數。

例子

當開始時
[Display the rotation after turning.]
向 [右 v] 轉 (450) 度 ▶
在螢幕上列印 (行駛旋轉(度)) ◀ 並將游標移至下一列

驅動速度#

驅動速度報告模組會報告機器人的行駛速度。

正值表示機器人向前行駛,負值表示機器人向後行駛。

(行駛速度([% v]))

參數

描述

單元

速度單位:

  • %
  • rpm – 每分鐘轉數

驅動電流#

「驅動電流」報告模組用於報告驅動系統正在使用的電流大小,單位為安培(A)。電流是指流經驅動系統的電量。

電流值越高,代表驅動系統消耗的電流越大。這種情況可能發生在機器人推擠物體或卡住後試圖移動時。

這可以用來檢查傳動系統在運動過程中是否運作吃力。如果電流持續偏高,傳動系統可能會發熱或動力利用效率降低。

(行駛電流(安培))

參數

描述

此程式碼區塊沒有參數。

驅動功率#

「驅動功率」報告模組會報告驅動系統消耗的功率,單位為瓦特。功率值反映了驅動系統消耗能量的速度。

功率值越高,代表驅動系統消耗能量的速度越快。這種情況可能發生在機器人推擠物體或卡住後試圖移動時。

這可以用來比較不同的運動軌跡,或是檢查傳動系統是否運作吃力。如果功率持續偏高,傳動系統可能會過熱或能量利用效率降低。

(行駛功率(瓦))

參數

描述

此程式碼區塊沒有參數。

驅動扭力#

扭力表示傳動系統在旋轉時能夠產生的扭轉、推動或拉動的力度。

驅動扭矩報告模組報告傳動系統使用的扭矩大小,以英寸磅(InLb)或牛頓米(Nm)為單位進行測量。

扭力值越高,表示傳動系統需要更大的推力或拉力。這種情況可能發生在機器人推擠物體或卡住後試圖移動時。

這可以用來檢查傳動系統是否運作不暢,或是比較不同動作所需的推力大小。

(行駛扭矩([InLb v]))

參數

描述

單元

扭力單位:

  • 吋磅 (InLb)
  • 牛頓米 (Nm)

驅動效率#

驅動效率報告模組以百分比的形式報告動力傳動系統使用動力的效率,範圍從 0% 到 100%。

效率值反映了傳動系統有多少動力被用於運動。效率值越高,代表傳動系統用於運動的動力越多。當傳動系統高負載運轉但運動量不大時,例如機器人被卡住或抵擋物體時,效率值會降低。

這可以用來比較運動情況,或者檢查傳動系統是否浪費動力而不是將其用於運動。

(行駛效率(%))

參數

描述

此程式碼區塊沒有參數。

驅動溫度#

驅動溫度報告模組以百分比形式報告驅動系統的溫度,範圍從 0% 到 100%。

馬達溫度顯示傳動系統的溫度。溫度越高,代表馬達在工作過程中溫度越高。為了保持最佳性能,馬達溫度應保持在 55°C 以下。

如果馬達過熱,它們會降低最大電流以保護自身。當溫度達到 70°C 時,馬達將停止運轉,直到冷卻。

這可以用來檢查傳動系統在重複運動、長時間運作或推擠物體時是否過熱。

(行駛溫度(%))

參數

描述

此程式碼區塊沒有參數。