четверг, 12 марта 2009 г.

Введение

Пару месяцев назад хотел завести себе блог. Но я почему-то решил блог завести на LiveJournal, и только через несколько месяцев я понял, что что-то не так. Все-таки ЖЖ слишком социальная какая-то...
Ну вот теперь я здесь и пару постов и ЖЖ переместил сюда. Переместил не все сообщения и тему сузил. В ЖЖ начинал блог как мысли о ИИ, потом сфокусировался на роботе, то есть хотел робота себе сделать и писал желания эти в жежешечку, и только когда я понял что от желаний до реализации в моем случае очень далеко я все-таки решился обозначить тему совсем узко, но более реально. Будем делать "Лабиринт". Даже и не знаю стоит ли в этом сообщении описывать проект? Скорее всего стоит, ибо это будет так сказать вводное сообщение.
Лабиринт - это комплексный проект, требующий от автора (меня то есть (: ) всесторонних знаний, то есть исследований, ибо знаний в данный момент не так много. Хочу сделать следующее: поставить в кладовке комп, к нему подключить веб-камеру, которая будет направлена на некий механизм. Механизмом этим будет управлять компьютер, то есть человек по средствам этого компьютера. Далее поднять сайт проекта, на котором кроме описания будет страничка с кнопками управления и картинкой с веб-камеры, то есть посетитель сайта будет смотреть на механизм и управлять им. Изначально я придумал сложный механизм в виде пятнашек на основе электро-магнитов. Позже разумеется я понял, что идея с пятнашками на магнитах убога и придумал сделать лабиринт... ну то есть не совсем придумал, точнее сказать мне подкинул эту идею друг Косяк, который, кстати, тоже готов участвовать в этом проектик, но я на него не очень надеюсь, ибо разгильдяй он редкостный. А идея с лабиринтом проста как 3 рубля: фанера (пол лабиринта) ставится на два серво-привода и на ней размещаются стены лабиринта. В начало лабиринта бросаем шарик. Таким образом наклоняя лабиринт в сторону мы приводим шарик в движение. Задача - заставить шарик взлететь! Шутка! Нужно привести шарик к выходу из лабиринта, то есть к дыре в полу.
Ну и справедливости ради замечу, что как таковая идея создания интерактивного механизма с использованием веб-камеры принадлежит не мне. Я где-то вычитал про проект в каком-то университете, в котором была установлен роботизированный манипулятор в виде человеческой руки, управляя которым посетитель сайта мог посадить зернышко, а затем за ним ухаживать. Сам проект к соажлению я не нашел (
Получаем, что мне нужно изучить:
- Программирование lpt порта (может другого какого-нибудь, но пока я настроен на параллельный lpt) в c++ под linux
- Способы трансляции видео-потока с камеры на http-сервер под управлением linux. Это может осущиствить программа Red5
- Программирование в AJAX для создания страницы с кнопками управления лабаринтом

среда, 21 января 2009 г.

То, что предшествовало началу работы над проектом "Лабиринт"

У меня имеется две идеи, и обе косаются игры пятнашки. Сейчас я расскажу (и достаточно коротко) лишь об одной из них - Пятнашки Механические. Это идея далеко не приоритетная, так что может она так и останется идеей, а может я постарею и от скуки, пролистывая свой журнал наткнусь на эту запись и... огорчусь, что не занимался ей пока был молодым =) Ведь к тому времени когда постарею изобретут искусственный интеллект и землю наполнят роботы, жаждущие убить всех человеков, так что до допотопных механических пятнашек никому не будет дела =(

Ладно, переходим к делу, к сути, так сказать вопроса. Хочу сделать пятнашки механические и управляемые с com или lpt порта. Основана это конструкция будет, по-видимому на электромагнитах. С порта компьютера подается напряжение на все неподвижные магнитные платформы под движущимися металлическими пластинами, за исключением место, которое должно освободиться,. таким образом нужная нам пластинка съедет в пустое намагниченное пространство. Конечно напряжение не обязательно подавать на ВСЕ платформы, достаточно на четыре: на три вокруг пустой и непосредственно на пустую, тогда пластинке с потенциально пустой платформы будет некуда деваться и ей придется соскользнуть в свободное ненамагниченное пространство.

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

Немного полезных ссылок по поводу red5 и lpt

Хотел бы извиниться перед своими _многочисленными_ ;) читателями за то что уже давно ничего не писал по теме, да и похоже еще не очень скоро чего-то напишу. Дело в том, что у меня сейчас сессия, а потом на работе надо будет разгребстись. Так что едиственное что могу предложить — это маленький планчик с ссылочками соответствующими. Мне этот план действий тоже будет полезен... я, пожалуй, только для себя это и делаю ;)

А в планах у меня всего два пункта:

- Поставить дома сервер Red5 для того чтобы в реальном времени передавать на сайт потоковое виде с веб-камеры (не фотографировать каждое энное количество времени, а и менного потоком транслировать видео). Нарыл пару ссылок, в принципе гугл их не прячет, просто удобнее записать, чтобы потом не выделять лишний углекислый газ* в атмосферу

http://osflash.org/red5/suse — установка под suse, но разумеется можно исользовать этот не русский хелп для других дистров

