📊 Телеметрия
get_accel.py
Ускорение по осям X, Y, Z
get_telemetry/get_accel.pyБесконечно читает ускорение через get_accel() и печатает три компоненты вектора ускорения.
Минимальный пример чтения одного датчика. Создаётся соединение с дроном, затем в бесконечном цикле вызывается get_accel() и результат печатается в терминал с паузой 0.5 секунды. Соединение закрывается в finally при остановке программы сочетанием Ctrl+C.
Как работает
- Создать объект
Pioneer()— устанавливается соединение. - В цикле
while Trueвызватьget_accel(). - Вывести компоненты ускорения
accel[0..2]. - Сделать паузу
time.sleep(0.5). - В
finallyвызватьclose_connection().
Используемые методы SDK
Ключевые параметры
| Параметр | Значение | Описание |
|---|---|---|
sleep | 0.5 с | Период опроса датчика. |
Запуск
cd get_telemetry
python3 get_accel.pyРезультат
- Строки вида
accel_x=…, accel_y=…, accel_z=…каждые 0.5 с.
Примечания
- Для остановки нажмите
Ctrl+C.
Полный исходный код
Показать get_accel.py
from pioneer_sdk2 import Pioneer # импортируем класс Pioneer из библиотеки pioneer_sdk2
import time # библиотека time содержит функции для работы со временем
drone = Pioneer() # создаем экземпляр класса Pioneer, устанавливаем соединение
try: # основной код находится внутри блока try
while True: # запускаем бесконечный цикл
accel = drone.get_accel() # получаем ускорение дрона
print(
f"accel_x={accel[0]},", # ускорение по оси X
f"accel_y={accel[1]},", # ускорение по оси Y
f"accel_z={accel[2]}" # ускорение по оси Z
)
time.sleep(0.5) # ставим паузу на 0.5 секунды
finally: # блок finally выполнится при завершении программы
drone.close_connection() # закрываем соединение