Українська   English
ДонНТУ   Портал магистров

Реферат по теме выпускной работы

Содержание

Анотация

В данной работе рассматривается симулятор промышленных роботов V-rep и его возможности, также в статье был произведен аналитический расчет траектории движения робота ABB IRB 140 и сравнение с траекторией, получаемой с помощью графопостроителя в робосимуляторе V-REP.

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

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

Возможна самостоятельная сборка симулятора из приведенных кинематических, физических и графических библиотек, и решающее значение, с точки зрения производительности и точности симуляции, будут иметь архитектура и используемая методология. Надежный системный подход требует использования универсальных и масштабируемых стратегий моделирования. Кроме того управляющие программы пишутся на простом языке, что чрезвычайно удобно [1].

Фактически, главной целью симулятора является предоставления большого количества инструментов и возможностей для симуляции. С этим есть сложности, ведь разнообразие робототехнических систем не позволяет заранее предвидеть специфику симулятора. Кроме того, некоторым пользователям нужен гибкий подход, который даст возможность работать с простым языком программирования, а также позволит сделать симулятор портативным, подходящим для всех типов моделей роботов, и самое главное масштабируемым.

В настоящее время есть несколько доступных платформ моделирования, например Open HRP, Gazebo или Webots. Несмотря на то, что эти платформы предлагают достаточный функционал, они не могут предложить большого разнообразия дополняющих друг друга возможностей и приемов программирования. Их имитационные модели и контроллеры лишь частично портативны, они имеют различные проблемы и поэтому нуждаются в отдельной обработке. Например, очень часто бывает необходима перекомпиляция кода на различные аппаратные платформы, или может быть необходимо тщательно подгонять имитируемую модель и контроллер, взятые из двух различных файлов, или нужна поддержка масштабируемости, а она сделана через малоизвестные жестко запрограммированные алгоритмы.

V-REP симулятор – это результат попыток соответствовать всем требованиям к универсальности и масштабируемости среды моделирования. Наравне с традиционными подходами к моделированию, которые есть и в других тренажерах, V-REP добавляет несколько дополнительных подходов.

Когда есть необходимость строить сложные сцены, то пока нет лучше варианта, чем использовать распределенную систему контроля. Такой подход упрощает задачу путем разделения управления субъектами, ускоряет моделирование, распределяет нагрузку процессора на несколько ядер или несколько машин, и это позволяет контролировать выполнение алгоритмов. Существуют, однако, требования к моделированию, которые не должны быть забыты ради достижения этой цели.

1. Функции моделирования V-Rep

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

Выполнение управляющего кода симуляции осуществляется с помощью следующих трех методов:

1. Управляющий код выполняется на другой машине. Код может выполняться на отдельной машине или роботе, подключенному к симулятору машины через конкретную шину (например, разъем, последовательный порт и др.). Основное преимущество такого подхода заключается в оригинальности контроллера (управляющий код родной и будет работать на оригинальном оборудовании). Другим преимуществом является снижение вычислительной нагрузки на моделирование машины. Тем не менее, такой подход накладывает серьезные ограничения в отношении синхронизации с циклом моделирования.

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

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

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

Встроенные скрипты

Представляют собой наиболее мощную отличительную особенность V-REP. Основной цикл моделирования lua скрипт (так называемый «основной сценарий») – обрабатывает общие функциональные возможности. Например, он вызывает разные функции для обработки кинематики или динамики. Основной сценарий также отвечает за вызов дочернего скрипта каскадным способом. Дочерний скрипт, в отличие от основного скрипта, прикрепляется к конкретному объекту или конкретной части моделирования в процессе цикла моделирования. Он является неотъемлемой частью сценария объекта, и будет повторяться вместе с ним. Как таковой дочерний скрипт представляет собой вполне портативный и масштабируемый элемент управления: в нем есть один единый файл, содержащий определение модели вместе с ее контролем или функционалом, нет проблемы совместимости на разных платформах, нет необходимости в явной компиляции, никакого конфликта между несколькими версиями одной и той же модели и др. Дочерние скрипты могут быть запущены в потоковой или не потоковой реализации. Потоковый вариант дочерних скриптов сохраняет все преимущества техник описанных в пункте 3 раздела II.

Дополнения

Дополнения, как и встроенные скрипты, поддерживаются в V-rep через скрипты lua. Они могут быть использованы и в качестве самостоятельных функций (удобно для написания импортеров/экспортеров), или как регулярно выполняемый код (удобно в качестве облегченного тренажера настраиваемых методов).

Плагины

Плагины используются в V-REP в качестве удобного инструмента настройки симулятора. Они могут зарегистрировать пользовательские команды lua, позволяя быстрое выполнение обратного вызова функции из встроенного сценария. Плагины также могут расширить возможности конкретной имитационной модели или объекта. Часто они также реализуют конкретные импорты/экспорты, или обеспечивают интерфейс к конкретному оборудованию. Удаленный API интерфейс, а также интерфейс ROS (см. след. пункты) осуществляются через плагины.

