Пример: полёт по квадрату¶
Здесь представлен пример создания простой программы для полёта коптера по квадрату 1 на 1 метр в локальной системе позиционирования.
Для создания новой программы откройте вкладку «Проект» и затем нажмите кнопку «Новый».
Первым и обязательным блоком программы следует установить блок «Предвзлётная подготовка» из вкладки «События»
Далее включим световую индикацию, сведетельствующую об окончании предвзлётной подготовки. Для этого перетащим блок «Поменять цвет всех светодиодов на плате» из вкладки «Модули» под предыдущий блок.
Выберем красный свет для сигнализации об окончании подготовки, для этого из блока математика перетащим 3 блока-цифры «0» в «Красный», «Зелёный» и «Синий» поля блока «Поменять цвет всех светодиодов на плате».
Для красного цвета укажем значение 255, для остальных цветов оставим 0, так плата зажжёт красный цвет на максимальную яркость.
Теперь установим событие взлёта, чтобы «Пионер» взлетел в воздух.
Для этого перетащим блок «Взлёт» из вкладки «События».
Далее дублируем блок «Поменять цвет всех светодиодов на плате» нажатием правой кнопки мыши, затем «Дублировать», вставим его под блок «Взлёт» и поменяем цвет зелёный цвет на 255, а красный на 0.
Таким образом, плата зажжёт зелёные светодиоды на максимальную яркость после завершения взлёта.
После взлёта «Пионер» должен пролететь метр вперёд, для этого воспользуемся блоком «Лететь в локальные координаты» из вкладки «Полёт»
Чтобы пролететь метр вперёд, укажем 1 блоком математики в поле Y блока полёта, в поле X укажем 0.
Высота при полёте по квадрату не должна измениться, поэтому в качестве координаты Z необходимо указать текущую координату.
Для этого получим массив текущих координат с помощью блока «Координаты в системе навигации» из вкладки «Датчики». Данный массив содержит в себе 3 числа (x,y,z), поэтому возьмём последний элемент массива с помощью блока «в списке взять #» из вкладки «Массивы». В качестве списка вставляем блок координат, в качестве номера выбираем «Последний»
Запишем получившийся блок в поле Z координаты в блок полёта.
В поле Время напишем 3, так «Пионер» пролетит метр вперёд за 3 секунды.
Подсказка
Если в поле время указать 0, то «Пионер» будет лететь в заданную точку с максимальной скоростью
Получаем следующую программу:
Теперь продублируем блок полёта 3 раза. Для полёта по квадрату коптер должен пролететь в 4 точки по очереди: 1 метр вперёд, 1 метр право, 1 метр назад, 1 метр влево или (0, 1, z), (1, 1, z), (1, 0, z), (0, 0, z)
Поменяем координаты для трёх новых блоков соотвественно.
После выполнения данной программы коптер пролетит квадрат и вернётся в место после взлёта, теперь необходимо совершить посадку.
Для этого используем блок «Посадка» из вкладки «События».
Готово, программа создана! Теперь сохраним её, нажав кнопку «Сохранить» во вкладке «Проект» в левой верхней части экрана.
Введите имя программы, например fly_square и нажмите «Ок».
Важно
Перед запуском программы, убедитесь, что ROS система запущена.
О том, как запустить ROS систему, можно прочитать в Начало работы в Bricks
Для запуска программы нажмите кнопку «Вжух» и наблюдайте за результатом.
Полный вид программы: