3d форум по Blender

Работы => Персональные проекты => Тема начата: andrey от 04 Февраль 2011, 23:35:39

Название: 3D консоль для управления роботом
Отправлено: andrey от 04 Февраль 2011, 23:35:39
Привет, народ!

В качестве хобби, я делаю железо и софт для машинки, которой можно управлять через интернет. Данные, полученные с бортовых сенсоров и видео с камеры показываются "водителю" с помощью соответствующей программы - консоли управления (подробности, можно почитать на блоге: http://veter-project.blogspot.com). Об этой программе и идет речь.

Весь интерфейс консоли управления представляет собой 3Д сцену нарисованную в Блендере и экспортированную в Wavefront .obj/mtl файл. Программа находит в этом файле объекты с известными именами и модифицирует их. Например, накладывает на план текстуру с принятым видео кадром или крутит руль когда водитель нажимает на стрелочки или двигает джойстик. Выглядит это всё сейчас вот так:
(http://3.bp.blogspot.com/_zYpimT0A87Q/TLYjqDIS9QI/AAAAAAAAABc/he7BcphYjpQ/s1600/cockpit-snapshot1.jpeg)
Я думаю, что после просмотра этой картинки, сразу становится понятно почему я решил поискать помощи  3Д дизайнера :) .

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

 Сейчас это полностью открытый проект (http://www.gitorious.org/veter). Я пытаюсь, по мере возможностей, рекламировать проект, например делая доклады на подходящих конференциях. Последней была Gstreamer конференция (про это тоже можно на блоге почитать). Разумеется, что работу 3Д дизайнера я в таких случаях буду отдельно отмечать. В ближайшем будущем, я планирую организовать коммерческие (за деньги) гонки через интертет на таких машинках, плюс начать продавать их для народа, интересующегося робототехникой и компьютерным зрением. Таким образом надеюсь заработать первый миллион :) . Но для этого нужно кое что ещё доработать и, соответственно, наверно понадобится работа дизайнера. Это я к тому написал, что есть надежда (по крайней мере у меня), что этот проект начнет в обозримом будущем, в том числе, приносить и деньги.

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

Андрей.

Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 05 Февраль 2011, 23:16:40
supercar! знаю что bdancer такие штуки любит, но у него управление интегрировано сразу в блендер ...

Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 06 Февраль 2011, 01:18:13
supercar! знаю что bdancer такие штуки любит, но у него управление интегрировано сразу в блендер ...

Интересно. А где можно поподробнее об этом почитать?
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 06 Февраль 2011, 07:24:37
... afaik, "механику" делал Valter, он об этом много чего рассказывал на BlenderCamp 2009, bdancer модифицировал код под Blender интерфейсы "механики" ...
... вот ссылка на раздел Аниматроники http://www.grankovsfx.ru/html/animatronic.html ...
Название: Re: 3D консоль для управления роботом
Отправлено: bdancer от 06 Февраль 2011, 08:55:26
Цитировать
А где можно поподробнее об этом почитать?
Можно тока посмареть ) По ссылкам sungreen или тут http://www.youtube.com/user/izrantsev
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 06 Февраль 2011, 23:00:59
Если я правильно понял, то объект упрваления подключен к тому-же компу на котором работает Блендер. У меня была цель упрвалять объектами через В-лан (ну или вообще через интернет) плюс стриминг видео с бортовой камеры.  Кстати, до удаленных интерфейсов управления можно и на Питоне добраться  ;)
Название: Re: 3D консоль для управления роботом
Отправлено: bdancer от 07 Февраль 2011, 08:23:16
Цитировать
Если я правильно понял
Да, именно так.
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 07 Февраль 2011, 13:09:45
Это все конечно интересно, но вопрос мой был на самом деле не о том кто еще умеет как-нибудь серво-моторами управлять, а о том нет ли у кого-нибудь желания помочь нарисовать интерфейс (см. первый пост).
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 07 Февраль 2011, 13:31:19
>> Буду рад любым контактам.
... andrey, собственно исходя из этого ответы и были, но понятно что нужно идеей проникнуться ...
... почему рисовать нужно в blender? что именно нужно сделать сейчас в blender? ...
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 07 Февраль 2011, 15:34:46
>> Буду рад любым контактам.
... andrey, собственно исходя из этого ответы и были, но понятно что нужно идеей проникнуться ...

 :) Согласен. И мне действительно интересно было посмотреть на то, что bdancer делал.  Это я так просто хотел обсуждение вертуть в интересующее меня направление  ;)


