roboforum.ru

Технический форум по робототехнике.

Кролики, это не только ценный мех…

Обсуждение и примеры готовых и самосборных компонент для построения роботов.

Кролики, это не только ценный мех…

Сообщение Scorpio » 01 окт 2013, 18:46

а еще и симпатичный робот - компаньон Karotz.
zay1.jpg

Гаджет появился на рынке довольно давно и про него немало восторженных отзывов. Я же с ним встретился впервые, и считаю своим долгом поделиться впечатлениями с робостроителями.
А вы уж читайте, или «как вам будет угодно»… :)

Итак, создатель кролика, один из основателей французской компании Violet, Раффи Аладжян, сделал упор на дизайн умной игрушки. И, надо сказать, это ему удалось. Симпатичный зверек не оставляет равнодушным ни детей ни взрослых. Но, про это уже много написано, а моя задача разобраться с ТТХ устройства и оценить его возможности применительно к нашему не легкому, но интересному делу – построению роботов :roll:

Karotz1.jpg


Немного истории все же не помешает. Первой версией гаджета был Nabaztag – «кролик» по-армянски, что говорит о национальности его создателя. Рожденный в 2005 году, Кролик поначалу довольно бодро продавался, что привело к тому, что в конце 2006, «виолетовые» серверы перестали справляться с расплодившимися интернетозависимыми питомцами. Что вызвало справедливое негодование пользователей. Несмотря на то, что «виолетовцы» пытались улучшить свою серверную инфраструктуру, дела пошли хуже. И, в связи с финансовым кризисом, осенью 2009 года Аладжяну пришлось продать Violet и брэнд Nabaztag британской корпорация Mindscape всего за 350 000 €. Которая и выпустила современную версию робота, названного Karotz. Новый кролик работает с обновленной прошивкой, более стабильными серверами и стал более популярен. В 2011 году, опять же французская компания Aldebaran-Robotics, известная нам по роботу NAO, вроде как заглотила Mindscape вместе с кроликами. Однако, для пользователей Karotz остался «виолетовым» (по крайней мере на официальном сайте никаких упоминаний о новых хозяевах нет).

Hardware1.jpg

Железо:
Настало время заглянуть под ценный мех 100-еврового ушастого зверя: «У ей внутре неонка!» (Стругацкие «Сказка о Тройке»)
Кроме «неонки»
- трехцветного светодиода в пузе, для выражения эмоций,
есть еще:
- моторчики привода ушей с энкодерами положения (вращающиеся на 360° основания, к которым крепятся ушки на магнитиках);
- пользовательская кнопка на макушке;
- считыватель RFID с I2C интерфейсом (в области носа);
- микрофон, динамик, регулятор громкости, технологический разъем в дне для подключения аудио док-станции (стандартного стерео разъема нет);
- WI-FI модуль. Антена слабоватая, из соседней комнаты может уже и не поймать точку доступа. В комплекте идет адаптер USB-LAN;
- 2 USB порта (один из них мини) с максимальной нагрузкой 500mA + выведенный на плате СОМ- порт;
- WEB камера (640х480) с ручной регулировкой вертикального угла обзора, горизонтальный меняется вместе с поворотом корпуса;
- и, сама мать (ARM9, 400 MHz, 64 MB RAM, 256 MB Flash Memory);
- питается все это добро от внешнего адаптера 5В, 2А. На автономную работу зверь не рассчитан, бегать- прыгать, однако, не может. Что свойственно разве что зайцу - инвалиду.
Фи! Скажете вы. За 130 вечнозеленых видали мы железо и покруче. Но не забывайте, что фишка в дизайне. Ушастого приятно взять в руки и не стыдно поставить на видном месте.

Программное обеспечение:
Ядро Linux 2.6, uClibC, BusyBox и многое другое.
Линуксоиды могут подключить Telnet через USB порт,
и делать с системой, что пожелают. Я же с Пингвинами дружу не очень, поэтому ограничусь кратким описанием возможностей, которые официально предоставляет пользователю разработчик.
architecture_karotz.png
architecture_karotz.png (61.24 КиБ) Просмотров: 2808

Как видно из картинки, система Karotz состоит из нескольких независимых программных модулей, процессы в которых общаются по шине D-BUS.
- Контроллер выполняет общее управление и связь с серверами,
- Виртуальная машина обеспечивает компиляцию пользовательских сценариев и их функционирование,
- Планировщик обеспечивает запуск определенных сценариев в определенное время,
- Модуль, названный “Choreography”, видимо управляет эмоциями кролика,
- VOIP организует соответствующую связь между двумя кроликами.

