Введение
Разработанный нами функциональный образец установки сбора грибов представляет собой рельсовую раму, позволяющую посредством шаговых двигателей производить передвижение камеры и манипулятора (рисунок 1). При разработке данной установки были рассмотрены аналогичные проекты [1], [2], [3]. Для управления установкой сбора грибов написана программа на языках программирования Python 3.9.0 и C++ для микрокомпьютера Raspberry Pi 4 и микроконтроллера Arduino Leonardo. Программа имеет оконный интерфейс (рисунок 2), позволяющий задавать такие параметры сбора, как: единицы времени, количество и период анализов грибного поля, вид грибов, диаметр шляпок грибов, необходимых для сбора, имя пользователя, дата первого сеанса анализа грибного поля. Управление камерой производится программой на языке программирования Python на микрокомпьютере Raspberry Pi 4 через сериальный интерфейс, тогда как управление шаговыми двигателями рамы, двигателем постоянного тока (актуатором) и серводвигателем манипулятора осуществляется за счёт микроконтроллера Arduino Leonardo, получающего команды от Raspberry Pi 4 по сериальному интерфейсу.
Методология
Рисунок 1 – Схема установки сбора грибов Рисунок 2 – Оконный интерфейс программы управления установкой сбора грибов Маршрут передвижения камеры с манипулятором и фотографируемые участки представлены на рисунке 3. Рисунок 3 – Схема маршрута движения каретки с видеокамерой и манипулятором (в последовательности 1, 2, 3, 4) Для определения диаметров шляпок грибов производится съёмка калибровочного объекта. Введённое пользователем значение площади объекта в квадратных сантиметрах используется программой для вычисления перевода пикселей в квадратные сантиметры. Контур калибровочного объекта распознаётся по диапазону значений оттенков серого (grayscale). Определение начала координат для дальнейшей съёмки участков грибного поля происходит следующим образом: производится снимок видеокамерой, идёт поиск пикселей изображения, параметры светового пространства R, G, B (красный, зелёный, голубой) входят в заданные в коде программы диапазоны. Пиксели, отвечающие данному условию, группируются в контуры, и при достаточном значении площади контура ориентир одного из двух цветов (горизонтальный или вертикальный) считается обнаруженным. Горизонтальный и вертикальный ориентиры представляют собой полоски различных цветов, прикреплённые к подвижной и неподвижной частям рамы соответственно. После съёмки грибного поля производится поиск контуров шляпок грибов по тому же принципу, что и поиск контура калибровочного объекта. Координаты геометрических центров контуров шляпок грибов переводятся в количества шагов двигателей, перемещающих каретку с видеокамерой и манипулятором. Для каждого гриба со шляпкой нужного диаметра выполняется цикл, в рамках которого каретка перемещается к центру шляпки гриба, после чего актуатор опускает захват. При достижении заданной в коде программы высоты (поле считается плоским) серводвигатель захвата поворачивает ротор на 60 градусов. Захваченный гриб поднимается актуатором на изначальную высоту и переносится шаговыми двигателями к месту расположения контейнера, где будет произведён сброс гриба за счёт поворота ротора серводвигателя на 60 градусов в противоположном направлении. На рисунке 4 представлена схема захвата, состоящего из двух челюстей, зубчатых колёс и крепления. Захват прикрепляется к штоку актуатора и приводится в движение серводвигателем.
Результаты
Рисунок 4 – Схема захвата После повторения выше описанного цикла для каждого созревшего гриба каретка возвращается в начало координат. Затем съёмка грибного поля с последующим сбором обнаруженных грибов повторяется по истечению периода между сеансами анализа грибного поля, заданного пользователем.
Результаты
Были проведены испытания прототипа установки, в ходе которых определены оптимальный угол поворота челюстей захвата, оптимальный маршрут передвижения камеры с манипулятором для составления изображения грибного поля без наложения фотографируемых областей и высокой скорости анализа грибного поля и сбора грибов. Тест прототипа показал неточность в определении координат грибов из-за искажения перспективы при съёмке.
Обсуждение
Данная проблема решена путём
Обсуждение
введения новых переменных в функцию перевода
Выводы
координат контуров грибов на изображении в количества шагов двигателей.