手臂#

介紹#

六軸機械手臂是CTE工作單元中使用的一種機械手臂。在VEXcode EXP中,機械手臂模組允許EXP Brain控制六軸機械手臂的移動、末端執行器的旋轉、運動是否可行以及控制連接的工具,例如磁性拾取工具或筆架工具。

本頁面適用於將六軸機械手臂連接到 EXP Brain 的 CTE 工作單元專案。如果您單獨使用六軸機械手臂和 CTE Tile,請改用 CTE 機械手臂 API 頁面。

以下是可用模組列表:

動作-將六軸機械手臂移到指定位置或方向。

設定 — 配置移動、工具和控制設定。

值 — 檢查移動是否可以運作、移動是否已完成、是否發生崩潰、讀取目前位置或方向,或在 Arm 事件發生時執行程式碼區塊。

行動#

將手臂移動到指定位置#

移動機械手臂到位置 堆疊塊將 6 軸機械手臂移動到指定的 x、y 和 z 座標。

x、y 和 z 座標描述了末端執行器在三維空間中的位置。如果目標位置可能超出六軸機械手臂的可達工作空間,請在此代碼區塊之前使用 機械手臂移動到位置?。

移動機械手臂至堆疊塊位置#
移動 [Arm1 v] 至位置 x:[120] y:[0] z:[100] [mm v] ▶

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

x

目標位置的 x 座標。

是

目標位置的y座標。

z

目標位置的z座標。

單元

x、y 和 z 座標的單位:mm(毫米)或 英吋。

展開箭頭

預設情況下,六軸機械手臂會在下一個代碼區塊運行之前完成移動。展開程式碼區塊後,不要等待它立即開始移動並繼續執行下一個程式碼區塊。

例子

啟動時,將 6 軸機械手臂移動到標準位置。#
當開始時
[Move Arm1 to a standard position at the start of the project.]
移動 [Arm1 v] 至位置 x:(120) y:(120) z:(75) [mm v] ▶

增量臂位置#

增量臂位置堆疊塊使 6 軸機械臂沿著 x、y 和 z 軸從其當前位置移動指定的距離。

使用此程式碼區塊可以相對於末端執行器目前位置進行移動。如果移動可能導致六軸機械手臂超出其可達工作空間,請在此代碼區塊之前使用 機械手臂增量位置?。

增量臂位置堆疊塊#
將 [Arm1 v] 位置遞增 x:[0] y:[0] z:[0] [mm v] ▶

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

x

沿 x 軸移動的距離。

是

沿y軸移動的距離。

z

沿 z 軸移動的距離。

單元

x、y 和 z 距離的單位:mm(毫米)或 英吋。

展開箭頭

預設情況下,六軸機械手臂會在下一個代碼區塊運行之前完成移動。展開程式碼區塊後,不要等待它立即開始移動並繼續執行下一個程式碼區塊。

例子

啟動時,使 Arm1 沿著 x 軸的位置增加 100 毫米。#
當開始時
[Move Arm1 100 millimeters along the x-axis.]
將 [Arm1 v] 位置遞增 x:[100] y:[0] z:[0] [mm v] ▶

將手臂移動到指定位置#

移動機械手臂至指定方向 堆疊模組將末端執行器旋轉到指定方向。

方向描述了末端執行器的旋轉方式。 俯仰使末端執行器向上或向下傾斜,橫滾使其左右旋轉,偏航使其向左或向右旋轉。

將機械手臂移動到堆疊塊的定向位置#
移動 [Arm1 v] 末端執行器方向至 [俯仰 v] [0] 度 ▶

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

方向

末端執行器繞其旋轉的軸:

  • 俯仰
  • 橫滾
  • 偏航

學位

目標方位角,以度為單位。

展開箭頭

預設情況下,六軸機械手臂會在下一個代碼區塊運行之前完成移動。展開程式碼區塊後,不要等待它立即開始移動並繼續執行下一個程式碼區塊。

例子

啟動時,末端執行器旋轉至偏航 270 度。#
當開始時
[Rotate the end effector to 270 degrees of yaw.]
移動 [Arm1 v] 末端執行器方向至 [偏航 v] [270] 度 ▶

增量臂方向#

增量臂方向堆疊區塊將末端執行器從其目前方向旋轉指定的角度數。

使用此模組可相對於末端執行器的目前俯仰角、橫滾角或偏航角進行旋轉。

