понедельник, 3 декабря 2012 г.

Наш блог переезжает

Блог оказался очень полезной штукой, а теперь и его мало. Здесь можно устраивать обсуждения, но очень неудобно хранить знания. А часть постов этого блога – это уже не обсуждение, а информация – "статья". Для статей нужен удобный классификатор, и не очень-то нужны комментарии.

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

Добро пожаловать на наш новый сайт www.robot-mitya.ru.

воскресенье, 7 октября 2012 г.

И снова о дистанционном управлении

Дистанционное управление
Что-то никак я не отойду от этой темы. Но у Алексея появилась прекрасная идея. Сейчас для дистанционного управления нашим роботом требуется Windows-клиент. Да, он не сложный и его содержимое можно портировать на любые ОС, включая мобильные. Но Алексей предложил использовать в качестве клиента браузер. Если получится, то погонять своим  роботом по квартире можно будет с любого компьютера и из любой точки, где есть интернет. Давно хотел, чтобы друзья могли виртуально сходить ко мне в гости.

Трансляция видео и аудио у нас сейчас выполняются посредством Android-приложения  IPWebcam, а оно и предполагает воспроизведение в браузере. Эта часть работает, я проверял. Правда, воспроизведение звука кэшируется браузером и есть очень существенное отставание. Но наверняка это можно побороть. Остаётся передача команд роботу. Управление, по возможности, оставить бы прежним. Где это невозможно, обсудим и приведём к общему знаменателю.

Прелесть задачи в том, что робот пока не нужен. Достаточно Android-смартфона с нашим приложением. На первом этапе можно поработать с командами, выполняющимися на уровне смартфона: смена мордочек, например. А позже хорошо бы сделать какой-то эмулятор для тестов. Ну и могу предоставить Митю для опытов.

Есть желающие взяться за такую задачку?

среда, 3 октября 2012 г.

Обсудим планы?


Наблюдение с выставки: очень многие посетители подходя к Мите махали перед его лицом рукой и ждали какой-нибудь ответной реакции. Зря. Ничего он пока не умеет. Мордочки, хвост, рефлексы, всё это хорошо и очень пригодилось для презентации. Дистанционное управление и трансляция видео и звука тоже очень интересно и может найти Мите хоть какую-нибудь работу по дому, но надо признать – мозг у Мити только спинной.
Предлагаю замахнуться на наше всё – на интеллект. Я очень давно ждал этого момента и, наконец, Митя достаточно окреп, чтобы можно было заняться его головой.

Давайте поделимся идеями на этот счёт. Я пока накидаю темы из того, что уже где-то обсуждалось нами:
  • распознавание голосовых команд;
  • слежение за цветовым пятном;
  • узнавание предметов;
  • распознавание лиц;
  • автоматический поиск и подключение к зарядному устройству;
  • ориентация в квартире.

Что интересного я забыл? Можно обсудить в комментариях, по ходу я буду подправлять статью. Только есть одно предложение: давайте двигаться от простого к сложному, причём в первую очередь я бы выбирал именно зрелищные задачи. Мне бы хотелось не забывать о привлечении новых участников в наш проект, значит будут видео, статьи, пиар и было бы здорово, если бы наши первые опыты в части ИИ были бы интересны не только нам.

вторник, 2 октября 2012 г.

Робот Митя на YaC2012

Недавно Luke_skypewalker показал нашего робота на фестивале Chaos Construction 2012 в Питере, а теперь и я могу похвастаться как мы с Алексеем поучаствовали в робототехнической выставке в рамках Yet another Conference 2012 (YaC2012). Большое спасибо моему другу Михаилу за помощь в подготовке к выставке и за фотографии и видео с конференции.

От выставки я получил огромное удовольствие. Подготовка началась за две недели и ужасно вымотала, но результат, определённо превзошёл мои ожидания. Основной упор я делал на презентационную часть. Внешне мой Митя обзавёлся шерстяной шкуркой, которую сшила любимая жена и собственным шарфом, связанным любимой тёщей. Внутренне Митя получил несколько новых поведенческих рефлексов. Более того, эти рефлексы теперь можно описывать на РобоСкрипте и сохранять в конфигурационном файле управляющего Windows-приложения, чтобы вызывать по горячим клавишам. Так мы с Митей разучили пару танцев, заготовили музыку и всё это продемонстрировали на выставке. Кстати, Luke_skypewalker говорил после Хаос Констракшн, что было бы очень здорово, если б Митя умел реагировать на поглаживание или демонстрировать своё раздражение, например. Я добавил реакции на почёсывание лба Мити и тыканье в глаз и в нос. Пригодился РобоСкрипт, потому что реакция это не просто смена мордочки, но набор движений головой, хвостом, колёсами. И действительно, это очень оживило нашего робота. Некоторые девушки подходили по несколько раз, приводили подруг! Предупреждали бы заранее, я бы ещё что-нибудь такое сделал.

Алексей тоже напрягся и успел собрать своего такого же робота. Это было кстати, потому что мне очень хотелось представить не просто робота, которого собрал один робототехник-любитель, а Платформу, которую могут собирать и другие любители. Я думаю, что пока наша платформа – это идеальная игрушка для программиста. Мы добились её низкой стоимости и простоты сборки. Все детали серийные, да и могут быть заменены при желании. Наверняка с такой сборкой справится любой программист, а вот дальше перед ним открывается возможность делать всё что угодно. Важно только поддержать наш простой протокол для связи между уровнями: контроллер – смартфон – ПК.

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

Вот эти мысли я старался донести до наших посетителей. Уже стало совершенно очевидно –  проекту нужен свой сайт, и я обязательно его сделаю в ближайшее время. Интерес к нашим роботам на выставке, неожиданно для меня, оказался очень живой. 120 визиток, заготовленных нами, исчезли вмиг, а выставка только началась.

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

А теперь небольшой "телефонный" фото- и видеоотчёт моего друга Михаила.

понедельник, 1 октября 2012 г.

Добро пожаловать!


Знакомьтесь – робот Митя



Совершенно не предполагал, куда заведёт меня тихое домашнее помешательство на робототехнике. Ничем не обязывающий спор в офисе около года назад не только привёл к тому, что пришлось сделать робота, но и многое для меня открыл.

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

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

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

вторник, 25 сентября 2012 г.

Рефлексы и РобоСкрипт


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

четверг, 30 августа 2012 г.

Управление роботом

Первый вариант управления роботом Митей я делал ориентируясь на геймпэд XBOX360. Когда мы решили модернизировать нашу платформу и уже на практике использовать одно ПО для всех наших роботов, появилась необходимость переделки управления подо что-то более распространённое. Это я о клавиатуре. Сейчас задействовано уже много всяких кнопок, поэтому давно пора описать управление роботом.