aPion¶
- class pion.apion.Apion(ip: str = '10.1.100.114', mavlink_port: int = 5656, connection_method: str = 'udpout', position: Annotated[ndarray[tuple[Any, ...], dtype[Any]], 6] | Annotated[ndarray[tuple[Any, ...], dtype[Any]], 4] | None = None, attitude: Annotated[ndarray[tuple[Any, ...], dtype[Any]], 6] | Annotated[ndarray[tuple[Any, ...], dtype[Any]], 4] | None = None, combine_system: int = 0, count_of_checking_points: int = 20, name: str = 'Pion', mass: float = 0.3, dt: float = 0.0, logger: bool = False, start_message_handler_from_init: bool = True, checking_components: bool = True, accuracy: float = 0.05, max_speed: float = 2.0)¶
Асинхронная версия Pion
- async goto_from_outside(x: float, y: float, z: float, yaw: float, accuracy: float = 0.08) None ¶
Асинхронный метод для перемещения дрона к указанной точке с учетом управления yaw.
- Параметры:
x (float) – координата по x
y (float) – координата по y
z (float) – координата по z
yaw (float) – координата по yaw
accuracy (float) – Погрешность целевой точки
- Результат:
None
- async goto_yaw(yaw: float = 0, accuracy: float = 0.087) None ¶
Асинхронный метод для поворота дрона на указанный угол yaw.
- Параметры:
yaw (float) – координата по yaw (радианы)
accuracy (float) – Погрешность целевой точки
- Результат:
None
- async main() None ¶
Главная асинхронный метод для запуска обработки сообщений и отправки скоростей.
- Результат:
None
- async message_handler(combine_system: int = 0) None ¶
Асинхронно обрабатывает сообщения от дрона и отправляет heartbeat, обновляя координаты дрона.
- Параметры:
combine_system (int) – Определяет, с каких источников будут считываться данные: 0 — только локус, 1 — локус и оптика, 2 — только оптика.
- Результат:
None
- async send_speed(vx: float, vy: float, vz: float, yaw_rate: float) None ¶
Асинхронно задает вектор скорости дрону. Отсылать необходимо в цикле.
- Параметры:
vx – Скорость по оси X (м/с)
vy – Скорость по оси Y (м/с)
vz – Скорость по оси Z (м/с)
yaw_rate – Скорость поворота по yaw (рад/с)
- Результат:
None
- async set_v_async() None ¶
Асинхронно запускает цикл, который вызывает функцию v_while() для параллельной отправки вектора скорости.
- Результат:
None
- stop() None ¶
Останавливает все асинхронные задачи внутри приложения.
- Результат:
None
- async v_while() None ¶
Асинхронный метод, которая отправляет вектор скорости в цикле.
- Параметры:
ampl (Union[float, int]) – множитель вектора скорости
- Результат:
None