Модули, к которым имеется непосредственный доступ из Karotz SDK:
- LED, управление многоцветным светодиодом. Пользователь может установить RGB цвет, задать режим мигания, или фейдера;
- BUTTON, отлавливает разные виды нажатий кнопки на макушке кролика;
- EARS. Ушам придается большое значение. Подвижные уши, это, собственно, главная фишка, придающая изделию шарм. Кроме установки положения ушей, и задания им кругового вращения (скорость вращения фиксирована), можно использовать их, как устройство ввода. Когда пользователь поворачивает правое или левое ухо рукой, то программа получает соответствующие события (начало движения, конец движения) и данные (количество прокрученных положений, время движения).
- RFID, считывает ID чипа. Я так понял, что распознаются только «штатные» чипы - зайчики, т.е. номера, зарезервированные для Karotz. 2 даются в комплекте, еще десяток можно приобрести дополнительно. Не могу назвать это преимуществом. Антена у модуля слабая. Метку надо практически совать кролику в морду, чтобы сработало. RFID выполняет еще одну практическую функцию: запуск пользовательского приложения. О чем будет сказано ниже. Интерфейс I2C модуля, видимо можно будет использовать для навешивания дополнительного железа.
Rfid1.jpg

- MULTIMEDIA. Проигрыватель файлов WAV, MP3, с внутреннего или внешнего флэш- накопителя. Кроме того проигрывание потокового "видео аудио, доступного в WEB. Динамик в зайце не особо громкий, а звук не очень качественный. Не понятно, почему Каротца лишили стандартного аудио-разъема, который был в Набазтаге. Видимо считается, что звук должен исходить из кролика, а не из колонок на стене. При использовании док-станции с усилителем, эффект присутствия всё-таки не теряется. Что касается записи с микрофона, то существует единственная возможность записи. Зато сразу во FLAC формат. Прослушать файл, либо сохранить его во внутреннюю память невозможно.
- VOICE. Кролик намеренно задуман без всяческих экранчиков, для улучшения здоровья населения, «которое и так слишком много времени проводит, глядя в мониторы» (цитирую Раффи Аладжяна). Поэтому, голосовой интерфейс считается у гаджета основным. Распознавание и синтез речи выполняется на серверах «Nginx on EPEL». Качество распознавания и синтеза хорошее. Время реакции, при быстром интернете, не хуже Гугла. Но, есть ряд ограничений. Единственный голос для синтеза, правда можно подстроить интонацию. Для распознавания, надо задавать словарь возможных фраз, что не всегда приемлемо. И, наконец, самое важное – русский язык не поддерживается. Кроме французского, кролик владеет английским, немецким и испанским. Думаю, этим, в совокупности с отсутствием русскоязычной документации, объясняется не большая популярность гаджета в России.
Однако, благодаря возможности записи во FLAC, можно использовать гугловскую распознавалку. В сети есть примеры. У меня с пока не получилось, но, надеюсь, получиться, когда смогу уделить этому больше времени. Для синтеза русской речи, попробовал воспользоваться сервером Acapella. Работает, если задавать русские слова латинскими буквами. В какой кодировке я должен скормить «Алёне» русские буквы, я так и не понял.
- WEBCAM. Позволяет отправлять JPG снимки и MJPG видео на пользовательский РНР сервер. Можно использовать стандартное приложение для просмотра видео на сервере Violet, превратив т.о. кролика в IP камеру. К сожалению, никаких возможностей по сохранению снимков на локальном диске и их последующего анализа не предусмотрено. Даже датчик движения не сделаешь.
- COM. Хоть на картинке этот модуль и не указан, он существует. И тем самым делает кролика для нас более привлекательным. Например можно подключить ардуино к одному из USB-портов ушастого, со всеми вытекающими последствиями  Кто-то даже поставил кролика на колеса. Более продвинутые пользователи, смогут настроить линукс для работы с ВТ свистком. Ну, и просто можно подключить терминал, для отладки программ.
- WEB. Важная функция SDK, не связанная с железом, это возможность выполнять Http – запросы, считывать и парсить содержание WEB – страниц.
- FILE. Работа с файлами ограничена текстовым форматом.

Разработка приложений.
Пользователю предоставлены 2 возможности для создания своих приложений:

