Пожалуй, наибольший интерес в использовании
манипуляторов заключается в возможности
реализовать для них разнообразные законы
управления исходя из собственных
соображений. В предыдущей статье был
описан процесс первичной настройки
манипулятора. Ниже будет описан способ
управления манипулятором по собственному
закону управления.
Коротко о устройстве контроллера манипулятора
Контроллер манипулятора представляет из себя компьютер с подключенными периферийными устройствами, отвечающими индустриальным задачам, и сервоуселитялями для управления приводами манипулятора.
Поскольку мы имеем дело с индустриальным оборудованием, просто так напрямую подключится к двигателям не получится: производитель серьёзно заботится о безопасности. Управление с ПК производится посредством отправки команд на контроллер манипулятора.
В данном случае робот поставляется со стандартной прошивкой. Если требуется какая либо программная опция, нужно связаться с региональной техподдержкой: она выставит КП, счёт, и после его оплаты добавит необходимое в образ робота, отправленный вами.
После получения обновлённого образа системы контроллера остаётся только восстановить робота из прошивки.
Данные о ПО оборудования,
рассматриваемого в статье:
Ревизия iPendant : декабрь 2017
Версия ПО контроллера: V8.30P/36
Bootloader 1.2
Насколько просто начать управлять манипулятором с ПК?
Вообще говоря, трудностей не должно возникнуть. У авторов имеется задача управления манипулятором из-под ROS. Хотя Fanuc поддерживает ROS, для его успешной установки требуется установка программной опции R648 User Socket Messaging. Данная опция платная.
Существует два основных способов передачи управляющих команд и данных на контроллер: через Ethernet или RS232.
Стоит отметить, что при подключении контроллера к сети на нём запускается web-сервер, который предоставляет базовый функционал для взаимодействия с системой.
Было решено попробовать обойтись без покупки дополнительной опции и реализовать управление манипулятором иным образом.
Управление без дополнительных программных опций
При поиски информации об обходе системы было найдено решение Венгерского центра интеллектуальной робототехники. Оно позволяет управлять движением манипулятора с помощью Get запросов в локальной сети посредством записи настроек и координат в регистры контроллера и исполнением KAREL программы перемещения в точку. Для этого
также требуется запуск программы мониторинга состояния системы: она сбрасывает fuse-биты, отвечающие за блокировку движения. Имеется возможность запуска заранее загруженных KAREL программ.
Ссылка на GitHub репозиторий: https://github.com/ABC-iRobotics/fanuc-webcontrol
Для компиляции программ из репозитория требуется RoboGuide. Бесплатную версию на 30 дней можно запросить у регионального представителя Fanuc.
Демонстрация: https://www.youtube.com/watch?v=02TwCEzMBLw
Примечание: для управления роботом в СК, связанной с землёй или рабочем инструментом, требуется
перевести пятую степень свободы J5 в положение, отличное от нулевого, во избежание возникновения ошибки MONT-023.