Удаленные API клиенты

Удаленный интерфейс API в V-REP позволяет взаимодействовать с V-REP или моделированием внешнего объекта с помощью сокетов. Он состоит из дистанционного сервера API служб и удаленных API клиентов. На стороне клиента может быть встроен в компактный код (C/C++, Python, Java, Matlab & Urbi) практически на любом оборудовании, в том числе на реальных роботах, и позволяет осуществлять удаленный вызов функции, а также быструю потоковую передачу данных туда и обратно. На стороне клиента функции называются почти как обычные функции, с двумя исключениями: удаленные API функции принимают дополнительный аргумент, который является режимом работы и возврата кода ошибки. Режим работы позволяет вызывать функции блокировки (будет дожидаться ответа сервера), или не блокировки (будет читать потоковые команды из буфера, или начинать/останавливать службу потоковой передачи данных на стороне сервера). Удобство использования удаленного API, доступность на всех платформах, и его небольшие размеры, делают его интересной альтернативой ROS интерфейса.

Узлы ROS

V-REP реализует ROS узел с плагином, который позволяет ROS вызывать V-REP команды через ROS сервисы, или поток данных через ROD издателей/подписчиков. Издатели/подписчики могут быть включены через сервисный вызов, а также напрямую через встроенную в скрипт команду.

2. Объекты моделирования

Симуляционные модели V-REP содержат несколько объектов или элементов, которые собраны в древовидную иерархию. Ниже описаны сцены моделирования, поддерживаемые V-REP:

• Сочленения: элементы, которые связывают два или более объекта сцены вместе, обеспечивая от одной до трех степеней свободы (призматические, вращательные, винтовые, или сферические). Они могут работать в различных режимах (например, в силовом/ вращательном режиме, режиме обратной кинематики и др.)

• Формы: треугольные полигональные сетки, используемые для моделирования и визуализации твердого тела.

• Бесконтактные датчики: Они вычисляют точное минимальное расстояние к части фигуры, которая находится в пределах обнаружения. Это дает непрерывную и более реалистичную симуляцию, чем обнаружение на основе большого количества направленных лучей.

• Визуальные датчики: визуальные датчики позволяют извлекать сложные изображения и информацию из сцен моделирования (цвета, размер объектов, глубина карты и др.). Встроенная фильтрация и функция обработки изображений запускает целый блок из фильтрующих элементов. Визуальные датчики используют аппаратное ускорение для получения RAW изображений (поддержка OpenGL).

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

• Графики: графики могут записывать большое разнообразие предопределенных или пользовательских потоков данных. Потоки данных затем могут быть отображены напрямую (график по времени заданного типа данных), или в сочетании друг с другом для отображения X/Y графиков, или 3D кривых.

• Камеры: они позволяют визуализировать сцены, которые зависят от точки наблюдения.

• Освещение: освещают сцену или отдельные объекты сцены, и влияют на камеры или визуальные датчики.

• Пути: они определяют сложное движение в пространстве (последовательность свободно комбинируемых переводов, вращений и/или пауз), и используются, например, для направления сварочной горелки робота вдоль заданной траектории, или позволяют задать движение конвейерной ленты.

• Материальные точки: это вспомогательные системы отсчета, которые могут быть использованы для различных задач. В основном используются в сочетании с другими объектами сцены.

• Фрезы: могут быть использованы для имитации поверхности режущих операций на формы (например, фрезерование, лазерная резка и др.)

3. Вычислительные модули

Объекты моделирования редко используются самостоятельно, они скорее работают на или совместно с другими объектами (например, датчик приближения обнаруживает формы). Кроме того, V-REP предлагает несколько расчетных модулей, которые могут напрямую работать на одну или несколько сцен моделирования. Ниже приведены основные расчетные модули:

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

• Динамический модуль: позволяет регулировать динамику расчета твердого тела и взаимодействия (столкновение, цепляние и др.) с помощью Bullet Physics Library и Open Dynamics Engine. Симуляции динамических систем до сих пор находятся на начальном этапе и часто основываются на приблизительных показателях. Для подтверждения результатов важно основываться не только на одном физическом движке.

• Модуль обнаружения столкновений: позволяет осуществлять быструю проверку столкновений между любой формой или набором фигур. Этот модуль является полностью независимым от ответа алгоритмов расчета динамики модуля. Используются структуры данных, основанных на бинарном дереве прямоугольных боксов для ускорения. Дополнительная оптимизация достигается за счет техники кэширования.

• Модуль расчета расстояния (Mech-mech модуль): позволяет быстро минимизировать расстояние расчета между любыми формами (выпуклые, вогнутые, открытые, закрытые и т.д.) или набором форм. Модуль использует те же структуры данных, что и модуль обнаружения столкновений.

