運動#

介紹#

VEX AIR 無人機配備四個螺旋槳,使其能夠向任何方向移動並獨立旋轉。運動控制功能包括移動、轉向、速度調節和位置追蹤。

圓形羅盤刻度盤,0-360 度,環繞裝有 4 個螺旋槳的無人機。無人機前端朝向羅盤刻度盤的 0 度。

以下是可用區塊的清單:

動作-移動並轉動無人機。

  • 起飛 — 將無人機提升到指定高度。

  • land — 無人機降落。

  • hover — 將無人機保持在其位置。

  • climb — 使無人機沿著指定的垂直方向移動。

  • climb for — 將無人機沿著指定的垂直方向移動特定的距離。

  • 爬升到 z 軸位置 — 將無人機移到 z 軸上的指定位置。

  • move — 使無人機向前、向後、向左或向右移動。

  • 以角度移動 — 使用角度將無人機朝指定方向移動。

  • move for — 將無人機沿著特定方向移動一段設定的距離。

  • 以角度移動 — 以特定角度移動無人機一段設定的距離。

  • move to — 將無人機移動到指定位置。

  • turn — 向左或向右旋轉無人機。

  • turn for — 將無人機旋轉指定的角度。

  • 轉向航向 — 旋轉無人機以面向特定航向。

  • 使用控制器移動 — 允許使用控制器驅動無人機。

飛行控制-調整飛行設定。

設定 — 調整移動和轉向速度。

位置-追蹤並修改無人機的位置。

值——檢查運動狀態。

  • 飛行狀態 — 返回無人機的現況。

  • 安全模式 — 返回無人機的螺旋槳鎖定狀態。

  • climb active — 返回無人機目前是否正在爬升。

  • move active — 返回無人機目前是否正在移動。

  • turn active — 返回無人機目前是否正在轉彎。

  • hovering — 返回無人機目前是否處於懸停狀態。

  • 起飛 — 返回無人機目前是否正在起飛。

  • landing — 返回無人機目前是否正在降落。

  • landed — 返回無人機是否已降落。

行動#

起飛#

起飛 模組啟動螺旋槳,將無人機升空。必須先使用此模組才能執行其他操作。

向前移動堆疊塊#
起飛至 [500] [mm v] ▶

參數

描述

爬到

無人機將爬升到的z軸位置(高度)。

單位

計量單位:mm(毫米)或英吋。

不要等待

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

例子

當開始時
[Fly for 1 second.]
起飛至 [500] [mm v] ▶
等待 [1] 秒
降落 ▶

土地#

地面吊裝模組將無人機緩緩降落到地面。螺旋槳將持續運轉,直至工程停止。

向前移動堆疊塊#
降落 ▶

參數

描述

不要等待

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

例子

當開始時
[Land after 1 second.]
起飛至 (500) [mm v] ▶
等待 [1] 秒
降落 ▶

徘徊#

懸停堆疊塊可使無人機停止向任何方向移動,並保持其在空中的當前位置。

懸停塊#
懸停

參數

描述

該塊沒有參數。

例子

當開始時
[Hold current position for 3 seconds after moving forward.]
起飛至 (500) [mm v] ▶
移動 [前方 v]
等待 [1] 秒
懸停
等待 [3] 秒
降落 ▶

爬#

爬升堆疊模組使無人機沿著指定的垂直方向移動。

向前移動堆疊塊#
爬升 [上升 v]

參數

描述

方向

無人機的飛行方向:向上或向下。

例子

當開始時
[Climb upwards for 2 seconds.]
起飛至 (500) [mm v] ▶
等待 [2] 秒
爬升 [上升 v]
等待 [2] 秒
降落 ▶

攀爬#

爬升堆疊模組使無人機沿著指定的垂直方向移動指定的距離。

向前移動堆疊塊#
爬升 [上升 v] (500) [mm v] ▶

參數

描述

方向

無人機的飛行方向:向上或向下。

距離

無人機的飛行距離。

單位

計量單位:mm(毫米)或英吋。

不要等待

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

例子

當開始時
[Lower drone before landing.]
起飛至 [700] [mm v] ▶
等待 [1] 秒
爬升 [下降 v] [300] [mm v] ▶
等待 [1] 秒
降落 ▶

爬到 z 位置#

爬升到 z 軸位置 堆疊塊將無人機移動到 z 軸上的指定位置。

向前移動堆疊塊#
爬升至 z 位置 [500] [mm v] ▶

參數

描述

z 位置

無人機將爬升至的 z 位置(整數或小數)。

單位

計量單位:mm(毫米)或英吋。

不要等待

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

例子

當開始時
[Reach 500 mm after takeoff.]
起飛至 [300] [mm v] ▶
等待 [1] 秒
爬升至 z 位置 [500] [mm v] ▶
等待 [1] 秒
降落 ▶

移動#

move 堆疊塊使用目前的移動速度 使無人機沿著四個特定方向移動。

向前移動堆疊塊#
移動 [前方 v]

參數

描述

方向

控制無人機朝以下方向之一移動:

  • 前進
  • 右轉
  • 左轉
  • 後退

例子

當開始時
[Move forward for 2 seconds.]
起飛至 [500] [mm v] ▶
移動 [前方 v]
等待 [2] 秒
降落 ▶

以角度移動#

以一定角度移動堆疊塊使用當前的移動速度 以指定的角度移動無人機。

以 90 度移動堆疊塊#
以 (90) 度移動

參數

描述

角度

無人機移動的角度,以整數或小數表示,範圍從 0 到 359 度。

範例

當開始時
[Move left for 2 seconds.]
起飛至 [500] [mm v] ▶
以 [270] 度移動
等待 [2] 秒
降落 ▶

移動#

move for 堆疊塊使用目前的 移動速度 使無人機沿著四個特定方向移動特定距離。

向前移動 200 毫米堆塊#
移動 [前方 v] (200) [mm v] ▶

參數

描述

方向

控制無人機朝以下方向之一移動:

  • 前進
  • 右轉
  • 左轉
  • 後退

距離

無人機移動的距離,以整數或小數表示。

單位

計量單位:mm(毫米)或英吋。

不要等待

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

例子

當開始時
[Move forward for 200 mm.]
起飛至 [500] [mm v] ▶
移動 [前方 v] [200] [mm v] ▶
降落 ▶

以一定角度移動#

以特定角度移動 堆疊塊使用當前的 移動速度 使無人機以特定角度移動指定的距離。

以一定角度移動堆疊塊#
以 (45) 度移動 (200) [mm v] ▶

參數

描述

角度

無人機移動的角度,以整數或小數表示,範圍從 0 到 359 度。

距離

無人機移動的距離,以整數或小數表示。

單位

計量單位:mm(毫米)或英吋。

不要等待

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

範例

當開始時
[Move diagonally for 500 mm.]
起飛至 [300] [mm v] ▶
以 [45] 度移動 [500] [mm v] ▶
降落 ▶

移至#

move to 堆疊塊將無人機移動到空中的指定位置,同時保持相同的航向。

移動到 x 1000 y 1000#
移動至 x: [1000] y: [1000] z: [1000] [mm v] ▶

VEX 無人機的俯視圖,顯示 X 軸和 Y 軸:X+ 向右,X− 向左,Y+ 向前,Y− 向後。

參數

描述

x

無人機將移動到的 x 座標。

y

無人機將移動到的 y 座標。

z

無人機將爬升至的 z 座標。

單位

計量單位:mm(毫米)或英吋。

範例

當開始時
[Move diagonally to (300, 300, 500).]
起飛至 [300] [mm v] ▶
等待 [2] 秒
移動至 x: [300] y: [300] z: [500] [mm v] ▶
等待 [2] 秒
降落 ▶

轉動#

turn 堆疊塊使用目前的 轉彎速度 將無人機轉向特定方向。

右轉堆疊塊#
向 [右 v] 轉

參數

描述

方向

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

例子

當開始時
[Turn to the right for 2 seconds.]
起飛至 [500] [mm v] ▶
向 [右 v] 轉
等待 [2] 秒
降落 ▶

轉向#

turn for 堆疊塊使用目前的 轉彎速度 將無人機沿著指定方向轉彎一段距離,相對於其目前朝向。

右轉 90 度堆疊塊#
向 [右 v] 轉 (90) 度 ▶

參數

描述

方向

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

角度

