интеграция-робототехники.jpg

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

Когда речь идет об анализе и использовании данных, то определяющую роль играют не аппаратные возможности (датчики, вычислители и коммуникационные интерфейсы), а программное обеспечение (ПО). Именно оно определяет не только производственные функции машин и механизмов, но и столь важную их способность, как взаимодействие с другими системами и человеком. Задача соответствия новым требованиям диктует необходимость в освоении новых инструментов создания ПО для сложных многофункциональных интегрированных систем и комплексов.



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

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

К решению комплексных задач приходится привлекать специалистов из нескольких областей, владеющих разными программными инструментами: отдельно для робототехники, отдельно для технического зрения, отдельно для тестов и измерений. Такое положение дел никак не способствует повышению эффективности процесса — разработчикам приходится «играть» на нескольких инструментах одновременно, а это редко получается одинаково хорошо. Страдает и надежность конечного приложения: получается комплекс из разнородных, зачастую трудносовместимых компонентов. Даже самые совершенные инструменты создания программ для роботов в принципе не предназначены для эффективной обработки массивов разнородных данных и изображений или создания интерфейсов взаимодействия с другими «машинами» и человеком. Если рассматривать робота-манипулятора лишь как часть более сложной и многоплановой системы, то более надежное решение видится в адаптации универсальной эффективной среды программирования, которая бы охватывала все компоненты современного робототехнического комплекса:

• программирование движений манипулятора;
• получение данных с различных датчиков и устройств (видеокамеры, 3D сканеры, датчики силы, дистанции и пр.);
• математическую обработку сигналов, изображений и других данных;
• взаимодействие с другими подсистемами по коммуникационным протоколам (Ethernet, EtherCAT, CAN, Profibus и др.);
• графический интерфейс оператора;
• взаимодействие с базами данных, архивами и другими хранилищами данных, в том числе облачными сервисами.

Возьмем одного из современных кандидатов для разработки ПО — графическую среду разработки систем LabVIEW от компании National Instruments. Помимо эффективного инструмента разработки программы на графическом языке блок-диаграмм, она содержит исчерпывающий набор библиотек



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

До недавнего времени недостающим элементом было программирование роботов-манипуляторов. Но сегодня компания DigiMetrix GmbH предлагает набор библиотек, которые позволяют программировать перемещения роботов-манипуляторов непосредственно в графической среде. Таким образом, отпадает необходимость в изучении специализированных языков программирования роботов и в разработке кода для коммуникации с ПО робота. Все компоненты программы создаются в одной графической среде, результатом чего становится тесное взаимодействие отдельных подсистем, возможность комплексной отладки всей интегрированной системы любой сложности и в итоге — надежная работа всего комплекса с оптимальной производительностью.



Возможности интеграции промышленных роботов в системы с помощью LabVIEW можно рассмотреть на примере роботов KUKA. Архитектура взаимодействия программы LabVIEW с роботом KUKA представлена на рис. 3.

Обмен данными осуществляется по промышленному коммуникационному интерфейсу EtherCAT в реальном времени. В качестве контроллера для выполнения программы LabVIEW используется совместимое оборудование LabVIEW Real-Time вроде промышленной платформы NI cRIO, PXI, а также контроллеры машинного зрения серии NI CVS (Compact Vision System) или специализированный контроллер машинного зрения IC-3173. Для задач начального уровня можно использовать и обычный компьютер с ОС Windows, но при этом для реализации промышленного интерфейса EtherCAT будет необходимо установить в машину соответствующий коммуникационный интерфейс, например PCIe-плату Hilscher cifx-50e. На этот случай DigiMetrix включила поддержку этой платы в состав своей библиотеки для KUKA.

Важно отметить, что при этом в LabVIEW в полной мере используются специализированные, «родные» возможности ПО перемещений робота: эффективный расчет траектории перемещения всех узлов манипулятора с учетом его кинематики, управление приводами и обеспечение безопасности, реализуемые производителем робота на своем контроллере. Со стороны контроллера KUKA взаимодействие с LabVIEW через EtherCAT осуществляется посредством специализированного программного модуля KUKA mxAutomation. Каждые 4 мс робот в обязательном порядке сообщает свои текущие координаты и состояние и может получить новые команды. На основании информации, полученной от контроллера робота и других систем, программа LabVIEW выполняет те или иные действия. Программное обеспечение всех компонентов робототехнического комплекса — работа с машинным зрением, датчиками, взаимодействие с другими контроллерами и оборудованием, обработка и анализ информа- ции, интерфейс оператора и, наконец, интеграция робота-манипулятора в систему через командный интерфейс — реализуется в графической среде разработки NI LabVIEW. Для контроля над роботом не требуется знания его «родного» текстового языка, манипулятор управляется набором простых и понятных команд прямо из LabVIEW. Пример простой программы управления перемещением робота в LabVIEW представлен на рис. 4.



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

Основные преимущества использования графической среды создания систем LabVIEW при разработке робототехнических комплексов с использованием библиотек DigiMetrix для роботов KUKA:
• Тесная интеграция манипуляторов KUKA с техническим зрением и датчиками, другим промышленным оборудованием и информационными системами открывает новые возможности применения промышленных роботов.
• Единая графическая среда разработки повышает эффективность и сокращает время создания интегрированных систем любой сложности.
• Популярный инструмент программирования расширяет круг заинтересованных разработчиков и область использования роботов KUKA.
• Облегчение процесса интеграции роботов в промышленные приложения делает их применение более доступным в новых инженерных задачах.


Другие материалы: