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