stringtranslate.com

Программное обеспечение робота

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

Некоторые программы для роботов нацелены на разработку интеллектуальных механических устройств. Обычные задачи включают в себя контуры обратной связи , управление , поиск пути , фильтрацию данных, поиск и обмен данными .

Введение

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

Программное обеспечение для промышленных роботов

Программное обеспечение для промышленных роботов состоит из объектов данных и списков инструкций, известных как поток программы (список инструкций). Например,

Перейти к Jig1

Это инструкция роботу перейти к позиционным данным с именем Jig1. Конечно, программы могут также содержать неявные данные, например

Сообщите оси 1 о движении на 30 градусов.

Данные и программа обычно находятся в отдельных разделах памяти контроллера робота. Можно изменить данные, не меняя программу и наоборот. Например, можно написать другую программу, используя тот же Jig1, или можно отрегулировать положение Jig1, не меняя программы, которые его используют.

Примеры языков программирования для промышленных роботов

Из-за высокой степени патентованности программного обеспечения роботов большинство производителей оборудования роботов также предоставляют свое собственное программное обеспечение. Хотя это не является необычным для других автоматизированных систем управления , отсутствие стандартизации методов программирования для роботов действительно создает определенные проблемы. Например, существует более 30 различных производителей промышленных роботов , поэтому требуется также 30 различных языков программирования роботов. Между различными роботами достаточно сходств, чтобы можно было получить широкое понимание программирования роботов без необходимости изучать фирменный язык каждого производителя. [1]

Одним из методов управления роботами от разных производителей является использование постпроцессора и программного обеспечения для офлайн-программирования (робототехники) . С помощью этого метода можно управлять языком программирования роботов, специфичным для бренда, из универсального языка программирования, такого как Python (язык программирования) . [2] Однако компиляция и загрузка фиксированного офлайн-кода в контроллер робота не позволяет роботизированной системе осознавать состояние, поэтому она не может адаптировать свое движение и восстанавливаться при изменении окружающей среды. Единое адаптивное управление в реальном времени для любого робота в настоящее время возможно с помощью нескольких различных сторонних инструментов.

Ниже приведены некоторые примеры опубликованных языков программирования роботов.

Задача на простом английском:

Перейдите в положение P1 (общая безопасная позиция)Переход к P2 (приближение к P3)Перейти в P3 (позиция для выбора объекта)Закрытый захватПереход к P4 (приближение к P5)Перейдите в P5 (позиция для размещения объекта)Открытый захватПерейдите на P1 и закончите

VAL был одним из первых «языков» роботов и использовался в роботах Unimate . [3] Варианты VAL использовались другими производителями, включая Adept Technology . В настоящее время Stäubli использует VAL3.

Пример программы:

ПРОГРАММА ВЫБОРА 1. ПЕРЕМЕЩЕНИЕ P1 2. ПЕРЕМЕЩЕНИЕ P2 3. ПЕРЕМЕЩЕНИЕ P3 4. ЗАКРЫТО 0.00 5. ПЕРЕМЕЩЕНИЕ P4 6. ДВИЖЕНИЕ P5 7. ОТКРЫТО 0.00 8. ДВИЖЕНИЕ P1.КОНЕЦ

Пример программы Stäubli VAL3:

начинать movej(p1,tGripper,mNomSpeed) movej(appro(p3,trAppro),tGripper,mNomSpeed) movel(p3,tGripper,mNomSpeed) закрыть(tGripper) movej(appro(p5,trAppro),tGripper,mNomSpeed) movel(p5,tGripper,mNomSpeed) открыть(tGripper) movej(p1,tGripper,mNomSpeed)конец

trAppro — это декартова переменная преобразования. Если мы используем in с командой appro, нам не нужно обучать точку P2 и P4, но мы динамически преобразуем подход к положению pick and place для генерации траектории.

Epson RC+ (пример для вакуумного захвата)

Функция PickPlace Перейти P1 Перейти P2 Перейти P3 Вакуум Подожди .1 Перейти P4 Перейти P5 Выключение вакуума Подожди .1 Перейти P1Fend

ROBOFORTH (язык на основе FORTH ).

: ПОДЪЕМ P1 P3 ЗАХВАТ ОТЪЕМ P5 ОТЪЕМ P1 ;     

(С помощью Roboforth вы можете указать позиции подхода для определенных мест, поэтому вам не нужны P2 и P4.)

Очевидно, что робот не должен продолжать следующий ход, пока захват не будет полностью закрыт. Подтверждение или разрешенное время подразумеваются в приведенных выше примерах CLOSEI и GRIP, тогда как команда On vacuum требует временной задержки для обеспечения удовлетворительного всасывания.

