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 进行实例化:

  1. 最基础的初始化方式如下所示:

# 导入 Pidog 类
from pidog import Pidog

# 实例化一个 Pidog 对象
my_dog = Pidog()
  1. 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

  1. 如果您的舵机接线顺序与默认不同, 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]
            )