Программное обеспечение для роботов - Википедия - Robot software

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

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

Вступление

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

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

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

Перейти к Jig1

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

Скажите оси 1 переместиться на 30 градусов.

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

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

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

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

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

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

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

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

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

ВЫБОР ПРОГРАММЫ 1. ПЕРЕМЕСТИТЬ P1 2. ПЕРЕМЕСТИТЬ P2 3. ПЕРЕМЕСТИТЬ P3 4. ЗАКРЫТЬ 0,00 5. ПЕРЕМЕСТИТЬ P4 6. ПЕРЕМЕСТИТЬ P5 7. ОТКРЫТЬ 0,00 8. ПЕРЕМЕСТИТЬ P1.END

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

begin movej (p1, tGripper, mNomSpeed) movej (Appro (p3, trAppro), tGripper, mNomSpeed) movel (p3, tGripper, mNomSpeed) close (tGripper) movej (Appro (p5, trAppro), tGripper, mNomSpeed) movel , tGripper, mNomSpeed) открыть (tGripper) movej (p1, tGripper, mNomSpeed) конец

trAppro - декартова переменная преобразования. Если мы используем команду in with Appro, нам не нужно обучать P2 приземлять точку P4, но мы динамически трансформируем подход к позиции выбора и места для генерации траектории.

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

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

ROBOFORTH (язык, основанный на Четвертый ).

: МЕСТОP1P3 СХВАТИТЬ СНЯТЬ СО СЧЕТАP5 UNGRIP СНЯТЬ СО СЧЕТАP1;

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

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

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

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

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

Языки сценариев

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

Языки программирования в промышленной робототехнике[4]
Марка роботаНазвание языка
ABBСТРЕМИТЕЛЬНЫЙ
КомауPDL2
FanucКарел
КавасакиВ КАЧЕСТВЕ
КукаKRL
StäubliVAL3
ЯскаваСообщить

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

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

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

 в любое время(лицо.видимый) {   голова.вал  += камера.xfov * лицо.Икс   &   наклон головы.вал += камера.yfov * лицо.у }

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

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

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

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

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

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

Рекомендации

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

внешняя ссылка