Разработка современных автономных систем – процесс непростой. Полноценная автономность в различных непредсказуемых условиях требует сложных алгоритмов, которые необходимо тщательно тестировать и отлаживать. Для этого обычно создается большое количество дорогостоящих прототипов, что значительно повышает стоимость проекта и затягивает его, порой на годы.

Для решения этих проблем при разработке автономных систем мы используем подход модельно-ориентированного проектирования (МОП). Его суть заключается в создании сложных математических моделей, имитирующих поведение объектов реального мира с высокой точностью. Мы создаем виртуальные прототипы устройств, на которых за короткое время удается проводить тысячи виртуальных экспериментов, не боясь ничего сломать и избегая затрат на дорогостоящее оборудование. Алгоритмы мы также разрабатываем в виде моделей, что позволяет верифицировать их большим количеством тестовых сценариев и отловить подавляющую часть ошибок и недоработок еще до создания первого полноценного прототипа.

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

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

Запрос консультации

Алгоритмы управления и искусственный интеллект

Разработка современных автономных систем немыслима без сложных и адаптивных алгоритмов управления. Ведь роботы должны самостоятельно справляться с изменением окружающей среды и даже собственных параметров. А для того, чтобы они могли успешно ориентироваться в пространстве, применяют алгоритмы локализации, картографии, планирования траектории, SLAM, обучение с подкреплением (Reinforcement Learning) и другие методы машинного обучения.

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

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

 

Компьютерное зрение и распознавание образов

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

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


Обработка и комплексирование данных с датчиков

Беспилотные системы имеют большое количество датчиков разной физической природы для ориентирования в сложном окружении. Инерциальные приборы и GPS, радары и лидары, моно- и стереокамеры – данные со всех сенсоров нужно не только фильтровать от шумов и выбросов, но и комплексировать, то есть объединять для повышения достоверности измерений. 

Слияние данных с датчиков  технология Sensor Fusion  становится все более востребованной при разработке систем восприятия. У автономных роботов растёт количество датчиков и требования к достоверности показаний становятся все строже. Инженерам приходится работать на стыке таких областей, как цифровая обработка сигналов, теория управления и встраиваемые системы. Все разработчики беспилотных систем сталкиваются с ростом сложности при разработке алгоритмов комплексирования. 

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


Тестирование в реальном времени

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

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

Не стоит забывать, что сырые алгоритмы тестировать на реальных объектах управления попросту опасно, особенно кода речь идет о беспилотных автомобилях и летательных аппаратах. Эти же переконфигурируемые программно-аппаратные стенды решают для нас задачу HiL-тестирования – когда среда, сценарии и объект управления имитируются на комплексе полунатурного моделирования в реальном времени для тестирования, отладки и предварительной калибровки ЭБУ. 

Реализация на встраиваемых вычислителях

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

В робототехнике на смену ручному кодированию давно пришел подход автоматической генерации исходного кода. Это позволяет получать из сложных алгоритмов C/C++, CUDA и HDL-код не за месяцы, а за считанные дни, а также избавляет от ошибок ручного кодирования. Вы можете быть уверены, что полученный исходный код полностью соответствует исходному алгоритму и убедиться в этом путем симуляции. Такая скорость получения встраиваемого кода даёт огромное преимущество с точки зрения возможности менять и настраивать сами алгоритмы в течение всего проекта, а также даёт гибкость в выборе элементной базы. Например, иногда требуется освободить ресурсы GPU, перебросив часть обработки на ПЛИС, или наоборот. Генераторы кода позволяют такие проектные решения осуществлять и проверять в минимальные сроки.

Инструментами кодогенерации мы владеем на глубоком экспертном уровне, многократно подтверждали нашим заказчикам возможности получения из моделей оптимизированного исходного кода для микроконтроллеров, ПЛИС, GPU, ПЛК, а также машин реального времени. Весь сгенерированный код – читаем, трассируем к требованиям, снабжён тестовыми векторами. При этом мы используем инструменты верификации и интерактивной отладки алгоритмов непосредственно на целевой платформе, что повышает качество разработанных систем. Мы обучаем наших клиентов кодогенерации на профессиональных тренингах, а также путем выполнения совместных проектов с передачей экспертизы по тонкой настройке генератора кода.

Сертификация в соответствии с международными стандартами

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

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

Мы владеем инструментами разработки в соответствии с международными стандартами (ISO 26262, КТ 178, DO 254, IEC 61508 и др.), к которым относятся средства верификации моделей и исходного кода, трассируемость требований, тестирование и другие. Для внедрения или исправления вектора разработки в соответствии с требованиями сертификации мы готовы провести вас за руку в совместном проекте от и до, или провести тренинги как по теоретической части стандартов, так и по практике применения нескольких конкурирующих инструментов автоматического удовлетворения требованиям стандартов.

${message}

${message}