В новом интервью основатель КЕДР Солюшенс делится с нами опытом участия в робототехнических проектах: от первого заказа для агросектора до аудита платы газонокосилки, который перерос в полноценное партнёрство. Речь пойдёт о компьютерном зрении для навигации, экономии на компонентах, особенностях НИОКР и о том, почему заказчику важно иметь внутреннюю экспертизу. В конце — о «кубсатах» и мечте выйти в космос.
Robogeek: Егор, здравствуйте! Расскажите, пожалуйста, немного о себе. Как давно вы занимаетесь робототехникой? Какими еще робототехническими проектами вы занимались в последнее время?
Егор Гуторов: Добрый день. Меня зовут Егор Гуторов, я директор и сооснователь компании “КЕДР Солюшенс”. С 2014 года мы разрабатываем встроенную электронику и программное обеспечение на заказ. Работаем как на российском, так и на международном рынке – соответственно, имели дело с самыми разными клиентами и проектами. В их числе несколько проектов, связанных робототехникой.
Robogeek: КЕДР Солюшенс известна как контрактный разработчик полного цикла — от печатной платы до встроенного ПО. Как в вашей практике появилось направление робототехники? Это был осознанный выбор или запрос рынка?
Егор Гуторов: Будучи контрактным разработчиком, мы выполняем проекты для самых разных отраслей. Разрабатываем то, в чем есть потребность у клиента. Направление робототехники у нас, по сути, открылось вместе с первым заказом на такую разработку. Если к нам приходят и мы видим, что можем помочь, что у нас хватает компетенций, то мы беремся за дело независимо от того, для какой отрасли выполняется проект.
Robogeek: За 10 лет вы выполнили более 300 проектов в разных отраслях. Какое место робототехника занимает в вашем портфеле сегодня? Это скорее разовые заказы или формирующееся направление?
Егор Гуторов: Это скорее разовые заказы. Ключевые проекты в нашем портфолио – это сельскохозяйственный робот и автономная газонокосилка. Почему они редки?
Во-первых, проекты в области робототехники требуют больших финансовых вложений. Если в какой-то нише задачу можно выполнить с помощью типовых решений, то нет смысла обращаться к разработке уникальной системы. Покупаешь готовое и настраиваешь под себя. Кроме того, для некоторых отраслей подходят “конструкторы”, позволяющие собрать нужный тебе робот из готовых модулей. Разработка нужна, когда ни один из этих вариантов не может справиться с задачей. Поэтому такие запросы к нам поступают редко.
С другой стороны, нужно понимать, что мало кто будет проектировать робота с нуля, целиком. Заказчик может обратиться за разработкой какого-то отдельного модуля или подсистемы – например, контроллера двигателей, системы управления батарейным питанием, платы управления. Такие модули могут применяться в разном оборудовании, в том числе в роботах. Так что тут вопрос, что относить к робототехнике.
Robogeek: Вы сами ведете подкаст «Платы и байты», где обсуждаете с экспертами разработку электроники. Как этот опыт влияет на то, как вы выстраиваете работу с заказчиками в робототехнике? Есть ли специфика, которую вы бы выделили?
Егор Гуторов: К сожалению, до сих пор у меня не было гостей, связанных с робототехникой. Хотя было бы интересно послушать людей, которые хорошо знакомы с этой отраслью. Если вы такой эксперт – напишите нам. Впрочем, о специфике работы с заказчиками таких проектов я могу сказать, опираясь на опыт команды.
Главная особенность заключается в том, что робототехника – это в первую очередь НИОКР. Здесь требуется непосредственное участие заказчика в постановке задачи, в согласовании требований и подходов, в тестировании и так далее. Приходится делать несколько прототипов – от простых макетов до полнофункциональных устройств. Как и в любых других исследовательских проектах, вот такое тесное взаимодействие между заказчиком и командой играет ключевую роль.
(Проект: Программное обеспечение для агроробота)
Robogeek: В этом проекте заказчик — фермер, который выращивает целебные травы в труднодоступном районе. Насколько необычным был этот запрос для вашей команды?
Егор Гуторов: Необычно то, что заказчик – из нашего региона, Алтайского края. Кроме того, это был первый проект из области робототехники, который мы выполнили для агросектора. Также внушают размеры самого робота – это рука-манипулятор на широкой гусеничной платформе. Наконец, работает он от бензинового генератора: мы все-таки чаще имеем дело с устройствами, питающимися от сети, батарей или аккумуляторов.
Robogeek: Ключевая задача — точное дозирование дорогостоящего раствора в лунку каждого растения. Как вы решали задачу позиционирования манипулятора относительно лунки?
Егор Гуторов: Здесь мы применили компьютерное зрение. По задумке, робот должен был двигаться над грядкой, застеленной геотекстилем. В полотне прорезаны круглые отверстия (по два в ряд), под которыми находятся лунки с посадками. Команда обучала нейросеть распознавать эти лунки. Мы также выстраивали геометрию руки в виде программной модели, чтобы робот подруливал манипулятор к лунке по этой модели.
Самое сложное здесь – научить программу отличать лунку на фоне геотекстиля. Вспаханная земля почти не выделяется на черном фоне. Когда растения подрастают и превращаются в кусты, отличить их на фоне покрытия уже гораздо проще.
Robogeek: Робот должен работать полностью автономно, без стабильной связи. Как вы обеспечивали надежность автономной навигации вдоль грядок? Что служило «якорями» — геотекстиль, таблички в конце ряда, что-то еще?
Егор Гуторов: Навигация тоже опирается на компьютерное зрение. Отличить область, накрытую геотекстилем, от пространства между грядками несложно. Так робот остается на нужной траектории. Дополнительно на обоих концах каждой грядки устанавливаются маркеры – это просто таблички специфического цвета и формы, в них нет никакой электроники. Они обозначают конец грядки, чтобы роботу было легче понять, где она заканчивается. Минуя это место, робот поворачивает на следующую грядку – здесь табличка подсказывает, где она начинается.
(Проект: Автономный робот-газонокосилка)
Robogeek: Здесь вы начинали с независимой проверки чужой печатной платы, а затем заказчик передал вам весь проект. Что в первой версии платы вызвало у вас настолько серьезные замечания?
Егор Гуторов: После аудита вы получили задание написать драйверы для периферии первой версии робота, а затем подключились к проектированию второй платы. Как менялась ваша роль по мере развития проекта — от «аудитора» до полноценного партнера по разработке?
Замечаний было много – как не очень серьезных, так и довольно важных. Команда обнаружила ряд ошибок в электрических соединениях и схемотехнике. В частности, некоторые сигналы были неправильно подключены к земле. Были замечания к расположению переходных отверстий, организации полигонов и токопроводящих участков, к зазорам между элементами и размещению отдельных компонентов. Отметили недоработки в цепях питания и защиты. Конструкция плат была недостаточно оптимизирована для производства, что могло необоснованно увеличить себестоимость продукта. А ведь он предназначался для потребительского сегмента, где очень важно сделать товар доступным.
Потом нас подключили уже непосредственно к разработке. Это не редкость, когда клиент обращается к команде для проведения аудита чужой работы, а затем передает проект ей же. Всегда проще передать проект аудитору, который показал свои навыки, чем искать еще одну команду.
Следующая задача была уже практической – написать драйверы периферии для первой версии платы. Пришлось работать с электроникой “изнутри”, и мы увидели, как она ведет себя в реальности, а не только на бумаге. Заказчик, в свою очередь, увидел, что мы не только критикуем, но и доводим дело до результата.
Затем команда подключилась к проектированию второй версии решения, и здесь проект фактически перешел к нам. Мы взяли на себя исследования, проектирование платы управления подвижными частями, прошивку, прототип и испытания.
Robogeek: Главная сложность, как вы отметили, заключалась в жестких ограничениях по стоимости элементной базы — заказчик хотел сделать продукт дешевле конкурентов. Как вы искали баланс между доступностью компонентов и надежностью устройства? Приходилось ли отказываться от каких-то функций ради снижения цены?
Егор Гуторов: Во-первых, команда оптимизировала перечень компонентов по стоимости. Приходилось подбирать более бюджетные варианты, аналогичные по характеристикам. Просела ли надежность электроники? Сложно сказать. На испытаниях отказов из-за компонентов не было, а в постановке продукта на производство мы уже не участвовали.
Пришлось отказаться от умной базовой станции. В первой версии системы в ней был GPS-приемник, микроконтроллер и приемопередатчик. Помимо прочего, база транслировала свои координаты и состояние спутников роботу для улучшения навигации. Соответственно, в самой газонокосилке стоял радиомодуль. Для экономии все это пришлось убрать. Базовая станция превратилась в обычный зарядник. Но команда научила робота находить станцию самостоятельно – с помощью инерциального измерительного блока и по излучению светодиодов.
Robogeek: Робот распознает траву по цвету и умеет огибать препятствия. Как вы тестировали эти алгоритмы на реальных газонах? Что оказалось самым сложным — разная освещенность, мокрая трава, тени?
Егор Гуторов: Мы сделали много фотографий травы и использовали их в качестве тестового набора данных. Сложность здесь заключалась в том, чтобы отличать свежую зеленую траву от сухой. Этого требовала бизнес-логика устройства. Поскольку в микроконтроллере, который стоял на плате управления, было мало памяти, мы изначально пробовали ограничиваться черно-белыми изображениями. Также было непросто научить робота отличать сухую траву от голого песка или земли, так как мы были сильно ограничены в вычислительных мощностях.
Robogeek: На ваш взгляд, чего сегодня больше всего не хватает российской робототехнике со стороны контрактных разработчиков — компетенций, компонентной базы или готовности заказчиков вкладываться в R&D?
Егор Гуторов: Если выбирать из трех вариантов, то, скорее всего, не хватает готовности вкладываться в R&D. Но это справедливо для любого рынка, и робототехника тут не исключение.
С компонентной базой все зависит от ограничений: на рынке есть практически все, вопрос лишь в том, можно ли это использовать в конкретном проекте. Я имею в виду требования к локализации.
Компетенции у контрактных разработчиков есть, но пока не хватает проектов, в которых они могли бы быть востребованы. Компании, заинтересованные в развитии робототехники, зачастую предпочитают разрабатывать робототехнические решения собственными силами, не привлекая внешних исполнителей.
Robogeek: Что бы вы посоветовали инженеру или продакту, который читает наше интервью и думает о запуске собственного робототехнического продукта, но боится идти к контрактному разработчику?
Егор Гуторов: Мне кажется, такой страх обычно связан не с самим контрактным разработчиком, а с неопределенностью: непонятно, как проект будет устроен и что делать, если что-то пойдет не так.
Я бы посоветовал разбить работу на этапы. Например, можно начать с аудита того, что у вас уже есть, или с проверки концепции. Можно также передать команде небольшую и некритичную задачу, чтобы проверить, на что она способна. Риски тут ограничатся одним этапом.
Как минимум, можно связаться и пообщаться с командой. То, как подрядчик ведет себя до подписания договора, многое говорит о его компетенциях. Задает ли команда неудобные вопросы, называет ли риски и готова ли честно сказать, что какая-то часть проекта ей не по силам. Исполнитель, который только соглашается со всем, опаснее того, кто спорит и предупреждает.
И конечно, в такой области, как робототехника, важно иметь в собственной компании внутреннюю экспертизу. Контрактного разработчика можно привлечь для решения каких-то узкоспециализированных задач, чтобы самим не изобретать велосипед. Однако без внутренней экспертизы вы не сможете ни грамотно поставить исполнителю задачу, ни принять результат его работы, ни развивать продукт дальше.
Robogeek: Егор, спасибо за подробные ответы. Есть ли кейс или технология в робототехнике, которую вы бы хотели реализовать, но пока не представился случай? О чем мечтает КЕДР Солюшенс в этом направлении?
Егор Гуторов: Что ж, у нас уже были проекты, связанные с БПЛА и наземными роботами. Так что теперь осталось реализовать проект какого-нибудь надводного или подводного автономного транспорта. А потом можно и в космос! Есть такой формат – кубсат. Это очень небольшие и относительно несложные спутники весом до пары килограммов. Спроектировать нечто подобное нам вполне по силам.
Комментарии
(0) Добавить комментарий