чтобы посмотреть работу симулятора, можно загрузить в VisualStudio солюшн из папки "C:\<userFolder>\Microsoft Robotics Dev Studio 2008\samples\SimulationTutorials\Tutorial2\SimulationTutorial2.sln" запустить на выполнение - появится консольное окно запускаемых сервисов, затем форма управления роботами "SimpleDashboard" и окно эмулятора, в котором на поверхности будут выстоены стол и два робота "Пионер" и "Лего" нужно приконнектиться к ним, введя в поле MAchine "localhost", и не указывая порт (установится автоматически), остальное можно увидеть на картинке и видео
Simulation Tutorial 2
Последний раз редактировалось SMT 05 фев 2009, 02:27, всего редактировалось 1 раз.
2SMT: Причем в этом примере стол какой-то уродский, то есть выглядит как будто у него тонкие ножки и поперечина внизу, а в физической модели всё не так, как будто стол из 3 просто пластин собран. Поэтому и лазерный дальномер определяет его боковины, а не тонкие ноги которые мы видим.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Теперь о загадочном - почему-то в документации на симулятор есть только следующие симулируемые сервисы: Bumper Differential Drive LBR3 Arm Laser Range Finder Webcam
нету ни дальномеров отдельных, ни сонаров, ни датчиков цвета поверхности
Хотя по идее как минимум датчики цвета поверхности должны быть, ведь сумо они играют, не вебкамерой же они границы ринга определяют, надеюсь
Проект [[Open Robotics]] - Универсальные модули для построения роботов
=DeaD= писал(а):2SMT: Причем в этом примере стол какой-то уродский, то есть выглядит как будто у него тонкие ножки и поперечина внизу, а в физической модели всё не так, как будто стол из 3 просто пластин собран. Поэтому и лазерный дальномер определяет его боковины, а не тонкие ноги которые мы видим.
стол нарисован сам по себе и сохранен в папке store\Media в файле table_01.obj. Такие файлы называют "file-based DirectX mesh file" и загружается в симулятор в качестве файла визуализации вот так:
затем элементы этого объекта "вписываются" в боксы и сферы с физическими величинами. Вот выдержка из главы "Adding a Mesh-Based, Textured Entity" Simulation tutorial 1:
The simulation engine makes it very easy to use detailed, photo-realistic visuals to represent entities in the world. All you have to supply is a file-based DirectX mesh file and (optionally) a pixel + vertex shader effect. You can supply a list of meshes for each physical shape in the entity. The engine takes care of rendering the meshes using the updated physics simulation properties for its shape (so the mesh will always be oriented and positioned properly). This makes it literally a "one line" for someone to start using nice visuals in the simulation. In the example below, a standard Directx9 mesh file is used and a 1.0 sphere is used to represent it to physics.
Перевод (в квадратных скобках - прим.пер.) "Движок симулятции позволяет легко использовать детальную фотореалистичную визуализацию, чтобы представить объекты окружающего нас мира. Все что нужно для поддержки этого - файл на основе DirectX меш-файла (mesh file) и, опционально, вершинно-пиксельные эффекты. Вы можете поддерживать набор мешей для каждой формы объекта. Движок поддерживает рендеринг мешей, используя обновляемые свойства физической симуляции для его формы (так что меш всегда будет ориентирован и расположен корректно). Это позволяет буквально "одной строчкой" начать использовать качественную визуализацию в симуляции. В примере ниже [построении модели симуляции земного шара], стандартный Directx9 меш файл [изображающий сферу с текстурой земной померхности] и сфера [описывающая физическую модель] диаметром 1.0 используются для представления этого в физике."
По этому робот Пионер в симуляции №2 проезжает сквозь перекладину под столом - она не описана в физической модели.
Хотя по идее как минимум датчики цвета поверхности должны быть
С чего начинать будем? С объезда препятствий или с лайн-трэйсинга?
я подумал, что не знаю как слежение за линией в симуляторе организовано. С препятствиями более понятно. Разве что сделать линию визуально плоской, а в физической модели (она не видимая при визуализации) обеспечить ее пересечение с датчиком, увеличив высоту того или другого.
Значит с объезда препятствий начинать надо, раз не умеем линию определять потом вернёмся к лайн-трэйсингу.
Вообще я конечно в шоке. Робостудии уже около 2х лет от роду, а не реализованы ни ИК-дальномеры, ни сонары, ни датчики цвета поверхности... Какой у них секретный план? Их спонсирует SICK?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
1. вместо ИК-дальномера и сонара - лазерный радар. В коде имееются сведения о дальности. 2. анализатор цвета - на видеокамере из "Color Segmentation Sample":
The Color Segment service analyzes images from a webcam, or simulated webcam, and based on color definitions declared in the service state, identifies color regions in each image.
Перевод: "Сервис Цветовых Сегментов анализирует изображеня из вэбкамеры или симуляции вэбкамеры, основыванный на определениях цветов, объявленных с состоянии сервиса, идентифицирует цветовые участки в каждом изображении"
=DeaD= писал(а):Значит с объезда препятствий начинать надо, раз не умеем линию определять потом вернёмся к лайн-трэйсингу.
думаю "слалом" или даже "лабиринт" для начала вполне хорошо.
По сенсорам ИК-дальномерам и сонарам видимо можно будет сделать их из сенсора LaserRangeFinder, если у его симулятора код открытый, я пока не понял - открыт полный код или только его часть.
Датчики цвета поверхности видимо тоже делаются из камеры, поставить только ей разрешение 10х10 пикселей и прикрутить к ней анализатор простейший среднего цвета.
Добавлено спустя 1 минуту: На миниботе бамперы стоят, хотя конечно минибот не предназначен для езды по лабиринту. У минибота 2 датчика препятствий спереди и 1 сзади. Кстати нигде нет диаграммы их направленности ща к ЭдГуллу стукнемся
Добавлено спустя 1 минуту 19 секунд: Может пока просто сделать чтобы робот гонял и препятствий объезжал до посинения?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
нужно его тогда в загончик поставить я сейчас под лего минибот пробую собрать. хочу чтобы можно было бамперы - на касание - просто из датчков линии делать - на пересечение светового потока рычагом. Если так делать, можно считать, что у Минибота простые контактные бамперы есть. С этого начать. Код лазерного финдера как я понял из двух проектов (сервисов) состоит.
конечно проще, и такой датчик можно подключить к блоку Минибота через стандартный разъем - вместо датчика линии. А можно сделать и сразу из датчика линии, как я описал. Я это к тому, что можно для начала не тсопами в симуляторе предметы или стенки обнаруживать, а стандартными бамперами.