Pybricks API 的机器人模块。
带有两个动力轮和一个可选支撑轮或脚轮的机器人车辆。
通过指定机器人的尺寸,此类可以轻松地以毫米为单位行驶给定的距离或转动给定的度数。
正距离和行驶速度意味着向前行驶。 负意味着落后 。
正角度和转弯率意味着右转。 负数表示左。 因此,从顶部看,正表示顺时针,负表示逆时针。
参数: |
|
使用以下命令行驶给定距离,或以给定角度转弯。
这是使用内部旋转传感器测量的。由于车轮在移动时可能会打滑,因此行驶距离和角度只是估计值。
直行一段给定距离,然后停下来。
参数: | 距离 ( 距离:毫米 )——行驶距离。 |
在给定角度原地转动,然后停止。
参数: | angle (angle: deg) – 转弯角度。 |
配置 straight() 和 turn() 使用的速度和加速度。
如果不给出参数,则将当前值作为元组返回。
您只能在机器人停止时更改设置。这是在您开始驾驶之前或调用 stop() 之后。
参数: |
|
使用 drive() 开始以所需的速度和转向行驶。
它一直持续下去,直到您再次使用 stop() 或使用 drive() 改变路线。例如,您可以行驶直到传感器被触发,然后停车或掉头。
drive(drive_speed, turn_rate)以指定的速度和转弯率开始行驶。这两个值都是在机器人车轮之间的中心点测量的。
参数: |
|
通过让电机自由旋转来停止机器人。
获取估计的行驶距离。
返回: | 自上次重置以来的行驶距离。 |
返回类型: | 距离:毫米 |
获取驱动底座的估计旋转角度。
返回: | 自上次复位以来的累积角度。 |
返回类型: | 角度:度 |
获取机器人的状态。
这将返回当前距离()、 驱动速度、 angle() 和转弯率。
返回: | 距离、驱动速度、角度、转弯率 |
返回类型: | ( 距离:mm, 速度:mm/s, 角度:deg, 转速:deg/s) |
将估计的行驶距离和角度重置为 0。
作为第一个估计,您可以测量 wheel_diameter 和 用尺子 axle_track。因为很难看到车轮有效接触地面的位置,所以您可以将 axle_track 估计为车轮中点之间的距离。
在实践中,大多数车轮在机器人的重量下会轻微压缩。要验证,请使用 my_robot.straight(1000) 使您的机器人驱动 1000 毫米 并测量它真正传播了多远。补偿如下:
- 如果您的机器人行驶得不够远 ,请减少 wheel_diameter 值。
- 如果您的机器人行驶得太远 ,请增加 wheel_diameter 值。
电机轴和车轴在机器人的负载下会略微弯曲,导致车轮的地面接触点更靠近机器人的中点。要验证,请使用 my_robot.turn(360) 让您的机器人旋转 360 度,并检查它是否回到同一个位置:
- 如果您的机器人转动不够远 ,请增加 axle_track 值。
- 如果您的机器人转得太远 ,请降低 axle_track 值。
进行这些调整时,请始终调整 wheel_diameter 首先,如上所述。完成后,请务必直接测试转弯和行驶。
假设您使用两个名为 Motor 的 Motor 对象创建一个 DriveBase 对象 left_motor 和 right_motor。当 DriveBase 处于活动状态时,您不能单独使用这些电机。
如果 DriveBase 正在行驶,则 DriveBase 处于活动状态,但当它在直线 () 或 turn() 命令。要停用 DriveBase,请调用 stop()。
settings() 方法用于调整常用设置,例如直线机动和转弯的默认速度和加速度。使用以下属性来调整更高级的控件设置。
您只能在机器人停止时更改设置。这是在您开始驾驶之前或调用 stop() 之后。
行驶距离和驱动速度由 PID 控制器控制。您可以使用此属性更改其设置。有关可用方法的概述,请参阅 Control 类 。
机器人的转弯角度和转弯率由 PID 控制器控制。您可以使用此属性更改其设置。有关可用方法的概述,请参阅 Control 类 。