ДонНТУ   Портал магистров
Назад в библиотеку

Источник: Скударнов С. А. Динамическая система реагирования на дорожную ситуацию для мотоциклистов / С. А. Скударнов, В. А. Краснокутский // Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ-2020): сборник материалов XI Международной научно-технической конференции в рамках VI Международного Научного форума Донецкой Народной Республики / редколлегия: Ю. К. Орлов [и др.]. — Донецк, 27–28 мая 2020 года: Донецкий национальный технический университет, 2020. — С. 449–453. — EDN: TMEFXO.


УДК 681.3.06

ДИНАМИЧЕСКАЯ СИСТЕМА РЕАГИРОВАНИЯ НА ДОРОЖНУЮ СИТУАЦИЮ ДЛЯ МОТОЦИКЛИСТОВ

Скударнов С.А., Краснокутский В.А.

Донецкий национальный технический университет, кафедра компьютерной инженерии

E-mail: skudarnovsa@gmail.com

Скударнов С.А., Краснокутский В.А. Динамическая система реагирования на дорожную ситуацию для мотоциклистов. Рассмотрены вопросы построения устройства на базе платформы Arduino Nano с микроконтроллером Atmel ATmega 328PB, которое позволяет повысить безопасность движения мотоциклиста. Приведено описание схемы разработанного устройства. Устройство позволяет реагировать на изменение дорожной ситуации и информировать об этом мотоциклиста.

Ключевые слова: микроконтроллер, Arduino Nano, MPU6050, безопасность мотоциклиста

Annotation: Skudarnov S.A., Krasnokutsky V.A. A dynamic traffic response system for motorcyclists. The issues of building a device based on the Arduino Nano platform with the Atmel ATmega 328PB microcontroller, which can improve the safety of the motorcyclist, are examined. The description of the scheme of the developed device is given. The device allows you to respond to changing traffic conditions and inform the motorcyclist about this.

Keywords: microcontroller, Arduino Nano, MPU6050, motorcyclist safety

Общая постановка проблемы

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

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

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

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

В статье предлагается динамическая система реагирования на дорожную ситуацию для мотоциклистов на базе платформы Arduino Nano с микроконтроллером Atmel ATmega328PB с использованием датчика гироскопа GY-521 на базе модуля MPU6050.

Структурная схема устройства динамического реагирования на дорожную ситуацию для мотоциклистов

Рисунок 1 – Структурная схема устройства динамического реагирования на дорожную ситуацию для мотоциклистов

Питание схемы осуществляется от сетевого адаптера с выходным напряжением от 5 до 12 вольт и током от 500 мА, либо через порт USB, который подключается к любому доступному устройству с данным портом.

Функции устройства

Программирование и настройка устройства на выполнение тех или иных функций осуществляется с помощью персонального компьютера. Параметры работы устройства можно также вводить с помощью кнопок. Вводимые параметры отображаются на дисплее и изменяются с помощью двух кнопок – «изменение пункта меню» и «изменение параметра в пункте меню».

Устройство выполняет следующие функции:

  1. Измерение угла наклона мотоцикла в любой момент времени.
  2. Информирование пилота мотоцикла о превышении углов наклона мотоцикла путём индикации с помощью светодиодов на панели приборов.
  3. При достижении критических углов наклона, либо их превышении устройство подаёт сигнал на реле, которое предназначено для приведения в действие механизма защиты пилота и мотоцикла от повреждений.
  4. Задание параметров, от которых будут зависеть допустимые углы наклона мотоцикла(тип мотоцикла, погодные условия, количество человек, тип резины, наличие багажа).
  5. Вывод на экран заданных параметров.

В устройстве все настройки сохраняются в энергонезависимой памяти контроллера. Это обеспечивает возможность корректной работы устройства в случае временного отключения питания.

Работа устройства

На рис.2 представлена блок-схема алгоритма работы программы микроконтроллера.

Алгоритм работы основной программы устройства динамического реагирования на дорожную ситуацию для мотоциклистов

Рисунок 2 – Алгоритм работы основной программы устройства динамического реагирования на дорожную ситуацию для мотоциклистов

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

Модуль MPU – 6050 содержит два устройства акселерометр и гироскоп. Их данные проходят предварительную обработку и поступают по последовательному интерфейсу I2C в микроконтроллер. Акселерометр измеряет ускорение тела под действием внешних сил. С помощью этого датчика можно вычислить углы наклона тела. Особенность акселерометра состоит в том, что любое воздействие внешней силы на датчик будет вносить ошибку в вычисление углов наклона. Такой внешней силой может быть тряска мотоцикла при езде по дорогам с плохим покрытием или при его отсутствии.

Гироскоп измеряет угловую скорость, интегрируя которую вычисляют углы наклона. Однако операция дискретного интегрирования угловой скорости вращения приводит к накоплению ошибки вычислений. Таким образом, Модуль MPU – 6050 содержит два устройства акселерометр и гироскоп, которые позволяют определить углы наклона тела относительно земли. Но каждое устройство имеет свои недостатки при определении ориентации тела в пространстве. Акселерометр чувствителен к внешним воздействиям, которые неминуемы при езде на мотоцикле. А в случае гироскопа имеем погрешность из-за дрейфа нуля и накопления ошибок интегрирования. Повысить точность вычисления полезного сигнала можно путем объединения данных от двух устройств. Для этого можно использовать фильтры Калмана, Маджвика. В данной работе предпочтение отдано фильтру Маджвика. Фильтр Маджвика достигает точности фильтра Калмана, но в отличие от последнего, требует меньше вычислительных ресурсов.

Задача фильтра заключается в вычислении единой оценки ориентации тела в пространстве, путём сопоставления значений, полученных от двух датчиков одновременно.

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

Если угол наклона менее 70 градусов, но больше 45 градусов, положение можно назвать предельной(жёлтой) зоной. Это положение граничит с критическими углами, однако не несёт опасности пилоту мотоцикла и отображается на панели светоиндикации жёлтым цветом. Наиболее оптимальный угол наклона до 45 градусов, о его соблюдении информирует зелёный цвет в блоке светоиндикации. В режиме основного цикла на дисплее также отображаются заданные параметры.

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

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

Результат работы фильтра Маджвика с применением помех

Рисунок 3 – Результат работы фильтра Маджвика с применением помех

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

Результат считывания данных от датчиков без применения фильтрации

Рисунок 4 – Результат считывания данных от датчиков без применения фильтрации

На рис.5 приведены данные с датчиков с применением фильтра Маджвика. Датчики находятся в состоянии покоя.

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

Рисунок 5 – Результат считывания данных от датчиков с применением фильтра Маджвика без воздействия помех

Выводы

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

Литература

  1. Фильтр Маджвика [Электронный ресурс]. – URL: https://habr.com/ru/post/255661/
  2. Евсегнеев О.А., Ардуино: Акселерометр MPU6050 [Электронный ресурс]. – URL: https://robotclass.ru/tutorials/arduino-accelerometer-mpu6050/