Другие языки программирования роботов

Визуальный язык программирования

Язык программирования LEGO Mindstorms EV3 — это простой язык для взаимодействия пользователей. Это графический пользовательский интерфейс (GUI), написанный с помощью LabVIEW . Подход заключается в том, чтобы начать с программы, а не с данных. Программа создается путем перетаскивания значков в область программы и добавления или вставки в последовательность. Затем для каждого значка вы указываете параметры (данные). Например, для значка привода двигателя вы указываете, какие двигатели и на сколько они движутся. Когда программа написана, она загружается в «кирпич» Lego NXT (микроконтроллер) для тестирования.

Скриптовые языки

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

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

Параллельные языки

Еще один интересный подход заслуживает упоминания. Все роботизированные приложения нуждаются в параллелизме и программировании на основе событий. Параллелизм — это когда робот выполняет две или более задач одновременно. Для этого требуется соответствующее оборудование и программное обеспечение. Большинство языков программирования полагаются на потоки или сложные классы абстракции для обработки параллелизма и сопутствующей ему сложности, например, одновременного доступа к общим ресурсам. URBI обеспечивает более высокий уровень абстракции, интегрируя параллелизм и события в ядро ​​семантики языка.

 всякий раз, когда ( лицо . видимо )  {  headPan . val  +=  камера . xfov  *  лицо . x  &  headTilt . val  +=  камера . yfov  *  лицо . y  }

Приведенный выше код будет перемещать двигатели headPanи headTiltпараллельно, чтобы голова робота следовала за человеческим лицом, видимым на видео, снятом его камерой, всякий раз, когда робот видит лицо.

Программное обеспечение для роботов

Независимо от того, какой язык используется, результатом программного обеспечения роботов является создание роботизированных приложений, которые помогают или развлекают людей. Приложения включают программное обеспечение для управления и контроля и постановки задач. Программное обеспечение для управления и контроля включает графические интерфейсы управления роботами для телеуправляемых роботов, программное обеспечение для управления point-n-click для автономных роботов и программное обеспечение для планирования для мобильных роботов на фабриках. Программное обеспечение для управления задачами включает простые интерфейсы drag-n-drop для настройки маршрутов доставки, патрулирования безопасности и экскурсий для посетителей; оно также включает пользовательские программы, написанные для развертывания определенных приложений. Программное обеспечение для роботов общего назначения развертывается на широко распространенных роботизированных платформах.

Соображения безопасности

Ошибки программирования представляют собой серьезную проблему безопасности, особенно в случае крупных промышленных роботов. Мощность и размер промышленных роботов означают, что они способны нанести серьезные травмы, если запрограммированы неправильно или используются небезопасным образом. Из-за массы и высоких скоростей промышленных роботов человеку всегда небезопасно оставаться в рабочей зоне робота во время автоматической работы. Система может начать движение в неожиданное время, и человек не сможет достаточно быстро отреагировать во многих ситуациях, даже если он готов к этому. Таким образом, даже если программное обеспечение не содержит ошибок программирования, необходимо проявлять большую осторожность, чтобы сделать промышленного робота безопасным для людей-работников или человеческого взаимодействия, такого как загрузка или выгрузка деталей, устранение застревания деталей или выполнение технического обслуживания. Книга ANSI/RIA R15.06-1999 Американский национальный стандарт для промышленных роботов и робототехнических систем — Требования безопасности (пересмотр ANSI/R15.06-1992) Ассоциации робототехнической промышленности является общепринятым стандартом по безопасности роботов. Это включает в себя руководящие принципы как для проектирования промышленных роботов, так и для внедрения или интеграции и использования промышленных роботов на заводе. Охвачены многочисленные концепции безопасности, такие как контроллеры безопасности, максимальная скорость в режиме обучения и использование физических барьеров.

Смотрите также

Ссылки

  1. ^ "Будущее автономного программирования роботов". Блог CoRo . 2015-10-25 . Получено 2017-01-03 .
  2. ^ RoboDK. "Оффлайн-программирование - RoboDK". www.robodk.com . Получено 2017-01-03 .
  3. ^ О. Ннаджи, Бартоломью (1993). Теория автоматической сборки и программирования роботов (ред. 1993 г.). Springer. стр. 5. ISBN 978-0412393105. Получено 8 февраля 2015 г.
  4. ^ «Языки программирования роботов». Фабрика роботов . Проверено 8 февраля 2015 г.

Внешние ссылки