WEB API: Интерактивный режим. Приложение выполняется на пользовательском PHP сервере, а кролик выполняет управляющие команды, посылаемые через сервер Violet. Каждый сеанс связи начинается с запроса уникального ID генерируемого кроликом каждые 15 минут. Если пользовательский сервер находится в одной локальной сети с Karotz, то можно, для передачи команд можно воспользоваться программой стороннего разработчика. http://wizz-cc.blogspot.fr/2012/06/karo ... rface.html. Преимущество интерактивного режима в том, что пользователь может написать программу любой сложности на любимом языке. Понятно, что при этом пользователь д.б. более или менее продвинутым, чтобы организовать собственный сервер и привязать к нему свой софт.
JAVASCRIPT SDK: Встроенный режим. Сценарии, написанные пользователем на Javascript (который, у меня, например, не вызывает таких негативных эмоций, как одноименный язык) компилируются и выполняются VM Karotz. Для предварительной отладки приложений, до загрузки в кролика, существует специальная версия VM Karotz, выполняющаяся на ПК. Кролик в этом случае работает в интерактивном режиме. Отладку в командной строке нельзя назвать удобной. Объемный сценарий вообще наверное не отладить. Или отлаживать по кусочкам. Кроме того, не все функции, доступные во встроенном режиме, работают в отладочно-интерактивном. Например, невозможна работа с СОМ- портами. С другой стороны, уже отлаженный в интерактивном режиме скрипт почему-то не всегда работает внутри кролика. Надо учитывать всякие не очевидные моменты. Впрочем, это уже материал для «туториала» по программированию, который я может быть навояю в обозримом будущем. Для отладки программы во встроенном режиме, можно использовать терминал, подключенный к USB кролика.
Учитывая скромные возможности нашего кролика, встроенный режим мне кажется более востребованным. Не смотря на скудность документации, большая часть которой на французском, любой начинающий юзер сможет получить удовольствие, подчинив своей воле ушастого зверя.  С другой стороны, если использовать кролика, как часть системы управления «умным домом», например, более подходит интерактивный режим.

Загрузка и запуск скриптов.
Если отладку скрипта можно кое-как выполнить в локальной сети, то его загрузка в кролика возможна только через сервер Violet. При этом надо выполнить некоторые обязательные ритуалы.
Зарегистрировать приложение, создать его описание, выбрать иконку, подготовить пакет для загрузки и т.д. Сервис работает надежно, но необходимость кучи манипуляций, чтобы изменить одну строчку в собственной программе, в собственном кролике, весьма раздражает.
Зато потом, отлаженное в кролике приложение можно отправить прямиком в магазин приложений, если это кому-то может понадобиться.
После того, как ваш скрипт наконец загружен в кролика, вам понадобиться как-то его запустить в работу. Так ка экрана с мышкой нет, с какой стороны не посмотри, то разработчику ничего не оставалось, как предоставить пользователю следующие варианты запуска:
- Запуск по расписанию, в заданное время, или запуск с определенной периодичностью. Может пригодиться для программ – напоминалок.
- Запуск с помощью RFID- зайчиков, зарегистрированных на сайте для данного пользователя. Понятно, что одному зайчику может соответствовать только одно приложение.
Config.jpg
Config.jpg (18.57 КиБ) Просмотров: 2806

- И, наконец, самый популярный способ: запуск приложения по ключевой фразе. Кролик должен общаться с владельцем, как живой.

Одновременно, возможно выполнение только одного скрипта. Параллельные процессы можно организовать с помощью событий и таймеров внутри программы.
Надо отметить, что кролик полностью «виолетозависимый». Без связи со своим родным сервером опускает уши, светится красным, пользовательские программы не запускаются, а запущенные зависают.

Магазин приложений.
В заключение скажу о многочисленных приложениях, разработанных пользователями. Их несколько сотен, в основном на французском и английском. Платных я пока не видел. Не смотря на значительное количество, все приложения можно разделить на 4 большие категории:
- будильники – напоминалки;
- Прослушивание интернет – радиостанций;
- Проверка почты и сообщений в социальных сетях;
- Прогноз погоды, курс дорала, и все, что можно качнуть с WEB страницы и пропарсить.
Режим VOICE IP как-то не получил ожидаемой популярности. Видимо немногочисленные владельцы кроликов не очень знакомы между собой.
Краткие выводы: Гаджет прикольный, годиться для начинающих робостроителей, чтобы получить быстрый результат, хотя и не без мучений, и насладиться работой своих первых программ. Более опытные, предпочтут распечатать подобный корпус в 3D, и вставить туда свое железо без всяких «виолетовых» примочек.

Пока все.
Karotz_Sad.jpg
Karotz_Sad.jpg (3.74 КиБ) Просмотров: 2798

Простите, если кого утомил, но я и не обещал, что буду краток.
Аватара пользователя
Scorpio
 
Сообщения: 2669
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Вернуться в Готовые модули

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron