Академический Документы
Профессиональный Документы
Культура Документы
Controlling Kuka Industrial Robots Ru
Controlling Kuka Industrial Robots Ru
Аннотация.
JOpenShowVar – это кроссплатформенный коммуникационный интерфейс
с открытым исходным кодом на языке Java для промышленных роботов
KUKA. Этот новый интерфейс позволяет использовать управляемые
переменные и структуры данных манипулятора для чтения-записи.
JOpenShowVar совместим со всеми промышленными роботами KUKA,
которые используют контроллер робота KUKA 4 поколения (KR C4) и
контроллер робота KUKA поколения 2 (KR C2). Запускается в качестве
клиента на удаленном компьютере, подключенном к контроллеру KUKA
через протокол управления передачей / интернет протокол (TCP/IP).
Несмотря на то, что могут быть реализованы только приложения в мягком
реальном времени, JOpenShowVar открывает множество различных
приложений, используя как различные устройства ввода и датчики, так и
разрабатывать альтернативные методы управления.
Четыре исследования представлены, чтобы продемонстрировать
потенциал JOpenShowVar. Первые 2 исследования представляют собой
приложения без обратной связи, в то время как последние два исследования
описывают возможность реализации приложений с обратной связью. В
первом примере использования предлагаемый интерфейс позволяет
мобильному устройству на базе Android управлять манипулятором KUKA
KR 6 R900 SIXX (KR AGILUS). Во втором исследовании тот же робот
KUKA используется для выполнения следования по линии в двухмерной
плоскости которое может быть использовано для таких задач, как сложные
операции сварки и тому подобное. В третьем исследовании разработано
приложение с обратной связью для управления тем же манипулятором с
помощью контроллера Leap Motion Controller, который поддерживает
движения рук и пальцев в качестве входных данных без необходимости
контакта или прикосновения. В четвертом исследовании установлена
двунаправленная замкнутая связь между гаптическим устройством Force
Dimension 7 и тем же манипулятором KUKA. Соответствующие
эксперименты проводятся для проверки эффективности и гибкости
предлагаемого интерфейса связи.
Ключевые слова - интерфейс робота, промышленные роботы KUKA,
устройство ввода.
I. ВВЕДЕНИЕ
Отрасли, которые используют роботов в широком спектре задач, являются
основными клиентами для производителей роботов. Рынок манипуляторов
для исследовательских задач слишком мал, чтобы индустрия роботов могла
разрабатывать модели специально для такого использования. В то время как
требования к оборудованию и механике для разрабатываемых роботов
часто одинаковы как для промышленности, так и для исследований,
требования к научному программному обеспечению весьма различны и
даже противоречивы во многих аспектах [1], [2]. Цель ученых - попытаться
получить как можно больше контроля над роботом, в то время как отрасли
промышленности ищут безопасные и простые в эксплуатации интерфейсы.
В частности, хотя программные интерфейсы, подходящие для
промышленного использования, доступны, трудно найти интерфейсы,
применимые для исследовательских целей. Раскрытие архитектуры
внутреннего контроля также очень трудно найти. Многие производители не
хотят публиковать внутренние детали, касающиеся архитектуры системы,
из-за высоких уровней конкуренции на рынке роботов. Следовательно,
невозможно полностью использовать многие роботизированные
платформы в научном контексте.
Касательно робототехники, было выпущено лишь небольшое количество
промышленных манипуляторов с открытым интерфейсом управления.
Ориентируясь исключительно на промышленных роботов KUKA[3], KUKA
Robot Language (KRL) является стандартным языком программирования
[4]. Это текстовый язык, который предлагает объявление типа данных,
контроль простых движений и взаимодействие с инструментами и
датчиками через операторы ввода-вывода (I / O). Программы KRL можно
запускать только на контроллере роботов KUKA (KRC), где выполнение
программы выполняется в соответствии с ограничениями в реальном
времени. Хотя KRL предлагает интерфейс, который прост в использовании
в промышленных приложениях, он довольно ограничен для
исследовательских целей. В частности, KRL предназначен для контроллера
нижнего уровня, и предлагается только фиксированный набор инструкций
для конкретного контроллера [5]. Расширенные математические
инструменты, такие как матричные операции, методы оптимизации или
фильтрации, не поддерживаются, что делает реализацию новых подходов к
управлению очень сложной. Нет встроенного способа включения
сторонних библиотек, и поэтому расширение KRL для включения новых
инструкций и функций является трудной задачей. Кроме того, невозможно
напрямую использовать внешнего устройства ввода. Стандартный
обходной путь для частичного расширения возможностей робота
заключается в использовании дополнительных пакетов программного
обеспечения, предоставляемых KUKA. Некоторыми примерами таких
пакетов являются Kuka.RobotSensorInterface [6], который позволяет влиять
на движение манипулятора или выполнение программы с помощью данных
датчика, и Kuka.Ethernet KRL XML [6], модуль, который позволяет
подключить контроллер робота к девяти внешним системам (например,
датчикам). Однако эти дополнительные пакеты программного обеспечения
сопровождаются несколькими недостатками: количество I/O ограничено,
присутствует узкий набор функций, и часто требуются крупные вложения
капитала для фактической покупки этих пакетов у KUKA.
Чтобы преодолеть эти проблемы, JOpenShowVar был представлен нашей
исследовательской группой в [7]. JOpenShowVar - это кроссплатформенный
интерфейс на языке Java с открытым исходным кодом, который позволяет
использовать управляемые переменные и структуры данных манипулятора
для чтения-записи. Хотя могут быть реализованы только приложения
мягкого реального времени, этот интерфейс позволяет исследователям
использовать различные устройства ввода, датчики и разрабатывать
альтернативные методы контроля. Библиотека JOpenShowVar совместима
со всеми промышленными роботами KUKA, использующими KR C4 или
KR C2. Основная концепция показана на рис. 1: JOpenShowVar работает как
промежуточное ПО между пользовательской программой и KRL. В этой
работе представлены более подробные сведения об архитектуре
JOpenShowVar. Несколько новых, более гибких и эффективных процедур
представлены в последнем выпуске библиотеки, чтобы заменить старый
фундаментальный метод чтения и записи, который теперь помечен как
устаревший. В дополнение к этим новым методам, некоторые другие
высокоуровневые функции также предусмотрены для контроля углов и
показания крутящего момента управляемого манипулятора. Этот сигнал
обратной связи очень важен для улучшения ловкости манипулятора и для
достижения важных функций, таких как чувствительное обнаружение
столкновений и совместимые действия управления. Обсуждаются
некоторые рекомендации, позволяющие пользователю внедрять новые
процедуры высокого уровня. JOpenShowVar - проект с открытым исходным
кодом и он доступен в Интернете по адресу https://github.com/aauc-
mechlab/jopenshowvar вместе с несколькими подробными диаграммами
классов, документацией и демонстрационными видео.
Рис. 13: Цель и реакция принятого ПИД-регулятора для всех осей робота.
C. Эффективность
Что касается четвертого тематического исследования, цель состоит в том,
чтобы показать возможность работы робота и передачи соответствующей
информации по силе оператору. Графики на рис. 14-a и рис. 14-b
показывают фактическое положение для осей X, Y и Z в результате
движений тактильного устройства ввода, управляемых пользователем, осей
робота, соответственно. В этом конкретном случае оператор маневрирует
роботом, чтобы сначала, поднимая рабочий орган робота вверх, а затем
снова вниз со смещением также по осям X и Y. В этом тематическом
исследовании входной сигнал не масштабируется в рабочее пространство
робота, поскольку тактильное устройство используется только для
установки направления движения робота и для передачи соответствующей
информации по силе оператора. Несмотря на то, что между входным
сигналом и фактическим положением существует задержка, результаты
показывают, что система довольно чутко реагирует на вводимые
пользователем данные. На рис. 14-c и рис. 14-d показаны моменты,
приложенные к звеньям робота, и соответствующие силы, приложенные к
рабочему органу робота соответственно. Оператор также воспринимает
обратную связь по силе, которая пропорциональна силам, приложенным к
рабочему органу робота.
ССЫЛКИ
[1] M. Schopfer, F. Schmidt, M. Pardowitz, and H. Ritter, “Open source
real-time control software for the kuka light weight robot,” in Proc. of
the 8th IEEE World Congress on Intelligent Control and Automation
(WCICA), Jinan, China, 2010, pp. 444–449.
[2] G. Schreiber, A. Stemmer, and R. Bischoff, “The fast research interface
for the kuka lightweight robot,” in Proc. of the IEEE ICRA Workshop
on Innovative Robot Control Architectures for Demanding (Research)
Applications How to Modify and Enhance Commercial Controllers,
2010, pp. 15–21.
[3] KUKA Robotics Corporation. (2014, March) “KUKA”. [Online].
Available: http://www.kuka-robotics.com/
[4] KUKA, Expert Programming. KUKA Robotics Corporation, 2003.
[5] H. M¨uhe, A. Angerer, A. Hoffmann, and W. Reif, “On reverseengineering
the kuka robot language,” in 1st IEEE/RSJ International
Workshop on Domain-Specific Languages and models for Robotic
systems DSLRob’10, International Conference on Intelligent Robots
and Systems (IROS), 2010, pp. 16, 217, 223, 224.
[6] KUKA Robotics Corporation. (2014, March) “KUKA, Hub
technologies”. [Online]. Available: http://www.kuka-robotics.com/
en/products/software/hub technologies/print/start.htm
[7] F. Sanfilippo, L. I. Hatledal, H. Zhang, M. Fago, and K. Y. Pettersen,
“JOpenShowVar: an open-source cross-platform communication interface
to kuka robots,” in Proc. of the IEEE International Conference on
Information and Automation (ICIA), Hailar, China, 2014, pp. 1154–
1159.
[8] Google Inc. (2014, March) “Android”. [Online]. Available: http:
//www.android.com/
[9] Leap Motion Inc. (2014, March) “The Leap Motion Controller”.
[Online]. Available: http://www.leapmotion.com/
[10] F. Chinello, S. Scheggi, F. Morbidi, and D. Prattichizzo, “Kuka control
toolbox,” IEEE Robotics & Automation Magazine, vol. 18, no. 4, pp.
69–79, 2011.
[11] M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs,
R. Wheeler, and A. Y. Ng, “ROS: an open-source robot operating
system,” in ICRA workshop on open source software, vol. 3, no. 3.2,
2009, p. 5.
[12] D. Delling, P. Sanders, D. Schultes, and D. Wagner, “Engineering route
planning algorithms,” in Algorithmics of large and complex networks.
Springer, 2009, pp. 117–139.
[13] B. Siciliano and O. Khatib, Springer handbook of robotics. Springer,
2008.
[14] Force dimension. (2014, March) “omega.7”. [Online]. Available:
http://www.forcedimension.com/
[15] I. Pan, S. Das, and A. Gupta, “Tuning of an optimal fuzzy PID
controller with stochastic algorithms for networked control systems
with random time delay,” ISA transactions, vol. 50, no. 1, pp. 28–36,
2011.
[16] F. Sanfilippo, L. I. Hatledal, H. Zhang, W. Rekdalsbakken, and
K. Y. Pettersen, “A wave simulator and active heave compensation
framework for demanding offshore crane operations,” in Proc. of the
IEEE Canadian Conference on Electrical and Computer Engineering
(CCECE), Halifax, Nova Scotia, Canada, 2015, pp. 1588–1593.
[17] F. Sanfilippo, L. I. Hatledal, H. G. Schaathun, K. Y. Pettersen, and
H. Zhang, “A universal control architecture for maritime cranes and
robots using genetic algorithms as a possible mapping approach,”
in Proc. of the IEEE International Conference on Robotics and
Biomimetics (ROBIO), Shenzhen, China, 2013, pp. 322–327.
[18] F. Sanfilippo, L. I. Hatledal, H. Zhang, and K. Y. Pettersen, “A
mapping approach for controlling different maritime cranes and robots
using ANN,” in Proc. of the 2014 IEEE International Conference on
Mechatronics and Automation (ICMA), Tianjin, China, 2014, pp. 594–
599.
[19] L. I. Hatledal, F. Sanfilippo, and H. Zhang, “JIOP: a java intelligent
optimisation and machine learning framework,” in Proc. of the 28th
European Conference on Modelling and Simulation (ECMS), Brescia,
Italy, 2014, pp. 101–107.