... почему рисовать нужно в blender? что именно нужно сделать сейчас в blender? ...

На самом деле не обязательно в blender. Моя прога работает с .obj/mtl файлами. Просто блендер проще всего найти и установить, под линухом работает... вобщем для типичного опен-соурс проекта подходит хорошо.

что именно нужно сделать сейчас в blender? ...

Если отвечать совсем коротко, то нужно вместо того, что нарисовано в существующем варианте: http://www.gitorious.org/veter/veter/blobs/master/misc/panel.blend нарисовать что-нибудь такое, чтобы красиво выглядело.

Я задал аналогичный вопрос на http://blender3d.org.ua/forum/other/737.html .  Там обсуждение чуть дальше продвинулось и я там более подробно написал о том как я себе это все представляю. Я думаю, что не имеет смысла копировать там написанное в этот форум. Поэтому, если есть желание, то можно там почитать. Ну и самое подробное описание я планирую разослать сегодня или завтра в недавно созданный маиллист, который я сделал для обсуждения всех деталей: http://groups.google.com/group/veter-project/. Подписаться проще всего через ссылку на блоге http://veter-project.blogspot.com/ (в правом верхнем углу).

Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 08 Февраль 2011, 07:33:42
... первое что приходит в голову - вытянуть все это в ширину, тестовую часть перенести в правую сторону, руль расположить по центру виювера ...
... будут ли ограничения на размеры элементов? ...
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 08 Февраль 2011, 13:06:35
... первое что приходит в голову - вытянуть все это в ширину, тестовую часть перенести в правую сторону, руль расположить по центру виювера ...
Мне кажется это хорошая идея. Экраны все практически вытянуты в ширину, т.е. по горизонтали больше места. А я еще подумываю про версию для телефона. Там горизонтальное расположение тоже наверно лучше будет выглядеть.

... будут ли ограничения на размеры элементов? ...
Вобщем-то нет. Главное, чтобы все помещалось на экране (в идеале без необходимости скроллинга). Видео сейчас идет 640х480. Поэтому хотелось бы, чтобы при отображении пропорции (длинна/ширина) оставались такими-же, чтобы умерьшить разные искажения изза масштабирования. У разных объектов управления (машинок, вертолетов, и т.д.) разный набор бортовых сенсоров. Поэтому желательно интерфейс спланировать как-то так, чтобы можно было показывать разный набор (он выясняется динамически во время запуска программы). Сейчас я поддерживаю вот этот набор сенсоров: барометр, температурный сенсор, сонар (меряет расстояние до препятствия), компас, камера, GPS, абсолютное положение в пространстве (три угла поворота вокруг осей координатной системы связанной с землей), "сенсоры" регистрирующие действия водителя (руль с педалями газ и тормоз/джойстик/кнопки на клавиатуре).

Я собирался вчера закончить документ с этими и другими подробностями, но не успел. Надеюсь сегодня сделать и разослать.
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 08 Февраль 2011, 17:44:36
>> абсолютное положение в пространстве   :)
>> документ с этими и другими подробностями
... имя элемента, тип элемента, тип значения элемента, начальное значение элемента, ограничения значения элемента, (частота обновления элемента) ...


Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 08 Февраль 2011, 20:40:03
>> абсолютное положение в пространстве   :)
>> документ с этими и другими подробностями
... имя элемента, тип элемента, тип значения элемента, начальное значение элемента, ограничения значения элемента, (частота обновления элемента) ...
Я сделал обещаный документ с подробнрстями:

https://docs.google.com/viewer?a=v&pid=explorer&chr ome=true&srcid=0BzV4szKbuvKwNGM4MTFjYWItNTM0Ny00YTdlLWJmYmEtN Dc5OD g3M2ZmMzBk&hl=en

