基础代码
Robot
在gpiozero库中,Robot
类是一个专门为双轮机器人设计的高层控制类,它通过抽象底层电机控制逻辑,简化了机器人运动编程。以下是详细解释:
类定义
class Robot(SourceMixin, CompositeDevice):
def __init__(self, left, right, pwm=True, pin_factory=None):
super().__init__(left=left, right=right, pwm=pwm, pin_factory=pin_factory)
核心功能
-
双电机协调控制
- 自动同步控制左右两个电机
- 提供简单的运动方法(前进、后退、转向)
- 支持PWM(脉冲宽度调制)实现速度控制
-
内置运动模式
- 直线运动(前进/后退)
- 原地转向(左转/右转)
- 差速转向(不同速度组合)
初始化参数详解
参数 | 类型 | 说明 |
---|---|---|
left |
Motor对象 | 左电机实例,需预先配置好GPIO引脚 |
right |
Motor对象 | 右电机实例,需预先配置好GPIO引脚 |
pwm |
bool | 是否启用PWM速度控制(默认True) |
pin_factory |
对象 | 底层引脚工厂,一般无需修改 |
典型初始化示例:
from gpiozero import Robot, Motor
robot = Robot(
left=Motor(forward=17, backward=18, enable=22), # 左电机引脚配置
right=Motor(forward=23, backward=24, enable=25