ФИЗИКАЛЫҚ ЖӘНЕ ГРАФИКАЛЫҚ ҚОЗҒАЛТҚЫШТАР ЖӘНЕ РОБОТТАРДЫҢ ҚОЗҒАЛЫСЫН СИМУЛИРОВАТЬ ЕТЕТІН ПРОГРАММАЛЫҚ КОНТРОЛЛЕРЛЕРДІҢ КОНФИГУРАЦИЯСЫНЫҢ ДАМУЫ.
Бұл мақалада робототехниканы пайдалану және контроллер қай бағытта жұмыс жасайтындығы қарастырылған. Сонымен қатар РАС контроллерінің артықшылықтары мен кемшіліктері сипатталған.Роботтардың қозғалуына көмектесетін симуляторлардың графикалық және физикалық қозғалтқыштары қарастырылған. Мақалада робототехникада қолданатын симуляторлардың Microsoft Robotics Developer Studio, Robotino, Gazebo, AnyKode Marilou Robotics Studio сияқты түрлерінің сипаттамсы,қолданыстағы артықшылықтары берілген.
Түйінді сөздер: графикалық қозғалтқыш, физикалық қозғалтқыш,контроллер, симулятор.
Физический и графический движок и развитие конфигурации программируемых контроллеров для симулирования движения роботов
В этой статье рассматривается в каких целях используется робототехника, а также наиболее перспективные направления в развитии программируемых логических контроллеров. Описывается появление многофункциональных контроллеров типа РАС, а также их достоинство и недостатки. Для проектирование робототехники необходимо симулировать действия роботов. В статье рассматривается графические и физические движки симулятора. Робототехнике используется множество симуляторов. Здесь описывается некоторые из них как Microsoft Robotics Developer Studio, Robotino, Gazebo, AnyKode Marilou Robotics Studio и дается их достоинство в использовании для создания роботов.
Ключевые слова: графический движок,физический движок, контроллер, симулятор.
PHYSICAL AND GRAPHICS ENGINE AND A DEVELOPMENT CONFIGURATION OF THE PROGRAMMABLE CONTROLLER TO STIMULATE THE MOVEMENT OF ROBOTS
This article discusses the purposes for which robotics is used and also the most promising areas in the development of programmable logic controllers. The appearance of multifunctional controllers of the RAS type as well as their advantages and disadvantages are described. For the design of robotics is necessary to stimulate the action of robots. The article deals with the graphics and physics engines of the simulator. Robotics uses a lot of simulators. It describes some of them as Microsoft Robotics Developer Studio, Robotino, Gazebo, Anymode Marilou Robotics Studio and gives their dignity in using to create robots
Keywords: graphics engine, physics engine, controller, simulator.
На сегодняшний день, наиболее перспективными в развитии программируемых логических контроллеров являются два направления: Programmable Automation Controllers (программируемые контроллеры автоматизации) и Soft PLC (программно реализованные логические контроллеры). Эти технологии решают задачу управления электроавтоматикой с помощью различных подходов, именно поэтому сферы их применения разнообразны.
Появление контроллеров типа PAC, дало возможность усложнить и существенно расширить круг решаемых задач требующих использования отрытых промышленных стандартов, использования модульной архитектуры, возможности легкой интеграции в современные системы и др. Системы на основе PAC контроллеров в будущем сыграют важную роль в автоматизации промышленных предприятий и производств. На Рис.1 представлена схема, демонстрирующая возможности многофункциональной работы PAC контроллера.
Рисунок 1 – Возможности многофункциональной работы PAC контроллера
PAC – многофункциональный контролер, позволяющий работать с цифровыми, аналоговыми и последовательно поступающими сигналами, применяемый во всех типах промышленных приложений: от создания комплексов способных осуществлять температурное регулирование, до сложных систем автоматизации оборудования.[1]
Работа с цифровыми сигналами позволят получать данные с датчиков о состоянии системы и направлять управляющие сигналы при работе со всеми типами роботов.
Для более точного определения движения роботов и работы его контроллеров необходимо представлять себе его движение в целом. Для этого, на этапе проектирования необходимо визуализировать или точнее сказать симулировать действия робота.
Каждый симулятор включает физический и графический движок. От их возможностей зависит сложность модели робота, которую можно реализовать в симуляторе.
Графический движок — программа, основной задачей которой является визуализация (рендеринг) двухмерной или трехмерной компьютерной графики. Графический движок работает в режиме реального времени.[2]
Задачи управления в режиме реального времени составляют одну из важных областей применения вычислительной техники. Как правило, они связаны с контролем и управлением процессами. Управление прокатными станами, роботами, движение на автомагистралях, управление коммуникационными трафиками, контроль за состоянием окружающей среды, управление атомными и космическими станциями и многое другое —все это область задач реального времени. Эти задачи предъявляют такие требования к аппаратному и программному обеспечению, как надежность, высокая пропускная способность передающей среды в распределенных системах, своевременная реакция на внешние события и т. д.
Физический движок позволяет создать виртуальное пространство, в которое можно добавить виртуальные статические и динамические объекты и указать законы взаимодействия тел и среды. Расчет взаимодействия тел выполняется самим движком. Вычисляя взаимодействие тел между собой и со средой, физический движок приближает физическую модель получаемой системы к реальной и передает уточненные геометрические данные графическому движку.
Достоинства и недостатки симуляторов
Достоинства:
• низкая стоимость;
• возможность в любой момент доработать модель;
• возможность отдельно тестировать функциональные составляющие робота;
• возможность одновременной симуляции нескольких типов роботов.
Недостатки:
• даже самый совершенный физический движок не может симулировать все законы реального мира;
• требовательность к ресурсам машины.[3]
Microsoft Robotics – это пакет программ, который может использоваться для управления различными роботами и включает в себя полноценный симулятор. В состав Robotics входят следующие компоненты:
• библиотека Concurrent and Coordination Runtime (CCR) – предназначена для организации обработки данных с помощью параллельно и асинхронно выполняющихся методов. Взаимодействие между такими методами организуется на основе сообщений. Рассылка сообщений основана на использовании портов;
• Decentralized Software Services (DSS) — среда, которая позволяет запускать алгоритмы обработки данных на разных ЭВМ, организовывать асинхронное взаимодействие процессов управления различными подсистемами робота;
• Visual Simulation Environment (VSE) — среда визуализации, которая позволяет экспериментировать с моделями роботов, тестировать алгоритмы управления роботами;
• Visual Programming Language (VPL) — язык, предназначенный для разработки программ управления роботами. Программа на таком языке представляется в виде последовательности блоков, которые выполняют обработку данных, и связей между ними.
За симулятор физики в Robotics отвечает Ageia Physx. Очень печально, но в симуляторе отсутствует трение между создаваемыми объектами, хотя моделируется трение между отдельным объектом и платформой, на которой он размещается.
Создать сцену в симуляторе и запрограммировать робота можно на VPL или C#. Естественно, что на C# сцену сделать сложнее, но зато и код получится более эффективный. Возможности Robotics позволяют смоделировать футбол роботов, железную дорогу, манипулятор, добавить на сцену нескольких роботов. Доступные из коробки сенсоры: GPS, лазерный дальномер, инфракрасный дальномер, компас, сенсор цвета, сенсор яркости, веб-камера.
Robotino – робот, созданный Festo Didactic для обучения робототехнике. Для программирования робота требуется программа Robotino® View. На сайте Festo доступен симулятор робота для Windows – Robotino® SIM (есть профессиональная и бесплатная версия, бесплатная – немного урезанная по функциональности).
Немного о роботе, который встроен в симулятор. В его состав входят три двигателя, которые позволяют перемещаться роботу по плоскости в любом направлении. Сенсорная система робота включает девять инфракрасных сенсоров расстояния, два цифровых оптических сенсора и камеру. Программировать робота можно с помощью C/C++, Java, .NET.
Вообще, способности бесплатного симулятора удручают. Но! Если хорошенько поискать в интернете, то можно найти версии данного симулятора, заточенные под разные задачи. Компания Festo Didactic выступает одним из спонсоров RoboCup и данный симулятор, использовался в соревнованиях.[4]
Gazebo – мощный симулятор роботов, разработанный для операционной системы Linux. Абсолютно бесплатен для использования. Gazebo может симулировать нескольких роботов с сенсорами в окружении различных объектов. Также тут доступен редактор, который позволяет создавать 3D-сцены без программирования. Моделируемые сенсоры: лазерный дальномер, камера, кинект-сенсор, устройство для чтения RFID-меток и бамперы. Из коробки в симуляторе имеются модели следующих роботов: PR2, Pioneer2 DX, iRobot Create, TurtleBot, а также манипуляторы и захваты. К симулятору для создания качественной графики можно подключить OGRE (графический движок с открытым исходным кодом). В Gazebo встроена возможность чтения файлов в формате Collada, что позволяет добавлять в симулятор объекты, спроектированные в одном из редакторов 3D-моделей.
Gazebo используется в качестве симулятора в DARPA Robotics Challenge (DRC). В рамках DRC разработано приложение CloudSim для запуска Gazebo на платформе облачных вычислений Amazon.
AnyKode Marilou Robotics Studio – среда разработки и симулирования мобильных роботов, гуманоидов и манипуляторов с учетом физических законов реального мира. Для объектов можно указать следующие физические параметры: массу, упругость, свойства материала, вращающие моменты, а также некоторые другие.
Marilou позволяет подключать к роботу различные виртуальные устройства: компас, акселерометры, двигатели и сервомоторы, бампер, сенсоры расстояния (ультразвуковой и инфракрасный), GPS и другие устройства.
В редакторе объектов Marilou доступны статические и динамические объекты, которые можно размещать в симулируемом мире (поддерживается одновременная симуляция нескольких роботов). Сложные объекты в Marilou строятся из более простых (используется иерархический подход к представлению объекта), что позволяет повторно использовать части объектов. В симуляторе доступны несколько источников света: точечный, прожектор, внешний и направленный.
В Marilou есть MODA (Marilou Open Devices Access) — SDK для работы с роботами и их компонентами в симуляторе. После синхронизации с часами симулятора алгоритмы управления роботом могут запускаться на другом компьютере сети. В зависимости от выбранного языка MODA предоставляет библиотеки (.lib или .a) или .NET-сборки (.dll) для доступа к симулятору по сети. Программирование алгоритмов управления роботов возможно с помощью языков C/C++, C++ CLI, C#, J#, VB#.
Для коммерческого использования симулятор платный, для образовательных целей — бесплатный (запрашивать лицензию нужно каждые три месяца).
В ноябре 2013 года вышел новый движок симулятора для Marilou – Exec V5. Бета-версия движка может работать на Windows, Ubuntu и Mint. Новый движок многопоточный, кросс-платформенный и использует OpenGL 2.1.[5]
Симулятор – практически идеальная среда, время отклика от компонентов робота приближается к нулю, они имеют безграничный ресурс работы. Поэтому после создания робота или алгоритма и тестирования их в симуляторе лучше всего попытаться воплотить их в реальном мире (если это необходимо). Однако, симулятор – это только симулятор, и в реальности движения могут оказаться другими.
ЛИТЕРАТУРА:
1. Гейтс, Б. Механическое будущее [Текст] / Б. Гейтс // Журн. «В мире науки». – 2007. – №7. – С. 37-43.
2. Управление роботами. Состояние и перспективы [Текст] : материалы ХХ общ. собрания академии навигации и управления движением, 26 октября 2005 г.С.-Петербург / редкол : П.К.Плотников (отв. ред.). – С.-Петербург: Электроприбор, 2008. – 20 с.
3. Кобрин А.И., Мартыненко Ю.Г. Неголономная динамика мобильных роботов и ее моделирование в реальном времени //Мобильные роботы и мехатронные системы [Текст]: Труды всероссийской школы-конференции. М., 2012. С.107-123.
4. Майк П. Устройства управления роботами: схемотехника и программирование [Текст]: учеб.-метод. пособие / П. Майк – М.: ДМК Пресс, 2010. – 814 с.
5. Юревич, Е.И. Основы робототехники [Текст]: учеб.-метод. пособие / Е.И. Юревич – М.: БХВ-Москва, 2012. – 621 с.