1. PiDog 初始化
PiDog 的各项功能都封装在 Pidog 类中,以下是该类的构造函数原型:
Class: Pidog()
__init__(leg_pins=DEFAULT_LEGS_PINS,
head_pins=DEFAULT_HEAD_PINS,
tail_pin=DEFAULT_TAIL_PIN,
leg_init_angles=None,
head_init_angles=None,
tail_init_angle=None)
您可以通过以下几种方式对 PiDog 进行实例化:
最基础的初始化方式如下所示:
# 导入 Pidog 类
from pidog import Pidog
# 实例化一个 Pidog 对象
my_dog = Pidog()
PiDog 配备了 12 个舵机,可以在实例化时指定其初始角度:
# 导入 Pidog 类
from pidog import Pidog
# 带自定义初始角度的实例化方式
my_dog = Pidog(leg_init_angles = [25, 25, -25, -25, 70, -45, -70, 45],
head_init_angles = [0, 0, -25],
tail_init_angle= [0]
)
在 Pidog 类中,舵机被划分为三个控制组:
leg_init_angles:该数组包含 8 个值,对应 8 个舵机的角度,控制的舵机(引脚编号)为2, 3, 7, 8, 0, 1, 10, 11。具体位置可参考结构展开图。head_init_angles:包含 3 个值,控制 PiDog 的头部转向,包括偏航、横滚和俯仰,对应舵机编号为4, 6, 5。tail_init_angle:仅包含一个值,控制尾部舵机,对应舵机编号为9。
如果您的舵机接线顺序与默认不同,
Pidog类支持在实例化时自定义舵机引脚编号:
# 导入 Pidog 类
from pidog import Pidog
# 自定义舵机引脚与初始角度进行实例化
my_dog = Pidog(leg_pins=[2, 3, 7, 8, 0, 1, 10, 11],
head_pins=[4, 6, 5],
tail_pin=[9],
leg_init_angles = [25, 25, -25, -25, 70, -45, -70, 45],
head_init_angles = [0, 0, -25],
tail_init_angle= [0]
)