传动系统#
介绍#
123 型机器人采用双轮驱动系统,使其能够行驶和转弯。驱动系统模块控制机器人的运动方式。
传动系统可以通过两种方式测量距离:步数和毫米。一步相当于123格子上的一个方格。
传动系统编程方式有很多种。以下是所有传动系统模块的列表:
动作——移动和转向机器人。
drive — 使机器人无限向前或向后移动。
驱动 — 使机器人向前或向后移动指定的距离。
驱动直到 — 使机器人前进或后退,直到检测到物体、碰撞或线条。
turn — 使机器人永远向左或向右转弯。
turn for — 使机器人向左或向右旋转指定的角度数。
转向航向 — 将机器人转向 -359 度到 359 度之间的特定航向。机器人将沿最短路径转向以达到目标航向。
停止驾驶 — 停止机器人的移动。
设置 — 调整传动系统设置。
数值 — 检查移动状态。
行动#
驾驶#
驱动 模块使机器人能够无限向前或向后移动。机器人将持续移动,直到收到其他指令,例如转向或停止。
驱动 [向前 v]
参数 |
描述 |
|---|---|
方向 |
机器人移动方向:前进或后退。 |
例子
当开始
[Drive for 2 seconds.]
驱动 [向前 v]
等待 (2) 秒
驱动停止
驱动#
驱动堆栈模块控制机器人前进或后退一段特定距离。程序会等待机器人完成移动后,才会运行堆栈中的下一个模块。
驱动 [向前 v] (1) [步数 v]
参数 |
描述 |
|---|---|
方向 |
机器人移动方向:前进或后退。 |
距离 |
机器人行驶的距离。可以是整数,也可以是小数。 |
单元 |
距离单位:步或毫米。 |
例子
当开始
[Drive back and forth.]
驱动 [向前 v] (3) [步数 v]
驱动 [反 v] (3) [步数 v]
开车直到#
驱动直到堆叠块使机器人前进或后退,直到眼传感器检测到物体、碰撞或线路。
驱动 [向前 v] 直到 [对象 v]
参数 |
描述 |
|---|---|
方向 |
机器人移动方向:前进或后退。 |
状况 |
导致机器人停止的条件:
|
例子
当开始
[Reverse after a crash.]
驱动 [向前 v] 直到 [撞毁 v]
驱动 [反 v] (1) [步数 v]
转动#
转向 积木块会让机器人无限向左或向右转向。机器人会一直转向,直到收到其他动作指令,例如行驶或停止。
[右 v] 转
参数 |
描述 |
|---|---|
方向 |
机器人转向的方向:向左或向右。 |
例子
当开始
[Turn for 2 seconds.]
[右 v] 转
等待 (2) 秒
驱动停止
转向#
“转向”堆栈模块会使机器人向左或向右旋转指定的角度。旋转角度是相对于机器人的当前位置而言的。程序会等待机器人完成旋转后,才会运行堆栈中的下一个模块。
[右 v] 转 (90) 度
参数 |
描述 |
|---|---|
方向 |
机器人转向的方向:向左或向右。 |
角度 |
机器人旋转的角度数。可以是整数,也可以是小数。 |
例子
当开始
[Turn left, then turn around to the right.]
[左 v] 转 (90) 度
[右 v] 转 (180) 度
转向标题#
航向角是指机器人面向的方向,以度为单位。转向航向角 代码块可以将机器人转向 -359 度到 359 度之间的特定航向角。机器人会选择到达目标航向角的最短路径。
机器人的初始航向角为0度。
归位至 (90) 度
参数 |
描述 |
|---|---|
标题 |
机器人应面向的方向,以度为单位。该值可以是-359到359之间的整数或小数。 |
例子
当开始
[Turn to face the cardinal directions.]
归位至 (90) 度
等待 (2) 秒
归位至 (180) 度
等待 (2) 秒
归位至 (270) 度
等待 (2) 秒
归位至 (0) 度
等待 (2) 秒
停止驾驶#
停止驱动堆栈块会停止机器人的运动。
驱动停止
参数 |
描述 |
|---|---|
此代码块没有参数。 |
例子
当开始
[Stop driving after 4 seconds.]
驱动 [向前 v]
等待 [4] 秒
驱动停止
设置#
设置驱动超时#
设置驱动超时 代码块用于设置机器人尝试完成一次动作的秒数。如果机器人无法在规定时间内完成,它将停止尝试并执行代码块中的下一个。这样可以防止机器人卡在某个动作上。
设定驱动超时为 (1) 秒
参数 |
描述 |
|---|---|
时间 |
机器人尝试完成一次动作的秒数。该值可以是整数或小数。 |
例子
当开始
[Turn right after driving for 1 second.]
设定驱动超时为 (1) 秒
驱动 [向前 v] (1000) [毫米 v]
[右 v] 转 (90) 度
设置驱动航向#
航向角是指机器人朝向的方向,以度为单位。设置驱动航向堆栈块会将机器人的当前航向角更改为新的航向角值。
例如,如果机器人转向右侧,将航向设置为 0 度,则该右侧位置将成为新的 0 度航向。然后,机器人可以根据新的航向转向其他位置。
设定底盘归位至 (0) 度
参数 |
描述 |
|---|---|
标题 |
要设置的机器人航向角值,单位为度。该值可以是整数,也可以是 0 到 359 之间的十进制数。 |
例子
当开始
[Face the new 0 degree heading.]
设定底盘归位至 (90) 度
归位至 (0) 度
价值观#
驾驶已完成#
“驱动完成”布尔模块用于报告机器人是否已停止移动。这可用于根据机器人的移动状态来控制其他行为的执行时间。
正确 — 机器人已停止移动。
错误 — 机器人仍在移动。
该模块与以下传动系统模块配合使用:驱动至、驱动至、转向 和 转向航向。
<驱动已结束?>
参数 |
描述 |
|---|---|
此代码块没有参数。 |
例子
当开始
[Glow blue after a crash.]
驱动 [向前 v] 直到 [撞毁 v]
永久循环
如果 <驱动已结束?> 那么
发光 [蓝色 v]
否则
发光 [绿色 v]
行驶方向#
航向角是指机器人朝向的方向,以度为单位。驱动航向报告模块会报告机器人当前的航向角,范围从 0 度到 359 度。
机器人的初始航向角为0度。
(底盘归位角度值)
参数 |
描述 |
|---|---|
此代码块没有参数。 |
例子
当开始
[Display the heading after turning.]
[右 v] 转 (450) 度
打印 (底盘归位角度值) ▶