• Регистрация
Isl_Jack
Isl_Jack0.00
н/д
  • Написать
  • Подписаться

Обнаружение заноса в автомобилях BMW с помощью машинного обучения

Перевод статьи "Detecting Oversteering in BMW Automobiles with Machine Learning".

Авторы: Tobias Freudling, BMW Group.

Проблемы с уходом автомобиля в занос и как с этим бороться

Уход в занос - это небезопасное состояние, в котором автомобиль теряет сцепление задних колёс с дорогой во время поворота (рис. 1). Это может быть вызвано: износом шин, условиями скользкой дороги, слишким быстрым поротом, резким торможением при повороте или же при комбинации этих факторов.

Рисунок. Занос БМВ М-серии на тестовом полигоне

Рисунок 1. Уход в занос БМВ М-серии на тестовом полигоне

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

В BMW мы изучаем подход машинного обучения к обнаружению заноса. Работая в MATLAB ®, мы разработали модель контролируемого машинного обучения в качестве доказательства концепции. Несмотря на небольшой предыдущий опыт работы с машинным обучением, всего за три недели мы завершили разработку рабочего прототипа ЭБУ, способного обнаруживать занос с точностью более 98%.

Сбор данных и извлечение функций

Мы начали со сбора реальных данных с транспортного средства до, во время и после ухода в занос. С помощью профессионального водителя мы провели живые тесты вождения на BMW M4 на испытательном полигоне BMW в Мирама, Франция (рис. 2).

Испытательный полигон BMW в Мирамасе, Франция.
Рисунок 2. Испытательный полигон BMW в Мирамасе, Франция.

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

Вернувшись в наш мюнхенский офис, мы загрузили собранные данные в MATLAB и использовали приложение Classification Learner в Statistics and Machine Learning Toolbox ™ для обучения моделей машинного обучения с использованием различных классификаторов. Результаты, полученные моделями, обученными на этих исходных данных, не были выдающимися — точность составляла от 75% до 80%. Чтобы добиться более точных результатов, мы очистили и сократили исходные данные. Во-первых, мы применили фильтры для уменьшения шума на сигнальных данных (рис. 3).

Исходный сигнал угла поворота рулевого колеса (синий) и тот же сигнал после фильтрации (оранжевый).

Рисунок 3. Исходный сигнал угла поворота рулевого колеса (синий) и тот же сигнал после фильтрации (оранжевый).


Затем мы использовали пиковый анализ для определения пиков (локальных максимумов) на наших отфильтрованных входных сигналах (Рис.4).

Сигнал угла поворота рулевого колеса с идентифицированными пиками.

Рисунок 4. Сигнал угла поворота рулевого колеса с идентифицированными пиками.


Оценка Подходов К Машинному Обучению

После фильтрации и сокращения собранных данных мы улучшили положении для оценки контролируемых подходов к машинному обучению. Используя приложение "Classification Learner", мы попробовали классификаторы k-ближайших соседей (KNN), машины опорных векторов (SVM), квадратичный дискриминантный анализ и деревья решений. Мы также использовали приложение, чтобы увидеть эффект преобразования функций с помощью анализа главных компонентов (АГП), который помогает предотвратить переоснащение.

Результаты, полученные классификаторами, которые мы оценивали, суммированы в Таблице 1. Все классификаторы хорошо справились с выявлением заноса, причем три из них дали истинные положительные показатели выше 98%. Решающим фактором были истинные отрицательные показатели: насколько точно классификатор мог определить, когда транспортное средство не в заносе. Здесь деревья решений превзошли другие классификаторы с истинным отрицательным показателем почти в 96%.

Сводка результатов для четырех различных контролируемых классификаторов машинного обучения.
Таблица 1. 


Генерация кода для испытаний в автомобиле

Результаты, полученные с помощью дерева решений, были многообещающими, но истинным тестом будет то, насколько хорошо классификатор работает на ЭБУ в реальном автомобиле. Мы сгенерировали код из модели с помощью MATLAB Coder ™ и скомпилировали код для нашего целевого ЭБУ, установленного в седане BMW 5 серии. На этот раз мы сами провели испытания на заводе BMW близ Ашхейма, недалеко от нашего офиса. Пока я вел машину, мой коллега собирал данные, записывая точное время, когда я показывал, что машина была в заносе.

Работая в режиме реального времени на ЭБУ, классификатор работал на удивление хорошо, с точностью около 95%. Отправляясь на испытания, мы не знали, чего ожидать, потому что мы использовали другой автомобиль (BMW 5-й серии вместо M4), другого водителя и другую трассу. Более пристальный взгляд на данные показал, что большинство несоответствий между моделью и воспринимаемым водителем занос происходило в начале и конце состояния заноса. Это несоответствие вполне объяснимо; даже водителю бывает трудно точно определить, когда начался и закончился уход в занос.

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

Источники

  1. mathworks.com

Теги

    19.10.2020

    Комментарии