無人機移動的角度,以整數或小數表示,範圍從 0 到 359 度。

不要等待

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

範例

當開始時
[Turn around, then land.]
起飛至 [500] [mm v] ▶
向 [右 v] 轉 [180] 度 ▶
降落 ▶

轉向航向#

轉向航向堆疊塊使用當前的轉彎速度將無人機轉向特定航向。

轉向 90 度堆疊塊#
轉向航向 (270) 度 ▶

參數

描述

標題

無人機轉向的航向範圍為 0 到 359 度。

不要等待

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

範例

當開始時
[Turn to face each of the cardinal headings.]
起飛至 [500] [mm v] ▶
轉向航向 (90) 度 ▶
等待 [1] 秒
轉向航向 (180) 度 ▶
等待 [1] 秒
轉向航向 (270) 度 ▶
等待 [1] 秒
轉向航向 (0) 度 ▶
等待 [1] 秒
降落 ▶

使用控制器移動#

「使用控制器移動」堆疊模組可讓您使用 VEX AIR 無人機控制器來控制無人機。此模組必須在循環中使用才能持續控制無人機。如果循環停止且沒有其他模組指示無人機移動,無人機將繼續沿著其最後移動的方向飛行。

以控制器移動

參數

描述

該塊沒有參數。

例子

當開始時
[Move with controller until button 7 is pressed.]
起飛至 [500] [mm v] ▶
重複直到 <控制器按鈕 [7 v] 按下?>
以控制器移動
結束
降落 ▶

飛行控制#

設定轉向 POV#

設定轉向 POV 堆疊塊設定無人機轉向時使用的視角。

向前移動堆疊塊#
設定轉向視角為 [標準 v]

參數

描述

風格

設置用於控制無人機的視角。 標準 表示無人機的移動是基於其當前朝向。 無頭 表示無人機的移動是基於專案開始時的朝向。

例子

當開始時
[Steer based on the drone's starting orienation until button 7 is pressed.]
起飛至 [500] [mm v] ▶
設定轉向視角為 [無頭模式 v]
重複直到 <控制器按鈕 [7 v] 按下?>
以控制器移動
結束
降落 ▶

設定動作#

設定移動方式 堆疊塊用於設定無人機的移動方式。

這種運動方式用於使用控制器駕駛無人機時。

向前移動堆疊塊#
設定移動模式為 [精確 v]

參數

描述

風格

设置用于操控无人机的风格:

  • 精准 — 慢速、摄像头增稳模式,用于精确控制和练习。这是默认的移动风格。
  • 平衡 — 较快速、摄像头增稳模式,用于平稳、灵敏的飞行。
  • 性能 — 高速、非增稳模式,用于高级机动。

例子

當開始時
[Control the drone with the balanced movement style.]
起飛至 [500] [mm v] ▶
設定移動模式為 [平衡 v]
重複直到 <控制器按鈕 [7 v] 按下?>
以控制器移動
結束
降落 ▶

設定#

設定爬升速度#

設定攀爬速度 堆疊模組用於設定預設攀爬速度(以百分比表示)。這將影響其後所有與攀爬相關的模組。預設攀爬速度為 50%。

向前移動堆疊塊#
設定爬升速度為 [100]%

參數

描述

速度

無人機爬升速度的百分比。

例子

當開始時
[Raise the drone quickly before landing.]
起飛至 [300] [mm v] ▶
等待 [1] 秒
設定爬升速度為 [100]%
爬升 [上升 v] (500) [mm v] ▶
降落 ▶

設定移動速度#

設定移動速度 堆疊塊用於設定預設移動速度,單位為百分比。這將影響後續所有與移動相關的程式碼區塊。預設移動速度為 50%。

將移動速度設定為 50% 堆疊塊#
設定移動速度為 [100]%

參數

描述

速度

無人機移動的速度(以百分比表示)。

例子

當開始時
[Move forward quickly, then reverse slowly.]
起飛至 [500] [mm v] ▶
設定移動速度為 [100]%
移動 [前方 v] [500] [mm v] ▶
等待 (1) 秒
設定移動速度為 [20]%
移動 [反向 v] [500] [mm v] ▶
降落 ▶

設定轉彎速度#

設定轉向速度 堆疊區塊用於設定預設轉向速度,單位為百分比。這將影響後續所有與轉向相關的模組。預設轉向速度為 50%。

將轉彎速度設定為 50% 堆疊塊#
設定轉向速度為 [100]%

參數

描述

速度

無人機轉彎的速度(以百分比表示)。

例子

當開始時
[Turn clockwise quickly, then counterclockwise slowly.]
起飛至 [500] [mm v] ▶
設定轉向速度為 [100]%
向 [右 v] 轉 [360] 度 ▶
等待 (1) 秒
設定轉向速度為 [20]%
向 [左 v] 轉 [360] 度 ▶
降落 ▶

位置#

位置#

位置報告模組會以整數形式報告無人機的當前 x、y 或 z 座標。在專案開始時,無人機的目前位置會自動設定為 (0, 0, 0)。

x 位置(單位:毫米)報告區塊#
[x v] 位置([mm v])

參數

描述

軸

應該報告哪個座標軸的座標:

  • x
  • y
  • z

單位

計量單位:mm(毫米)或英吋。

例子

當開始時
[Fly to position (0, 300, 500).]
起飛至 [500] [mm v] ▶
等待 [1] 秒
移動 [前方 v]
等待直到 <([y v] 位置([mm v])) [math_greater_than v] [300]>
懸停
等待 [1] 秒
降落 ▶

取得最大 z 高度#

取得最大 z 軸高度 報告模組報告無人機可以達到的最大高度。

x 位置(單位:毫米)報告區塊#
(get max z height in [mm v])

參數

描述

單位

計量單位:mm(毫米)或英吋。

例子

當開始時 :: hat events
[Display the new z height limit.]
在螢幕上列印 (get max z height in [mm v]) ▶
將游標移至螢幕下一列
起飛至 [500] [mm v] ▶
設定最大 z 高度為 [1000] [mm v]
在螢幕上列印 (get max z height in [mm v]) ▶
等待 [1] 秒
降落 ▶

設定最大 z 高度#

設定最大 Z 軸高度 堆疊塊設定無人機飛行高度的上限。

向前移動堆疊塊#
設定最大 z 高度為 [2500] [mm v]

參數

描述

最大 z 高度

無人機不會飛越的最大 z 軸值(整數或小數),範圍為 1000 至 5000 毫米或 40 至 196 英吋。

單位

計量單位:mm(毫米)或英吋。

例子

當開始時
[Fly with controller under 1000 mm.]
設定最大 z 高度為 [1000] [mm v]
起飛至 (500) [mm v] ▶
重複直到 <控制器按鈕 [7 v] 按下?>
以控制器移動
結束
降落 ▶

設定位置#

設定位置堆疊塊將無人機的當前 x、y 或 z 座標設定為指定值。

設定位置堆疊塊#
設定 [x v] 位置為 [0] [mm v]

參數

描述

軸

設定位置的座標軸:

  • x
  • y
  • z

協調

要設定的新位置值。

單位

計量單位:mm(毫米)或英吋。

例子

當開始時
[Set a new z position, then fly to z position -300.]
起飛至 [800] [mm v] ▶
設定 [z v] 位置為 [0] [mm v]
等待 [1] 秒
爬升 [下降 v]
等待直到 <([z v] 位置([mm v])) [math_less_than v] [-300]>
懸停
等待 [1] 秒
降落 ▶

價值觀#

飛行狀態#

飛行狀態布林模組報告無人機是否處於指定的飛行狀態。

  • 正確 — 無人機處於指定狀態。

  • 錯誤 — 無人機未處於指定狀態。

向前移動堆疊塊#
<飛行狀態為 [motors off v]?>

參數

描述

狀態

飛行狀態檢查:

  • 馬達關閉 — 無人機馬達已關閉。 2
  • 校準— 無人機正在校準感測器。 4
  • 馬達啟動 — 無人機正在啟動馬達。 6
  • 飛行準備— 無人機已準備好開始飛行。 8
    • 飛行中 — 無人機正在飛行

例子

當開始時
[Report the flight status as the drone takes off.]
在螢幕上列印 [Preparing for flight!] ◀ 並將游標移至下一列
起飛至 [800] [mm v] ◀ 且不等待
等待直到 <flight state is [motor start v]>
在螢幕上列印 [Motors starting...] ◀ 並將游標移至下一列
等待直到 <flight state is [flight v]>
在螢幕上列印 [Take off!] ▶

安全模式#

安全模式布林塊報告無人機上的螺旋槳鎖定是否已啟用。

  • 正確 — 螺旋槳鎖定已啟用。

  • 錯誤 — 螺旋槳鎖定功能未啟用。

向前移動堆疊塊#
<安全模式?>

參數

描述

該塊沒有參數。

例子

當開始時
[Change the sound by enabling the Propeller Lock.]
永遠
如果 <安全模式?> 則
播放聲音 [故障 v]
否則
播放聲音 [成功 v]

攀岩活動#

climb active 布爾塊報告無人機是否正在爬升。

  • 正確 — 無人機目前正在爬升。

  • 錯誤 — 無人機沒有爬升。

向前移動堆疊塊#
<爬升中?>

參數

描述

該塊沒有參數。

例子

當開始時
[After the drone starts to climb, play a sound and land.]
起飛至 [500] [mm v] ▶
爬升 [上升 v]
等待 [1] 秒
如果 <爬升中?> 則
播放聲音 [循環 v] ▶
降落 ▶

行動活躍#

move active 布林區塊會報告無人機目前是否正在使用移動塊。

  • 正確 — 無人機目前正在使用移動模組。

  • 錯誤 — 無人機目前未使用移動方塊。

正在移動活動報告區塊#
<移動中?>

參數

描述

該塊沒有參數。

例子

當開始時
[After the drone starts to move, play a sound and land.]
起飛至 [500] [mm v] ▶
移動 [前方 v]
等待 [1] 秒
如果 <移動中?> 則
播放聲音 [循環 v] ▶
降落 ▶

啟用設定#

turn active 布爾塊報告無人機是否正在轉彎。

  • 正確 — 無人機目前正在轉彎。

  • 錯誤 — 無人機沒有轉彎。

啟動活躍的報告區塊#
<轉向中?>

參數

描述

該塊沒有參數。

例子

當開始時
[After the drone starts to turn, play a sound and land.]
起飛至 (500) [mm v] ▶
向 [右 v] 轉
等待 [1] 秒
如果 <轉向中?> 則
播放聲音 [已偵測 v] ▶
降落 ▶

懸停#

懸停布爾塊報告無人機是否保持其位置(懸停)。

  • 正確 — 無人機目前保持其位置(懸停)。

  • 錯誤 — 無人機目前正在改變位置。

向前移動堆疊塊#
<懸停中?>

參數

描述

該塊沒有參數。

例子

當開始時
[Play a sound after the drone has finished taking off.]
起飛至 [700] [mm v] ▶
等待直到 <懸停中?>
等待 [2] 秒
播放聲音 [暫停 v] ▶
降落 ▶

起飛#

起飛布爾塊報告無人機是否正在起飛過程中。

  • 正確 — 無人機目前正在起飛過程中。

  • 錯誤-無人機並未處於起飛過程中。

向前移動堆疊塊#
<起飛中?>

參數

描述

該塊沒有參數。

例子

當開始時
[Play sounds while the drone is taking off.]
起飛至 [700] [mm v] ◀ 且不等待
等待 [1] 秒
當 <起飛中?>
播放聲音 [感應 v] ▶

降落#

著陸布爾塊報告無人機是否正在著陸過程中。

  • 正確 — 無人機目前正在著陸過程中。

  • 錯誤-無人機並未正在降落。

向前移動堆疊塊#
<降落中?>

參數

描述

該塊沒有參數。

例子

當開始時
[Play sounds while the drone is landing.]
起飛至 (500) [mm v] ▶
等待 [1] 秒
降落 ◀ 且不等待
等待 [1] 秒
當 <降落中?>
播放聲音 [循環 v] ▶

登陸#

landed 布爾塊報告無人機是否已降落。

  • 正確-無人機已著陸。

  • 錯誤-無人機尚未著陸。

落地佈爾塊#
<已降落?>

參數

描述

該塊沒有參數。

例子

當開始時
[Celebrate a successful landing.]
起飛至 (500) [mm v] ▶
等待 (1) 秒
降落 ▶
如果 <landed> 則
播放聲音 [成功 v] ▶