📊 Телеметрия get_motors_rpm.py

Обороты двигателей

get_telemetry/get_motors_rpm.py

Печатает обороты четырёх двигателей.

Вызывает get_motors_rpm() и выводит список из четырёх значений RPM. В README отмечено, что для появления ненулевых оборотов моторы нужно запустить командой arm(); в текущей версии файла моторы не запускаются.

Как работает

  1. Создать Pioneer().
  2. В цикле получить get_motors_rpm().
  3. Вывести обороты motor_1..motor_4.
  4. Пауза 0.5 секунды, закрыть соединение.

Используемые методы SDK

Ключевые параметры

ПараметрЗначениеОписание
sleep0.5 сПериод опроса.

Запуск

cd get_telemetry
python3 get_motors_rpm.py

Результат

  • Строки motor_1=…, motor_2=…, motor_3=…, motor_4=….

Безопасность

  • Не запускайте моторы без закреплённого дрона и свободной зоны вокруг винтов.

Полный исходный код

Показать get_motors_rpm.py
from pioneer_sdk2 import Pioneer            # импортируем класс Pioneer из библиотеки pioneer_sdk2
import time                                 # библиотека time содержит функции для работы со временем

drone = Pioneer()                           # создаем экземпляр класса Pioneer, устанавливаем соединение

try:                                        # основной код находится внутри блока try
    while True:                             # запускаем бесконечный цикл
        motors_rpm = drone.get_motors_rpm() # получаем обороты двигателей
        print(
            f"motor_1={motors_rpm[0]},",    # обороты первого двигателя
            f"motor_2={motors_rpm[1]},",    # обороты второго двигателя
            f"motor_3={motors_rpm[2]},",    # обороты третьего двигателя
            f"motor_4={motors_rpm[3]}"      # обороты четвертого двигателя
        )

        time.sleep(0.5)                     # ставим паузу на 0.5 секунды

finally:                                    # блок finally выполнится при завершении программы
    drone.close_connection()                # закрываем соединение