手臂#
介绍#
六轴机械臂是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 坐标描述了末端执行器在三维空间中的位置。如果目标位置可能超出六轴机械臂的可达工作空间,请在此代码块之前使用 机械臂移动到位置?。
移动 [Arm 1 v] 到位置x:[120] y:[0] z:[100] [毫米 v] ▶
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
x |
目标位置的 x 坐标。 |
是 |
目标位置的y坐标。 |
z |
目标位置的z坐标。 |
单元 |
x、y 和 z 坐标的单位:mm(毫米)或 英寸。 |
展开箭头 |
默认情况下,六轴机械臂会在下一个代码块运行之前完成移动。展开代码块后,不要等待它立即开始移动并继续执行下一个代码块。 |
例子
当开始
[Move Arm1 to a standard position at the start of the project.]
移动 [Arm 1 v] 到位置x:(120) y:(120) z:(75) [毫米 v] ▶
增量臂位置#
增量臂位置堆栈块使 6 轴机械臂沿 x、y 和 z 轴从其当前位置移动指定的距离。
使用此代码块可以相对于末端执行器当前位置进行移动。如果移动可能导致六轴机械臂超出其可达工作空间,请在此代码块之前使用 机械臂增量位置?。
[Arm 1 v] 位置递增x:[0] y:[0] z:[0] [毫米 v] ▶
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
x |
沿 x 轴移动的距离。 |
是 |
沿y轴移动的距离。 |
z |
沿 z 轴移动的距离。 |
单元 |
x、y 和 z 距离的单位:mm(毫米)或 英寸。 |
展开箭头 |
默认情况下,六轴机械臂会在下一个代码块运行之前完成移动。展开代码块后,不要等待它立即开始移动并继续执行下一个代码块。 |
例子
当开始
[Move Arm1 100 millimeters along the x-axis.]
[Arm 1 v] 位置递增x:[100] y:[0] z:[0] [毫米 v] ▶
将手臂移动到指定位置#
移动机械臂至指定方向 堆栈模块将末端执行器旋转到指定方向。
方向描述了末端执行器的旋转方式。俯仰使末端执行器向上或向下倾斜,横滚使其左右旋转,偏航使其向左或向右旋转。
移动 [Arm 1 v] [俯仰 v] 偏转至 [0] 度 ▶
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
方向 |
末端执行器绕其旋转的轴:
|
学位 |
目标方位角,以度为单位。 |
展开箭头 |
默认情况下,六轴机械臂会在下一个代码块运行之前完成移动。展开代码块后,不要等待它立即开始移动并继续执行下一个代码块。 |
例子
当开始
[Rotate the end effector to 270 degrees of yaw.]
移动 [Arm 1 v] [偏转 v] 偏转至 [270] 度 ▶
增量臂方向#
增量臂方向堆栈块将末端执行器从其当前方向旋转指定的角度数。
使用此模块可相对于末端执行器的当前俯仰角、横滚角或偏航角进行旋转。
[Arm 1 v] [俯仰 v] 偏转递增 [0] 度 ▶
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
方向 |
末端执行器绕其旋转的轴:
|
学位 |
末端执行器旋转的角度(以度为单位)。 |
展开箭头 |
默认情况下,六轴机械臂会在下一个代码块运行之前完成移动。展开代码块后,不要等待它立即开始移动并继续执行下一个代码块。 |
例子
当开始
[Rotate the end effector 40 degrees in pitch.]
[Arm 1 v] [俯仰 v] 偏转递增 [40] 度 ▶
设置#
设定手臂速度#
设置机械臂速度 堆栈块设置 6 轴机械臂的运动速度。
项目开始时,6轴机械臂的速度设置为50%。
设定 [Arm 1 v] 移速为 [50]%
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
百分比 |
6轴机械臂的运动速度,从1到100%。 |
例子
当开始
[Set Arm1's speed to 30%.]
设定 [Arm 1 v] 移速为 [30]%
移动 [Arm 1 v] 到位置x:[120] y:[120] z:[70] [毫米 v] ▶
设置机械臂末端执行器#
设置机械臂末端执行器 堆叠块选择连接到 6 轴机械臂的工具。
当末端执行器更换时,六轴机械臂会自动调整其Z轴偏移量以匹配所选工具。项目开始时,末端执行器默认设置为磁性拾取工具。
设定 [Arm 1 v] 末端执行器为 [magnet v]
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
末端执行器 |
安装在 6 轴机械臂上的工具:磁铁(磁铁拾取工具)或笔(笔架工具)。 |
例子
当开始
[Set Arm1 to use the Pen Holder Tool.]
设定 [Arm 1 v] 末端执行器为 [pen v]
设置手臂磁铁模式#
设置臂磁铁模式堆叠块用于接合或释放磁铁拾取工具。
磁铁模式会一直保持激活状态,直到另一个设置磁力臂模式模块将其更改为止。项目开始时,磁铁模式会重置为已释放状态。
设定 [Arm 1 v] 磁铁为 [engaged v]
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
模式 |
磁性拾取工具的状态:已接合 以拾取物体,或已释放 以丢弃任何已拾取的物体且不再拾取新物体。 |
例子
当开始
[Pick up objects, then drop them after 2 seconds.]
设定 [Arm 1 v] 磁铁为 [engaged v]
等待 [2] 秒
设定 [Arm 1 v] 磁铁为 [released v]
设置手臂笔偏移#
设置臂笔偏移 堆叠块设置笔架工具的垂直偏移量。
使用此模块前,请将末端执行器设置为笔。如果未选择笔架工具,则此模块无效。
笔偏移量是指从笔架工具顶部到白板笔笔尖的距离。在项目开始时,笔偏移量设置为 0。笔偏移量为 0 时,机械臂的 Z 轴原点位于笔架工具与六轴机械臂连接点处。
设定 [Arm 1 v] 笔的偏移量为 [0] [毫米 v]
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
抵消 |
笔偏移值。 |
单元 |
笔偏移量单位:mm(毫米)或英寸。 |
例子
当开始
[Set the end effector to the Pen Holder Tool and set the pen offset to 1 inch.]
设定 [Arm 1 v] 末端执行器为 [pen v]
设定 [Arm 1 v] 笔的偏移量为 [1] [英寸 v]
移动 [Arm 1 v] 到位置x:[120] y:[120] z:[0] [毫米 v] ▶
设置手臂以控制停止#
设置手臂控制停止 堆栈块会立即停止 6 轴手臂,并阻止任何其他手臂块运行。
该模块运行后,除非重新启动项目,否则无法重新启用 6 轴机械臂。
设定 [Arm 1 v] 停用
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
例子
当开始
[Control stop after a movement.]
移动 [Arm 1 v] 到位置x:[120] y:[120] z:[70] [毫米 v] ▶
设定 [Arm 1 v] 停用
价值观#
手臂移动到指定位置?#
**机械臂移动到位置?**布尔块返回 6 轴机械臂是否可以移动到指定的 x、y 和 z 坐标。
此模块会在六轴机械臂移动之前检查目标位置。它可以帮助防止项目尝试将机械臂移动到其可达工作区域之外。
<[Arm1 v] move to position 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] move to position x:[0] y:[0] z:[0] [mm v] ?>> 那么
在屏幕上打印 [The 6-Axis Arm can't move to this position.]▶
结束
臂增量位置?#
**机械臂增量位置?**布尔块返回 6 轴机械臂是否可以从其当前位置移动指定的距离。
该模块在 6 轴机械臂移动之前检查增量运动。
<[Arm 1 v] 位置增加x:[0] y:[0] z:[0] [毫米 v]?>
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
x |
沿 x 轴移动的距离。 |
是 |
沿y轴移动的距离。 |
z |
沿 z 轴移动的距离。 |
单元 |
x、y 和 z 距离的单位:mm(毫米)或 英寸。 |
例子
当开始
[Check if Arm1 can increment from its current position.]
如果 <非 <[Arm 1 v] 位置增加x:[0] y:[500] z:[0] [毫米 v]?>> 那么
在屏幕上打印 [The 6-Axis Arm can't move that distance.]▶
结束
机械臂末端执行器移动?#
**机械臂移动末端执行器?**布尔块返回末端执行器是否可以旋转到指定方向。
使用此模块检查目标俯仰角、横滚角或偏航角值是否在允许的范围内,然后再旋转末端执行器。
<[Arm 1 v] 末端执行器移动到 [俯仰 v] [0] 度?>
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
方向 |
末端执行器绕其旋转的轴:
|
学位 |
目标方位角,以度为单位。 |
例子
当开始
[Check if Arm1 can roll its end effector to an orientation.]
如果 <[Arm 1 v] 末端执行器移动到 [横滚 v] [40] 度?> 那么
在屏幕上打印 [The end effector can roll to that orientation.]▶
结束
臂增量方向?#
arm increment orientation? 布尔块返回末端执行器是否可以从其当前方向旋转指定的度数。
使用此模块在旋转末端执行器之前检查俯仰、横滚或偏航的增量运动。
<[Arm 1 v] [俯仰 v]偏转递增 [0] 度?>
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
方向 |
末端执行器绕其旋转的轴:
|
学位 |
末端执行器旋转的角度(以度为单位)。 |
例子
当开始
[Check if Arm1 can increment yaw.]
如果 <[Arm 1 v] [偏转 v]偏转递增 [20] 度?> 那么
在屏幕上打印 [The end effector can increment yaw by 20 degrees.]▶
结束
手臂停止移动了吗?#
**机械臂是否已停止移动?**布尔块返回 6 轴机械臂是否已停止移动。
这个方块在移动方块扩展后非常有用,不要等待。
<[Arm 1 v] 已结束?>
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
例子
当开始
[Display the current y-position while Arm1 moves.]
移动 [Arm 1 v] 到位置x:(-100) y:(200) z:(100) [毫米 v] ◀ 并且不等待
重复直到 <[Arm 1 v] 已结束?>
在屏幕上打印 ([Arm 1 v] [y v] 位置 [毫米 v])◀ 并设定光标为下一行
等待 [0.25] 秒
结束
机械臂坠毁了吗?#
**机械臂是否碰撞?**布尔块返回6轴机械臂在移动过程中是否发生碰撞。
当检测到碰撞时,六轴机械臂会停止电机运动,并可能出现无力状态。这可以减轻机械臂的压力,并有助于保护电机免受意外损坏。
<[Arm1 v] is crashed?>
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
例子
当开始
[Quickly move to the specified location.]
set [Arm1 v] speed to [100] %
move [Arm1 v] to position x: [-20] y: [240] z: [40] [mm v] ◀ and don't wait
[While moving, check for a crash.]
永久循环
如果 <[Arm1 v] is crashed?> 那么
[Indicate a crash with the Signal Tower and Brain screen.]
在屏幕上打印 [Crash Detected]▶
设定 [SignalTower 2 v] 为 [绿色 v] 和 [灭 v]
设定 [SignalTower 2 v] 为 [红色 v] 和 [solid v]
退出循环
结束
结束
手臂位置#
机械臂位置报告模块返回6轴机械臂沿选定轴的当前位置。
使用此模块读取末端执行器当前沿 x、y 或 z 轴的位置。
([Arm 1 v] [X v] 位置 [毫米 v])
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
轴 |
要报告的位置轴:
|
单元 |
位置值的单位:mm(毫米)或英寸。 |
例子
当开始
[Display the current y-position while Arm1 moves.]
移动 [Arm 1 v] 到位置x:(-100) y:(200) z:(100) [毫米 v] ◀ 并且不等待
重复直到 <[Arm 1 v] 已结束?>
在屏幕上打印 ([Arm 1 v] [y v] 位置 [毫米 v])◀ 并设定光标为下一行
等待 [0.25] 秒
结束
手臂方向#
机械臂方向报告模块以度为单位返回末端执行器绕选定轴的当前方向。
使用此模块读取末端执行器的当前俯仰角、横滚角或偏航角。
([Arm 1 v] [俯仰 v] 偏转角度值)
范围 |
描述 |
|---|---|
设备 |
要使用的配置的 6 轴机械臂。 |
方向 |
要报告的姿态轴:
|
例子
当开始
[Display the current yaw after rotating the end effector.]
移动 [Arm 1 v] [偏转 v] 偏转至 [90] 度 ◀ 并且不等待
重复直到 <[Arm 1 v] 已结束?>
在屏幕上打印 ([Arm 1 v] [偏转 v] 偏转角度值)◀ 并设定光标为下一行
等待 [0.25] 秒
结束
当手臂控制停止时#
当 6 轴机械臂的控制停止功能启用时,当机械臂控制停止时 Hat 模块会运行所连接的堆栈。
当 [Arm 1 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]▶
设定 [SignalTower 2 v] 为 [红色 v] 和 [solid v]