+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 92.51 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Easy-программирование танка-шпиона

11.12.2012 11:37
0xy

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

Начнем с того, что такое Brookstone Rover Spy Tank


Brookstone Rover Wireless Spy Tank - это беспроводной управляемый танк. В качестве пульта управления выступает iPhone или iPad Связь происходит напрямую, через созданную Wi-Fi точку. Устройство оснащено вмонтированной видео-камерой, с помощью которой вы сможете наблюдать за окружающими. Так же на устройстве находится микрофон и инфракрасный излучатель, для съемок в полной темноте. Питается чудо-танк от шести батареек АА. Для владельцев устрйоств на Android есть реализация RoverOpen и доступна для скачивания в GooglePlay маркете по адресу play.google.com/store/apps/details?id=org.almende.roveropen

Недавно на рынке появились танки второй версии. В них добавили пару улучшений. Добавлен сервопривод, с помощью которого угол поворота видеокамеры управляется из приложения и динамик, через который Вы можете воспроизводить звуки. Помимо всего перечисленного, в вездеход добавили встроенные фонари, яркостью которых так же можно управлять дистанционно через приложение. Для данной версии танка существуют официальные приложения в App Store и в Google Play.

Управляем с PC

Если у Вас нет айфона или андроид устройства, то Вы, скорее всего, вряд ли приобретет такой гаджет. Но если очень хочется? Что тогда?

Есть такой прекрасный программный комплекс - EZ-Builder, инструмент канадского товарища. В нем уже реализован протокол обмена с AR Drone Parrot и Brookstone Rover Spy Tank. Программа написана на C#. Управление проще паренной репы. Качаем софт отсюда

www.ez-robot.com/EZ-Builder/

Установка проста и не требует описания.

Easy программирование на EZ-Script

В EZ-Builder есть возможность писать простые скрипты на встреонном скриптовом языке. Он чем-то напоминает бейсик. EZ-Builder позволяет запрограммировать поведение игрушки, не будучи профессиональным роботостроителем и инженером-программистом. На языке EZ-Script можно писать простейшие программы, с помощью которых можно управлять нашим ровером. Чтобы освоить их и понять принцип, добавляем на рабочий стол EZ-Builder консоль управления: "Script Console". Для этого достаточно нажать F3 либо выбрать ее в пункте Add Control -> Scripting -> Script Console.

Разберем несколько команд:

  • Sleep (milliseconds) - Задать паузу в миллисекундах. Пример паузы на 1 секунду: Sleep(1000)
  • SleepRandom (lowMilliSec, highMilliSec) - Пауза на случайную величину. Пример: SleepRandom(1000, 5000)
  • Forward( [speed], [milliSeconds] ) - команда двигаться вперед. Принимает значение скорости от 0 до 255 и время работы двигателя в миллисекундах. По умолчанию - бесконечно. Примеры: Forward(), Forward(50), Forward(255, 5000)
  • Reverse( [speed], [milliSeconds] ) - обратное действие комнды Forward, т.е. движение назад.
  • Stop() - остановиться.
  • Left( [speed], [milliSeconds] ) - поворот влево. Принимает значение скорости и время работы в милисекундах..
  • Right( [speed], [milliSeconds] ) - поворот вправо
  • # - комментарии
  • :Label - метка для команды GOTO(LABEL). Пример: :MyLabel
  • Goto( label ) - переход на метку
  • Return() - выход из GOTO на продолжение программы
  • Halt() - прекратитьв ыполнение скрипта
  • HTTPGet( url ) - послать GET запрос по заданному адресу
  • Print( txt ) - вывести текст в отладочную консоль
  • Exec( EXE/Bat File, [parameters] ) - вызвать внешнюю программу Windows
  • Browser( url ) - запустить браузер по заданному адресу
  • Tweet( message ) - послать сообщение в сервис Twitter.com. Для этого нужно сконфигурировать Твит-модуль: File->Twitter Settings. Пример: Tweet("I Love EZ-Robot!"). Пример отправки скриншота с камеры устроства в твиттер: ControlCommand( "Camera", CameraTweet, "Our New Image" )
  • ControlCommand(windowName, ControlCommandParameter, [values]) - выполнить команду, обратившись к компоненте по ее имени, где windowName - имя окна на рабочем столе EZ-Builder, ControlCommandParameter - команда, [values] - дополнительные необязательные параметры, зависящие от контекста вызова.

Получить справку по всем командам всегда можно на специальных вкладках либо вызвав соответствующий хелп через:

Help -> Print Script Manual

Учим следить за объектами

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

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


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

forward(255)

Это нам нужно только для того, чтобы выставить скорость движения вперед на максимум, так как в программе поиска цели мы ее снизим. Снова жмем Add Script, в поле Name пишем: FindTarget и, соответственно сам текст программы:

$findTargetSpeed = 100
$iteration = 0

:Loop1

 reverse($findTargetSpeed,1000)

 # Процесс осмотра
 left($findTargetSpeed, 2000)
 right($findTargetSpeed, 4000)
 left($findTargetSpeed, 2000)

 $iteration = $iteration + 1

 if ($iteration > 4)
   return()

goto(Loop1)

stop()

Теперь жмем кнопку 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

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

Что дальше?

В следующей статье есть желание описать пример работы на C#, при этом прикручиваем лазерный фонарик и в купе с вебкамерой превращаем его в лазерный дальномер.

 

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года