Робот-не-пылесос с ножом или как мы делали смарт-ножницы на колесах
Автор: amazing_mike. Эта история началась в октябре 2019 года. К нам пришел владелец крупного производства натяжных потолков и сказал: «Хочу максимально оптимизировать производство, избежать ошибок, вызванных человеческим фактором, повысить производительность и точность, не теряя качества готовой продукции». Подумав и оценив свои силы, мы решили попробовать создать робота раскройщика. Мы — это тимлид, 3 программиста, инженер конструктор и безопасник (все вместе мы развивали школу робототехники и искусственного интеллекта aiRoboLab).
Забегая вперед, скажем, что поставленная задача была выполнена! Мы самостоятельно разработали инструмент, который позволяет с высокой точностью перемещаться по поверхности и резать материал, по которому он перемещается. В нашем случае материалом стали полотна для натяжных потолков.
Первым этапом работы стало знакомство с производством натяжных потолков. Оказалось, что разновидностей раскройных столов несколько — это как обычные прямоугольные, так и прямоугольные «Г образные» и «П образные» столы. В конечном счете, мы добились того, что робот умеет передвигаться по любому произвольному многоугольнику.
![nozhnicy1.png](/files/users/u42559/2023/feb/080223/nozhnicy1.png)
Затем, мы стали думать над внешним видом и внутрянкой робота. Было решено использовать трехколесную модель всенаправленного движения, которая в свою очередь отразилась на каркасе и внешнем виде робота. Основным рабочим инструментом стал дисковый нож, закрепленный по центру. Во время первичной эксплуатации робот мог захватить кусок полотна и тащить его за собой. Эта проблема была решена перфорацией ножа. Использование перфорированного ножа, позволяет разделять полотно после окончания реза роботом, до этого момента полотно остаётся неподвижным.
Следующей инженерной задачей, которую пришлось решить в процессе стали колёса. Доступные колёса с резиновыми валиками нас не устроили, так как из за давления робота, который весит 9 кг, оставались чёрные следы от резины на белом полотне потолка. Поэтому мы приняли решение создать свои колёса с нуля. Робот имеет OMNI колёса (всенаправленные), валики которых сделаны из полиуретана. Основа колес — диски из лёгкого и прочного дюралюминия, изготовленные с помощью ЧПУ станков. Каждое колесо снабжено тремя рядами валиков, осуществляющих большое сцепление с поверхностью: в любой момент времени каждое из трех колес имеет сразу две точки опоры.
![nozhnicy2.png](/files/users/u42559/2023/feb/080223/nozhnicy2.png)
Для правильной работы необходимо надежное соединение всех модулей робота. Подобное соединение может обеспечить только специально разработанная плата. На плате распаян микроконтроллер STM, управляющий моторами колес, ножевым механизмом и другими периферийными устройствами. Мозгом робота является одноплатный компьютер «Raspberry Pi».
![nozhnicy3.png](/files/users/u42559/2023/feb/080223/nozhnicy3.png)
В основе программного обеспечения лежит операционная система Ubuntu и фрэймворк ROS (Robot Operating System). Для решения поставленных задач были написаны глобальный и локальный планировщики, а для кроссплатформенного использования создан веб интерфейс. Глобальный планировщик — часть программы, которая строит для робота идеальный маршрут из точки А в точку Б, локальный же планировщик принимает решения о том, какие команды отдавать колесам: в каком направлении двигаться или поворачиваться, чтобы следовать намеченному маршруту.
После создания файла в специальной потолочной программе, например, EasyCeiling, мы загружаем файл в формате g code в веб интерфейс робота или загружаем его напрямую из производственной базы данных. Данные о раскрое полотна содержатся в файле в виде списка точек с двумерными декартовыми координатами.
Следующим этапом стала разработка веб интерфейса. Веб интерфейс позволяет управлять маршрутами относительно рабочей поверхности: перетаскивать, магнитить, крутить и др. Также мы добавили редактор маршрута, при помощи которого можно отредактировать маршрут раскроя для оптимизации времени, а еще разложить сразу несколько потолочных вырезов на одном полотне. Робот должен знать и понимать, где находится рабочая область, и каким образом под него застелено полотно. Решением этих вопросов при помощи веб интерфейса занимается оператор, который располагает раскроечный маршрут с учетом рабочей области информации о том, каким образом было застелено полотно.
![nozhnicy4.png](/files/users/u42559/2023/feb/080223/nozhnicy4.png)
Вся наша небольшая команда уже привыкла использовать темную тему, поэтому и изначальный интерфейс управления был разработан в темных тонах. Но рабочие на производстве нашу инновацию не оценили и под предлогом того, что «все плохо видно» и «сделайте нам светленькое как в потолочной программе» попросили добавить еще и светлую тему. Честно сказать, с этим мы особенно не торопились, пока просьбы переделать, к нашему всеобщему удивлению, не стали слишком частыми. Мы сделали светлую тему, установили ее по умолчанию, рассказали, как переключаться с одной на другую и, придя через несколько дней на производство, увидели, что на всех компьютерах снова установлена тёмная тема. Оказалось, что рабочие переключили тему на темную, так как на ней всё же лучше видны необходимые элементы и линии. Но, если вы наш потенциальный покупатель, то знайте — темы две и обе работают!
Вернёмся к особенностям работы с натяжными потолками.
- Источник(и):
- Войдите на сайт для отправки комментариев