Наверняка я что-нибудь забыл, поэтому это явно не последняя версия и я ее буду обновлять по мере возникновения вопросов.
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 11 Февраль 2011, 18:46:40
(http://content.foto.mail.ru/mail/unixinfo/_myphoto/s-104.png)
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 11 Февраль 2011, 22:27:57
(http://content.foto.mail.ru/mail/unixinfo/_myphoto/s-105.png)
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 12 Февраль 2011, 06:27:11
... руляха ...
(http://content.foto.mail.ru/mail/unixinfo/_myphoto/s-106.png)
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 12 Февраль 2011, 09:18:29
(http://content.foto.mail.ru/mail/unixinfo/_myphoto/s-107.png)
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 12 Февраль 2011, 14:25:49
sungreen - СИЛА!!!  :)

Мне очень нравится!!! Особенно вариант со вдавленными спидометрами! Естественно, у меня сразу вопросы появились. Я подумал, прежди чем я тут длинный пост писать начну, может у тебя скайп есть и проще будет поговорить? Я в скайпе andreynech называюсь.

Ну и самый главный вопрос - где модельки скачать можно? Руки чешутся попробовать прикрутить это дело к проге!  :)

Спасибо огромное за работу!
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 12 Февраль 2011, 14:52:07
(http://content.foto.mail.ru/mail/unixinfo/_myphoto/s-108.png)
... мну вот как раз подумал что вдавливание излишне - на черную панель проще добавлять элементы по мере их появления ...
... посмотрю куда на нашем форуме можно выложить блены, только они сейчас не заточены для программы (и не затачивались) ...
... саму программу скачал, сырцы посмотрел, собрать не осилил ...
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 12 Февраль 2011, 15:35:15
... мну вот как раз подумал что вдавливание излишне - на черную панель проще добавлять элементы по мере их появления ...

Да, наверно ты прав. Но тогда в последнем варианте довольно мало черного места остается. Может в добавок подготовить и использовать свободное место с левой и правой стороны от видео (под панельками)?

Кстати, в принципе, мне сейчас будет достаточно одного спидометра, т.к. я не меряю реально скорость, а показываю только обороты (причем в процентах - от 0 до 100%) . За счет этого тоже можно место выиграть.

... посмотрю куда на нашем форуме можно выложить блены, только они сейчас не заточены для программы (и не затачивались) ...

Понимаю... Ну тода жду зеленого свистка, когда появится правильный вариант :)

... саму программу скачал, сырцы посмотрел, собрать не осилил ...

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

Я планирую сетуп для виндовса сделать, но пока ход не дошел.
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 12 Февраль 2011, 15:53:24
Вот еще подумал... я когда сам пытался нарисовать это дело, для отображения данных с компаса и гироскопов, пробовал сделать некий объект, который бы символизировал объект упрваления и крутился по всем осям в соответствии с данными от сенсора. Чтоб понятней было о чем я говорю, я прицепил файл с моими попытками это изобразить.

Там шарик с расходящимися от него ножками это типа квад-коптера, но без винтов  :) . Его легко программно крутить и он подходит как для машинки (будет только горизонтально крутиться), так и для чего-то летающего (если я доберусь когда-нибудь до этого).  Но это я так... мысли в слух... я вобщем не на чем не настаиваю  :)


[вложение удалено Администратором]
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 12 Февраль 2011, 16:22:41
>> сетуп для виндовса сделать, но пока ход не дошел.
... тут как бы мну в гентах, но  цмейки ниосилил ...

>> Ну тода жду зеленого свистка, когда появится правильный вариант
... сделаю так, возьму твою панель и заменю объекты на новые, тестовый файл постараюсь сделать сегодня и переслать почтой ...

[вложение удалено Администратором]
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 20 Февраль 2011, 10:45:49
... мну думает, что такие штуки могут потребоваться ...

[вложение удалено Администратором]
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 20 Февраль 2011, 14:59:04
...

[вложение удалено Администратором]
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 21 Февраль 2011, 22:08:58
... пока вот такие тестовые скины ...


# только сейчас заметил, что текст veter в виде машинки почему-то так похож на черепашку ...

