суббота, 27 июня 2009 г.

Собственный робот в Robotics Studio. Создание 3D-модели

Каждый, кто имел дело с Microsoft Robotics Studio, наверняка задавался вопросом: как же подключить к этой мощнейшей среде разработки собственного робота? Этот вопрос был одним из первых и для меня, ведь в России не так-то просто - да и далеко не дешево, купить готовый комплект для роботостроения, даже самые популярные, такие как Lego Mindstorms NXT или iRobot Create.

Задача, нужно признать, на первый взгляд кажется практически неразрешимой. Лишь поизучав как следует Robotics Studio, и разобравшись в ее «внутренностях», почти через год после первого знакомства - мне удалось эту задачу решить. Конечно, нужно будет немножко попотеть, но зато потом все разнообразие и мощь средств MS RS можно будет использовать в собственном роботе!

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

Один из способов создания собственных 3D-моделей роботов описан на форумах Microsoft (на английском). В этой заметке я постараюсь пересказать и проиллюстрировать данный способ.

Итак, прежде всего, потребуется Google SketchUp. Это программа для создания 3D-зарисовок, распространяемая абсолютно бесплатно. Самая свежая на момент написания заметки версия - 7.0, весит 32.7Мб. Иногда, если вы работаете через прокси-сервер с определенными настройками, скачать эту программу не получится - я столкнулся с такой проблемой и не смог скачать SketchUp с работы. Проблема, впрочем, касается вообще всех Google-программ. Это называется "перемудрили" :)

В остальном проблем при скачивании и установке возникнуть не должно. Кучу готовых моделей можно скачать и поизменять, опять же, с Google.

После создания 3D-зарисовки необходимо ее экспортировать в требуемый формат. Для этого необходимо скачать специальный плагин для экспорта в Wavefront obj-файл. В обсуждении на форуме предлагается скачать плагин от Jim Foltz, он нам как раз подходит. На всякий случай я выложил его и на собственном сервере: http://robot.paccbet.ru/download/obj_export_1.1.rb.

Копируем этот файл в каталог C:\Program Files\Google\Google SketchUp 7\Plugins\, или соответствующий, если SketchUp установлен в каком-то другом месте. После перезапуска SketchUp в его меню появится новый пункт:

Перед экспортом не забудьте нажать на свою модель правой кнопкой мыши и выбрать во всплывающем меню пункт Explode.

К сожалению, возможности данного плагина довольно скромные. Многого он не экспортирует. Поэтому, если нужно, чтобы модель была цветной, нужно подкорректировать ее в программе Blender. Она тоже бесплатная. Версия для Windows 32bit весит около 10Мб. Импортируем наш obj-файл в Blender:

Далее добавляем цвета, и снова экспортируем в obj-файл. Файлов в итоге получается два: .obj и .mtl, последний содержит материалы и цвета для нашей модели.

В общем-то, на этом процесс почти закончен: осталось лишь скопировать эти два файла в <путь к MS Robotics Studio>\store\media, и можно использовать в качестве файла механики наш obj-файл. После этого студия сгенерирует еще bos-файл, который также можно будет использовать.

Как именно использовать созданные модели в студии - я расскажу в одной из следующих заметок. А пока попробуйте хотя бы разобраться со SketchUp и Blender: это тоже потребует времени. В общем, Google вам в помощь, и до скорых встреч!

1 комментарий:

  1. Здравствуйте, Андрей!
    У меня возникли некоторые вопросы по MRDS и я был бы очень Вам признателен, если бы вы смогли на них ответить. Свяжитесь со мной пожалуйста, либо по почте yarikversh@gmail.com, либо в соц.сети Google+ (я вам уже написал).

    С уважением, Ярослав

    ОтветитьУдалить

Внимание! Реклама и прочий спам будут беспощадно удаляться.