Большое обновление симулятора Gazebo: удобнее, красивее, проще


Что-то все молчат об OpenSource-симуляторе роботов Gazebo. Народ, да ведь это же шанс заниматься робототехникой для всех, у кого нет робота! А также для всех, кто хочет попробовать и отладить некоторые задумки, алгоритмы.



Я знакомилась с Gazebo 2 года назад, даже делала там модель стола для соревнования Eurobot. Тогда мне всё понравилось (симуляция физики, совместимость с ROS, обучающие примеры, лицензия GNU/GPL), кроме одного момента: установка и настройка симулятора превращалась в настоящий ад.

Ребята сделали выводы и всё полностью переработали. Сделали новый красивый сайт http://gazebosim.org и выпускают версии симулятора одна за другой. Такой рывок произошел с финансовой помощью от Open Source Robotics Foundation, куда входят DARPA, NASA, Willow Garage и другие гранды.

Самое главное: установка теперь стала очень простой! Доступен пакет для Debian.

Другие приятные мелочи: всё работает ощутимо быстрее, интерфейс чуть улучшился и стал выглядеть посовременнее.

Отлично, что сразу доступна большая библиотека моделей. Это и роботы, такие как PR2, робот-пылесос, Pioneer. Это и предметы — например, бутылка пива, дрель, молоток, стол, дверь и другие полезные объекты. Это и помещения — огромное здание с кучей комнат. Каталог моделей лежит на сайте, их можно подгружать себе на диск прямо из интерфейса симулятора и дальше уже использовать в своих проектах.

Ещё поменялся язык описания моделей. Это, как и раньше, XML-разметка. Если для прошлой версии приходилось изучать URDF, то теперь — SDF (Simulation Description Format). Впрочем, различия невелики, ядро то же самое — главное в том, что SDF позволяет описывать положение робота и его частей с привязкой к окружающей среде, а не изолированно.

Я сейчас делаю эксперимент по обучению робота методом Энглуин (синтез конечного автомата). Вместо того, чтобы мучить железного робота, я взяла модель в симуляторе и программирую его на С++. Если не получится на симуляторе — то на настоящем роботе даже и пробовать не буду.

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

Я просто шла по пунктам руководства: вначале сделала простейшую модель робота (корпус, 2 ведущих колеса и одно вспомогательное), потом добавила к нему дальномер, потом запрограммировала поведение робота на C++. Всё прошло гладко за исключением того, что в какой-то момент для компиляции потребовалась библиотека TinyXML, пришлось её тоже ставить (странно, что разработчики не включили её в установочный пакет).

Если кратко, то это 100% гиковский симулятор, лучше всего он годится для исследований и экспериментов. Работает под POSIX-системы, под Windows даже и не думайте его установить. Дружественность к пользователю отсутствует, если вы не знаете C++ и плохо ориентируетесь в UNIX-системах — забудьте о Gazebo и поставьте Webots (только учтите, что он коммерческий).


0 комментариев на «“Большое обновление симулятора Gazebo: удобнее, красивее, проще”»

  1. Спасибо за отличную новость!
    Всё собирался написать про этот симулятор — даже наброски заметки где-то сохранились, но всё руки никак не доходили 🙂

  2. Про python тоже чуток написано в вики.
    Atlas control over ROS topics with python — gazebosim.org/wiki/Tutorials/drcsim/2.5/Atlas_control_over_ROS_topics_with_python
    Предоставляется контроль над моделями роботов в среде Gazebo с использованием ROS и дополнения к Gazebo — DRC Simulator.
    Тоже надо будет попробовать.

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение