Содержание
Управляем ABB роботами с помощью FlexPendant / Хабр
Просьба: если вы здесь увидели какие-то ошибки или неточности то просьба сообщить об этом в комментариях или написать мне. Если вы хорошо разбираетесь в робототехникe или очень хорошо знакомы с RobotStudio свяжитесь со мной 🙂
ABB роботы
Все роботы компании ABB это манипуляторы, которые используются в основном на производствах, в лабораториях или на складах. В каталоге компании [ссылка удалена мод.] можно встретить такие типы роботов как: SCARA роботы, DELTA роботы, коллабративные роботы (коботы), индустриальные манипуляторы (5-6 осевые)
Интересный факт: к ABB обращаются множество клиентов чтобы использовать роботов для покраски. ABB пришлось сделать отдельную линейку роботов.
Это было небольшое вступление, идем дальше…
ABB RobotStudio, FlexPendant, IRC5
Для программирования роботов компании ABB используется их фирменное программное обеспечение RobotStudio. Программа платная и стоит целых 1500$/год за стандартный комплект. За каждое дополнение придется доплачивать отдельно, хотя стоит сказать, что ABB иногда проводят акции или предоставляют своим клиентам специальные предложения.
Но есть и хорошая новость, — это пробный период. Пробный период доступен всего 30 дней, после чего основной функционал RobotStudio будет заблокирован. Стоить еще сказать, что переустановка RobotStudio или установка на виртуальную машину не поможет, в этом случае «программа» не даст возможности выбрать пробную версию.
Любой робот ABB это просто корпус, сервомоторы и датчики (грубо говоря) и нуждается в том, чтобы им кто-то управлял. В этом случае нас спасает контроллер компании ABB — IRC5.
Семейство контроллеров ABB IRC5
В комплекте с контроллером поставляется пульт управления роботом ABB FlexPendant. Он напрямую подключается к контроллерам (например IRC5). Точно такой же пульт в виде симуляции можно использовать в RobotStudio. Программу для роботов можно писать в RobotStudio (через RAPID редактор) или через FlexPendant. В этой статье рассмотрим именно базу для FlexPendant.
Создаем робота в RobotStudio
Итак, про RobotStudio поговорили, про IRC5 поговорили, о FlexPendant узнали. Теперь мы переходим к практике. Запускаем RobotStudio:
Выбираем Solution with Station and Robot Controller (создать робота, со станцией управления и контроллером). Заполняем необходимые поля, задаем имя для нашего проекта.
Обратите внимание, чтобы в Location не было слишком длинного пути до файлов, иначе RobotStudio не даст создать проект и будет показывать ошибки
Далее переходим к первым настройкам самого робота: RobotWare я выберу 6 версию (RobotWare — ОС для контроллера IRC5). В Robot model выбираем необходимого нам робота и оставляем пустым Customize options, так как дополнительные настройки нам пока не нужны.
Может случиться, что нужно будет установить RobotWare необходимой версии вручную (хотя как правило в новых версиях RobotStudio он уже предустановлен). Добавить необходимую версию RobotWare можно перейдя во вкладку Add-ins и найти в галерее RobotWare, затем выбираем необходимую версию и нажимаем Add
При выборе разных версий (например 7) некоторые роботы пропадут из списка доступных. Это связанно с тем, что не все роботы поддерживают более новый RobotWare. В реальности ABB создает поддержку для новых версий, однако в RobotStudio не успевает быстро появится поддержка
После создания проекта программа может попросить нас выбрать более точную модель робота. Чтобы понять какой робот нам необходим нужно залезть в каталог роботов ABB и посмотреть на техническую документацию.
Робот создан! В данной статьи я не буду рассказывать подробно как ориентироваться в интерфейсе. Можно посмотреть это видео, где показывается как управлять роботом.
Запускаем FlexPendant и управление через пульт
Итак. В RobotStudio мы выбираем вкладку Controller и ищем FlexPendant с изображением нашего пульта. После этого выбираем Virtual FlexPendant.
После чего перед вами в виде отдельного окна появится симуляция пульта FlexPendant, это окно независимо от RobotStudio и можно например переместить на второй монитор, чтобы на первом видеть RobotStudio.
Давайте подвигаем нашего робота. Для этого необходимо в Flexpendant открыть меню (левый верхний угол) и выбрать страницу Jogging.
Перед нами откроется страница для управления режимами, выбором степенями свободы робота и другой информации: нагрузка, рабочий объект, инструмент.
Окно Position показывает нам каждое звено и под каким углом оно в данный момент находится (0 — null позиция, она необходима для калибровки).
Окно Joystick directions показывает нам как нужно сам боковой джойстик повернуть чтобы задействовать необходимое нам звено.
Если мы сейчас попробуем подвигать нашего робота, то у нас ничего не получится. А все потому что, так как этот пульт в точности копирует настоящий нам необходимо переключиться на «ручной режим» управления. Для этого необходимо возле самого джойстика найти маленькое изображение контроллера IRC5 и нажать на него. После чего необходимо выбрать среднее положение «ключа».
Теперь необходимо включить сами сервомоторы. Для этого нажимаем на Enable и Hold To Run. Теперь попробуйте подвигать джойстиком и посмотрите как начинает себя вести робот.
Кликнув на Motion mode: Axis 1 — 3… мы можем выбрать какими степенями свободы мы хотим управлять. Кликнув на ROB_1 (это идентификатор нашего робота в RobotWare) мы можем открыть дополнительное окно настроек нашего робота. Тамже можно настраивать скорость движения, углы, возрастающую скорость и многое другое.
Выбрав самое верхнее изображение нашего робота мы увидим тот же самый Motion mode однако в добавок у нас будет возможность выбора системы координат и рабочего инструмента.
Создаем программу для ABB робота с помощью FlexPendant
Давайте в завершении создадим простую программу с 2 точками.
Что нам нужно?
-
Запустить RobotStudio ✔
-
Создать робота ✔
-
Запустить FlexPendant ✔
-
Открыть редактор программы
-
Создать программу
-
Обучить робота точкам
Точки — это наши пункты в разных системах координат для нашего робота. С помощью указаний этих пунктов и вида движения мы задаем роботу жесткий сценарий по которому он будет следовать. Например следовать дугой от точки А к точки Б, или следовать к точки А остановиться в точки Б и повернуть обратно.
Давайте перейдем к практике:
Находим в меню Program Editor. Именно там мы будем создавать нашу программу.
Если программы до этого не было, то пульт предложит создать новую программу с нуля. Мы соглашаемся с этим и попадаем в редактор. Если вы видите следующий код, то все сделано было правильно.
Ниже код представлен на языке программирования RAPID.
MODULE MainModule PROC main() <SMT> ENDPROC ENDMODULE
ВАЖНО: Чтобы начать создавать программу пульт должен быть переведен в «ручной режим» работы и при необходимости должны быть включены моторы для передвижения робота
Теперь нам необходимо создать для робота первую точку. Пусть это будет его текущая позиция и назовем её «домашней». Для этого прожимаем на Add Instruction и сбоку появится окно с командами, где мы должны выбрать какую инструкцию добавить. Я добавлю MoveL. MoveL — это прямолинейное движение. Это значит, что робот к ЭТОЙ точке будет двигаться с помощью команды прямолинейного движения MoveL и никак иначе.
После того как создана первая точка необходимо создать еще одну. Попробуйте подвигать робота с помощью FlexPendant и задайте с помощью инструкции MoveL вторую точку.
Итак. Две точки созданы и при необходимости эти инструкции можно дополнительно настроить. Нужно кликнуть по символу звездочки и мы попадем в настройки нашей инструкции
В меню настроек инструкции мы можем добавить «особое имя» для нашей точки, для этого во вкладке Data выбираем функцию new и после чего указываем имя для нашей точки
Советую всегда указывать имя для точек, ибо по дефолту пульт задает им значение Target_N или P_N (где N — номер точки) и потом очень трудно определить какая именно это точка и куда она ведет.
Обратите внимание, что имя должно быть уникальным и больше нигде не повторяться.
Помимо имени точки мы еще можем управлять такими настройками как скорость движения до точки (v1000), разрешение погрешность от точки (z50) и какой рабочий инструмент будет использоваться (tool0). Чтобы изменить эти параметры необходимо на них кликнуть и выбрать новые.
Изменение положения точки
С помощью функции Modify position мы можем изменить положение уже созданной точки. Например создав точку Target_10 мы поняли, что она должна быть на 1 сантиметр левее, то мы сначала двигаем робота левее куда нам необходимо и после чего используем Modify position
Запускаем программу в FlexPendant
Наша простая программа создана и теперь мы хотим проверить как она работает. Для этого мы будем использовать встроенный дебагер. Нажав на кнопку Debug нам открывается меню выбора дебага. Что есть что:
-
PP to Main -робот будет выполнять программу от самого начала до самого конца. Весь MODULE
-
PP to Routine — робот будет выполнять программу только в определенной области PROC #имя
-
PP to Cursor — робот будет выполнять команду, на которую указывает стрелка возле номера строки
Остальные функции я не так часто использую, но все же расскажу о них:
Curstor to PP — переводим стрелку на нужную нам строку
Go to position — робот будет двигаться на определенную позицию (точку)
Check Programm — пульт проверит нашу программу
Call Routine — вызвать PROC
View Value — посмотреть данные (переменные, сигналы и т.д.)
Мы выбираем PP to Routine чтобы проверить как будет работать наша рутина main. После этого на пульте мы можем запустить нашу программу использую следующее управление:
Стрелка play — мы запускаем программу и она будет от начала до конца автоматически исполняться
Стрелка «перемотки» вперед — мы запускаем программу шаг за шагом (например нажав первый раз робот пойдет к точке А и будет ждать дальше разрешения на движение к точке Б)
Стрелка «перемотки» назад обратное стрелки вперед. Мы возвращаемся на шаг назад в программе.
Квадратик — кнопка STOP. Программа завершается и робот уходит в режим ожидания (Stand By)
Дебагер позволяет отслеживать на какой строчке кода находится робот и каким будет его следующим шагом
Всё! Мы научились с помощью FlexPendant и RobotStudio управлять роботами ABB (на самом деле это только базовые навыки правильного «пользования» всем этим. Здесь присутствует очень много функционала, а значит и подводных камней тоже не мало. Здесь я постарался представить представление как работать с этим)
Знаю, возможно этого материала полным полно в Интернете и на ютубе, но здесь я не видел чтобы развивали эту тему. В моей стране не сильно развита робототехника и в «нашем» русском сообществе не с кем поговорить на эту тему, поэтому было бы классно найти единомышленников здесь и узнать что-то новое для себя и поделиться чем-нибудь.
А так, надеюсь что всем вам понравилось и прошу прощения за свою грамматику! Это была моя первая статья и в будущем я хочу больше развивать тему RobotStudio и как там создавать различные решения и как обучать роботов. Жду вашего мнения и впечатлений в комментариях.
Спасибо!
ABB IRB 1600 M2004 | Eurobots
В наличии
Спросите цитатой
-
Информация -
Спецификации
6-осевой промышленный робот с радиусом действия 1450 мм, применяемый в обслуживании станков, погрузке-разгрузке, дуговой сварке, резке, распределении материалов, сборке, паллетизации и пакетировании, измерениях, литьевом формовании и манипулировании небольшими деталями до 6 кг.
Основные преимущества
IRB1600 характеризуется тем, что его рабочий цикл до 50% короче, чем рабочий цикл конкурирующих роботов, использующихся в погрузке-разгрузке материалов, обслуживании станков и технологической обработке. Он ускоряется и тормозит быстрее, чем другие роботы, экономя время между операциями. Это становится возможным благодаря запатентованной ABB системе контроля движений второго поколения QuickMove в сочетании с мощными моторами робота и прямозубыми шестернями с низким коэффициентом трения.
Шестерни с низким коэффициентом трения и отсутствие лишних движений благодаря функциям QuickMove и TrueMove, сокращает потребление энергии до 0.58 кВт на максимальной скорости и до еще меньшего значения – на меньших скоростях. Уровень воздушного шума <70 дБ (A) обеспечивает здоровую звуковую среду.
Этот робот оснащен контроллером IRC5 M2004 (пятое поколение систем управления ABB) со следующими характеристиками:
FlexPendant
FlexPendant характеризуется четким дизайном цветного сенсорного экрана и 3D-джойстиком для интуитивного управления.
Язык программирования RAPID
Идеальное сочетание простоты, гибкости и мощи. Язык RAPID действительно предоставляет пользователю неограниченные возможности программирования: поддерживает структурированные программы и программирование в производственных условиях и располагает многими усовершенствованными функциями. Он также поддерживает множество приложений.
Связь
IRC5 поддерживает суперсовременные магистральные шины для входов/выходов и является работоспособным узлом любой производственной сети. Некоторые примеры доступных мощных функций построения сети: сенсорные интерфейсы, удаленный доступ к диску и связь между сокетами.
Основные характеристики:
- Максимальная грузоподъемность: 6 кг
- Максимальный радиус действия: 1450 мм
- Точность: 0.02 мм
- Контроллер: IRC5 M2004
Скорость движения:
- Ось 1: 180º/сек
- Ось 2: 180º/сек
- Ось 3: 185º/сек
- Ось 4: 385º/сек
- Ось 5: 400º/сек
- Ось 6: 460º/сек
Диапазон движения осей:
- Ось 1: от +180º до -180º
- Ось 2: от +150º/s до -90º
- Ось 3: от +65º/s до -245º
- Ось 4: от +200º/s до -200º
- Ось 5: от +115º до -115º
- Ось 6: от +400º до -400º
Области применения
Дуговая сварка ,
Погрузка и разгрузка деталей ,
Обработка деталей ,
Измерение ,
Сборка деталей ,
Лазерная резка ,
Плазменная резка
Картинки
Диаграммы
This website uses cookies, which enables the control of unique visits to facilitate navigation of the website. ” If you continue browsing, you are agreeing to its use. You may revoke your consent and obtain further information by consulting our Cookies Policy. Accept
Какой лучший язык программирования для робототехники?
Это вопрос, который многие начинающие робототехники задают хотя бы раз в своей карьере. К сожалению, это также вопрос, на который нет простого ответа. В другом выпуске этого года мы рассмотрим 10 самых популярных языков программирования, используемых в робототехнике. Мы обсудим их сильные и слабые стороны, а также причины за и против их использования.
В преддверии праздников мы решили опубликовать наши лучшие посты в блоге года. Вернитесь в прошлое и взгляните на основные моменты, которые знаменуют собой конец замечательного года робототехники.
На самом деле очень разумный вопрос. В конце концов, какой смысл тратить много времени и сил на изучение нового языка программирования, если окажется, что вы никогда не будете им пользоваться? Если вы новичок в робототехнике, вы хотите изучить языки программирования, которые на самом деле будут полезны для вашей карьеры.
Почему «это зависит» — бесполезный ответ
К сожалению, вы никогда не получите простого ответа, если спросите: «Какой язык программирования лучше всего подходит для робототехники?» целой комнате профессионалов робототехники (или на таких форумах, как Stack Overflow, Quora, Trossen, Reddit или Research Gate).
Инженеры-электронщики дадут другой ответ, чем специалисты по промышленным роботам. Программисты компьютерного зрения дадут другой ответ, чем когнитивные робототехники. И все не согласятся с тем, что такое «лучший язык программирования». В конце концов, ответ, с которым согласится большинство людей, звучит так: «это зависит от». Это довольно бесполезный ответ для нового робототехника, который пытается решить, язык для изучения в первую очередь.Даже если это наиболее реалистичный ответ, потому что он зависит от того, какой тип приложения вы хотите разработать и какую систему вы используете.
Какой язык программирования мне следует выучить в первую очередь?
Наверное, лучше спросить, какой язык программирования следует начать изучать в первую очередь? Вы все равно получите разные мнения, но многие робототехники могут договориться о ключевых языках.
Как мы уже обсуждали в нашем посте об основных навыках робототехники, самое важное для робототехников — развить «менталитет программирования», а не владеть одним конкретным языком. Во многих отношениях на самом деле не имеет значения, какой язык программирования вы изучаете первым. Каждый язык, который вы изучаете, развивает ваши навыки программирования и облегчает изучение любого нового языка, когда это необходимо.
10 самых популярных языков программирования в робототехнике
В мире существует более 1500 языков программирования, и это слишком много, чтобы их изучать. Вот десять самых популярных языков программирования в робототехнике на данный момент. Если вашего любимого языка нет в списке, расскажите о нем всем в комментариях! Каждый язык имеет разные преимущества для робототехники. Я расположил их лишь частично в порядке важности от наименее до наиболее ценных.
10. BASIC / Pascal
BASIC и Pascal были двумя из первых языков программирования, которые я выучил. Однако я включил их сюда не поэтому. Они являются основой для нескольких языков промышленных роботов, описанных ниже. BASIC был разработан для начинающих (он расшифровывается как Универсальный символический код инструкций для начинающих), что делает его довольно простым языком для начала. Pascal был разработан для поощрения хорошей практики программирования s , а также вводит такие конструкции, как указатели, что делает его хорошей «ступенькой» от BASIC к более сложному языку. В наши дни оба языка немного устарели, чтобы быть пригодными для «повседневного использования». Тем не менее, их изучение может быть полезно, если вы собираетесь много программировать на низком уровне или хотите познакомиться с другими языками промышленных роботов.
9. Языки промышленных роботов
Почти каждый производитель роботов разработал свой собственный язык программирования роботов, что было одной из проблем промышленной робототехники. Вы можете познакомиться с некоторыми из них, изучив Pascal. Однако вам все равно придется учить новый язык каждый раз, когда вы начинаете использовать нового робота.
У АББ есть свой язык программирования RAPID. У Kuka есть KRL (язык роботов Kuka). Comau использует PDL2, Yaskawa использует INFORM, а Kawasaki использует AS. Затем роботы Fanuc используют Karel, роботы Stäubli используют VAL3, а Universal Robots используют URScript.
В последние годы возможности программирования, такие как ROS Industrial, стали предоставлять программистам более стандартизированные возможности. Однако, если вы технический специалист, вам, скорее всего, придется использовать язык производителя.
8. LISP
LISP — второй старейший язык программирования в мире (FORTRAN старше, но всего на год). Он не так широко используется, как многие другие языки программирования в этом списке; тем не менее, это все еще очень важно в программировании искусственного интеллекта. Части ROS написаны на LISP, хотя вам не нужно знать его, чтобы использовать ROS.
7. Языки описания аппаратуры (HDL)
Языки описания аппаратуры в основном представляют собой программный способ описания электроники. Эти языки хорошо знакомы некоторым робототехникам, потому что они используются для программирования программируемых вентильных матриц (FPGA). ПЛИС позволяют разрабатывать электронное оборудование без фактического производства кремниевого чипа, что делает их более быстрым и простым вариантом для некоторых разработок. Если вы не прототипируете электронику, вы никогда не сможете использовать HDL. Тем не менее, важно знать, что они существуют, поскольку они сильно отличаются от других языков программирования. Во-первых, все операции выполняются параллельно, а не последовательно, как в процессорных языках.
6. Сборка
Сборка позволяет программировать «на уровне единиц и нулей». Это программирование на самом низком уровне (более или менее). В недавнем прошлом большая часть электроники низкого уровня требовала программирования на ассемблере. с появлением Arduino и других подобных микроконтроллеров теперь вы можете легко программировать на этом уровне, используя C/C++, что означает, что сборка, вероятно, станет менее необходимой для большинства робототехников. родственники, такие как Octave, очень популярен у некоторых инженеров-робототехников для анализа данных и разработки систем управления.Есть также очень популярный Robotics Toolbox для MATLAB.Я знаю людей, которые разрабатывали целые системы робототехники, используя только MATLAB.Если вы хотите проанализировать данные, создавать расширенные графики или внедрять системы управления, вы, вероятно, захотите изучить MATLAB.0003
4. C#/.NET
C# — это собственный язык программирования, предоставляемый Microsoft. Я включил сюда C#/.NET в основном из-за того, что Microsoft Robotics Developer Studio использует его в качестве основного языка. Если вы собираетесь использовать эту систему, вам, вероятно, придется использовать C#. Тем не менее, изучение C/C++ в первую очередь может быть хорошим вариантом для долгосрочного развития ваших навыков программирования.
3. Java
Как инженер-электронщик, я всегда удивляюсь тому, что некоторые ученые степени в области информатики преподают Java студентам в качестве первого языка программирования. Java «скрывает» базовую функциональность памяти от программиста, что упрощает программирование, чем, скажем, C, но также это означает, что у вас меньше понимания того, что он на самом деле делает с вашим кодом. Если вы пришли в робототехнику из области компьютерных наук (а многие так и делают, особенно в сфере исследований), вы, вероятно, уже изучили Java. Подобно C# и MATLAB, Java является интерпретируемым языком, что означает, что он не компилируется в машинный код. Вместо этого виртуальная машина Java интерпретирует инструкции во время выполнения. Теория использования Java заключается в том, что вы можете использовать один и тот же код на многих разных машинах благодаря виртуальной машине Java. На практике это не всегда работает и иногда может привести к замедлению работы кода. Тем не менее, Java довольно популярен в некоторых разделах робототехники, поэтому он может вам понадобиться.
2. Python
В последние годы произошло огромное возрождение Python, особенно в робототехнике. Одна из причин этого, вероятно, заключается в том, что Python (и C++) являются двумя основными языками программирования, присутствующими в ROS. Как и Java, это интерпретирующий язык. В отличие от Java, основное внимание в языке уделяется простоте использования. Многие люди согласны с тем, что он достигает этого очень хорошо. Python обходится без многих обычных вещей, которые отнимают время в программировании, таких как определение и приведение типов переменных. Также для него существует огромное количество бесплатных библиотек, а значит, вам не придется «изобретать велосипед», когда нужно реализовать какой-то базовый функционал. А поскольку он допускает простые привязки к коду C/C++, это означает, что части кода, требующие высокой производительности, могут быть реализованы на этих языках, чтобы избежать потери производительности. Поскольку все больше электроники начинает поддерживать Python «из коробки» (как в случае с Raspberry Pi), мы, вероятно, увидим гораздо больше Python в робототехнике.
1. C/C++
Наконец-то мы достигли языка программирования номер 1 в робототехнике! Многие согласны с тем, что C и C++ — хорошая отправная точка для новых робототехников. Почему? Потому что многие аппаратные библиотеки используют эти языки. Они позволяют взаимодействовать с оборудованием низкого уровня, обеспечивают производительность в реальном времени и являются очень зрелыми языками программирования. В наши дни вы, вероятно, будете использовать C++ чаще, чем C, потому что этот язык обладает гораздо большей функциональностью. C++ в основном является расширением C. Может быть полезно сначала хотя бы немного изучить C, чтобы вы могли распознать его, когда найдете аппаратную библиотеку, написанную на C. C/C++ не так просты в использовании, как, скажем, Python или MATLAB. Реализация той же функциональности с помощью C может занять гораздо больше времени, и потребуется гораздо больше строк кода. Однако, поскольку робототехника очень зависит от производительности в реальном времени, C и C++, вероятно, ближе всего к «стандартному языку» у нас, робототехников.
В каком порядке их учить?
То, что я перечислил эти десять, не означает, что вы должны выучить их все или хотя бы какую-то из них. Самое главное — найти язык, который кажется вам естественным и подходит для вашего роботизированного оборудования. Вам нужен язык, который позволит вам быстро и легко разрабатывать программы, чтобы вы могли больше сосредоточиться на разработке функциональности. По этой причине я бы рекомендовал сначала изучить Python. Это всего лишь мое личное мнение. Если вам больше подходит другой язык, изучайте его. Тем не менее, Python — удивительно простой язык для изучения и чрезвычайно мощный благодаря множеству легкодоступных библиотек. Я слышал много отзывов от (уже опытных) программистов, которые изучили Python за пару дней и сразу же перешли на него почти для всех своих потребностей в программировании. Как сказал один парень, « Я могу создавать пригодный для использования код на Python так же быстро, как набираю ». После того, как вы достаточно освоитесь в Python, я лично рекомендую изучить C, а затем C++. Он понадобится вам для взаимодействия с подавляющим большинством роботизированных систем. аппаратные драйверы
Ваш любимый язык программирования мы не упомянули? Какой язык программирования вы выучили первым? Что вы чаще всего используете при программировании роботов? Расскажите нам в комментариях ниже или присоединяйтесь к обсуждению в LinkedIn, Twitter или Facebook.
» Языки программирования роботов —
Популярность самодельной робототехники привела к тому, что у многих людей сложилось искаженное представление о программировании промышленных роботов. Если вы спросите кого-нибудь о языках программирования, используемых в робототехнике, вы наверняка слышали: ассемблер/C/Java/не знаю.
В отличие от компьютерного программирования в робототехнике не существует единого общего языка , который можно было бы использовать на любом роботе. Программист, знающий Java или C, может писать программы для Windows, Mac OSX, Linux и мобильных устройств. В робототехнике каждый производитель роботов разработал свой язык, несовместимый с другими контроллерами.
Существует краткий список языков программирования промышленных роботов:
ABB — RAPID ,
Kuka — KRL (Kuka Robot Language),
Comau — PDL2 ,
Yaskawa — PDL2 ,
Inform 0050 Кавасаки – AS ,
Fanuc – Karel ,
Stäubli – VAL3 ,
Universal Robots – URScript .
Хорошая новость заключается в том, что эти языки очень похожи друг на друга. У всех 9Синтаксис 0009 основан на BASIC, Pascal или C . Если вы знаете один из этих языков, вы сможете быстро выучить другой на начальном уровне. Обучение новым позициям на роботе не требует недель ручного обучения. Но если вам нужно использовать какие-то более продвинутые команды, то требуется гораздо больше времени на изучение.
Ниже вы можете увидеть две программы, выполняющие одинаковые движения робота в синтаксисе Abb и KUKA.
ABB RAPID :
MoveAbsJ jpHome,vmax,fine,GR01_W1_Tool\Wobj:=B01_02FX02;
MoveJ LHP005,vmax,z200,GR01_W1_Tool\Wobj:=B01_02FX02;
MoveJ LHP010,vmax,z200,GR01_W1_Tool\Wobj:=B01_02FX02;
! Положение сброса
MoveL LBH_02fx02,v500,fine,GR01_W1_Tool\Wobj:=B01_02FX02;
! Некоторые логические инструкции
KUKA KRL :
PTP HOME Vel= 100 % ПО УМОЛЧАНИЮ
PTP LHP005 CONT Vel= 100 % PDAT2 Tool[1]:GR01_W1_LHP0 1FX0TP 021_02 0 CONT Vel= 100 % PDAT3 Инструмент[1]:GR01_W1_Tool Base[1]:B01_02FX02
; Сбросить позицию
LIN LBH_02fx02 Скорость= 0,5 м/с CPDAT8 Инструмент[1]:GR01_W1_Tool Base[1]:B01_02FX02
; Некоторые логические инструкции
Помимо нестандартизации важно знать, что выполнение команд в роботе зависит от положения, в котором находится робот. Например, робот не выполняет строку «некоторые логические инструкции», пока не достигнет положения LBH_02fx02.
История современных языков программирования в робототехнике началась в середине семидесятых годов. Одним из первых был VAL (Victor’s Assembly Language), разработанный в компании, принадлежащей Викторе Шейман. Его компания (Vicarm) вместе с разработанным роботом PUMA и новым изобретенным языком программирования была куплена в 1977 от Unimate. На самом деле VAL используется компанией Stäubli, купившей в восьмидесятых годах обанкротившуюся Unimate.
До того, как роботы получили свой собственный язык программирования, ими управляла система, которая воспроизводит движения, которым обучали ранее. Вся информация была сохранена с использованием магнитных лент. Если это было очень неудобно, например, не было возможности повторно использовать часть существующей программы робота.
Оператор не может просто проверить, что записано на пленку. Он должен воспроизвести ее один раз, чтобы увидеть, что на самом деле делает хранимая программа.
Добавить комментарий