手臂#
介紹#
六軸機械手臂是CTE工作單元中使用的一種機械手臂。在VEXcode EXP中,機械手臂模組允許EXP Brain控制六軸機械手臂的移動、末端執行器的旋轉、運動是否可行以及控制連接的工具,例如磁性拾取工具或筆架工具。
本頁面適用於將六軸機械手臂連接到 EXP Brain 的 CTE 工作單元專案。如果您單獨使用六軸機械手臂和 CTE Tile,請改用 CTE 機械手臂 API 頁面。
以下是可用模組列表:
動作-將六軸機械手臂移到指定位置或方向。
移動機械手臂到位置 — 將 6 軸機械手臂移動到指定的 x、y 和 z 座標。
增加機械手臂位置 — 將 6 軸機械手臂從其目前位置移動一段距離。
移動機械手臂至指定方向 — 將末端執行器旋轉至指定方向。
增加機械手臂方向 — 將末端執行器旋轉指定的角度數。
設定 — 配置移動、工具和控制設定。
設定機械手臂速度 — 設定 6 軸機械手臂的運動速度。
設定機械手臂末端執行器 — 選擇連接到 6 軸機械手臂的工具。
設定磁臂模式 — 接合或釋放磁拾取工具。
設定筆臂偏移量 — 設定筆架工具的垂直偏移量。
設定機械手臂控制停止 — 停止 6 軸機械手臂並防止其進一步移動。
值 — 檢查移動是否可以運作、移動是否已完成、是否發生崩潰、讀取目前位置或方向,或在 Arm 事件發生時執行程式碼區塊。
機械手臂移動到位置? — 返回 6 軸機械手臂是否可以移動到指定位置。
機械手臂增量位置? — 返回 6 軸機械手臂是否可以移動指定的距離。
arm move end effector? — 傳回末端執行器是否可以旋轉到指定的方向。
arm increment orientation? — 傳回末端執行器是否可以旋轉指定的度數。
機械手臂是否已完成移動? — 返回 6 軸機械手臂是否已完成移動。
機械手臂是否崩潰? — 返回 6 軸機械手臂在移動過程中是否發生崩潰。
臂位置 — 返回 6 軸機械手臂沿選定軸的目前位置。
arm orientation — 返回末端執行器沿著選取軸的目前方向。
當 arm 控制停止時 — 啟用控制停止時運行附加的堆疊。
當 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(毫米)或 英吋。 |
展開箭頭 |
預設情況下,六軸機械手臂會在下一個代碼區塊運行之前完成移動。展開程式碼區塊後,不要等待它立即開始移動並繼續執行下一個程式碼區塊。 |
例子
當開始時
[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(毫米)或 英吋。 |
展開箭頭 |
預設情況下,六軸機械手臂會在下一個代碼區塊運行之前完成移動。展開程式碼區塊後,不要等待它立即開始移動並繼續執行下一個程式碼區塊。 |
例子
當開始時
[Move Arm1 100 millimeters along the x-axis.]
將 [Arm1 v] 位置遞增 x:[100] y:[0] z:[0] [mm v] ▶
將手臂移動到指定位置#
移動機械手臂至指定方向 堆疊模組將末端執行器旋轉到指定方向。
方向描述了末端執行器的旋轉方式。 俯仰使末端執行器向上或向下傾斜,橫滾使其左右旋轉,偏航使其向左或向右旋轉。
移動 [Arm1 v] 末端執行器方向至 [俯仰 v] [0] 度 ▶
範圍 |
描述 |
|---|---|
裝置 |
要使用的配置的 6 軸機械手臂。 |
方向 |
末端執行器繞其旋轉的軸:
|
學位 |
目標方位角,以度為單位。 |
展開箭頭 |
預設情況下,六軸機械手臂會在下一個代碼區塊運行之前完成移動。展開程式碼區塊後,不要等待它立即開始移動並繼續執行下一個程式碼區塊。 |
例子
當開始時
[Rotate the end effector to 270 degrees of yaw.]
移動 [Arm1 v] 末端執行器方向至 [偏航 v] [270] 度 ▶
增量臂方向#
增量臂方向堆疊區塊將末端執行器從其目前方向旋轉指定的角度數。
使用此模組可相對於末端執行器的目前俯仰角、橫滾角或偏航角進行旋轉。
將 [Arm1 v] 方向遞增 [俯仰 v] [0] 度 ▶
範圍 |
描述 |
|---|---|
裝置 |
要使用的配置的 6 軸機械手臂。 |
方向 |
末端執行器繞其旋轉的軸:
|
學位 |
末端執行器旋轉的角度(以度為單位)。 |
展開箭頭 |
預設情況下,六軸機械手臂會在下一個代碼區塊運行之前完成移動。展開程式碼區塊後,不要等待它立即開始移動並繼續執行下一個程式碼區塊。 |
例子
當開始時
[Rotate the end effector 40 degrees in pitch.]
將 [Arm1 v] 方向遞增 [俯仰 v] [40] 度 ▶
設定#
設定手臂速度#
設定機械手臂速度 堆疊塊設定 6 軸機械手臂的運動速度。
專案開始時,6軸機械手臂的速度設定為50%。
設定 [Arm1 v] 速度為 [50] %
範圍 |
描述 |
|---|---|
裝置 |
要使用的配置的 6 軸機械手臂。 |
百分比 |
6軸機械手臂的運動速度,從1到100%。 |
例子
當開始時
[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 軸機械手臂上的工具:磁鐵(磁鐵拾取工具)或筆(筆架工具)。 |
例子
當開始時
[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(毫米)或英吋。 |
例子
當開始時
[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 軸機械手臂。 |
例子
當開始時
[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(毫米)或 英吋。 |
例子
當開始時
[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(毫米)或 英吋。 |
例子
當開始時
[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 軸機械手臂。 |
方向 |
末端執行器繞其旋轉的軸:
|
學位 |
末端執行器旋轉的角度(以度為單位)。 |
例子
當開始時
[Check if Arm1 can increment yaw.]
如果 <[Arm1 v] 可將方向遞增 [偏航 v] [20] 度?> 則
在螢幕上列印 [The end effector can increment yaw by 20 degrees.] ▶
結束
手臂停止移動了嗎?#
機械手臂是否已停止移動?布爾塊返回 6 軸機械手臂是否已停止移動。
這個方塊在移動方塊擴展後非常有用,不要等待。
<[Arm1 v] 移動完成?>
範圍 |
描述 |
|---|---|
裝置 |
要使用的配置的 6 軸機械手臂。 |
例子
當開始時
[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 軸機械手臂。 |
例子
當開始時
[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 軸機械手臂。 |
軸 |
要報告的位置軸:
|
單元 |
位置值的單位:mm(毫米)或英吋。 |
例子
當開始時
[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 軸機械手臂。 |
方向 |
要報告的姿態軸:
|
例子
當開始時
[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 軸機械手臂。 |
例子
when [Arm1 v] crashed :: hat events
[Indicate a crash with the Signal Tower and Brain screen.]
在螢幕上列印 [Crash Detected] ▶
設定 [SignalTower2 v] 為 [紅色 v] 且 [實心 v]