TRIK Studio

Визуальное программирование на языке Lua

Графическая среда TRIK Studio позволяет составлять программы для роботов, используя наглядные функциональные блоки. Такой подход значительно упрощает работу с «Пионером». Даже не имея опыта программирования, вы сможете написать задание, загрузить его на квадрокоптер и осуществить запуск.

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

Создание проекта

При первом запуске программы создайте новый проект (кнопка в левом верхнем углу). Чтобы начать создавать программу, достаточно перетащить нужные блоки действия из «Палитры» на диаграмму поведения робота, а затем соединить их между собой.

Основы работы с TRIK Studio

  • Каждая программа должна содержать блоки «Начало» и «Конец». В случае ветвления программы каждая ветвь должна либо вернуться в основное дерево, либо заканчиваться блоком «конец».

  • Для соединения двух блоков наведите курсор мыши на первый, нажмите и удерживайте правую кнопку мыши, протяните линию до второго и отпустите. Появившаяся на диаграмме стрелка означает, что два блока логически связаны. Также можно выбрать нужный блок и захватить левой кнопкой мыши появившийся справа от него маркер, протянув до следующего блока и отпустив.

  • Настроить выбранный блок можно в окне «Редактор свойств».

  • Чтобы удалить ненужный блок, выберите его щелчком левой кнопки мыши и нажмите Del.

  • Если нужно выбрать сразу несколько блоков, их можно обвести рамкой, зажав левую кнопку мыши и потянув курсор. Также можно выделять блоки по одному, зажав ctrl.

  • На диаграмме не должно оставаться красных стрелок и неподключенных блоков. Для удобства старайтесь выстраивать диаграмму в направлении слева направо и сверху вниз.

  • Для удобства и быстроты работы изучите список «горячих клавиш» в разделе «Настройки». Также полезно прочитать раздел Помощь (F1)

Блоки для программирования Пионера:

Комбинируя блоки между собой и создавая связи меду ними, вы сможете создать любую полетную программу для «Пионера»

Название блокаДействие
УсловиеПозволяет создать два сценария действия «Пионера» в зависимости от заданного логического условия. У блока должны быть две исходящие связи, в одной из которых в редакторе свойств должно быть назначено значение параметра «условие» (истина или ложь)
Конец условияПозволяет создать два сценария действия «Пионера» в зависимости от заданного логического условия. У блока должны быть две исходящие связи, в одной из которых в редакторе свойств должно быть назначено значение параметра «условие» (истина или ложь)
Инициализация переменнойПозволяет объявить новую переменную. В редакторе свойств или прямо на диаграмме задается имя переменной и ее значение
Случайное числоПрисваивает выбранной переменной случайное значение из выбранного диапазона
КомментарийПозволяет включить в программу текстовые пояснения, упрощающие понимание структуры участка или конкретного блока
ТаймерЗадает время ожидания перед выполнением следующего блока программы в миллисекундах
Взлет, ПосадкаКоманды начала и завершения полета
Лететь в точкуУказывает координаты точки, в которую полетит квадрокоптер. Координаты вводятся без точек и запятых в строки широты и долготы. Строка «высота» отображает расстояние (в метрах) от поверхности в конечной точке полета
Лететь в точку(ЛК)Команда аналогична предыдущей, но точка назначения задается в локальных координатах. За точку отсчета (0,0,0) принимается место взлета. Значения координат задаются в метрах
СветодиодУправляет работой светодиодов на плате Пионера. Меняя значения для каждого цвета, можно зажигать светодиоды по одному или в различных комбинациях. В паре с блоком «Таймер» можно задать длительность свечения
МагнитУправляет работой модуля захвата груза. Чтобы включить магнит, поставьте галочку в чекбоксе значения свойств блока
КомандаПозволяет выполнить написанную в свойствах команду. Для написания команды используется язык Lua. Для выполнения команды поставьте галочку в чекбоксе
РысканиеУправляет изменением курса Пионера. Для поворота по часовой стрелке задайте значение угла в градусах со знаком «минус»

Примеры

Работа с LED

В качестве примера, научимся программно управлять светодиодами на плате Пионера. Для этого при запуске программы нажмите «Открыть проект» и выберите файл LED. В рабочей области появилась блок-схема программы, которая при запуске будет включать светодиоды на одну секунду каждым цветом. Вы можете внести изменения в любой блок программы или добавить новый, главное встроить его в структуру с помощью стрелок-соединений.

Диаграмма работы собрана, нужно сгенерировать соответствующий код в Lua. Для этого нажмите кнопку над рабочей областью, или воспользуйтесь сочетанием клавиш ctrl+shift+G. Кнопка «Загрузить программу на «Пионер»» понадобится нам позже.

Если все соединено без ошибок, на экране откроется вкладка с текстом программы. При обнаружении ошибок в нижней части экрана появится окно с пояснением что нужно исправить для корректной работы программы.

Код сгенерирован, теперь нажмите кнопку «Загрузить программу на «Пионер». Программа откроется в редакторе Pioneer Station. Теперь осталось загрузить её в «Пионер».

Полётное задание

Для создания первой настоящей полетной программы можете взять за основу учебные примеры fly_square или fly_to_point, предлагаемые при запуске TRIK Studio.

Добавьте блоки «Рыскание» и «Светодиод», постарайтесь разнообразить условия вашей программы.

Построив диаграммы, не забудьте сгененрировать Lua код и проверить его на наличие ошибок. Загрузка программы в «Пионер» осуществляется так же как в предыдущем примере

TrikFlightMission

Обратите внимание, что полет в точку может осуществляться в локальной системе координат, которую обеспечивает система УЗ-навигации или ИК-навигации. Систему нужно предварительно настроить и активировать перед взлетом. Для работы в географических координатах необходим Модуль навигации GPS Глонасс

Протокол MailBox

На этой странице