Робототехни­ческий комплекс для автономной навигации и полива растений в офисах

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

background image

Клиент

TechCore — российский разработчик программного обеспечения полного цикла со штатом более 3000 ИТ-специалистов. Мы создаем ИТ-решения под ключ и реализовали свыше 300 проектов для клиентов из России и СНГ.

0
специалистов в команде
0
длительность проекта
Колесная роботизированная платформа с синей подсветкой в интерьере современного офиса со светящимися растениями.

Задача

Робототехника — одно из самых быстрорастущих направлений современных технологий. Быстрое развитие искусственного интеллекта и сетевых технологий ускоряет внедрение робототехники в разных отраслях.

Ориентируясь на перспективные технологии, TechCore внедряет передовые ИТ-решения сразу после их появления на рынке. В качестве подтверждения нашей глубокой технической экспертизы команда направления робототехники с нуля разработала полностью автономного робота для полива растений. В рамках этого внутреннего проекта мы продемонстрировали клиенту наши компетенции в разработке робототехнических и встраиваемых систем, способных бесшовно взаимодействовать с внешними ресурсами. Подобные решения позволяют автоматизировать рутинные задачи и минимизировать человеческий фактор.

background image

Решение

Инженеры TechCore разработали роботизированную систему орошения — автономного робота для навигации и полива растений в офисных помещениях. Помимо программной архитектуры, включающей стек ROS, алгоритмы SLAM и обработку данных LiDAR, мы полностью спроектировали аппаратную базу. Она включает подвижную платформу, резервуар для воды и подъемный механизм.

Картирование помещения

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

Для точной навигации и построения маршрутов мы внедрили алгоритмы SLAM (одновременная локализация и построение карты). Данная технология параллельно решает две задачи: локализует устройство в пространстве и формирует карту помещения, агрегируя данные компьютерного зрения, лидара и массива дополнительных датчиков.

Для обнаружения препятствий и распознавания целевых объектов мы интегрировали лидар с бортовым микрокомпьютером Raspberry Pi. Полученный массив пространственных данных передается на главный вычислительный модуль и обрабатывается средствами ROS (Robot Operating System — операционная система для роботов) для навигации, расчета траекторий и обновления карты помещения. Такое разделение вычислительной нагрузки гарантирует высокую скорость отклика системы и точность маневрирования в реальном времени.

background image Интерфейс на экране ноутбука: 2D-карта помещения с контурами стен, выделенной зоной и фиолетовыми линиями маршрута.

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

Для решения этой задачи мы применили алгоритмы компьютерного зрения и машинного обучения, включая сегментацию изображений, обнаружение объектов, фильтрацию шума и другие методы. Также мы интегрировали алгоритмы планирования движения — RRT (Rapidly-exploring Random Trees) и A* (A-star). Они учитывают положение и форму препятствий, определяя оптимальный маршрут в режиме реального времени.

Распознавание растений и QR-коды

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

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

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

После обнаружения растения система определяет его точные координаты и принимает решение о необходимости полива. Для этого мы промаркировали все горшки в офисных помещениях QR-кодами, связанными с базой данных, которая хранит историю полива каждого растения.

background image Интерфейс программы с видео с камеры: комнатное растение выделено зеленой рамкой с отметкой 59%.

Мобильная платформа

При проектировании аппаратной части наша команда выбрала модульную архитектуру. Она включает подвижную платформу с электроникой, резервуар для воды, аккумулятор и двухуровневый подъемный механизм. Каркас системы мы собрали из легкого и прочного алюминиевого профиля V-Slot. Такое решение повысило маневренность устройства и снизило энергопотребление.

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

Подъемный механизм и система полива