[вложение удалено Администратором]
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 22 Февраль 2011, 02:23:59
sungreen, еще раз огромное спасибо за работу!!!

Я заинтегрил один из последних вариантов, и вот как это выглядит сейчас в реальной эксплуатации  :)
Панельку слева это я уже сам на две разделил. Готовлюсь к интеграции GPS сенсора. В верхнюю половину я планирую выводить карту с openstreetmap.org, а в нижней части думаю показать диаграмму с видимыми спутниками (типа такой как вот тут нарисовано: http://gpsd.berlios.de/xgps-sample.html ). Эта диаграмма вобщем не сильно нужна (точнее вообще не нужна  :) ), но смотрится прикольно и главное, легко сделать.

Ты спрашивал насчет возможности использования источников света в модельках... Поскольку я использую OpenGL для визуализации, то теоретически, максимальное количество источников света 8 (с шейдерами можно сколько угодно, но это сейчас не так важно). Но на самом деле все не так просто  :). Проблема в том, что Блендер при экспорте в Wavefront .obj не экспортирует никакой информации об источниках света. Единственное решение, которое мне приходит сейчас в голову, это "имитировать" источник света простым объектом (например кубом) с материалом, имеющим специальное имя (например light1, light2, ...). Материал имеет достаточно свойств для описания точечного источника света (ambient, diffuse, specular colors). В таком случае, я мог бы в программе заменять объекты с такими материалами на источники света. Направленные источники можно наверно как-то задать с использованием специально-поименнованного материала и конуса... Но я как-то пока быстро не соображу как я у конуса найду основание и пойму его ориентацию в пространстве... В .obj будут уже ж повернутые треугольники... Вобщем с направленным светом пока непонятно совсем.

Может кто-нибудь еще сталкивался с проблемой экспорта источников света из Блендера в .obj формат и может что-нибудь посоветовать?


[вложение удалено Администратором]
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 22 Февраль 2011, 06:39:48
>> Может кто-нибудь еще сталкивался с проблемой экспорта источников света из Блендера в .obj формат и может что-нибудь посоветовать?
... это может быть отдельной темой, например доработка скрипта для экспорта освещения ...


>> Панельку слева это я уже сам на две разделил. Готовлюсь к интеграции GPS сенсора.
>> Поскольку я использую OpenGL
... может попробовать (как вариант) накладывать карту (и трек) на video панель в альфе поверх вида с камеры? ( в режимах вкл/выкл/полупразрачно) ...


>> кста, вроде как экспортер не тянет паренты, например созданные из empty,  хотелось как-от задействовать иерархию объектов из блендеровской модели при экспорте ...

>> Поскольку я использую OpenGL
... вот такая мысли пришла, а вот если делать экспорт через vrml97? так там и свет и иерархия и библиотеки есть ...
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 22 Февраль 2011, 17:20:49
>> Может кто-нибудь еще сталкивался с проблемой экспорта источников света из Блендера в .obj формат и может что-нибудь посоветовать?
... это может быть отдельной темой, например доработка скрипта для экспорта освещения ...
Мне эта идея кажется очень интересной. Проблема только в том, что насколько я понимаю, .obj/mtl вообще в принципе не предусматривают возможности задания источников света. По крайней мере я в спеке ничего на эту тему не нашел (http://www.martinreddy.net/gfx/3d/OBJ.spec , http://paulbourke.net/dataformats/mtl/ ). Но с другой стороны, это можно добавить простым расширением .obj формата. Я видел попытку сделать это. Если кто-то решит взяться за расширение скрипта для экспорта, я могу прислать чуть больше подробностей про то, как можно .obj формат расширить.

А еще лучше сделать отдельный файл в котором будут сохраняться настройки камеры и свет. Тогда не надо будет расширять .obj что может нарушить совместимость с другими программами.

>> Панельку слева это я уже сам на две разделил. Готовлюсь к интеграции GPS сенсора.
>> Поскольку я использую OpenGL
... может попробовать (как вариант) накладывать карту (и трек) на video панель в альфе поверх вида с камеры? ( в режимах вкл/выкл/полупразрачно) ...
Я думал тоже о таком варианте, но в конце концов отказался. Основной аргумент против - видео имеет максимальный размер 640х480 (в реальности как правило вообще 320х240). Т.е. на экране остается очень много свободного места. Смысл накладывать поверх видео был бы, если б надо было экономить место. Но вобщем я готов еще пообсуждать это если есть хорошие аргументы "за"  ;) .

>> кста, вроде как экспортер не тянет паренты, например созданные из empty,  хотелось как-от задействовать иерархию объектов из блендеровской модели при экспорте ...
А какие выгоды от этого во время визуализации будут? Или это как-то облегчит процесс моделирования? Хотя, как я понимаю, ничего не мешает во время моделирования это использовать, а потом, во время экспорта оно все сольется вместе, но это наверно не страшно? Но .obj точно плоский. В нем никакой иерархии нет.

>> Поскольку я использую OpenGL
... вот такая мысли пришла, а вот если делать экспорт через vrml97? так там и свет и иерархия и библиотеки есть ...
Ну... я решил .obj использовать потому, что у меня сложилось впечатление, что его вообще все поддерживают. Во вторых он очень понятный и соответственно легко написать читалку.

По поводу VRML - может это у меня конечно комплекс какой-то  :) но я как-то себя уговорил, что вся эта история с VRML мертвая. Вьюверов нормальных нет, последний упдейт либы для чтения был в феврале 2010. Я недавно ставил себе новую бэту Блендера и кажется там вообще экспорта в VRML не было (но я не уверен, может просто не обратил внимания). Не говоря уже о том, что я потратил довольно много сил уже, чтобы сделать более-менее нормальную поддержку .obj в своей проге... Вобщем, если честно, то меня слегка пугает перспектива сейчас переходить на VRML. Может как-то выкрутимся с .obj/mtl?  :)

Поэтому идея с доработкой скрипта для экспорта .obj мне как-то больше нравится.
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 23 Февраль 2011, 14:45:42
... собственно почему хотелось бы объектную модель - количество элементов растет, нужно как-то ими управлять, задавать параметры и п.р. ...

... например спидометр, для одного скина стрелка может колебаться на 100градусов., для другого на 270градусов ...
... как это определять, править код каждый раз ...

... можно попробовать кодировать в названии элемента, например:
поворот от начального положения по оси R{X,Y,Z} , масштабирование и перемещение вдоль оси S{X,Y,Z}, M{X,Y,Z} ...

... стрелка спидометра, значение от 0.0 до 1.0 ...
SPD_RZ120 (стрелка меняет положение от начального на 120 градусов по часовой стрелке по оси Z)

... рулевое колесо, значение от -1.0 до 1.0 ...
WHL_RZ90 (колесо меняет положение от начального на 90 градусов по и против часовой стрелки по оси Z)


[вложение удалено Администратором]
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 23 Февраль 2011, 18:07:48
... собственно почему хотелось бы объектную модель - количество элементов растет, нужно как-то ими управлять, задавать параметры и п.р. ...
Я вообще-то думал, что это все можно делать, а во время экспорта оно как-то все вместе сольется. Но только я не знаю как именно оно сольется... Ты думаешь, что при этом потеряется важная информация?

... например спидометр, для одного скина стрелка может колебаться на 100градусов., для другого на 270градусов ...
... как это определять, править код каждый раз ...
... можно попробовать кодировать в названии элемента, например:
поворот от начального положения по оси R{X,Y,Z} , масштабирование и перемещение вдоль оси S{X,Y,Z}, M{X,Y,Z} ...
... стрелка спидометра, значение от 0.0 до 1.0 ...
SPD_RZ120 (стрелка меняет положение от начального на 120 градусов по часовой стрелке по оси Z)
... рулевое колесо, значение от -1.0 до 1.0 ...
WHL_RZ90 (колесо меняет положение от начального на 90 градусов по и против часовой стрелки по оси Z)
Честно говоря, я когда начинал проект не думал про скины. Думал, что хорошо будет, если хоть один приличный скин где-то взять  :) .

