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.
Параметры
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
vx | float | — | Скорость вправо/влево в м/с. |
vy | float | — | Скорость вперёд/назад в м/с. |
vz | float | — | Скорость вверх/вниз в м/с. |
yaw_rate | float | — | Скорость рыскания в рад/с (не более 1.82). |
interval | float | 1.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: положительное значение — вверх.