Easy-програмування танка-шпигуна - програмні продукти

Хочу розповісти Вам, як можна управляти айГаджетамі з PC, та ще й програмувати їх. Все, що описано в статті може бути застосовано як до Brookstone Rover Spy Tank, так і до AR Drone Parrot. На "Хабре" вже не раз були статті про серію високотехнологічних гаджетів AR Drone Parrot. Якось мало інтересу проявляється Brokstone Rover Spy Tank, хоча, як не дивно, ця іграшка хоч і не така ефектна, в силу того, що не літає, зате більш практична. По-перше заряду 6 елементів піатнія серії АА вистачає на кілька годин безперервної роботи. По-друге, його можна використовувати як гіковскіе веб-камеру, за допомогою якої можна стежити за тим, що відбувається вдома з будь-якого іншого комп'ютера, ну і, як бонус, ганяти своїх домашніх тварин. Налаштувавши доступ по RDP до домашнього комп'ютера, можна управляти цим виробом, як мобільного веб-камерою, яка не просто показує картинку, але ще і пересувається по приміщенню.

Почнемо з того, що таке Brookstone Rover Spy Tank

Easy-програмування танка-шпигуна - програмні продукти

Управляємо з PC

Якщо у Вас немає айфона або андроїд пристрої, то Ви, швидше за все, навряд чи набуде такого гаджет. Але якщо дуже хочеться? Що тоді?

Є такий прекрасний програмний комплекс - EZ-Builder, інструмент канадського товариша. У ньому вже реалізований протокол обміну з AR Drone Parrot і Brookstone Rover Spy Tank. Програма написана на C #. Управління простіше пареної ріпи. Качаємо софт звідси

Установка проста і не вимагає опису.

Easy-програмування танка-шпигуна - програмні продукти

Easy програмування на EZ-Script

В EZ-Builder є можливість писати прості скрипти на встреонном скриптовій мовою. Він чимось нагадує Бейсік. EZ-Builder дозволяє запрограмувати поведінку іграшки, не будучи професійним роботостроітелем і інженером-програмістом. Мовою EZ-Script можна писати найпростіші програми, за допомогою яких можна управляти нашим ровером. Щоб освоїти їх і зрозуміти принцип, додаємо на робочий стіл EZ-Builder консоль управління: "Script Console". Для цього достатньо натиснути F3 або вибрати її в пункті Add Control -> Scripting -> Script Console.

Отримати довідку по всім командам завжди можна на спеціальних вкладках або викликавши відповідний хелп через:

Help -> Print Script Manual

Вчимо стежити за об'єктами

У розділі Tracking Types ставимо галочку у пунтку Color. Кладемо перед камерою нашого пристрою яскравий предмет (краще всього червоного кольору). Перемикаємося у вкладку Color, вибираємо мінімальний розмір детектируемого предмета (Min Object Size) і виставляємо яскравість об'єкта (Object Brightness). Як тільки предмет буде пізнаний, наш танк почне повертатися в його сторону, якщо ми спробуємо його пересунути. Я б порадив в настройках в розділі Tracking Quadrant Settings зрушити вертикальні лінії трохи ближче до краю, щоб робот більш адекватно реагував на пересування об'єкта. Далі, граючись різними параметрами Ви зможете самостійно домогтися потрібних налаштувань і оптимальних значень.

проста програма

Easy-програмування танка-шпигуна - програмні продукти

Тепер, агрегируя отриману інформацію, пов'язуємо все воєдино. Додаємо на робочий стіл EZ-Builder компоненту Script Manager: Ad Control -> Scripting -> EZ-Script Manager. У вікні, натискаємо кнопку Add Script. В поле Name пишемо: PursuitTarget. Це буде назва нашої програми, що відповідає за рух. Вона буде дуже проста і складатися з одного рядка. Взагалі треба сказати що в EZ-Builder всі компоненти між собою зв'язуються по іменах вікон і назв скриптів. Пишемо програму такого змісту:

Це нам потрібно тільки для того, щоб виставити швидкість руху вперед на максимум, так як в програмі пошуку мети ми її знизимо. Знову тиснемо Add Script, в поле Name пишемо: FindTarget і, відповідно сам текст програми:

Тепер тиснемо кнопку Config на панелі Camera, переходимо на вкладку Scripts і в розділі Tracking Scripts в поле Tracking Start пишемо виклик нашого сріпта PursuitTarget:

ControlCommand ( "Script Manager", ScriptStart, "PursuitTarget")

а в поле Tracking End вписуємо:

ControlCommand ( "Script Manager", ScriptStart, "FindTarget")

Переходимо на вкладку Tracking Settings в розділ Movement Tracking і ставимо галочку у відповідного напису. Так само ставимо галочку у напису Allow Left / Right Movement. Зберігаємо. Тиснемо Refresh Device List, вибираємо Video Device: Brookstone_Rover, ставимо галочку на Debug і на Color. Переходимо на вкладку Color і виставляємо розмір і яскравість переслідуваного об'єкта. Тепер досить кинути червоний м'ячик перед "носом" нашого термінатора, як він тут же розпізнає його і активується. Після чого він почне його переслідування. Як тільки робот буде наштовхуватися на нього, то м'ячик, швидше за все, буде відкочуватися в сторону. Робот буде повертатися в його бік, а якщо він його зовсім втратить із виду, то він почне від'їжджати назад, повертаючись з боку в бік і намагаючись знайти мету, що переслідується.

Програмування AR Drone Parrot

Воно нічим не відрізняється. Додаються тільки команди запуску двигунів і посадки.

Easy-програмування танка-шпигуна - програмні продукти

Що далі?

У наступній статті є бажання описати приклад роботи на C #, при цьому прикручуємо лазерний ліхтарик і в купе з вебкамерой перетворюємо його в лазерний далекомір.

Схожі статті