增量臂方向堆疊塊#
將 [Arm1 v] 方向遞增 [俯仰 v] [0] 度 ▶

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

方向

末端執行器繞其旋轉的軸:

  • 俯仰
  • 橫滾
  • 偏航

學位

末端執行器旋轉的角度(以度為單位)。

展開箭頭

預設情況下,六軸機械手臂會在下一個代碼區塊運行之前完成移動。展開程式碼區塊後,不要等待它立即開始移動並繼續執行下一個程式碼區塊。

例子

啟動時,末端執行器俯仰角旋轉 40 度。#
當開始時
[Rotate the end effector 40 degrees in pitch.]
將 [Arm1 v] 方向遞增 [俯仰 v] [40] 度 ▶

設定#

設定手臂速度#

設定機械手臂速度 堆疊塊設定 6 軸機械手臂的運動速度。

專案開始時,6軸機械手臂的速度設定為50%。

設定手臂速度堆疊塊#
設定 [Arm1 v] 速度為 [50] %

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

百分比

6軸機械手臂的運動速度,從1到100%。

例子

啟動時,設定 6 軸機械手臂的速度,然後移動到指定位置。#
當開始時
[Set Arm1's speed to 30%.]
設定 [Arm1 v] 速度為 [30] %
移動 [Arm1 v] 至位置 x:[120] y:[120] z:[70] [mm v] ▶

設定機械手臂末端執行器#

設定機械手臂末端執行器 堆疊塊選擇連接到 6 軸機械手臂的工具。

當末端執行器更換時,六軸機械手臂會自動調整其Z軸偏移量以符合所選工具。專案開始時,末端執行器預設為磁性拾取工具。

設定機械手臂末端執行器堆疊塊#
設定 [Arm1 v] 末端執行器為 [磁鐵 v]

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

末端執行器

安裝在 6 軸機械手臂上的工具:磁鐵(磁鐵拾取工具)或筆(筆架工具)。

例子

啟動時,將 6 軸機械手臂設定為使用筆架工具。#
當開始時
[Set Arm1 to use the Pen Holder Tool.]
設定 [Arm1 v] 末端執行器為 [畫筆 v]

設定手臂磁鐵模式#

設定臂磁鐵模式堆疊塊用於接合或釋放磁鐵拾取工具。

磁鐵模式會一直保持啟動狀態,直到另一個設定磁力臂模式模組將其變更為止。專案開始時,磁鐵模式會重設為已釋放狀態。

設定臂磁鐵模式堆疊塊#
設定 [Arm1 v] 磁鐵為 [啟動 v]

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

模式

磁性拾取工具的狀態:已接合 以拾取物體,或已釋放 以丟棄任何已拾取的物體且不再拾取新物體。

例子

啟動時,磁鐵會吸合,等待片刻,然後釋放。#
當開始時
[Pick up objects, then drop them after 2 seconds.]
設定 [Arm1 v] 磁鐵為 [啟動 v]
等待 [2] 秒
設定 [Arm1 v] 磁鐵為 [釋放 v]

設定手臂筆偏移#

設定臂筆偏移 堆疊塊設定筆架工具的垂直偏移量。

使用此模組前,請將末端執行器設定為筆。如果未選擇筆架工具,則此模組無效。

筆偏移量是指從筆架工具頂部到白板筆筆尖的距離。在專案開始時,筆偏移量設定為 0。筆偏移量為 0 時,機械手臂的 Z 軸原點位於筆架工具與六軸機械手臂連接點。

設定手臂筆偏移堆疊塊#
設定 [Arm1 v] 畫筆偏移為 [0] [mm v]

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

抵銷

筆偏移值。

單元

筆偏移量單位:mm(毫米)或英吋。

例子

啟動時,設定筆的偏移量,然後移動 6 軸機械手臂。#
當開始時
[Set the end effector to the Pen Holder Tool and set the pen offset to 1 inch.]
設定 [Arm1 v] 末端執行器為 [畫筆 v]
設定 [Arm1 v] 畫筆偏移為 [1] [英吋 v]
移動 [Arm1 v] 至位置 x:[120] y:[120] z:[0] [mm v] ▶

設定手臂控制停止#

設定手臂控制停止 堆疊塊會立即停止 6 軸手臂,並阻止任何其他手臂塊運作。

此模組運作後,除非重新啟動項目,否則無法重新啟用 6 軸機械手臂。

設置機械手臂以控制停止的堆疊塊#
設定 [Arm1 v] 控制停止

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

例子

啟動時,6軸機械手臂會移動;然後透過控制停止它。#
當開始時
[Control stop after a movement.]
移動 [Arm1 v] 至位置 x:[120] y:[120] z:[70] [mm v] ▶
設定 [Arm1 v] 控制停止

價值觀#

手臂移動到指定位置?#

機械手臂移動到位置?布林塊傳回 6 軸機械手臂是否可以移動到指定的 x、y 和 z 座標。

此模組會在六軸機械手臂移動之前檢查目標位置。它可以幫助防止專案嘗試將機械手臂移動到其可達工作區域之外。

手臂移動到指定位置?布爾塊#
<[Arm1 v] 可移動至位置 x:[0] y:[0] z:[0] [mm v]?>

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

x

目標位置的 x 座標。

是

目標位置的y座標。

z

目標位置的z座標。

單元

x、y 和 z 座標的單位:mm(毫米)或 英吋。

例子

啟動時,檢查 6 軸機械手臂是否可以移動到指定位置。#
當開始時
[Check if Arm1 can move to a position.]
如果 <非 <[Arm1 v] 可移動至位置 x:[0] y:[0] z:[0] [mm v]?>> 則
在螢幕上列印 [The 6-Axis Arm can't move to this position.] ▶
結束

臂增量位置?#

機械手臂增量位置?布爾塊返回 6 軸機械手臂是否可以從其目前位置移動指定的距離。

此模組在 6 軸機械手臂移動之前檢查增量運動。

臂增量位置?布爾塊#
<[Arm1 v] 增量位置 x:[0] y:[0] z:[0] [mm v]?>

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

x

沿 x 軸移動的距離。

是

沿y軸移動的距離。

z

沿 z 軸移動的距離。

單元

x、y 和 z 距離的單位:mm(毫米)或 英吋。

例子

啟動時,檢查 6 軸機械手臂是否可以增加其位置。#
當開始時
[Check if Arm1 can increment from its current position.]
如果 <非 <[Arm1 v] 增量位置 x:[0] y:[500] z:[0] [mm v]?>> 則
在螢幕上列印 [The 6-Axis Arm can't move that distance.] ▶
結束

機械手臂末端執行器移動?#

機械手臂移動末端執行器?布林塊傳回末端執行器是否可以旋轉到指定方向。

使用此模組檢查目標俯仰角、橫滾角或偏航角值是否在允許的範圍內,然後再旋轉末端執行器。

機械手臂末端執行器移動?布爾塊#
<[Arm1 v] 可移動末端執行器至 [俯仰 v] [0] 度?>

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

方向

末端執行器繞其旋轉的軸:

  • 俯仰
  • 橫滾
  • 偏航

學位

目標方位角,以度為單位。

例子

啟動時,檢查末端執行器是否可以捲動到指定方向。#
當開始時
[Check if Arm1 can roll its end effector to an orientation.]
如果 <[Arm1 v] 可移動末端執行器至 [側滾 v] [40] 度?> 則
在螢幕上列印 [The end effector can roll to that orientation.] ▶
結束

臂增量方向?#

arm increment orientation? 布林區塊傳回末端執行器是否可以從其目前方向旋轉指定的度數。

使用此模組在旋轉末端執行器之前檢查俯仰、橫滾或偏航的增量運動。

臂增量方向?布爾塊#
<[Arm1 v] 可將方向遞增 [俯仰 v] [0] 度?>

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

方向

末端執行器繞其旋轉的軸:

  • 俯仰
  • 橫滾
  • 偏航

學位

末端執行器旋轉的角度(以度為單位)。

例子

啟動時,檢查末端執行器是否可以將偏航角增加 20 度。#
當開始時
[Check if Arm1 can increment yaw.]
如果 <[Arm1 v] 可將方向遞增 [偏航 v] [20] 度?> 則
在螢幕上列印 [The end effector can increment yaw by 20 degrees.] ▶
結束

手臂停止移動了嗎?#

機械手臂是否已停止移動?布爾塊返回 6 軸機械手臂是否已停止移動。

這個方塊在移動方塊擴展後非常有用,不要等待。

手臂停止移動了嗎?布爾塊#
<[Arm1 v] 移動完成?>

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

例子

啟動時,在 6 軸機械手臂移動時列印目前的 y 軸位置。#
當開始時
[Display the current y-position while Arm1 moves.]
移動 [Arm1 v] 至位置 x:(-100) y:(200) z:(100) [mm v] ◀ 且不等待
重複直到 <[Arm1 v] 移動完成?>
在螢幕上列印 ([Arm1 v] 位置 [y v]([mm v])) ◀ 並將游標移至下一列
等待 [0.25] 秒
結束

機械手臂墜毀了嗎?#

機械手臂是否碰撞?布爾塊返回6軸機械手臂在移動過程中是否發生碰撞。

當偵測到碰撞時,六軸機械手臂會停止馬達運動,並可能出現無力狀態。這可以減輕機械手臂的壓力,並有助於保護馬達免受意外損壞。

機械手臂崩潰了嗎?布爾塊#
<[Arm1 v] 是否已碰撞?>

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

例子

啟動時,檢查 Arm1 移動時是否發生崩潰。#
當開始時
[Quickly move to the specified location.]
設定 [Arm1 v] 速度為 [100] %
移動 [Arm1 v] 至位置 x:[-20] y:[240] z:[40] [mm v] ◀ 且不等待
[While moving, check for a crash.]
永遠
如果 <[Arm1 v] 是否已碰撞?> 則
[Indicate a crash with the Signal Tower and Brain screen.]
在螢幕上列印 [Crash Detected] ▶
設定 [SignalTower2 v] 為 [綠色 v] 且 [關 v]
設定 [SignalTower2 v] 為 [紅色 v] 且 [實心 v]
中斷
結束
結束

手臂位置#

機械手臂位置報告模組返回6軸機械手臂沿選定軸的目前位置。

使用此模組讀取末端執行器當前緣 x、y 或 z 軸的位置。

手臂位置報告區塊#
([Arm1 v] 位置 [x v]([mm v]))

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

軸

要報告的位置軸:

  • x
  • y
  • z

單元

位置值的單位:mm(毫米)或英吋。

例子

啟動時,在 6 軸機械手臂移動時列印目前的 y 軸位置。#
當開始時
[Display the current y-position while Arm1 moves.]
移動 [Arm1 v] 至位置 x:(-100) y:(200) z:(100) [mm v] ◀ 且不等待
重複直到 <[Arm1 v] 移動完成?>
在螢幕上列印 ([Arm1 v] 位置 [y v]([mm v])) ◀ 並將游標移至下一列
等待 [0.25] 秒
結束

手臂方向#

機械手臂方向報告模組以度為單位返回末端執行器繞選定軸的當前方向。

使用此模組讀取末端執行器的目前俯仰角、橫滾角或偏航角。

臂方向報告模組#
([Arm1 v] [俯仰 v] 方向(度))

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

方向

要報告的姿態軸:

  • 俯仰角
  • 橫滾角
  • 偏航角

例子

啟動時,在 6 軸機械手臂運動時列印目前偏航角。#
當開始時
[Display the current yaw after rotating the end effector.]
移動 [Arm1 v] 末端執行器方向至 [偏航 v] [90] 度 ◀ 且不等待
重複直到 <[Arm1 v] 移動完成?>
在螢幕上列印 ([Arm1 v] [偏航 v] 方向(度)) ◀ 並將游標移至下一列
等待 [0.25] 秒
結束

當手臂控制停止時#

當 6 軸機械手臂的控制停止功能啟用時,當機械手臂控制停止時 Hat 模組會運作所連接的堆疊。

當手臂控制停止時,帽子塊#
當 [Arm1 v] 控制停止時  :: hat events

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

手臂墜落時#

當 6 軸機械手臂在移動過程中發生碰撞時,當機械手臂發生碰撞時 Hat 模組會運行附加的堆疊。

當偵測到碰撞時,六軸機械手臂會停止馬達運動,並可能出現無力狀態。這可以減輕機械手臂的壓力,並有助於保護馬達免受意外損壞。

當手臂撞到帽子方塊時#
when [Arm1 v] crashed  :: hat events

範圍

描述

裝置

要使用的配置的 6 軸機械手臂。

例子

當 Arm1 崩潰時,信號塔會變成紅色。#
when [Arm1 v] crashed  :: hat events
[Indicate a crash with the Signal Tower and Brain screen.]
在螢幕上列印 [Crash Detected] ▶
設定 [SignalTower2 v] 為 [紅色 v] 且 [實心 v]