Pull to refresh

Программируем роботов — бесплатный робосимулятор V-REP. Первые шаги

MakeItLab corporate blog


Программирование роботов — это интересно.

Многие наверное видели японских гуманоидных роботов, или французский учебный робот NAO, интересным выглядит проект обучаемого робота-манипулятор Baxter. Промышленные манипуляторы KUKA из Германии — это классика. Кто-то программирует системы конвейерной обработки (фильтрации, сортировки). Дельта роботы. Есть целый пласт — управление квадрокоптером/алгоритмы стабилизации. И конечно же простые трудяги на складе — Line Follower.

Но всё это как правило — не дешевые игрушки, поэтому доступ к роботам есть в специализированных лабораториях или институтах/школах где получили финансирование и есть эти направления. Всем же остальным разработчикам (кому интересна робототехника) — остаётся завистливо смотреть.

Некоторое время назад я вышел на достаточно интересную систему — 3д робосимулятор V-REP, от швейцарской компании Coppelia Robotics.

К своему (приятному) удивлению я обнаружил, что эта система:
  • имеет большой функционал (система разрабатывается с марта 2010 года)
  • полностью open-source (выложена в открытый доступ в 2013 году)
  • кроссплатформенная — windows, mac, linux (работает на Qt)
  • имеет API и библиотеки для работы с роботами через C/C++, Python, Java, Lua, Matlab, Octave или Urbi
  • бесплатная для некоммерческого использования!

Все объекты, которые программируются в этой системе — «живут» в реальном с точки зрения физических законов мире — есть гравитация, можно захватывать предметы, столкновения, датчики расстояния, видео датчики и т.п.

Поработав некоторое время с этой системой, я решил рассказать про неё читателям хабра.

Да, и на картинке скриншот из V-REP, и модели роботов — которые вы можете программировать, и смотреть поведение, прямо на вашем компьютере.
Читать дальше →
Total votes 34: ↑32 and ↓2 +30
Views 98K
Comments 24

История одного выхода в космос

MakeItLab corporate blog


Создавать космические корабли интересно. Интересно программировать автономные системы — что могут совершить посадку на астероиде, или выйти на орбиту Венеры. Космос интересен.

В эти выходные (5 апреля) Продленка была посвящена космонавтике. Перед этим, когда я узнал, что будет космическая тематика — решил найти 3д модель корабля Восток-1, того самого на котором Гагарин совершил тот исторический полет вокруг Земли — найти модель этого корабля для печати на 3д принтере — для демонстрации ребятам.

Но к своему удивлению сходу найти не удалось…

И возможно это было к лучшему, так как привело к самостоятельному созданию модели — о том как создать космический корабль за час в Екатеринбурге, напечатать на 3д принтере в Москве, подарить модельки школьнику и космонавту на выступлении в Digital October, а потом создать симулятор корабля в космосе и по-управлять им и будет этот рассказ.
Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Views 18K
Comments 9

Использование Remote API в робосимуляторе V-REP

Python *Programming *Lua *
Sandbox


V-REP представляет собой среду для симулирования (sandbox) различных видов роботов, при этом пользователю нет необходимости иметь физический доступ к реальной машине, что экономит деньги и время. Среда V-REP предоставляет удобный интерфейс для визуализации действий робота в трёхмерном виртуальном пространстве намного раньше, чем реальный прототип робота будет создан. При помощи данного руководства вы убедитесь, что для того, чтобы работать в данной среде, программисту не нужно иметь большого технического опыта в области роботостроения.

Причиной создания данного руководства стало отсутствие (на то время) знаний языка Lua, на котором по умолчанию написаны все скрипты управления роботом, и его меньшая популярность. Цель данного руководства показать как пользоваться удалённым (Remote) API данной среды на примере языка Python.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 23K
Comments 2

Компьютерное зрение и мобильные роботы. Часть 1 — V-REP, Python, OpenCV

MakeItLab corporate blog


Когда прочитал публикацию про запуск беспилотных гоночных автомобилей — подумал, было бы интересно сделать что-то подобное. Конечно не гоночный болид, но по крайней мере мобильный робот, что ориентируется в пространстве посредством камеры — распознаванием образов.

В нашем хакспейсе — создать робота не такая большая проблема. Но не у всех и не всегда есть возможность экспериментировать с реальным «железом» — поэтому интересно было попробовать решить задачу — в виртуальной среде, и после уже оживить «железо».