Теперь, когда эта тема всплыла, я почитал что народ использует, когда серьезные вещи делает. Похоже, что самый подходящий формат для таких дел это COLLADA. В нем по-идее есть вся нужная информация. Я посмотрю в ближайшие пару дней какие библиотеки существуют и насколько трудоемко будет перейти на этот формат.
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 24 Февраль 2011, 13:00:26
Теперь, когда эта тема всплыла, я почитал что народ использует, когда серьезные вещи делает. Похоже, что самый подходящий формат для таких дел это COLLADA. В нем по-идее есть вся нужная информация. Я посмотрю в ближайшие пару дней какие библиотеки существуют и насколько трудоемко будет перейти на этот формат.
Ну вобщем я решил переходить на COLLAD-у. Я думаю это займет как минимум эти выходные. Но похоже оно того стоит. По крайней мере для этой задачи там будет вся необходимая информация.
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 24 Февраль 2011, 20:12:07
... вот можно было бы ограничить всякие движущиеся элементы с помощью constraint, так вроде не экспортируются они колладай ...
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 08 Март 2011, 13:17:41
... Друзья, посмотрите в blender 2.5.x экспорт в COLLADA какой версии? ...
Название: Re: 3D консоль для управления роботом
Отправлено: Юрий Пет от 08 Март 2011, 14:20:47
А где посмотреть?
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 08 Март 2011, 14:34:17
... так наверное export>Collada-> и чего там написано 1.4.? ...
Название: Re: 3D консоль для управления роботом
Отправлено: Юрий Пет от 08 Март 2011, 16:39:36
Ничего не написано, а в аддонах его нет.
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 10 Март 2011, 18:43:21
А где посмотреть?
Если попробовать заэкспортить любую сцену, то запустится интерфейс экспортера, а в консоли должна вывестись версия загруженного плугина.
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 10 Март 2011, 19:06:47
... а вообще, похоже что как-то не дружит Блендер с констрейнтами. Я решил использовать библиотеку Bullet http://bulletphysics.org/ чтобы поддерживать все констраинты и вообще физику. Она на самом деле интегрирована в блендеровский game engine. Так они рекоммендуют использовать родной Bullet-овский формат для физики. Но там тоже все как-то не слава Богу  :) .

Вот тут написанно как это все настроить:
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=4&t=6422&hilit=blender+export+patch
Но там возникали проблемы, которые вроде решаются:
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=12&t=5056&hilit=blender+export+patch
и вроде обещают, что в Блендере 2.5 все лучше должно быть.

Но даже если предположить, что оно таки заработает, то всеравно как-то криво оно все выглядит... Зато на каждом углу написано, что Maya и 3DMax экспорт физики в колладу и в .bullet полностью правильно поддерживают. И похоже, что так и есть, т.к. все примеры коллады с констреинтами которые я видел сделанны в Maya. Так постепенно, промаявшись пару недель, начнешь понимать за что они столько денег хотят  :)
Название: Re: 3D консоль для управления роботом
Отправлено: bdancer от 11 Март 2011, 04:54:36
andrey, а почему отдельный клиент? может заворачивать потоки в флеш/хтмл5? все таки удобнее для юзера будет чем ставить клиента...
(PS просто с другом тоже продумывали подобный проект (более широкий чем машинки но не суть), но повисли на финансировании...)
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 11 Март 2011, 11:57:30
Хороший вопрос. Я довольно много об этом тоже размышлял (поэтому пост длинный получился  :) ) и мне интересно обменяться мнениями на этот счет. В конце концов, я сформулировал для себя пару основных аргументов.

1. Предидущие 15 лет в 99% случаев для создания интерфейса использовался устоявшийся набор элементов (поле ввода, список, кнопка и т.д.) и сформировалась определенная культура построения такого интерфейса. В результате, все было довольно единообразно и в этом есть, бесспорно, свои преимущества. Сейчас, на мой взгляд, происходит радикальное изменение - сильно возрастает спрос на специализированный интерфейс, который выглядит более привлекательно и динамично (скроллинг с кинетическим эффектом, выезжающие меню, полупрозрачные оверлеи с текстом, и т.д.). Типичными примерами являются современные телефоны, навигационные системы и игры. Я считаю, что спрос на такого типа интерфейс в ближайшее время будет сильно возрастать. Поэтому, я хочу на примере этого проекта наработать опыт как быстро и качественно делать такой интерфейс (повторно используемые функции, опыт общения с дизайнерами, методы стыковки 3Д моделей с программой и т.д.).

2. Для удаленного управления машинкой нужна очень качественная коммуникация с минимальной задержкой, эффективным протоколом, гибким и удобным API, и т.д. Для этого я использую, на мой взгляд, лучшую на сегодняшний день коммуникационную библиотеку http://www.zeroc.com. Если делать интерфейс в броузере, то скорее всего вся коммуникация будет через http/web-server что вобщем далеко от оптимального решения.  В плане интерфейса, я согласен, что наверно можно сделать тоже самое, особенно с учетом всех новых веяний типа WebGL, video tag, и т.д. Т.е. если не нужно управлять чем-то быстрым, то да, вариант с браузером вполне имеет смысл.

3. "просто с другом тоже продумывали подобный проект (более широкий чем машинки но не суть)" - для меня машинки тоже не основная цель, а способ отладить технологию и возможно начать получать какие-то деньги за это (что пока очень сомнительно  :) ) для того, чтобы дальше развивать это дело. Одно из направлений это автономные роботы. Сейчас многие пытаются их делать, но получается плохо изза недостаточной мощности бортовых компьютеров (или высоким энерго-потреблением). Я думаю, что в ближайшие лет 15 не будет маленьких компьютеров достаточно мощных для более-менее разумного поведения. НО... сейчас без проблем, например на Амазоновском ЕС2 сервисе поднять 100 серверов, где в каждом стоит видеокарта Nvidia на которой можно тоже оооочень быстро считать (не графику... CUDA/OpenCL) и это уже серьезная мощность! Кроме этого, сейчас быстро растет производительность общедоступных каналов связи (UMTS, xDSL, и т.д.).
Поэтому я решил двигаться в направлении, когда сам робот обладает достаточной производительностью для сбора данных с сенсоров (видео компрессия, ГПС, ориентация и т.д.) и коммуникации. Эти данные он передает на "базу" где куча мощных компов обрабатывает это все и принимает решения. Я верю в то, что такой подход будет: а) экономически выгодным, т.к. сам робот будет достаточно дешевым; б) позволит *значительно* повысить качество алгоритмов управления за счет доступных больших вычислительных ресурсов. Я не специалист по AI поэтому хочу предоставить качественную инфраструктуру (коммуникация, интерфейс, и т.д.) для построения таких систем. Понятно, что флэш/броузер сюда не вписываются.

4. Если говорить конкретно о флэше, то я думаю ему вообще не долго осталось  :) . Новые открытые стандарты html5, video tag/VP8 codec, WebGL и JavaScript делают его просто ненужным. Но вообще, конечно, интересно было бы попробовать сделать похожий интерфейс полностью в бровзере.

Вобщем если коротко просуммировать почему не флэш/броузер:
- я хотел серьезно разобраться с 3Д технологиями  :) т.к. считаю, что спрос на них будет расти.
- коммуникация через http не подходит для управления в реальном времени быстрыми объектами.
- поддержка серьезной серверной инфраструктуры для автономного управления
- флэш мертв  :)

"просто с другом тоже продумывали подобный проект (более широкий чем машинки но не суть)" - если не секрет, а что за идея? Может как то объединить усилия? Я, например думал о сценариях, когда один человек может удаленно управлять несколькими роботами. Применять это например для помощи старикам и инвалидам дома. В Европе, например, недостаток обслуживающего персонала для пожилых людей - большая проблема сейчас и будет еще большей в будущем изза старения населения. Не один робот не может сейчас и не сможет в ближайшие 10 лет *автономно* достать чашку с полки, заварить и принести чай не разгромив пол кухни  :) . Либо он будет стоить как NASA-вский марсоход :) . А удаленно управляемый человеком, с хорошим манипулятором - запросто. Я могу еще Х сценариев перечислить, где эта технология могла бы применяться, но мне любопытно какие у вас идеи были.
Название: Re: 3D консоль для управления роботом
Отправлено: Юрий Пет от 11 Март 2011, 15:09:05
Цитировать
4. Если говорить конкретно о флэше, то я думаю ему вообще не долго осталось
Это вряд ли, флэш до сих пор развивается, к тому же ещё есть аналог flash с поддержкой 3д Silverlight