http://yarovoy.com/2007/06/27/getting_started_with_red5_server/ - достаточно подробное описание для быстрого старта

http://www.osp.ru/pcworld/2008/09/5643883/ - очень коротко про флеш-программирование

http://racer242.blogspot.com/2009/01/blog-post.html — сохраняем звук с микрофона на сервер

- Ну и настроить работу моего Debian с последовательным портом (пока LPT). Ссылок на эту тему у меня маловато конечно.... просто я уже скачал пару статей и книгу по созданию драйверов в linux. Хм... да у меня не то что мало ссылок - у меня всего одна, да и еще извращенская какая-то =)

http://www.pereplet.ru/nauka/perl/lpt.html — статья про то, как на языке С управлять LPT портом, а затем внедрить этот Си код в perl. Извращение скажете вы? А мне как раз это и нужно... примерно...


Как только начну работать в этом направление сразу отпишусь.

четверг, 6 ноября 2008 г.

Мини-обзор робо-конструкторов и не только

Очень краткий обзор конструкторов для создания роботов, сред их программирования и on-line магазинов этой же тематики. Для этого обзора я активно использовал очень занимательный блог "Роботы и робототехника" (http://insiderobot.blogspot.com/), РобоФорум (www.roboforum.ru) и не только.
Восновном я этот обзор делаю для себя, чтобы не забыть, так как сам я еще не очень подробно вникал в некоторых персонажей обзора, но тем не менее некоторые продукты (например от M$), которые меня вовсе не интересуют, но могут быть полезны случайному поситителю.

КОНСТРУКТОРЫ:

- iRobot Create
это оригинальная вариация всемирно известного робота-пылесоса iRobot Roomba.
Hacking Roomba англоязычнй ресурс, посвещенный iRobot
http://ru.youtube.com/watch?v=UT2bPx9k7D4 - ссылка на видео демонстрацию на YouTube
www.irobot.com - официальный сайт продукта

- ER1 от Evolution Robotics
Смысл заключается в создании тележки для ноутбука, и управлению с ноутбука этой тележкой. Стоит это добро 7500$!
http://www.evolution.com/er1/what_overview.masn - страница проекта на сайте Evolution Robotics

- Lego Mindstorms NXT
Конструктор Lego, ориентированный на создание программируемых роботов. Стоит $200 - $300

- MiniBot
Нехитрый, но при этом интересный и не накладный проек miniBot. Созданный российскими радиолюбителями для начинающих "роботострителей". Весь проект, собственно сводится к распространению нехитрого программируемого робота с описанием схем и возможностью доработки его напильником
В комлектацию входит:
  • МиниБот комплект #1 - 750р.
  • Комплект механики для МиниБота - 400р.
  • Программатор LPT порт STK200 - 250р.
  • Плата интерфейсная USB-UART со шнурами и подачей питания для робота МиниБот - 350р.
  • ИК-приемник TSOP1736 3-х вольтовый - 75р.
  • Кварц 7.3728 МГц HC-49S усеченный + запайка - 35р.
  • CD-диск с демо версией Bascom AVR Basic - бесплатно
Все это добро можно купить скопом за 1860 руб., а можно по отдельности, и это не полный список (хотя почти полный)

http://www.minibot.ru/ - официальный сайт проекта

СРЕДЫ РАЗРАБОТКИ:


- OROCOS - (Open RObot COntrol Software) - это, как видно из названия, открытое программное обеспечение для управления роботами. К сожалению, у OROCOS отсутствуют как графические инструменты разработки, так и симуляционная среда; по сути дела это всего лишь набор библиотек для работы с роботами. Впрочем, иногда, чисто программистский подход - это намного лучше концептуально новых, и оттого непонятных, графических сред...
http://orocos.org/ - официальный сайт
- Skilligent - эта фирма является лидером в области технологий обучения роботов и их взаимодействия с окружающей средой. Философия Skilligent - отказаться от жесткого программирования функций робота, и сосредоточиться на предоставлении интерфейса для обучения робота любым функциям
Основной продукт фирмы называется Robot Learning and Behavior Control System, и в его составе поставляются следующие модули:
  • Система машинного зрения, позволяющая распознавать и отслеживать объекты, описания которых берутся из соответствующей базы данных.
  • Система навигации, которая берет на себя функции ориентирования в знакомых помещениях. Знакомыми помещения становятся после обучающей сессии...
  • Урезанная версия отказоустойчивой системы управления (Fault-Tolerant Control Framework), служащей для координации работы всех остальных модулей.
http://skilligent.com/ - официальный сайт

- Urbi от Gostai
Мощная кроссплатформенная (!!!) модульная система
http://gostai.com/ - официальный сайт компании Gostai

- ERSP от Evolution
ПО для конструктора ER1. Состоит из трех основных частей: модуля визуального распознавания, модуля ориентирования (также с использованием веб-камеры), и операционной системы робота.

Очень наглядная табличка, стянутая с http://insiderobot.blogspot.com/2008/07/blog-post_24.html


МАГАЗИНЫ:

http://robotronic.ru/
http://www.minibot.ru
http://www.roboforum.ru/viewtopic.php?f=16&t=4608
http://stepmotor.ru/