Так и возникла идея серии статей, про решение простейшей задачи ориентации робота в пространстве — от виртуальной симуляции, до воплощения в реальном мобильном роботе:

Часть 1. Настройка виртуальной среды, интеграция с python и OpenCV для распознавания образов из виртуального мира.
Часть 2. Создание виртуального мобильного робота, алгоритм автономного перемещения (поиск объекта)
Часть 3. Создание реального робота, перенос логики на него.

Хочется добиться такого результата — чтобы python скрипт, управляющий виртуальным роботом — был бы максимально идентичным тому, что будет управлять реальным роботом.

Мозгом робота будет микрокомпьютер RaspberryPi2 — на котором без проблем работает и python, и OpenCV. Таким образом необходимо состыковать систему виртуальной робототехники V-REP — с Python и OpenCV. Вот про это и будет первая часть — данная публикация.

Видео, что получилось (поиск зеленого объекта)

На верхнем окне — прямое изображение с видео-камеры в 3д виртуальном мире, на нижнем окне — результат выполнения python скрипта, что получает изображение передаёт её OpenCV и рисует маркер, вокруг найденного объекта.

Нарисуем архитектуру нашего мобильного робота.
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Views 25K
Comments 1

Визуальное представление прямой задачи кинематики промышленного робота ABB IRB 140 с помощью CoppeliaSim и Qt

Robotics
Sandbox

В промышленной робототехнике есть две основные задачи кинематики: прямая и обратная (инверсная). Цель решения которых состоит в определении параметров связанных гибких объектов для достижения необходимой позиции, ориентации и расположения этих объектов [1, 2]. Полученные теоретические результаты должны быть подтверждены практическим путем. Применение для данных целей реального промышленного робота не всегда является возможным. Оптимальным вариантом является применение программ для имитационного моделирования робототехнических систем.

Одним из инструментов по моделированию робототехнических систем является программный комплекс CoppeliaSim, используемый в промышленности, образовании и исследованиях. Имеет бесплатную (CoppeliaSim Player), образовательную (CoppeliaSim Edu) и платную (CoppeliaSim Pro) версии. На момент написания статьи была доступна для скачивания версия 4.2.0.

Читать далее
Total votes 4: ↑2 and ↓2 0
Views 3.3K
Comments 6

Визуальное представление прямой задачи кинематики промышленного робота ABB IRB 140 с помощью CoppeliaSim и Lazarus

Robotics

При моделировании робототехнических систем в программном комплексе CoppeliaSim пользователь сталкивается с необходимостью создания настраиваемого пользовательского интерфейса (сustom user interfaces). CoppeliaSim предлагает создание настраиваемого пользовательского интерфейса  с помощью штатного стредства – встроенного плагина Qt.

К сожалению плагин Qt ограничен в возможнастях. Однако стоит отметить, что данный недостаток вытекает из его основного достоинства – простоты разработки пользовательского интерфейса.

В рамках данной статьи рассмотрим процесс создания пользовательского интерфейса в Lazarus (бесплатный аналог Delphi). В качестве примера возмем модель промышленного робота ABB IRB 140.

Запустим CoppeliaSim и добавим модель робота ABB IRB 140 на сцену. Для этого в обзорщике моделей в дереве robots необходимо выбирать no-mobile и перетащить промышленного робота ABB IRB 140 на сцену. Модель промышленного робота ABB IRB 140 представлена на рисунке 1.

Читать далее
Total votes 2: ↑1 and ↓1 0
Views 1.7K
Comments 4

Применение программного комплекса CoppeliaSim на примере двухколесного мобильного робота Pioneer 3-DX

Robotics
Tutorial

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

Программный комплекс CoppeliaSim позволяет строить разнообразные графики.

Начиная с версии 4.2.0 разработчики исключили из программы "графопостроитель" – графический интерфейс для построения графиков. Теперь все графики строятся скриптингом. Обосновывая это тем, что это позволяет гораздо более гибко и точно управлять графиками.

Построим график траектории движения мобильного робота pioneer p3dx. Для этого на панели меню выберем Add --> Graph. Доступ к его основным свойствам и их настройка осуществляются в диалоговом окне графика.

Добавим на сцену модель робота pioneer p3dx. Для этого в обзорщике моделей в дереве robots выберем mobile и перетащим робота pioneer p3dx на сцену.

Читать далее
Total votes 2: ↑1 and ↓1 0
Views 1.7K
Comments 0