Pioneer 🕹️ Ручное управление скоростью метод

set_manual_speed_body_fixed()

set_manual_speed_body_fixed(vx: float, vy: float, vz: float, yaw_rate: float, interval: float = 1.0) -> None

Полёт с заданной скоростью относительно корпуса дрона.

Скорости задаются в связанной с корпусом системе координат: движение вперёд, назад, влево, вправо независимо от текущего курса. Основной метод управления в примерах WASD_flight.py, aruco_flight.py и human_tracking.

Параметры

ПараметрТипПо умолчаниюОписание
vxfloatСкорость вправо/влево в м/с.
vyfloatСкорость вперёд/назад в м/с.
vzfloatСкорость вверх/вниз в м/с.
yaw_ratefloatСкорость рыскания в рад/с (не более 1.82).
intervalfloat1.0Время действия команды в секундах.

Возвращает

None — Метод ничего не возвращает.

Пример

WASD_flight.py
ZERO_SPEED = (0.0, 0.0, 0.0, 0.0)          # vx, vy, vz, yaw_rate
COMMAND_INTERVAL = 0.3

if drone.get_fly_state().name == "IN_SKY" and (speed_changed or send_due):
    drone.set_manual_speed_body_fixed(*speed, COMMAND_INTERVAL)

Примечания

  • Для удержания позиции повторяйте нулевую команду каждые 0.2–0.3 с.
  • Знак vz: положительное значение — вверх.

См. также