Тест робота-манипулятора от SAGA robotics
К нам, в школу RobotX попал учебный робот-манипулятор от компании SAGA Robotics. Ну как, "попал", компания SAGA любезно предоставила нам его для занятий и проведения полноценного тестирования, за что ей большое спасибо!
Разработчик предлагает на первом этапе использовать систему блочного программирование MBlock, которая, на мой субъективный преподавательский взгляд не имеет ничего общего с программированием роботов.
Поэтому предлагаю вам другой подход, который может быть легко применен в множестве других проектов!
Итак, сердце данного робота - микроконтроллер STM32, который управляет механикой манипулятора и производит вычисления. Пользователю предоставлена Arduino с набором команд, однако загружать каждый раз скетч, и тем более реализовать какое-то внешнее управление, а я планирую активно использовать этот манипулятор в курсе по компьютерному зрению!
К великому сожалению, онлайн с этим манипулятором пока не поработать, а вот пройти онлайн курс по работе с компьютерным зрением - легко! Переходите по ссылке ниже!
А речь дальше пойдет о методе взаимодействия Python скрипта и Arduino. Это уже не первый, описанный метод. Еще больше в телеграм-канале.
Начнем с того, что к Arduino нужно подключиться, для этого используется библиотека pyserial.
Данная функция, автоматически найдет нашу плату Arduino среди любого количества COM портов. При успешном открытии порта отправим в него PING, и если в ответ получили PONG, значит это плата наша!
Этот метод также позволит вам подключаться и работать одновременно с несколькими платами Arduino не путаясь в них каждый раз!
На стороне Arduino должна быть программа, которая умеет ловко отвечать на поставленные запросы:
Теперь, когда подключение выполнено, в нужный момент достаточно передавать в Serial команду, и разбирать ее на стороне Arduino. В качестве примера рассмотрим управляющую команду для движения робота в заданные координаты:
В Arduino необходимо такую команду принять, разобрать на составляющие ее компоненты и передать управление в STM32.
По аналогии, можно формировать любые управляющие команды не только для манипуляторов!
Удачи в разработке!
Подписывайтесь на телеграм-канал: