Агро-робот с ИИ научился аккуратно собирать с грядки только созревший салат

r6s5vbkwsp_ibhrobbt1ukbk5vo.jpeg
Многие виды растений и сельхозкультур до сих пор собираются только вручную.

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

Чтобы собрать хороший урожай в автоматическом режиме нужно решить несколько сложных технологических задач, таких как:

— точное и правильное позиционирование на месте сбора, синхронизация действий с другими сборщиками;

— анализ и выбор правильных алгоритмов для использования с разными культурами;

— распознавание созревших плодов (листов, ягод);

— утилизация поврежденных или не проросших элементов;

— аккуратный захват и срезание готовых к сбору культур без повреждений;

— сортировка и укладка собранного урожая;

— логирование действий и способность к самообучению;

— проверка корректности текущих действий и минимизация повреждений на участке сбора.

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

Группа инженеров Кембриджского университета успешно решила часть этих задач и опубликовала свои исследования в этой работе:

Ссылка на научную статью в издании Journal of Field Robotics.

Они создали небольшой и пока что мало автономный прототип самостоятельного робота-сборщика урожая, способного анализировать и выбирать правильные для сбора элементы.

Этот робот-сборщик представляет из себя манипулятор на колесной платформе шириной в одну грядку. Манипулятор оснащен захватом, ножом для срезания и видеокамерой, дополнительная видеокамера расположена в верхней части его платформы.

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

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

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

Картинки с видеокамер на манипуляторе и платформе использовались для:

— локализация кочанов салата, находящихся перед видеокамерой — с помощью сверточной нейросети YOLO version 3, для обучения которой было использовано 1500 фотографий;

— классификации кочанов салата по четырем типам (созревший элемент, несозревший элемент, зараженный\поврежденный элемент, отсутствие элемента) с помощью сверточной нейросети Darknet Object Classification Network, для обучения которой было использовано 665 фотографий.

makujhkaejeshpk2mlacabnafb0.jpeg

Полевые испытания робота-сборщика показали, что он способен:

— определять кочаны салата перед собой с точностью в 91%;

— корректно классифицировать кочаны салата с точностью 85%.

— время одного цикла работы (переход от одного кочана салата к другому) 32 секунды, что очень много, но этот момент будет еще дорабатываться.

Оказывается, что сами грядки очень заросшие и места прорастания кочанов салата очень сложно просто так локализовать и классифицировать:

ii1veq22uuynxb1h5ntkas6zafk.jpeg

Поэтому салат убирают в ручном режиме быстро, но все подряд без особого и тщательного отбора:

x56sicvwhimghcb_fxoejt0o5mi.jpeg

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

Вот какие ограничения по размерам для элементов и параметры у прототипа робота-сборщика были:

py1uzyskksk4eciqv1nos3erygi.jpeg

Что получилось в итоге на полевых испытаниях после его сборки:

jnsidflwdhmhjkyfg5-6dp1o8t8.jpeg

Кстати, платформу с роботом назвали Vegebot.

Структурная схема взаимосвязи компонентов платформы Vegebot:

pxhv6kgrv07wadktykpgrz6y2l0.jpeg

Причем, обе видеокамеры в этом решении — самые простые и дешевые USB веб-камеры.

Программная часть Vegebot (архитектура и веб-интерфейс), используется Robot Operating System (ROS):

fzpunjgukuyqod9a78czrtuzf5q.jpeg

wge8nlwfr8dj3yld-i2djrzqx4y.jpeg

Диаграммы циклов работы Vegebot (циклы обучения, сбора):

9dmsw4losxe3cyqpil_mq0oabbs.jpeg

Подготовка к полевым испытаниям, исследование грядок и анализ картинок кочанов салата с разных высот расположения камеры:

tu7rp7sszut39uhzyvfw2cbaysa.jpeg

А ведь каков шнурок-ремешок для ноутбука! Инженерная смекалка в деле!

p_a5dqjwi9r0jtb3l1ed3afugms.jpeg

Таблица с разными типами фотографий для локализации кочанов салата, находящихся перед видеокамерой (для обучения сверточной нейросети YOLO version 3):

rggaz1jqq49kw7_wezriv1qiryo.jpeg

Таблица с разными типами фотографий для классификации кочанов салата по четырем типам (созревший элемент, несозревший элемент, зараженный элемент, отсутствие элемента) для обучения сверточной нейросети Darknet Object Classification Network:

ic_okhl_fdhwptl3j0fnfwuera0.jpeg

bhgzc9ff1lrfnq5gpbcatjsavdy.jpeg

Промежуточные варианты механизмов и элементов Vegebot:

w81dyrjiuaesvthpeau1x8pndeg.jpeg

Двойной элемент для сбора кочанов салата (захват и нож):

eu7gaoegfbphwtzferbx7qcmdsi.jpeg

Роторный двигатель постоянного тока (слева),  линейный привод с ножевым механизмом (справа):

dkspx9vdo7yu9ot8xxqyjyrcpps.jpeg

Пневматический резак:

zqa9muh3ghk3f99dwbg80qlgqks.jpeg

Финальная версия механизма захвата и сбора урожая с ременным приводом и системой двойного пневматического привода:

zp0-7y0j3fyyitrsh-gk8ltfqzg.jpeg

Характеристики и размеры механизма захвата Vegebot:

lv4iqatltmipog9tign-ffnhgqk.jpeg

Принцип работы механизма захвата Vegebot (T — force threshold, FR — ground reaction forces):

omv_savtjdxod4zkg6wsohnmxpa.jpeg

Позиционирование механизма захвата Vegebot с помощью двух бортовый видеокамер:

mizyd0fsgnkeykdntixayxfdscu.jpeg

Компенсация внешних факторов освещения и параметров изображений с видеокамер для оптимальной локализации кочанов салата:

tsu5pbq6ok7gjs34nrxq_eliswq.jpeg

meaeoiyjlohqoudkqe9d9jsut6u.jpeg

Примеры локализации (распознавания) кочанов салата на изображениях с видеокамер на разной высоте и под разными углами:

6dahoe4-xkvyzi4l0frmwl9ghtk.jpeg

57dlhw6sfkqsfwfwp83tbf9aod0.jpeg

e6kublway690wcy-8bbun4yec-c.jpeg

Полученные полевые данные по локализации (распознаванию) кочанов салата с помощью Vegebot (на основе 60-ти попыток Vegebot распознать кочан салата):

tkwgnb2ztqawady5djymf45h_68.jpeg

Параметры изображений и матрица для классификации кочанов салата:

og4d5mnay8hvg8g0c6dbhg8mk94.jpeg

Время работы и траектории механизма захвата Vegebot:

og4d5mnay8hvg8g0c6dbhg8mk94.jpeg

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

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

vnvu2m10jla2c4gd1lnfmalh89w.jpeg

В зависимости от количества лишних листьев на кочане салата и необходимости их распознавания и удаления, рабочий цикл Vegebot тоже меняется:

hjxuum6ueobtopwpjovwv_kdue4.jpeg

Итоговые данные по полевым испытаниям прототипа робота-сборщика урожая Vegebot:

hgjvsgmvkuat2xuq_dazj5jgdwa.jpeg

Конечно, данный прототип еще далек от промышленного аграрного использования, но ведь это только начало исследований.

© Habrahabr.ru