Растения располагаются на офисных столах, полках, стеллажах, высоких шкафах и в других труднодоступных для сотрудников местах. Вместо проектирования высокого робота мы собрали подъемный механизм на базе направляющих роликов, отказавшись от трудоемкой и экономически нецелесообразной сборки крупногабаритной конструкции. С помощью комплектующих профиля V-Slot от OpenBuilds мы прочно закрепили секции подъемника между собой. Для этого использовали каретки и ролики, которые перемещаются вдоль механизма. Привод кареток осуществляется ременной передачей, натянутой между двигателем и натяжным узлом, установленным с противоположной стороны.

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

Технологии

Бэкенд

Python, Django(DRF), FastAPI, AWS IoT Core, pandas, Loki, Prometheus, Grafana, API Gateway, AWS (Route, Lambda, RDS, S3, SQS, SES, EKS, ECR)

Фронтенд

JavaScript, TypeScript, React, Redux, Leaflet, Webpack, Axios, Material UI, Cube.js, AWS CloudFront

Встраиваемые системы

AVR, Raspberry Pi, SPI, UART, USB, I2C, HTTP, Solidworks, ROS, SLAM, LiDAR, Altium Designer

ML/DS

OpenCV, TensorFlow, TFLite, ONNX, NumPy

DevOps

Terraform, Weave, Docker. Docker Compose, Kubernetes, BitBucket Pipelines

Базы данных

PostgreSQL, AWS Timestream

background image

Процесс

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

В настоящее время мы тестируем систему полива растений. Также мы оптимизируем алгоритм, который автоматически находит растения в офисных помещениях на разной высоте и обеспечивает доступ к ним без столкновений. В процессе разработки мы выявили ряд конструктивных недочетов и подготовили технические решения для их устранения перед демонстрацией комплекса инвесторам. Кроме того, наши специалисты проектируют инфраструктурную базу для робота, включая зарядную станцию с подключением к водопроводу и сети 220 В. Это позволит роботу автоматически заряжать бортовой аккумулятор и пополнять встроенный резервуар для воды.

Команда

1

Проектный менеджер

1

Бизнес-аналитик

1

Архитектор ПО

1

Руководитель команды

1

DevOps-инженер

1

ML/DS-инженер

1

3D-моделлер

1

Инженер-конструктор

2

Инженера аппаратного обеспечения

2

Разработчика встраиваемого ПО

2

Бэкенд-разработчика

2

Фронтенд-разработчика

Работа команды разработчиков в офисе, обсуждение задач и взаимодействие коллег за ноутбуком

Результаты

Команда робототехники TechCore разработала роботизированную систему орошения — автономного робота на базе интернета вещей для навигации и полива растений в офисных помещениях.

Мы оснастили устройство системой картирования для прокладки точных маршрутов с использованием технологии SLAM (одновременная локализация и построение карты), лидара и массива дополнительных датчиков. Кроме того, наши инженеры оборудовали робота подъемным механизмом на базе направляющих роликов со штангой из углеродного волокна в верхней части.

В результате мы спроектировали систему, которая обеспечивает регулярный полив растений без участия человека. Поддержание здоровья растений ведет к улучшению качество воздуха и созданию экологичной атмосферы в офисе. Кроме того, решение снижает нагрузку на сотрудников, которым раньше приходилось выполнять полив вручную. Это позволяет им сосредоточиться на своих основных обязанностях, не отвлекаясь на рутинные задачи.

background image

Другие проекты

Банковское ПО на базе ИИ для прогнозирования оттока клиентов

Банковское ПО на базе ИИ для прогнозирования оттока клиентов

Анализ данных Банковское дело Предиктивная аналитика Финтех
Разработка веб-портала для обращений граждан

Разработка веб-портала для обращений граждан

JavaScript PHP Yii 2 Framework
Комплексная информационная система для нефтегазовой компании

Комплексная информационная система для нефтегазовой компании

Angular Flutter Java
Модернизация ИТ-платформы для добывающей промышленности

Модернизация ИТ-платформы для добывающей промышленности

Java React Spring
Приложение для управления мобильной связью, интернетом и ТВ

Приложение для управления мобильной связью, интернетом и ТВ

Android Studio Dagger Kotlin