• Модуль планирования движения: ручное планирование голономных и неголономных задач с помощью подхода, основанного на алгоритме Rapidly-exploring Random Tree (RRT). Задачи по планированию путей кинематических цепей также поддерживаются.

В качестве примера использования робосимулятора V-REP произведем аналитический расчет траектории движения робота ABB IRB 140 и сравним с траекторией, получаемой с помощью графопостроителя в робосимуляторе V-REP.

Траектория движения робота ABB IRB 140

Рисунок 1 – Траектория движения робота ABB IRB 140 в робосимуляторе V-REP

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

Метод заключает в том что, каждая система координат формируется на основе следующих трех правил [3]:

1) ось zi-1 направлена вдоль оси i–го сочленения;

2) ось xi перпендикулярна оси zi и направлена от нее;

3) ось yi дополняет оси xi, zi до правой декартовой системы координат.

а б

Рисунок 2 – Размеры и система координат звеньев робота ABB IRB 140

На рисунке 2 б показаны направления осей систем координат каждого звена работа.

Была составлена цепочка перемещений от 0–го звена (основание манипулятора) до 5 – го звена, относительно которого особая точка неподвижна, после чего были составлены матрицы преобразования координат Денавита-Хартенберга для каждого перехода (рис. 3) [4, 5].

Матрицы перехода от звена к звену

Рисунок 3 – Матрицы перехода от звена к звену

На рис. 4 представлены результаты решения прямой задачи о положении манипулятора с использованием пакета прикладных программ Mathcad.

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

Траектории движения робота, полученной расчетным способом

Рисунок 4 – Траектории движения робота, полученной расчетным способом

Траектории движения робота, полученной с помощью программы

Рисунок 5 – Траектории движения робота, полученной с помощью программы

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

Заключение: V-REP представляет собой универсальную и масштабируемую среду моделирования. К сегодняшнему дню V-REP вырос до надежного и широко используемого в научной и промышленной сфере тренажера роботов и контроллеров. Он выполняет самые различные задачи: от проверки системы, оптимизации алгоритмов, моделирования сложных сборочных цепей в автоматизации производств до планирования задач для роботов и контроллеров.

V-REP удобен для наглядного представления движений робота при решении кинематических и динамических задач манипулятора робота.

Выводы

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

При написании данного реферата магистерская работа еще не завершена. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя.

Список источников

  1. V-REP – гибкая и масштабируемая платформа для робомоделирования : автор статьи: marc@coppeliarobotics.com - 18 августа 2015, – Режим доступа к журн. : https://habr.com/post/268313/.
  2. Использование Remote API в робосимуляторе V-REP : автор статьи: Шалыгайло Сергей ar1 - 6 октября 2015, – Режим доступа к журн. : https://habrahabr.ru/post/268313/.
  3. Представление Денавита–Хартенберга : автор статьи: Studfiles2 - 02.05.2014, - Режим доступа к журн. : https://studfiles.net/preview/985240/page:9/.
  4. Корендясев А. И. Теоретические основы робототехники: монография : в 2-х кн. / Корендясев А. И., Саламандра Б. Л., Тывес Л. И. ; ред. Каплунов С. М.; Ин-т машиноведения им. Благонравова А. А.. - Москва : Наука, 2006. - . - ISBN 5-02-033952-0. Кн. 1 . - 2006. - 383 с. : ил. - Библиогр. в конце глав. - ISBN 5-02-034439-7.
  5. Булгаков А. Г. Промышленные роботы: кинематика, динамика, контроль и управление / Булгаков А. Г., Воробьев В. А. - Москва : СОЛОН-Пресс, 2007. - 485 с. : ил., табл.; 22 с. - (Серия "Библиотека инженера").; ISBN 978-5-91359-013-8.
  6. Учеб. пособие для втузов: В 3 кн. / Под ред. Фролова К. В., Воробьева Е. И.. Кн. 1 : Кинематика и динамика / Воробьев Е. И., Попов С. А., Шевелева Г. И.. – М. : Высш. шк. , 1988. – 304 с.: ил.
  7. Учеб. пособие для студ. вузов, обучающихся по спец. «Робототехнические системы» / Бурдаков С. Ф., Дьяченко В. А., Тимофеев А. Н. – М. : Высш. шк. , 1986 г. – 264 с.
  8. Учеб. пособие. – 2-е изд., перераб. и доп. – К.: Выща шк. , 1991 г. –311 с.
  9. Промышленные роботы в машиностроении: Альбом схем и чертежей: Учеб пособие для технических вузов / Соломенцев Ю. М., Жуков К. П., Павлов Ю. А. и др; Под общ ред Соломенцева Ю. М. – М. : Машиностроение, 1986 – 140 с.
  10. Костюк В. И., Гавриш А. П., Ямпольский Л. С, Карлов А. Г. Промышленные роботы. Конструирование, управление, эксплуатация. К. : Виша шк. Головное изд-во, 1985 г. – 359 с.