Цитировать
Новые открытые стандарты html5, video tag/VP8 codec, WebGL и JavaScript делают его просто ненужным.

В своё время говорили, что html станет ненужным, его заменит xhtml, а в результате появился html 5
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 11 Март 2011, 15:43:25
Это вряд ли, флэш до сих пор развивается, к тому же ещё есть аналог flash с поддержкой 3д Silverlight
В своё время говорили, что html станет ненужным, его заменит xhtml, а в результате появился html 5
Может и так конечно. Время покажет  ;) Я не веб-девелопер, но смотря на весь этот новый набор технологий я не нахожу особых аргументов почему нужно использовать флэш. Хотя, единственное, для флэша наверно *пока* больше/лучше тулзов разработки.
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 12 Март 2011, 07:43:50
>> "просто с другом тоже продумывали подобный проект (более широкий чем машинки но не суть)" - если не секрет, а что за идея? Может как то объединить усилия? Я, например думал о сценариях, когда один человек может удаленно управлять несколькими роботами.
... типа "Дом-2" только для роботов - "рободом", при чем в нем роботы делают роботов, а никакой-то пресловутый дом, ужос ...
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 12 Март 2011, 14:15:49
Ух, sungreen, тебя и занесло!!! Выдыхай! :-)))))

Хотя на самом деле, некоторые темой совместной деятельности роботов занимаются серьезно. Типа ж на Луне или Марсе ж надо будет все как-то строить  ;)
Название: Re: 3D консоль для управления роботом
Отправлено: Valter от 14 Март 2011, 18:56:54
>> "просто с другом тоже продумывали подобный проект (более широкий чем машинки но не суть)" - если не секрет, а что за идея?

Погоди пока, скорее всего это состоится. Как всегда буду держать в курсе. А пока не состоялось - молчим в тряпочку чтоб не сглазить :)
Название: Re: 3D консоль для управления роботом
Отправлено: bdancer от 14 Март 2011, 19:16:20
Valter, а я и не про тот проект =)
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 15 Март 2011, 11:38:40
Хе-хе  :D Ну вы и конспираторы!  :)
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 15 Март 2011, 13:29:45
>> молчим в тряпочку чтоб не сглазить
... Valter, тогда  дай скриншот ...
Название: Re: 3D консоль для управления роботом
Отправлено: Valter от 15 Март 2011, 14:52:25
Скриншот того что должно состоятся? Это как?
Пока жду подтверждения проекта. Показывать нечего.
В Блендере будет только разработка кинематики и утверждение внешнего вида.
Название: Re: 3D консоль для управления роботом
Отправлено: andrey от 15 Март 2011, 15:22:04
В Блендере будет только разработка кинематики и утверждение внешнего вида.
И тут мы вернулись к вопросу нашему - кто-нибудь знает как заставить Блендер экспортировать констрэйнты (желательно в колладу)?
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 13 Май 2011, 07:16:01
... Друзья, помогите, почему нормали к файсам лежат в плоскости XZ, а никак им положено направлены по нормали к поверхности? ...
... делал рекалькуляцию нормалей (ctrl-N, ctrl-shift-N), а также конвертировал в триугольники -  не помагает ...
... что делать? ...

[вложение удалено Администратором]
Название: Re: 3D консоль для управления роботом
Отправлено: sungreen от 13 Май 2011, 07:43:40
... как ни раз отмечал Альтшуллер в своих книгах по ТРИЗ - половина решение проблемы в правильной постановке вопроса ...
... как только написал "лежат в плоскости XZ", в голову пришло и решение apply-scale, действительно, по моей невнимательности коэффициент масштабирования вдоль оси Y стоял НОЛЬ - отсюда и все нормаль так кочевряжело, ужос ...