ЭБАС
  • Подготовка к чемпионатам WSR по компетенции ЭБАС
  • 3D моделирование
    • Моделирование узла квадрокоптера
    • Слайсинг
    • Самостоятельная работа
  • Автономный полет
    • Быстрая настройка для ручного пилотирования
    • Быстрая настройка для автономного полета
    • Конкурсное задание
    • Программирование на языке Python
      • Логические выражения и операторы
      • Ввод и вывод данных
      • Типы данных. Переменные
      • Ветвление. Условный оператор
      • Ошибки и исключения. Обработка исключений
      • Множественное ветвление: if-elif-else
      • Циклы в программировании. Цикл while
      • Функции в программировании
      • Локальные и глобальные переменные
      • Возврат значений из функции. Оператор return
      • Параметры и аргументы функции
      • Встроенные функции
      • Модули
      • Генератор псевдослучайных чисел – random
      • Списки
      • Цикл for
      • Функция enumerate
      • Строки
      • Кортежи
      • Словари
      • Файлы
    • Программирование полета в Gazebo
    • Программирование полета в реальном мире
      • Установка и подключение Raspberry Pi на квадрокоптере
      • Подключение по wi-fi
      • Просмотр топиков
      • Linux-команды
      • Настройки внутренних файлов образа ОС
      • Подключение wi-fi и настройка в QGroundControl
      • Создание Aruco карты
      • Создание автономной программы программы
      • Полет по квадрату
    • Распознавание цветов
      • Распознавание цвета с захватом одного кадра
    • Распознавание QR-кодов
      • Распознавание QR-кода через подписку на топик
        • Функции рисования компьютерного зрения
      • Распознавание QR-кода с захватом одного кадра
        • Полет по точкам, используя координаты из QR-кода
  • Диагностика и ремонт БПЛА
    • Диагностика
  • Мониторинг
    • Заполнение разрешительной документации
    • Автономная программа для мониторинга
  • ЭКСПЛУАТАЦИЯ ПОЛЕЗНОЙ НАГРУЗКИ
    • Установка захвата и подключение
  • Внешнее пилотирование
    • Симулятор Geoscan Trainer
  • ЛЕТАЮЩАЯ РОБОТОТЕХНИКА
    • Настройка сервера
    • Настройка клиента
Powered by GitBook
On this page

Was this helpful?

  1. Автономный полет
  2. Программирование полета в реальном мире

Создание автономной программы программы

PreviousСоздание Aruco картыNextПолет по квадрату

Last updated 3 years ago

Was this helpful?

На этом шаге предполагается, что вы ознакомились и прошли все пункты сверху. Преступим к написанию программы.

  1. Создадим папку в терминале. Для этого введем команду:

mkdir proga

Здесь mkdir - это команда позволяющая создать папку, а proga - название папки.

2. Откроем эту папку и создадим в ней файл с расширением .py:

Чтобы открыть папку мы прописали: cd proga, где cd - это команда, позволяющая открывать папки, а proga - название папки.

Чтобы открыть файл мы прописали: nano proga.py, где nano - это команда, позволяющая открывать файлы, а proga.py - название файла. Если файла не существует, тогда он автоматически будет создан.

3. Перед нами откроется редактор с пустым файлом:

4. Вставим в нашу программу первые строчки, которые будут импортировать необходимые модули и сервисы. Они обеспечат работу всех функций, которые мы будем использовать.

В результате должны получить это:

Теперь мы можем, используя модули и сервисы, объявить функцию полета.

Вставим функцию взлета:

Добавим задержку (время выполнения программы). Объявляется как rospy.sleep(4). Где вместо 4 можно написать любое натуральное число. Это натуральное число обозначает сколько секунд будет происходить работа этой функции.

В результате программа взлета будет выглядеть следующим образом:

Отлично, с такой программой у нас квадрокоптер может взлететь.

Теперь добавим полет в точку с некоторой координатой. Для этого используем следующую строчку:

Далее добавим задержку и в итоге получим программу взлета и полет направо относительно взлета на 3 метра:

Не забудьте в конце вашей программы прописать приземление land():

Сохраним файл.

Для того, чтобы выйти из редактора с сохранением всех изменений нажмите последовательно следующие клавиши: ctrl+x, затем Y, после чего нажмите клавишу Enter.

Запустим файл, используя команду:

python proga.py

proga.py — это название нашей программы.

Задание на самостоятельную работу:

Попробовать составить программу полета с разными frame_id и для себя выписать их различия.

На соревнованиях можно будет пользоваться официальным гитбуком COEX. Поэтому я буду специально вставлять только картинки без фотографий, чтобы вы могли самостоятельно найти нужную ссылку на официальном гитбуке: .

Обратите внимание на параметр frame_id. Он определяет систему координат в которой будет лететь квадрокоптер. С подробным списком всех frame_id можно ознакомиться по ссылке:

https://clover.coex.tech/ru/
https://clover.coex.tech/ru/frames.html