传感#
大脑感知#
重置计时器#
重置计时器块用于重置 EXP Brain 的计时器。
计时器秒数
Brain 的计时器在每个项目开始时启动。重置计时器积木用于将计时器重置回 0 秒。
在这个例子中,Brain 将在等待 2 秒后打印当前时间,然后再重置其计时器。
当开始 :: hat events
等待 (2) 秒
在 (计时器秒数) 上打印 [Brain v] ◀ 并设定光标为下一行
重置计时器
在 (计时器秒数) 上打印 [Brain v] ◀ 并设定光标为下一行
计时器值#
计时器值块用于报告 EXP Brain 计时器的值(以秒为单位)。
计时器秒数
计时器在程序启动时从 0 秒开始,并以十进制值报告计时器的值。
在这个例子中,Brain 将在等待 2 秒后打印当前时间,然后再重置其计时器。
当开始 :: hat events
等待 (2) 秒
在 (计时器秒数) 上打印 [Brain v] ◀ 并设定光标为下一行
重置计时器
在 (计时器秒数) 上打印 [Brain v] ◀ 并设定光标为下一行
光标列#
光标列块用于报告 EXP Brain 的屏幕光标位置的列号。
光标列数
光标列块将报告 1-80 之间的值,并将在项目开始时从第 1 列开始。
在这个例子中,Brain 将把光标移动到 (3, 7),然后在 Brain 的屏幕上打印当前列 (7)。
当开始 :: hat events
在Brain设定光标至 (3) 行 (7) 列
在 (光标列数) 上打印 [Brain v] ◀ 并设定光标为下一行
光标行#
Cursor Row 块用于报告 EXP Brain 屏幕光标位置的行号。
光标行数
光标列块将报告 1-9 之间的值,并将在项目开始时从第 1 行开始。
在这个例子中,Brain 将把光标移动到 (3, 7),然后在 Brain 的屏幕上打印当前行 (3)。
当开始 :: hat events
在Brain设定光标至 (3) 行 (7) 列
在 (光标行数) 上打印 [Brain v] ◀ 并设定光标为下一行
电池电压#
电池电压块用于报告 EXP Brain 电池的电压。
(电池电压伏特值)
电池电压块报告的范围是 6 伏到 9 伏。
在这个例子中,Brain 将在 Brain 的屏幕上打印其当前电池电压。
当开始 :: hat events
在 (电池电压伏特值) 上打印 [Brain v] ◀ 并设定光标为下一行
电池电流#
电池电流块用于报告 EXP Brain 电池的电流。
(电池电流安培值)
电池电流块报告的范围从 0.0 安培到 15.0 安培。
在这个例子中,Brain 将在 Brain 的屏幕上打印其当前电池电流。
当开始 :: hat events
在 (电池电流安培值) 上打印 [Brain v] ◀ 并设定光标为下一行
电池容量#
电池容量块用于报告 EXP Brain 电池的充电水平。
(电池电量百分比)
电池容量块报告的范围从 0% 到 100%。
在这个例子中,大脑将在大脑的屏幕上打印其当前电池电量。
当开始 :: hat events
在 (电池电量百分比) 上打印 [Brain v] ◀ 并设定光标为下一行
控制器感应#
控制器按下#
控制器按下块用于报告 EXP 控制器上的按钮是否被按下。
<[Controller 1 v] [Up v] 按下?>
当按下选定的控制器按钮时,Controller Pressed 块会报告“True”。
当未按下所选控制器按钮时,Controller Pressed 块将报告“False”。
选择要使用的控制器按钮。
在这个例子中,第一次按下控制器上的 A 按钮时,Brain 会在其屏幕上打印一条消息。
当开始 :: hat events
[Don't do anything until the X button is pressed.]
等到 <[Controller 1 v] [X v] 按下?>
在 [The X button was pressed.] 上打印 [Brain v] ◀ 并设定光标为下一行
控制员职位#
控制器位置块用于报告 EXP 控制器上操纵杆沿轴的位置。
(Controller [1 v] 位移)
控制器的位置块报告的范围从 -100 到 100。
当操纵杆轴位于中心时,控制器的位置块报告 0。
选择操纵杆的轴。
在这个例子中,Brain 将打印 EXP 控制器操纵杆的第 3 轴。
当开始 :: hat events
在 (Controller [3 v] 位移) 上打印 [Brain v] ◀ 并设定光标为下一行
控制器启用/禁用#
控制器启用/禁用块用于从设备菜单启用或禁用控制器配置的操作。
控制器 [Disable v]
选择启用或禁用已配置的控制器操作。默认情况下,每个项目中的控制器均处于启用状态。
在此示例中,控制器将在项目开始时被禁用,并在传动系统向前移动 6 英寸后重新启用。
当开始 :: hat events
控制器 [Disable v]
驱动 [向前 v] (6) [英寸 v] ▶
控制器 [Enable v]
电机传感#
电机完成了吗?#
**电机是否完成?**块用于报告所选的 EXP 智能电机或电机组是否已完成其运动。
<[ClawMotor v] 已结束?>
当选定的电机或电机组完成其运动时,**电机完成了吗?**块会报告“True”。
当选定的电机或电机组仍在运动时,**电机是否完成?**块会报告“False”。
选择要使用的电机或电机组。
电机在旋转吗?#
**电机正在旋转?**块用于报告所选的 EXP 智能电机或电机组当前是否正在移动。
<[ClawMotor v] 正在转?>
当选定的电机或电机组正在移动时,**电机正在旋转?**块会报告“True”。
当选定的电机或电机组没有移动时,**电机是否旋转?**块会报告“False”。
选择要使用的电机或电机组。
电机位置#
电机位置块用于报告 EXP 智能电机或电机组的第一个电机行驶的距离。
([Motor 3 v] 转位 [度 v] :: custom-sensing)
选择要使用的电机或电机组。
选择报告的单位,度或转。
在这个例子中,电机将向前旋转 1 秒,然后其当前位置才会打印在大脑的屏幕上。
当开始 :: hat events
[Spin Motor3 forward for 1 second.]
[Motor 3 v] [向前 v] 转
等待 (1) 秒
[Print Motor3's current position after 1 second.]
在 ([Motor 3 v] 转位 [度 v] :: custom-sensing) 上打印 [Brain v] ◀ 并设定光标为下一行
电机转速#
电机速度块用于报告 EXP 智能电机或电机组第一个电机的当前速度。
([Motor 3 v] 速度 [% v] 值)
电机速度块报告的范围从 -100% 到 100% 或 -600rpm 到 600rpm。
选择要使用的电机或电机组。
选择报告的单位,百分比(%)或rpm。
在这个例子中,电机将向前旋转 1 秒,然后其当前速度才会打印在大脑的屏幕上。
当开始 :: hat events
[Spin Motor3 forward for 1 second.]
[Motor 3 v] [向前 v] 转
等待 (1) 秒
[Print Motor3's current velocity after 1 second.]
在 ([Motor 3 v] 速度 [% v] 值) 上打印 [Brain v] ◀ 并设定光标为下一行
电机电流#
电机电流块用于报告 EXP 智能电机或电机组所吸收的电流量(以安培 (amps) 为单位)。
([Motor 3 v] 电流安培值)
选择要使用的电机或电机组。
在这个例子中,电机将向前旋转 1 秒,然后其电流才会打印在大脑的屏幕上。
当开始 :: hat events
[Spin Motor3 forward for 1 second.]
[Motor 3 v] [向前 v] 转
等待 (1) 秒
[Print Motor3's current after 1 second.]
在 ([Motor 3 v] 电流安培值) 上打印 [Brain v] ◀ 并设定光标为下一行
电机功率#
电机功率块用于报告 EXP 智能电机或电机组的第一个电机当前产生的功率输出量。
([Motor 3 v] 功率瓦特值)
选择要使用的电机或电机组。
在这个例子中,电机将向前旋转 1 秒,然后其当前功率才会打印在大脑的屏幕上。
当开始 :: hat events
[Spin Motor3 forward for 1 second.]
[Motor 3 v] [向前 v] 转
等待 (1) 秒
[Print Motor3's current power after 1 second.]
在 ([Motor 3 v] 功率瓦特值) 上打印 [Brain v] ◀ 并设定光标为下一行
电机扭矩#
电机扭矩块用于报告 EXP 智能电机或电机组的第一个电机当前使用的扭矩(旋转力)大小。
([Motor 3 v] 扭矩 [Nm v] 值)
电机扭矩块报告的范围是 0.0 到 18.6 英寸磅 (InLB) 或 0.0 到 2.1 牛顿米 (Nm)。
选择要使用的电机或电机组。
选择报告的单位,Nm 或 InLb。
在这个例子中,电机将向前旋转 1 秒,然后其当前扭矩才会打印在 Brain 的屏幕上。
当开始 :: hat events
[Spin Motor3 forward for 1 second.]
[Motor 3 v] [向前 v] 转
等待 (1) 秒
[Print Motor3's current torque after 1 second.]
在 ([Motor 3 v] 扭矩 [Nm v] 值) 上打印 [Brain v] ◀ 并设定光标为下一行
电机效率#
电机效率块用于报告 EXP 智能电机或电机组第一个电机的效率。
([Motor 3 v] 效率百分比)
电机效率块报告的范围从 0% 到 100%,由电机使用的功率值(以瓦特为单位)(输入)与电机提供的功率量(以瓦特为单位)(输出)决定。
EXP 智能电机或电机组在正常使用情况下通常可达到 65% 的最大效率。
选择要使用的电机或电机组。
在这个例子中,电机将向前旋转 1 秒,然后其当前效率才会打印在大脑的屏幕上。
当开始 :: hat events
[Spin Motor3 forward for 1 second.]
[Motor 3 v] [向前 v] 转
等待 (1) 秒
[Print Motor3's current efficiency after 1 second.]
在 ([Motor 3 v] 效率百分比) 上打印 [Brain v] ◀ 并设定光标为下一行
电机温度#
电机温度块用于报告 EXP 智能电机或电机组第一个电机的温度。
([Motor 3 v] 温度百分比)
电机温度块报告的范围从 0% 到 100%。
选择要使用的电机或电机组。
在这个例子中,电机将向前旋转 1 秒,然后其当前温度才会打印在大脑的屏幕上。
当开始 :: hat events
[Spin Motor3 forward for 1 second.]
[Motor 3 v] [向前 v] 转
等待 (1) 秒
[Print Motor3's current temperature after 1 second.]
在 ([Motor 3 v] 温度百分比) 上打印 [Brain v] ◀ 并设定光标为下一行
动力传动系统传感#
驾驶完成了吗?#
**驱动完成?**块用于报告传动系统是否已完成其运动。
<驱动已结束?>
当传动系统的电机完成运动时,**驱动完成?**块会报告“True”。
当 sDrivetrain 的电机仍在运转时,Drive is Done? 块会报告“False”。
驱动器正在移动?#
**驱动器正在移动?**块用于报告传动系统当前是否正在移动。
<驱动进行中?>
当传动系统的电机正在移动时,**驱动器正在移动?**块报告“True”。
当 sDrivetrain 的电机没有移动时,**驱动器正在移动?**块会报告“False”。
行驶方向#
Drive Heading 模块用于通过使用惯性传感器的当前角度位置来报告传动系统所面向的方向。
(底盘归位角度值)
Drive Heading 块报告的范围是从 0.0 到 359.99 度。
在这个例子中,传动系统将向右转 1 秒钟,然后其当前航向才会打印在 Brain 的屏幕上。
当开始 :: hat events
[Turn towards the right for 1 second.]
[右 v] 转
等待 (1) 秒
[Print Drivetrain's current heading after 1 second.]
在 (底盘归位角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
驱动旋转#
驱动旋转块用于报告传动系统的旋转角度。
(底盘转向角度值)
顺时针方向报告为正值,逆时针方向报告为负值。
在这个例子中,传动系统将向左转 1 秒,然后其当前旋转才会打印在 Brain 的屏幕上。
当开始 :: hat events
[Turn towards the left for 1 second.]
[左 v] 转
等待 (1) 秒
[Print Drivetrain's current rotation after 1 second.]
在 (底盘转向角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
驱动速度#
驱动速度块用于报告传动系统的当前速度。
(drive velocity in [% v])
驱动速度块报告的范围从 -100% 到 100% 或 -600rpm 到 600rpm。
选择报告的单位,百分比(%)或rpm。
在这个例子中,传动系统将向前行驶 1 秒,然后其当前速度才会打印在 Brain 的屏幕上。
当开始 :: hat events
[Drive forward for 1 second.]
驱动 [向前 v]
等待 (1) 秒
[Print Drivetrain's current velocity after 1 second.]
在 (drive velocity in [% v]) 上打印 [Brain v] ◀ 并设定光标为下一行
驱动电流#
驱动电流块用于报告传动系统当前使用的电流量(功率)。
(驱动电流安培值)
在这个例子中,传动系统将向前行驶 1 秒,然后其电流才会打印在大脑的屏幕上。
当开始 :: hat events
[Drive forward for 1 second.]
驱动 [向前 v]
等待 (1) 秒
[Print Drivetrain's current after 1 second.]
在 (驱动电流安培值) 上打印 [Brain v] ◀ 并设定光标为下一行
驱动功率#
驱动功率块用于报告传动系统当前产生的输出功率量。
(驱动功率瓦特值)
在这个例子中,传动系统将向前行驶 1 秒,然后其当前功率才会打印在 Brain 的屏幕上。
当开始 :: hat events
[Drive forward for 1 second.]
驱动 [向前 v]
等待 (1) 秒
[Print Drivetrain's current power after 1 second.]
在 (驱动功率瓦特值) 上打印 [Brain v] ◀ 并设定光标为下一行
驱动扭矩#
驱动扭矩块用于报告传动系统当前使用的扭矩(旋转力)的大小。
(驱动扭矩 [Nm v] 值)
驱动扭矩块报告的范围为 0.0 至 18.6 英寸磅 (InLB) 或 0.0 至 2.1 牛顿米 (Nm)。
选择报告的单位,Nm 或 InLb。
在这个例子中,传动系统将向前行驶 1 秒,然后其当前扭矩才会打印在 Brain 的屏幕上。
当开始 :: hat events
[Drive forward for 1 second.]
驱动 [向前 v]
等待 (1) 秒
[Print Drivetrain's current torque after 1 second.]
在 (驱动扭矩 [Nm v] 值) 上打印 [Brain v] ◀ 并设定光标为下一行
提高效率#
驱动效率块用于报告传动系统的效率。
(驱动效率百分比)
驱动效率块报告的范围从 0% 到 100%,由电机使用的功率值(以瓦特为单位)(输入)与电机提供的功率量(以瓦特为单位)(输出)决定。
在正常使用情况下,EXP 传动系统通常可达到 65% 的最大效率。
在这个例子中,传动系统将向前行驶 1 秒,然后其当前效率才会打印在大脑的屏幕上。
当开始 :: hat events
[Drive forward for 1 second.]
驱动 [向前 v]
等待 (1) 秒
[Print Drivetrain's current efficiency after 1 second.]
在 (驱动效率百分比) 上打印 [Brain v] ◀ 并设定光标为下一行
驱动器温度#
驱动温度块用于报告为传动系统供电的 EXP 智能电机的温度。
(驱动温度百分比)
驱动温度块报告的范围从 0% 到 100%。
在这个例子中,传动系统将向前行驶 1 秒,然后其当前温度才会打印在大脑的屏幕上。
当开始 :: hat events
[Drive forward for 1 second.]
驱动 [向前 v]
等待 (1) 秒
[Print Drivetrain's current temperature after 1 second.]
在 (驱动温度百分比) 上打印 [Brain v] ◀ 并设定光标为下一行
保险杠传感#
保险杠压合#
Bumper Pressed 块用于报告保险杠开关是否被按下。
<[BumperB v] 按下了?>
当按下选定的保险杠开关时,保险杠按下块会报告“True”。
当未按下选定的保险杠开关时,保险杠按下块将报告“False”。
选择要使用的保险杠开关。
在这个例子中,第一次按下保险杠开关时,大脑将在其屏幕上打印一条消息。
当开始 :: hat events
[Don't print the message until the Bumper Switch is pressed.]
等到 <[BumperB v] 按下了?>
在 [Bumper Switch was pressed.] 上打印 [Brain v] ◀ 并设定光标为下一行
限位传感#
已按下限位#
Limit Pressed 块用于报告限位开关是否被按下。
<[LimitSwitchA v] 按下了?>
当按下选定的限位开关时,Limit Pressed 块会报告“True”。
当未按下选定的限位开关时,Limit Pressed 块会报告“False”。
选择要使用的限位开关。
在这个例子中,第一次按下限位开关时,大脑会在其屏幕上打印一条消息。
当开始 :: hat events
[Don't print the message until the Limit Switch is pressed.]
等到 <[LimitSwitchA v] 按下了?>
在 [Limit Switch was pressed.] 上打印 [Brain v] ◀ 并设定光标为下一行
陀螺仪感应#
校准#
校准模块用于校准陀螺仪或惯性传感器,以减少漂移量。建议在项目开始时使用此模块。
陀螺仪或惯性传感器将根据校准期间 EXP Brain 的方向自动调整其值,以便它在所有可能的 EXP Brain 方向上保持一致。
大脑必须保持静止才能使校准过程成功,这大约需要 2 秒钟。
校准 [GyroH v]
选择要使用的陀螺仪/惯性传感器。
在这个例子中,大脑的惯性传感器将校准 2 秒,然后打印惯性传感器的当前方向。
当开始 :: hat events
校准 [BrainInertial v]
等待 (2) 秒
在 ([BrainInertial v] [横滚 v] 偏转角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
设置标题#
设置航向块用于将陀螺仪/惯性传感器的当前航向位置设置为设定值。
设定 [GyroA v] 归位为 (0) 度
设置航向块接受 0.0 到 359.99 度的范围。
选择要使用的陀螺仪/惯性传感器。
在这个例子中,Brain 的惯性传感器将打印其起始航向,将其航向设置为 90 度,然后打印新的航向。
当开始 :: hat events
在 ([BrainInertial v] 归位角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
设定 [BrainInertial v] 归位为 (90) 度
在 ([BrainInertial v] 归位角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
设置旋转#
设置旋转块用于将陀螺仪/惯性传感器的当前旋转位置设置为设定值。
设定 [Inertial 1 v] 转向为 (0) 度
设置旋转块接受任何正数或负数小数或整数。
选择要使用的陀螺仪/惯性传感器。
在这个例子中,Brain 的惯性传感器将打印其起始旋转,将其旋转设置为 -100 度,然后打印新的旋转。
当开始 :: hat events
在 ([BrainInertial v] 转向角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
设定 [BrainInertial v] 转向为 (-100) 度
在 ([BrainInertial v] 转向角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
航向角#
航向角块用于报告 3 线陀螺仪传感器或 EXP 惯性传感器的当前航向(以度为单位)。
([BrainInertial v] 归位角度值)
航向角块报告的范围是 0.0 到 359.99 度。
选择要使用的陀螺仪/惯性传感器。
在这个例子中,Brain 的惯性传感器将打印其起始航向,将其航向设置为 90 度,然后打印新的航向。
当开始 :: hat events
在 ([BrainInertial v] 归位角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
设定 [BrainInertial v] 转向为 (90) 度
在 ([BrainInertial v] 归位角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
旋转角度#
旋转角度块用于报告 3 线陀螺仪传感器或 EXP 惯性传感器的当前旋转角度(以度为单位)。
([BrainInertial v] 转向角度值)
顺时针方向报告为正值,逆时针方向报告为负值。
选择要使用的陀螺仪/惯性传感器。
在这个例子中,Brain 的惯性传感器将打印其起始旋转,将其旋转设置为 -100 度,然后打印新的航向。
当开始 :: hat events
在 ([BrainInertial v] 转向角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
设定 [BrainInertial v] 转向为 (-100) 度
在 ([BrainInertial v] 转向角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
惯性传感#
加速#
加速度块用于报告惯性传感器上某个轴(x、y 或 z)的加速度值。
([Inertial 20 v] [X v] 轴加速度值)
加速度块报告的范围是从 -4.0 到 4.0 Gs。
选择要使用的陀螺仪/惯性传感器。
选择要使用的轴:
x - 当惯性传感器从向前移动到向后时,X 轴报告加速度。
y - 当惯性传感器左右移动时,Y 轴报告加速度。
z - 当惯性传感器从上向下移动时,Z 轴报告加速度。
在这个例子中,传动系统将向前移动并在移动时打印其当前的 X 轴加速度。
当开始 :: hat events
[Drive forward for 1 second.]
驱动 [向前 v]
等待 (1) 秒
[Print the X-axis acceleration while the Drivetrain is moving.]
在 ([BrainInertial v] [X v] 轴加速度值) 上打印 [Brain v] ◀ 并设定光标为下一行
陀螺仪速率#
陀螺仪速率 模块用于报告惯性传感器上某个轴(x、y 或 z)的旋转速率。
([Inertial 20 v] [X v] 轴陀螺仪角速度)
陀螺仪速率块报告的范围是 -1000.0 到 1000.0 dps(度/秒)。
选择要使用的陀螺仪/惯性传感器。
选择要使用的轴:
x - 当惯性传感器在 X 轴上旋转时,X 轴报告旋转速率(基于传感器的方向)。
y - 当惯性传感器在 Y 轴上旋转时,Y 轴报告旋转速率(基于传感器的方向)。
z - 当惯性传感器在 Z 轴上旋转时,Z 轴报告旋转速率(基于传感器的方向)。
在这个例子中,传动系统将向右转动并在转动时打印其当前的 X 轴陀螺仪速率。
当开始 :: hat events
[Turn towards the right 1 second.]
[右 v] 转
等待 (1) 秒
[Print the X-axis gyro rate while the Drivetrain is turning.]
在 ([Inertial 20 v] [X v] 轴陀螺仪角速度) 上打印 [Brain v] ◀ 并设定光标为下一行
方向#
方向块用于报告惯性传感器的方向角。
([Inertial 20 v] [横滚 v] 偏转角度值)
选择要使用的陀螺仪/惯性传感器。
选择要使用的方向:
roll - Y 轴表示滚动,报告 -180 度到 +180 度之间的值。
pitch - X 轴代表俯仰,报告 -90 度到 +90 度之间的值。
偏航 - Z 轴表示偏航,报告的值在 -180 度到 +180 度之间。
在这个例子中,传动系统将向右转动并在转动时打印其当前的偏航。
当开始 :: hat events
[Turn towards the right for 1 second.]
[右 v] 转
等待 (1) 秒
[Print the roll while the Drivetrain is turning.]
在 ([BrainInertial v] [横滚 v] 偏转角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
编码器传感#
设置轴编码器位置#
设置轴编码器位置块用于将轴编码器的位置设置为给定值。
设定 [EncoderC v] 位置为 (0) 度
选择要使用的轴编码器。
在此示例中,轴编码器将打印其起始位置,将其位置设置为 90 度,然后打印新位置。
当开始 :: hat events
在 ([EncoderC v] 转位 [度 v] :: custom-sensing) 上打印 [Brain v] ◀ 并设定光标为下一行
设定 [EncoderC v] 位置为 (90) 度
在 ([EncoderC v] 转位 [度 v] :: custom-sensing) 上打印 [Brain v] ◀ 并设定光标为下一行
轴编码器位置#
轴编码器位置块用于报告轴编码器旋转的距离。
([EncoderC v] 转位 [度 v] :: custom-sensing)
选择要使用的轴编码器。
选择报告的单位:度或转。
在此示例中,轴编码器将打印其起始位置,将其位置设置为 90 度,然后打印新位置。
当开始 :: hat events
在 ([EncoderC v] 转位 [度 v] :: custom-sensing) 上打印 [Brain v] ◀ 并设定光标为下一行
设定 [EncoderC v] 位置为 (90) 度
在 ([EncoderC v] 转位 [度 v] :: custom-sensing) 上打印 [Brain v] ◀ 并设定光标为下一行
轴编码器速度#
轴编码器速度块用于报告轴编码器的当前速度。
([EncoderC v] 速度 [dps v] 值)
选择要使用的轴编码器。
选择报告的单位:每秒度数 \(dps\) 或 每分钟转数 (rpm)。
距离感应#
物距#
物体距离块用于报告距离传感器最近物体的距离。
([Distance 10 v] 对象距离 [毫米 v])
物体距离块报告的范围从 20 毫米到 2000 毫米。
选择要使用的距离传感器。
选择报告的单位:毫米 (mm) 或 英寸。
在这个例子中,距离传感器将报告它与最近物体之间的当前距离。
当开始 :: hat events
在 ([Distance 10 v] 对象距离 [毫米 v]) 上打印 [Brain v] ◀ 并设定光标为下一行
物体速度#
物体速度块用于报告物体的当前速度,以米/秒(m/s)为单位。
([Distance 10 v] 对象速度m/s)
选择要使用的距离传感器。
在此示例中,距离传感器将报告其前方移动物体的当前速度。
当开始 :: hat events
在 ([Distance 10 v] 对象速度m/s) 上打印 [Brain v] ◀ 并设定光标为下一行
对象大小是#
物体尺寸块用于报告距离传感器是否检测到指定的物体尺寸。
<[Distance 10 v] 对象尺寸 [小 v]?>
距离传感器根据反射并返回到传感器的光量来确定检测到的物体的大小(无、小、中、大)。
当距离传感器检测到指定尺寸时,物体尺寸是块报告“True”。
当距离传感器未检测到指定尺寸时,物体尺寸块会报告“False”。
选择要使用的距离传感器。
选择您希望物体传感器检查的物体的尺寸。
小的
中等的
大的
在这个例子中,如果距离传感器检测到一个小物体,它就会向前行驶,直到物体变大。
当开始 :: hat events
[Check if the Distance Sensor sees a small object .]
如果 <[Distance 10 v] 对象尺寸 [小 v]?> 那么
[If a small object is detected, drive forward.]
驱动 [向前 v]
[Wait until the small detected object is large.]
等到 <[Distance 10 v] 对象尺寸 [大 v]?>
[When the object size is large, stop driving.]
驱动停止
结束
距离传感器发现物体#
距离传感器发现物体块用于报告距离传感器是否在其视野范围内看到物体。
<[Distance 10 v] 发现对象?>
当距离传感器在其视野范围内看到物体或表面时,距离传感器发现物体块会报告“True”。
当距离传感器未检测到物体或表面时,距离传感器发现物体块会报告“False”。
选择要使用的距离传感器。
在这个例子中,当距离传感器检测到一个物体时,它会向大脑打印一条消息。
当开始 :: hat events
[Don't print the message until the Distance Sensor finds an object.]
等到 <[Distance 10 v] 发现对象?>
在 [Distance Sensor has detected an object.] 上打印 [Brain v] ◀ 并设定光标为下一行
光学传感#
设置光学模式#
设置光学模式块用于设置光学传感器以检测颜色或手势。
将 [Optical 7 v] 设置为 [颜色 v] 模式
默认情况下,光学传感器设置为始终检测颜色。在使用任何光学传感器手势模块之前,必须先将光学传感器设置为检测手势。
选择要使用的光学传感器。
选择是否要将光学传感器的模式设置为检测颜色或手势。
在此示例中,光学传感器设置为检测手势,然后等待检测到左手势才打印消息。
当开始 :: hat events
[Set Optical sensor to detect gestures.]
将 [Optical 7 v] 设置为 [手势 v] 模式
[Don't print the message until a left gesture is detected.]
等到 <[Optical 7 v] 检测到 [左 v] 手势?>
在 [Left gesture detected.] 上打印 [Brain v] ◀ 并设定光标为下一行
设置光学灯#
设置光学光源 模块用于设置光学传感器上的光源为开启或关闭状态。当光学传感器在黑暗环境中观察物体时,光源可以让传感器看到物体。
设定 [Optical 7 v] 灯 [on v]
选择要使用的光学传感器。
选择打开或关闭灯。
在此示例中,光学传感器将打开灯两秒钟,然后再关闭。
当开始 :: hat events
设定 [Optical 7 v] 灯 [on v]
等待 (2) 秒
设定 [Optical 7 v] 灯 [灭 v]
设置光功率#
设置光功率模块用于设置光学传感器的光功率
set [Optical7 v] light power to (50)%
设置光功率 模块接受 0% 到 100% 之间的值。这将改变光学传感器上的灯光亮度。如果灯光关闭,该模块将打开灯光。
选择要使用的光学传感器。
在此示例中,光学传感器的电源灯设置为 75%,然后等待检测到物体以打印消息。
当开始 :: hat events
[Set the Optical Sensor's light power to 75%]
set [Optical7 v] light power to (75)%
[Don't print the message until an object is detected.]
等到 <[Optical 7 v] 发现对象?>
在 [Object detected.] 上打印 [Brain v] ◀ 并设定光标为下一行
光学传感器发现物体#
光学传感器发现物体块用于报告光学传感器是否检测到靠近它的物体。
<[Optical 7 v] 发现对象?>
当光学传感器检测到靠近它的物体时,光学传感器发现物体块会报告“True”。
当物体不在光学传感器的范围内时,光学传感器发现物体块会报告“False”。
选择要使用的光学传感器。
在此示例中,光学传感器的电源灯设置为 75%,然后等待检测到物体以打印消息。
当开始 :: hat events
[Set the Optical Sensor's light power to 75%.]
set [Optical7 v] light power to (75)%
[Don't print the message until an object is detected.]
等到 <[Optical 7 v] 发现对象?>
在 [Object detected.] 上打印 [Brain v] ◀ 并设定光标为下一行
光学传感器检测颜色#
光学传感器检测颜色块用于报告光学传感器是否检测到指定的颜色。
<[Optical 7 v] 测得 [红色 v]?>
当光学传感器检测到指定颜色时,光学传感器检测颜色块报告“真”。
当光学传感器未检测到指定颜色时,光学传感器检测颜色块会报告“False”。
选择要使用的光学传感器。
选择光学传感器将检查的颜色。
在此示例中,光学传感器将等到检测到蓝色物体后才打印消息。
当开始 :: hat events
[Don't print the message until the color blue is detected.]
等到 <[Optical 7 v] 测得 [蓝色 v]?>
在 [Color blue detected.] 上打印 [Brain v] ◀ 并设定光标为下一行
光学亮度#
光学亮度块用于报告光学传感器检测到的光量。
([Optical 7 v] 亮度百分比)
光学亮度块报告从 0% 到 100% 的数值。
检测到的大量光将报告高亮度值。
检测到少量光时将报告较低的亮度值。
选择要使用的光学传感器。
在这个例子中,光学传感器将把当前亮度值打印到大脑的屏幕上。
当开始 :: hat events
在 ([Optical 7 v] 亮度百分比) 上打印 [Brain v] ◀ 并设定光标为下一行
光学色调#
光学色调块用于报告物体颜色的色调。
([Optical 7 v] 色调度数)
光学色调 模块返回一个数值,该数值表示物体颜色的色调。它返回一个介于 0 到 359 之间的数字。
该值可以被认为是颜色在色轮上的位置(以度为单位)。
选择要使用的光学传感器。
在这个例子中,光学传感器将把当前看到的色调打印到大脑的屏幕上。
当开始 :: hat events
在 ([Optical 7 v] 色调度数) 上打印 [Brain v] ◀ 并设定光标为下一行
光学传感器检测手势#
光学传感器检测手势块用于报告光学传感器是否检测到指定的手势。
<[Optical 7 v] 检测到 [向上 v] 手势?>
重要:必须首先使用设置光学模式块将光学传感器设置为检测手势,否则它将无法检测任何手势。
当光学传感器检测到指定的手势时,光学传感器检测手势块会报告“True”。
当光学传感器未检测到指定的手势时,光学传感器检测手势块会报告“False”。
选择要使用的光学传感器。
选择光学传感器将检查的手势。
在此示例中,光学传感器设置为检测手势,然后等待检测到左手势才打印消息。
当开始 :: hat events
[Set Optical Sensor to detect gestures.]
将 [Optical 7 v] 设置为 [手势 v] 模式
[Don't print the message until a left gesture is detected.]
等到 <[Optical 7 v] 检测到 [左 v] 手势?>
在 [Left gesture detected.] 上打印 [Brain v] ◀ 并设定光标为下一行
旋转感应#
设置旋转传感器位置#
设置旋转传感器位置块用于将旋转传感器的当前位置设置为定义值。
设定 [Rotation 9 v] 位置为 (0) 度
设置旋转传感器位置块接受任何正或负的十进制数或整数。
选择要使用的旋转传感器。
在此示例中,旋转传感器将打印其起始位置,将其位置设置为 -100 度,然后打印新位置。
当开始 :: hat events
在 ([Rotation 9 v] 转位 [度 v] :: custom-sensing) 上打印 [Brain v] ◀ 并设定光标为下一行
设定 [Rotation 9 v] 位置为 (-100) 度
在 ([rotation9 v] 转位 [度 v] :: custom-sensing) 上打印 [Brain v] ◀ 并设定光标为下一行
旋转传感器角度#
旋转传感器角度块用于报告旋转传感器当前的旋转角度(以度为单位)。
([Rotation 9 v] 角度值)
旋转传感器角度块报告的值范围为 0.00 到 359.99。
选择要使用的旋转传感器。
在此示例中,旋转传感器将打印其起始旋转。
当开始 :: hat events
在 ([Rotation 9 v] 角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
旋转传感器位置#
旋转传感器位置块用于报告所选旋转传感器的当前旋转位置。
([Rotation 9 v] 转位 [度 v] :: custom-sensing)
选择要使用的旋转传感器。
选择报告位置的单位:度或圈。
在此示例中,旋转传感器将打印其起始位置,将其位置设置为 -100 度,然后打印新位置。
当开始 :: hat events
在 ([Rotation 9 v] 转位 [度 v] :: custom-sensing) 上打印 [Brain v] ◀ 并设定光标为下一行
设定 [Rotation 9 v] 位置为 (-100) 度
在 ([Rotation 9 v] 转位 [度 v] :: custom-sensing) 上打印 [Brain v] ◀ 并设定光标为下一行
旋转传感器速度#
旋转传感器速度块用于报告旋转传感器的当前速度。
([Rotation 9 v] 速度 [rpm v] 值)
选择要使用的旋转传感器。
选择报告位置的单位:每分钟转数 (rpm) 或 每秒度数 \(dps\)。
在这个例子中,传动系统将向右转动 1 秒,然后其当前转速才会打印在 Brain 的屏幕上。
当开始 :: hat events
[Turn towards the right for 1 second.]
[右 v] 转
等待 (1) 秒
[Print the correct rotational velocity after 1 second.]
在 ([Rotation 9 v] 速度 [rpm v] 值) 上打印 [Brain v] ◀ 并设定光标为下一行
视觉传感#
拍摄视觉传感器快照#
拍摄视觉传感器快照 模块会过滤来自视觉传感器帧的数据。视觉传感器可以检测包含已配置颜色和颜色代码的签名。
必须先在 Vision Utility 中配置颜色和颜色代码,然后才能将其与该块一起使用。
该数据集按宽度从大到小排序存储对象,从项目 1 开始。可以使用 Vision object property 块访问每个对象的属性。如果未检测到匹配的对象,则返回空数据集。
[Vision 1 v] 拍照 [SELECT_A_SIG v]
范围 |
描述 |
---|---|
想象 |
要使用的视觉传感器,在设备窗口中配置。 |
签名 |
快照中要分析的颜色特征或颜色代码。 |
例子
当开始 :: hat events
[Move forward if a red box is detected.]
永久循环
[Vision 1 v] 拍照 [RED_BOX v]
如果 <[Vision 1 v] 对象存在?> 那么
驱动 [向前 v] [10] [毫米 v] ▶
设置视觉传感器对象项#
设置视觉传感器对象项块设置要使用数据集中的哪个项。
设定 [Vision 1 v] 对象标号为 (1)
范围 |
描述 |
---|---|
想象 |
要使用的视觉传感器,在设备窗口中配置。 |
物品 |
数据集中要使用的项目数量。 |
例子
当开始 :: hat events
[Display the largest detected red object.]
永久循环
[Vision 1 v] 拍照 [RED_BOX v]
清除 [Brain v] 所有行
在 [1] 设定光标至 [1] 行 [Brain v] 列
如果 <[Vision 1 v] 对象存在?> 那么
设定 [Vision 1 v] 对象标号为 (1)
在 ([Vision 1 v] 对象 [宽 v]) ▶上打印 [Brain v]
结束
等待 [0.5] 秒
视觉传感器物体计数#
视觉传感器对象计数块以整数形式返回数据集中检测到的对象的数量。
([Vision 1 v] 对象数目)
范围 |
描述 |
---|---|
想象 |
要使用的视觉传感器,在设备窗口中配置。 |
例子
当开始 :: hat events
[Display the amount of red objects.]
永久循环
清除 [Brain v] 所有行
在 [1] 设定光标至 [1] 行 [Brain v] 列
[Vision 1 v] 拍照 [RED_BOX v]
如果 <[Vision 1 v] 对象存在?> 那么
在 ([Vision 1 v] 对象数目) ▶上打印 [Brain v]
结束
等待 [0.5] 秒
视觉传感器对象存在吗?#
**视觉传感器对象是否存在?**块返回一个布尔值,指示是否在数据集中检测到任何对象。
真 – 数据集包含检测到的对象。
错误 – 数据集不包含任何检测到的对象。
<[Vision 1 v] 对象存在?>
范围 |
描述 |
---|---|
想象 |
要使用的视觉传感器,在设备窗口中配置。 |
例子
当开始 :: hat events
[Move forward if a red box is detected.]
永久循环
[Vision 1 v] 拍照 [RED_BOX v]
如果 <[Vision 1 v] 对象存在?> 那么
驱动 [向前 v] [10] [毫米 v] ▶
视觉传感器对象属性#
使用 拍摄视觉传感器快照 块 后存储的每个对象(如下所示)包含五个属性。
([Vision 1 v] 对象 [宽 v])
某些属性值基于使用 拍摄视觉传感器快照 块 时检测到的物体在视觉传感器视图中的位置。视觉传感器的分辨率为 316 x 212 像素。
范围 |
描述 |
---|---|
想象 |
要使用的视觉传感器,在设备窗口中配置。 |
财产 |
使用检测到的对象的哪个属性: |
宽度#
width 以像素为单位返回检测到的对象的宽度,范围是 0 到 316 之间的整数。
([Vision 1 v] 对象 [宽 v])
例子
当开始 :: hat events
[Move towards a red object until its width is larger than 100 pixels.]
永久循环
[Vision 1 v] 拍照 [RED_BOX v]
如果 <[Vision 1 v] 对象存在?> 那么
如果 <([Vision 1 v] 对象 [宽 v]) [math_less_than v] [100]> 那么
驱动 [向前 v]
结束
否则
驱动停止
高度#
高度以像素为单位返回检测到的物体的高度,范围是 0 到 212 之间的整数。
([Vision 1 v] 对象 [高 v])
例子
当开始 :: hat events
[Move towards a red object until its height is larger than 100 pixels.]
永久循环
[Vision 1 v] 拍照 [RED_BOX v]
如果 <[Vision 1 v] 对象存在?> 那么
如果 <([Vision 1 v] 对象 [高 v]) [math_less_than v] [100]> 那么
驱动 [向前 v]
结束
否则
驱动停止
中心X#
centerX 以像素为单位返回检测到的物体中心的 x 坐标,为 0 到 316 之间的整数。
([Vision 1 v] 对象 [中心X坐标 v])
例子
当开始 :: hat events
[Turn slowly until a red object is centered in front of the Vision Sensor.]
设定转向速度为 [30] [% v]
[右 v] 转
永久循环
[Vision 1 v] 拍照 [RED_BOX v]
如果 <[Vision 1 v] 对象存在?> 那么
如果 <<[140] [math_less_than v] ([Vision 1 v] 对象 [中心X坐标 v])> 与 <([Vision 1 v] 对象 [中心X坐标 v]) [math_less_than v] [180]>> 那么
驱动停止
中心Y#
centerY 以像素为单位返回检测到的物体中心的 y 坐标,为 0 到 212 之间的整数。
([Vision 1 v] 对象 [中心Y坐标 v])
例子
当开始 :: hat events
[Move towards a red object until its center y-coordinate is more than 140 pixels.]
永久循环
[Vision 1 v] 拍照 [RED_BOX v]
如果 <[Vision 1 v] 对象存在?> 那么
如果 <([Vision 1 v] 对象 [中心Y坐标 v]) [math_less_than v] [140]> 那么
驱动 [向前 v]
结束
否则
驱动停止
角度#
角度以 0 至 180 度之间的整数形式返回检测到的颜色代码的方向。
([Vision 1 v] 对象 [夹角 v])
例子
当开始 :: hat events
[Turn left or right depending on how the Color Code is rotated.]
永久循环
[Vision 1 v] 拍照 [BOX_CODE v]
如果 <[Vision 1 v] 对象存在?> 那么
如果 <<[70] [math_less_than v] ([Vision 1 v] 对象 [夹角 v])> 与 <([Vision 1 v] 对象 [夹角 v]) [math_less_than v] [110]>> 那么
[右 v] 转 (45) 度 ▶
否则如果 <<[250] [math_less_than v] ([Vision 1 v] 对象 [夹角 v])> 与 <([Vision 1 v] 对象 [夹角 v]) [math_less_than v] [290]>> 那么
[左 v] 转 (45) 度 ▶
否则
驱动停止
结束
AI视觉传感#
AI 视觉传感器可以检测并追踪物体、颜色和 AprilTag。这使得机器人能够分析周围环境、跟踪物体,并根据检测到的视觉数据做出反应。
行动#
拍摄快照#
拍摄快照 模块会过滤来自 AI 视觉传感器帧的数据。AI 视觉传感器可以检测包含预训练对象、AprilTag 或已配置颜色和颜色代码的签名。
必须先在 AI Vision Utility 中配置颜色和颜色代码,然后才能将其与此块一起使用。
该数据集存储的对象按宽度从大到小排序,从索引 0 开始。可以使用 AI Vision 对象属性 块访问每个对象的属性。如果未检测到匹配的对象,则返回空数据集。
[AIVision 1 v] 拍照 [SELECT_A_SIG v]
范围 |
描述 |
---|---|
签名 |
过滤数据集以仅包含指定签名的数据。可用的签名包括:
|
**注意:**要显示 AprilTag 或 AI 分类选项,必须在 AI Vision 实用程序中启用它们的检测。
例子
示例即将推出!
颜色代码#
颜色代码是由 2 到 4 个按特定顺序排列的颜色特征组成的结构化模式。这些代码使 AI 视觉传感器能够识别预定义的颜色模式。
颜色代码对于识别复杂物体、与游戏元素对齐或为自主导航创建独特标记非常有用。一次最多可配置 8 个颜色代码。
AI Vision Utility 界面显示一个已连接的视觉传感器正在检测两个相邻的物体,左侧为蓝色框,右侧为红色框,它们被组合成一个标记为 BlueRed 的白色边界框。检测信息包括角度 (A:11°)、坐标 (X:143, Y:103)、宽度 (W:233) 和高度 (H:108)。右侧面板列出了三个颜色特征:Red_Box、Blue_Box 和 BlueRed,并可调整色调和饱和度范围。BlueRed 特征结合了 Blue_Box 和 Red_Box。视频源下方是标有“冻结视频”、“复制图像”、“保存图像”和“关闭”的按钮。](/_static/img/AiVision/color_code.png)
例子
示例即将推出!
设置#
设置 AI Vision 对象项#
设置 AI Vision 对象项 块设置要使用数据集中的哪个项。
设定 [AIVision 1 v] 对象标号为 (1)
参数 |
描述 |
---|---|
物品 |
数据集中要使用的项目数量。 |
例子
示例即将推出!
价值观#
AI Vision 对象存在吗?#
AI Vision 对象存在 块返回一个布尔值,指示是否在数据集中检测到任何对象。
真 – 数据集包含检测到的对象。
错误 – 数据集不包含任何检测到的对象。
<[AIVision 1 v] 对象存在?>
参数 |
描述 |
---|---|
该块没有参数。 |
例子
示例即将推出!
AI视觉的对象是什么?#
AI Vision 对象是? 块返回一个布尔值,指示检测到的对象是否与特定分类匹配。
真 – 数据集中的项目是特定对象。
错误 – 数据集中的项目不是特定对象。
<[AIVision1 v] object is [BlueBall v]?>
范围 |
描述 |
---|---|
目的 |
将该项目与哪个 AI 分类 进行比较。 |
例子
示例即将推出!
AI Vision 对象是 AprilTag ID?#
AI Vision 对象是 AprilTag ID? 块返回一个布尔值,指示检测到的 AprilTag 是否与特定 ID 匹配。
正确 – AprilTag ID 是数字。
错误 – AprilTag ID 不是数字。
<[AIVision 1 v] 对象是 AprilTag [1] 吗?>
参数 |
描述 |
---|---|
四月标签号码 |
与检测到的 AprilTag 的 ID 号进行比较的数字。 |
例子:
示例即将推出!
AI 视觉对象计数#
AI Vision 对象计数 块以整数形式返回数据集中检测到的对象的数量。
([AIVision 1 v] 对象数目)
参数 |
描述 |
---|---|
该块没有参数。 |
例子
示例即将推出!
AI Vision 对象属性#
使用 take snapping block 后存储的每个对象(如下所示)包含九个属性。
([AIVision 1 v] 对象 [宽 v])
某些属性值基于使用 拍摄快照 块 时检测到的物体在 AI 视觉传感器视图中的位置。AI 视觉传感器的分辨率为 320 x 240 像素。
范围 |
描述 |
---|---|
财产 |
使用检测到的对象哪个属性: |
宽度#
width 以像素为单位返回检测到的对象的宽度,范围是 1 到 320 之间的整数。
([AIVision 1 v] 对象 [宽 v])
例子
示例即将推出!
高度#
高度以像素为单位返回检测到的物体的高度,范围是 1 到 240 之间的整数。
([AIVision 1 v] 对象 [高 v])
例子
示例即将推出!
中心X#
centerX 以像素为单位返回检测到的物体中心的 x 坐标,为 0 到 320 之间的整数。
([AIVision 1 v] 对象 [中心X坐标 v])
例子
示例即将推出!
中心Y#
centerY 以像素为单位返回检测到的物体中心的 y 坐标,为 0 到 240 之间的整数。
([AIVision 1 v] 对象 [中心Y坐标 v])
例子
示例即将推出!
角度#
angle 以 0 至 359 度之间的整数形式返回检测到的颜色代码或 AprilTag 的方向。
([AIVision 1 v] 对象 [夹角 v])
例子
示例即将推出!
原点X#
originX 以像素为单位返回检测到的对象边界框左上角的 x 坐标,为 0 到 320 之间的整数。
([AIVision 1 v] 对象 [原点X v])
例子
示例即将推出!
原点Y#
originY 以像素为单位返回检测到的对象边界框左上角的 y 坐标,为 0 到 240 之间的整数。
([AIVision 1 v] 对象 [原点Y v])
例子
示例即将推出!
标签ID#
tagID 以整数形式返回检测到的 AprilTag 的识别号。
([AIVision 1 v] 对象 [tagID v])
例子
示例即将推出!
分数#
分数返回模型对检测到的 AI 分类的信心程度,以 70% 到 100% 的百分比表示。
([AIVision 1 v] 对象 [score v])
例子
示例即将推出!
手臂感应#
六轴机械臂能否移动到位#
6 轴机械臂能否移动到指定位置 块用于报告 6 轴机械臂是否能够到达指定位置。
<[arm v] move to position x:(0) y:(0) z:(0) [mm v]?>
当 6 轴臂可以到达该位置时,6 轴臂可以移动到该位置吗 块报告“True”。
当 6 轴臂无法到达该位置时,6 轴臂能否移动到该位置 块会报告“False”。
选择要使用的 6 轴臂。
选择使用的单位:毫米 (mm) 或 英寸。
在这个例子中,6轴臂将检查它是否可以移动到(0,0,0)并打印它无法到达该位置。
当开始 :: hat events
如果 <非 <[arm v] move to position x:(0) y:(0) z:(0) [mm v]?>> 那么
打印 [The Arm can't incremental move for this distance.] ▶
结束
6轴机械臂能否增量移动到位#
6 轴臂能否增量移动到位置 块用于报告 6 轴机械臂是否能够增量移动该距离。
当开始 :: hat events
<[Arm2 v] increment position by x:(0) y:(500) z:(0) [mm v]?>
结束
当 6 轴臂可以增量移动到该距离时,6 轴臂可以增量移动到位置 块报告“True”。
当 6 轴臂无法增量移动到该距离时,6 轴臂能否增量移动到位置 块会报告“False”。
选择要使用的 6 轴臂。
选择使用的单位:毫米 (mm) 或 英寸。
在此示例中,6 轴臂将检查它是否可以在 Y 轴上增量移动 500 毫米,并打印它不能移动该距离。
当开始 :: hat events
如果 <非 <[Arm2 v] increment position by x:(0) y:(500) z:(0) [mm v]?>> 那么
打印 [The Arm can't incremental move for this distance.] ▶
结束
六轴机械臂末端执行器能否移动到方向#
6 轴臂末端执行器是否可以移动到方向 块用于报告 6 轴臂末端执行器是否可以绕轴旋转到特定方向。
<[手臂 v] 末端执行器移动到 [俯仰 v] (0) 度?>
当 6 轴臂可以绕轴旋转到特定方向时,6 轴臂末端执行器能否移动到方向 块报告“True”。
当 6 轴臂无法绕轴旋转到特定方向时,6 轴臂末端执行器能否移动到方向 块会报告“False”。
选择要使用的 6 轴臂。
选择要使用的轴:
pitch - 围绕 Y 轴的运动。
滚动——围绕 X 轴移动。
偏航 - 围绕 Z 轴运动。
在这个例子中,6 轴臂将检查末端执行器是否可以指向 X 轴上的 40 度位置,并打印是否可以。
当开始 :: hat events
如果 <[手臂 v] 末端执行器移动到 [横滚 v] (40) 度?> 那么
打印 [The End Effector can move to this orientation] ▶
否则
打印 [The End Effector can not move to this orientation] ▶
结束
六轴机械臂末端执行器能否逐步移动到指定方向#
6 轴臂末端执行器能否逐步移动到方向 块用于报告 6 轴臂末端执行器是否可以绕轴逐步旋转其方向特定度数。
<[手臂 v] [俯仰 v]偏转递增 [0] 度?>
当 6 轴臂可以绕轴以特定度数增量旋转时,6 轴臂末端执行器能否增量移动到方向 块报告“True”。
当 6 轴臂无法绕轴以特定度数增量旋转时,6 轴臂末端执行器能否增量移动到方向 块会报告“False”。
选择要使用的 6 轴臂。
选择要使用的轴:
pitch - 围绕 Y 轴旋转。
roll——绕 X 轴旋转。
偏航——绕 Z 轴旋转。
在此示例中,6 轴臂将检查末端执行器是否可以在 Z 轴上增量移动 20 度,并打印是否可以。
当开始 :: hat events
如果 <[手臂 v] [偏转 v]偏转递增 [20] 度?> 那么
打印 [The End Effector can increment move for this distance.] ▶
否则
打印 [The End Effector can not increment move for this distance.] ▶
结束
6 轴臂完成了吗?#
6 轴臂完成了吗? 块用于报告 6 轴臂是否已完成移动。
<[手臂 v] 已结束?>
当 6 轴臂没有移动时,6 轴臂完成了吗? 块报告“True”。
当 6 轴臂移动时,6 轴臂完成了吗? 块报告“False”。
选择要使用的 6 轴臂。
在这个例子中,Arm 将移动到位置 (-100, 200, 100),并在移动过程中每 0.25 秒打印一次其 Y 坐标(以毫米为单位),直到移动完成。
当开始 :: hat events
[Move to (-100, 200, 100) and let subsequent blocks trigger.]
move [Arm1 v] to position x:[-100] y:[200] z:[100] [mm v] ◀ and don't wait
[Repeat the blocks until the Arm has finished moving.]
重复直到 <[Arm 1 v] 已结束?>
[Print the Arm's current Y position in mm on the Brain every .25 seconds.]
在 ([Arm 1 v] [y v] 位置 [毫米 v]) 上打印 [Brain v] ◀ 并设定光标为下一行
等待 (0.25) 秒
结束
6轴臂位置#
6 轴臂位置 块用于报告 6 轴臂在指定轴的当前位置。
([手臂 v] [X v] 位置 [毫米 v])
选择要使用的 6 轴臂。
选择要报告的轴。
选择报告的单位:毫米 (mm) 或 英寸。
在此示例中,6 轴臂将以毫米为单位将其当前 Z 轴位置打印到打印控制台。
当开始 :: hat events
打印 ([手臂 v] [z v] 位置 [毫米 v]) ▶
6 轴机械臂末端执行器方向#
6 轴臂末端执行器方向 块用于报告 6 轴臂末端执行器的当前方向。
([手臂 v] [俯仰 v] 偏转角度值)
选择要使用的 6 轴臂。
选择要报告的轴:
pitch - 围绕 Y 轴旋转。
roll——绕 X 轴旋转。
偏航——绕 Z 轴旋转。
在此示例中,6 轴臂将以度数形式将末端执行器的当前 Y 轴方向打印到打印控制台。
当开始 :: hat events
打印 ([手臂 v] [俯仰 v] 偏转角度值) ▶
线路跟踪传感#
线路跟踪器反射率#
线跟踪器反射率块用于报告使用线跟踪器传感器反射的光量。
([LineTrackerG v] 反射率百分比)
选择要使用的线路跟踪器传感器。
在这个例子中,线跟踪传感器将把当前检测到的反射率打印到大脑的屏幕上。
当开始 :: hat events
在 ([LineTrackerG v] 反射率百分比) 上打印 [Brain v] ◀ 并设定光标为下一行
光感应#
光传感器亮度#
光传感器亮度块用于报告光传感器检测到的光量。
([Light v] 亮度百分比)
选择要使用的光传感器。
在这个例子中,光传感器将把当前检测到的亮度打印到大脑的屏幕上。
当开始 :: hat events
在 ([LightH v] 亮度百分比) 上打印 [Brain v] ◀ 并设定光标为下一行
电位器传感#
电位器角度#
电位器角度块用于报告电位器的角度位置。
([Potentiometer3A v] 角度 [% v])
选择要使用的电位器。
选择报告的单位:百分比(%)或度。
在这个例子中,电位器将把它当前的角度位置打印到大脑的屏幕上。
当开始 :: hat events
在 ([Potentiometer3A v] 角度 [度 v]) 上打印 [Brain v] ◀ 并设定光标为下一行
加速度计传感#
加速度计加速度#
加速度计加速度块用于报告模拟加速度计上一个轴的加速度值。
([Accel2G3G v] 加速度g值)
根据模拟加速度计上的跳线设置,加速度计加速度块报告的范围从 -2.0 G 到 2.0 G 或 -6.0 G 到 6.0 G。
选择要使用的加速度计。
在这个例子中,传动系统将向前行驶 1 秒,然后其当前加速度才会打印在 Brain 的屏幕上。
当开始 :: hat events
[Drive forward for 1 second.]
驱动 [向前 v]
等待 (1) 秒
[Print the current acceleration after 1 second.]
在 ([Accel2G3G v] 加速度g值) 上打印 [Brain v] ◀ 并设定光标为下一行
测距仪传感#
测距仪发现物体了吗?#
测距仪发现物体? 块用于报告超声波测距仪传感器是否在其视野范围内看到物体。
<[RangeFinderE v] 发现对象?>
当超声波测距仪传感器在其视野范围内看到物体或表面时,**测距仪找到物体?**块会报告“True”。
当超声波测距仪传感器未检测到物体或表面时,**测距仪找到物体?**块会报告“False”。
选择要使用的超声波测距仪传感器。
在这个例子中,每隔 0.25 秒,测距仪就会检查是否检测到物体,如果是,就会将物体与物体之间的距离打印到大脑的屏幕上。
当开始 :: hat events
永久循环
清除 [Brain v] 所有行
在Brain设定光标至 (1) 行 (1) 列
[Check if the Range Finder found an object.]
如果 <[RangeFinderE v] 发现对象?> 那么
[Print the distance to the object.]
在 ([RangeFinderE v] 距离 [毫米 v]) 上打印 [Brain v] ◀ 并设定光标为下一行
结束
[Repeat the process every .25 seconds.]
等待 (0.25) 秒
结束
测距仪距离#
测距仪距离块用于报告距离超声波测距仪传感器最近的物体的距离。
([RangeFinderE v] 距离 [毫米 v])
选择要使用的超声波测距仪传感器。
选择报告的单位:毫米 (mm) 或 英寸。
在这个例子中,每隔 0.25 秒,测距仪就会检查是否检测到物体,如果是,就会将物体与物体之间的距离打印到大脑的屏幕上。
当开始 :: hat events
永久循环
清除 [Brain v] 所有行
在Brain设定光标至 (1) 行 (1) 列
[Check if the Range Finder found an object.]
如果 <[RangeFinderE v] 发现对象?> 那么
[Print the distance to the object.]
在 ([RangeFinderE v] 距离 [毫米 v]) 上打印 [Brain v] ◀ 并设定光标为下一行
结束
[Repeat the process every .25 seconds.]
等待 (0.25) 秒
结束
数字传感#
数字输入#
数字输入块用于报告数字输入信号是否高。
[DigitalInA v] 信号高位?
3 线端口在 5V 逻辑信号电压电平下运行。
当数字输入信号高时,Digital In 块报告“True”。
当数字输入信号较低时,Digital In 块会报告“False”。
选择要使用的数字输入设备。
数字输出传感#
数字输出#
数字输出块用于设置数字输出 3 线端口的逻辑电平。
设定 [DigitalInA v] [低 v] :: custom-sensing
3 线端口在 5V 逻辑信号电压电平下运行。
选择要使用的数字输出端口。
选择输出内容:低或高数字逻辑信号。