Как гироскопом на руле машину измеряли


И не только к рулю был привязан гироскоп! Второй был на ступне, а третий притянут резиновыми кольцами к крышке пепельницы. Все эти ухищрения — для того, чтобы узнать, не «лагает» ли руль и не «тупит» ли педаль газа.

Хотя руль механически связан с колесами, а педаль газа — с дроссельной заслонкой, автомобиль реагирует на команды водителя не сразу. Особенно если коробка передач автоматическая, а электроника «тупит». Задержки значительно затрудняют управление, могут приводить к нежелательным колебаниям. Поэтому важно знать, какова скорость реакции автомобиля на команды водителя.

Первый способ нахождения задержек — использовать данные из порта OBD (On-Board Diagnostics). Этот порт соединен с диагностической шиной (CAN bus) автомобиля. Именно она используется в сервисе для чтения кодов ошибок работы двигателя и трансмиссии. Также она содержит информацию о текущих оборотах двигателя, расходе топлива, угле педали газа, открытии дроссельной заслонки и т.п.
Чтобы подключиться к шине автомобиля я купил типичный китайский «obd reader” за тысячу рублей.

Этот прибор можно подсоединить к любому современному автомобиль. Однако, дешевый считыватель не дает больше информации чем на приборах автомобиля. Т.е. для наших целей он бесполезен. Да и в целом с диагностическим портом и шиной есть ряд проблем:
  • закрытые протоколы и стандарты данных в шине
  • неизвестная точность/погрешность данных
  • непредсказуемые задержки
  • я в этом ничего не понимаю
  • Поэтому было решено собрать собственные измерительные приборы из подручных гироскопов и ардуин.


Техника измерения


Первый гироскоп был “надежно” привязан к рулю малярной липкой лентой. Он определял угол поворота руля. Второй гироскоп притянут к ноге водителя резинками для волос. Он передавал нажатие на педаль тормоза/газа. Последний прибор был закреплен в салоне. Он кроме гироскопа имел аккселерометр и собирал данные с остальных датчиков. Затем данные отправлялись на ноутбук по виртуальному COM порту через usb.



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



Чтобы определить эту магическую константу жетско прижал датчики друг к другу и повращал. Задержка между показаниями как раз и дает ту самую “магическую константу”.

О датчиках


Собрано два модуля на базе ардуино уно:
  • Дополнительная схема (шилд) для прототипирования, насаженный сверху на ардуину;
  • гироскоп на базе MPU-6050, впаян в шилд;
  • радио модуль nrf24l01+, впаян в шилд.

Один модель на базе ардуино микро:
  • двусторонняя плата по лазерно-утюжной технологии;
  • плата согласования логических уровней 5v <—>3.3v;
  • гироскоп на базе MPU-6050 по интерфейсу I2C;
  • радио nrf24l01+.


Измерения


Автомобиля у меня нет, поэтому тестировали мы на Mitsubishi Lancer моего друга, Константина.



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

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



Вибрации от двигателя, рук водителя, дороги — все приводит к шумам. Особенно явно они проявляются на графиках ускорений кузова автомобиля.



Для борьбы с высокочастотными шумами данные предварительно обрабатывались низкочастотным фильтром (функция filtfilt матлаба). Фильтр выбирался так, чтобы не вносить в сигнал дополнительной задержки.

Отмечу, что гироскопы определяют скорость вращения педали газа и руля, а нам нужен угол. Для этого показания с датчиков на руле и ноге были проинтегрированы. Затем для вычисления задержек применялась кросс-корреляция (функция finddelay матлаба).

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



Костя нажал и отпустил педаль газа, а автомобиль отреагировал лишь через 124 миллисекунды. Скорость — около 30км/ч, обороты — 3000об/мин.
На скорости 30км/ч задержка машины на повороты руля по результатам отдельных тестов колебалась в диапазоне 90 — 95мс.



Планы


  • Измерить задержки на других автомобилях;
  • Измерить время с момента нажатия педали газа(или отпускания сцепления) до 100км/ч (или 402м).
  • Измерить силу реакции на руле в повороте (обратная связь);
  • Измерить пульс водителя до/во время/после прохождения трассы.
Поделиться публикацией
Комментарии 55
    +20
    Не указана цель исследования. В результате ощущение что читаешь книжку со второй главы.
      +4
      Да. И что понимается под «тупит» педаль газа? При 3000 об/мин время за которое поршень в одном из цилиндров совершит полный цикл — 40 мс, т.е. быстрее в четырехтактном двигателе в принципе невозможно. Из 124 мс измеренных вами — это почти треть.
        +2
        На современных АМ, газ «тупит» из-за того, что педаль — электронная и данные передаются с какой-то магической задержкой (вероятно из-за всяких ЕВРО-3{4,5}
        Так что проводить подобное исследование смысла особого нет.
          –1
          Для этого есть бустеры )
            +1
            Эти бустеры, образно говоря, нажимают педаль в два раза сильнее чем водитель, чем и дают впечатление того, что они что-то делают с задержкой, но на деле они не дают ровным счетом ничего (давить педаль сильнее я смогу без помощи этого девайса)
              +1
              Ну тогда можно чипануть :)
                0
                Стесняюсь спросить, но зачем нужна молниеносная реакция на газ? даже те же 0.12 сек., которые были получены здесь, ну не представляю как могут помешать, если это не борьба за доли секунды на трассе.
                  +1
                  Быстрая реакция на газ даёт более точное управление газом. Что в свою очередь заметно повышает управляемость машины и получение удовольствия от её вождения.
                  А лаг в любом управлении только раздражает.
            0
            Не знаю, если честно, о каком «туплении» речь идёт. Достаточно на нейтрали потестировать реакцию на нажатие на газ. Во всех авто что мне довелось водить в последнее время (форд, сеат, ауди) реакция эта (по звуку и стрелке тахометра) практически мгновенная, какой-то ощутимой задержки нет. Конечно, в движении есть ощутимая задержка между «нажал» и «пошел разгон», но здесь физика скорее роль играет.
          0
          Быть может, построить упрощенную мат. модель авто для задач автоматического управления?
          +3
          Извините, что не по теме, – а что за мода такая на заголовки с подобной формулировкой?
          Всегда хотел спросить, но боюсь, что не поймут мой вопрос.
            +2
            Издревне так завелось :)
            См. «Повесть о том, как поссорился Иван Иванович с Иваном Никифоровичем»
              +3
              А я думал, от «Как царь Петр арапа женил» :)
            –1
            Сбор нужной статистики для реализации какого-то проекта. Например управления машиной Роботом-Андройдом=))
              –2
              Бесят эти задержки ужасно. И действительно, в открытом доступе эти данные только порше приводит и то обрывочно. Даже какиенить авторевю такими тестами пренебрегают, а это ключевая тема.
                0
                Могу выложить необработанные данные. Если это интересно.
                  0
                  На мой взгляд хороший способ напрямую померять задержку — измерять ее между нажатием на педаль и открытием дроссельной заслонки
                    0
                    Спасибо, постараемся и такое измерить.
                +2
                Цель задержек(демпфирования) педали газа — экономия топлива и как результат уменьшение выбросов и соответствие всяким ЕВРО-N. Человек нажимает не экономно и не знает про оптимальные режимы работы конкретного двигателя. Не хотите задержек и экономии/экологи — старые машины, джетеры, спортивные версии.
                  +1
                  сюда также можно добавить достаточно «странные», на мой взгляд, алгоритмы работы роботизированных КПП (новомодные PowerShift и DSG с сухим сцеплением).

                  Например: перед тобой открылось «окно» на дороге (метров 20-25 до впереди едущего) и ты поджимаешь акселератор, машина задумывается, тупит, потом резко вскидывает обороты двигателя и вот-вот начинает «форсаж», как перед тобой в «окно» уже влезает другой участник движения. Приходится тормозить дабы не ударить «влезшего». Экономия провалена, экология тоже.
                  В результате имеем сгоревшее топливо, выборсы и неадекватную реакцию автомобиля.
                    +1
                    Машина, машине рознь и настройки у всех совершенно разные. Но обычно, чтоб не тупила нужно резко топнуть в педаль, тогда электроника понимает что нужно ускорится сразу. У некоторых есть кнопка кикдаун под педалью, при этом нужно топнуть так, чтоб вдавить педаль в пол и нажать на эту кнопку полностью и резко. Ну а если есть спорт режим то тогда в нем реакции должны быть еще острее.
                    И опять же, все зависит от того, где начинается самый большой крутящий момент. Если двигатель на момент попытки обгона крутится на низких оборотах, то ему еще нужно поднять обороты до максимального крутящего момента и только тогда пойдет то ускорение, которое вы описываете.
                      0
                      У автомобилей с АКПП даже в инструкции написано как надо нажимать педаль чтобы резко ускориться, включился режим обгона и т.п. Если честно сам лично не сталкивался с людьми жалующимися на задержки которые хоть как-то мешают
                        0
                        У автомобилей с АКПП даже в инструкции написано как надо нажимать педаль чтобы резко ускориться
                        Это да, но если мозги плохо настроены то тут ничего не поделаешь.
                        Например Mazda 6 2005 года, АКПП очень плохо настроена. При загрузке 3-4 чел. Резко ускорится на скорости больше 90 км/ч тяжело. Она посто не переходит на пониженную скорость. Приходится руками понижать передачу. И это при двигателе 140+ лс.
                        Для сравнения древняя БМВ 2000 года 118 лс. ускоряется бодрее даже не в спорт режиме.
                        Хотя автор предыдущего комента упоминал DSG, с ними действительно я не встречал никаких проблем в логике работы.
                          0
                          Я согласен, говорил как раз про свежак с которыми проблем тоже не встречал
                      +1
                      Экономия будет провалена больше, если вы беспрепятственно покроете эти жалкие 20-25 метров на «форсаже». Просто потому что если вы опоздали, это означает что вы не успели как следует разогнаться, и значит динамические потери будут меньше чем если бы вы оттормаживались уже перед задом впереди едущего.

                      Но даже если у вашей машины будет мгновенная реакция на педаль, всё равно все механические массы (вращающиеся массы двигателя, трансмиссии, масса самого автомобиля) ведут себя как интегрирующие звенья, и задержка никуда не денется. У того, кто встраивается с соседней полосы, заведомо выигрышная позиция — ему не нужно менять скорость, только направление.
                        0
                        Видимо я плохо объяснил, хотя у того у кого есть машинка с роботом поймет меня сразу.
                        На примере мой — Ford Focus 3, 2 литра, 150лс, PowerShift

                        0. едем (скорость 60км\ч, обороты ~2500-3000)
                        1. нажимаем на педаль. (уверено так нажимаем)
                        2. машинка думает (никакой реакции вообще) ~ 0.5-1 секунды в зависимости от глубины нажатия
                        3. машинка вскидывает обороты у двигателя (скорость 60км\ч, обороты ~5000-7000) на это уходить еще ~ 0.5-1
                        4. машинка резко дёргает вперед, спинка водительского сидения врезается вам в спину.
                        5. вы понимаете что все, в принципе то, хорошо, только за время соображания к вам в «окно» влез кто-то и вы вот-вот его «догоните». приходится тормозить.

                        Result: Вы «покрыли» 5 метров впереди себя, при более расторопной реакции покрыли бы все 20 метров. + отпустили бы газ и накатиком докатились.
                        «накат» на роботе потребляет ровно 0.0 литров на 100 км по показаниям компьютера, холостой ход ~0.8 л.час. Единицы разные, компьютер их сам меняет в зависимости от того стоите вы или нет.

                        Покапался нашел видео www.youtube.com/watch?v=YT0d03KE_Uc
                        присмотритесь на 10.9 секунде отчетливо слышно как нажата педаль, потом вскидываем обороты почти до 11.8, «форсаж» с 12 секунды.
                        от времени нажатия до разгона ~1,5 секунды.
                          +1
                          Задержка обусловлена переключением передачи вниз, вот и всё (отсюда и «вскидывание оборотов»).
                            0
                            нет. задержка обусловлена только соблюдением стандарта ЕВРО и адаптивным алгоритмом управления сервами

                            В этой кпп в зацепе находятся одновременно 2 передачи.
                            например 1-2, 2-3, 3-4, 4-5
                            то есть не надо синхронизировать обороты маховика двигателя и диска корзины сцепления.
                            Более того выжимному подшипнику даже диск отводить в момент переключения передачи не надо.
                            вот анимация — тут более наглядно www.youtube.com/watch?v=FXNjpcg9mhI

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

                            и еще: любой заезд к диллеру сопровождается очередной прошивкой коробки. ПО обновляется очень часто для коробки. Продукт сырой и на него очень много жалоб.
                              0
                              Верно, в зацепе две передачи. Например, катим спокойно на 5 и в зацепе при этом 6. Коробка экономит топливо и держит такую передачу, что обороты ~2000.
                              Далее давим тапку в пол. А вот тут нам нужна 4, а то и 3 педерача. И переключение на неё как раз занимает эту секунду, так как она не находится в зацепе.

                              Вскидывает обороты — нет, не вскидывает. Проверьте, происходит переключение вниз. Индикатор на приборке есть. Это влечёт за собой увеличение оборотов, так как передаточное число поменялось.

                              Мне довелось покататься на DSG — поведение точь в точь как у вас. Вверх щёлкает быстро, а при резком газе после спокойной езды — тупняк и сброс 2 передач вниз. На точно таком же моторе, но с мкпп, никаких задержек нет.
                            +1
                            Если вы ускоряетесь, скажем, с комфортными +0.1g, то покрыв Δs = 5 метров вы получите прирост скорости Δv = sqrt(2*Δs*a) = 3.13 м/с = 11.3 км/ч. Если вы ускоряетесь половину пути (Δs = 10м), то прирост скорости будет уже почти 16 км/ч. Прирост кинетической энергии, соответственно, ΔE = m*Δv^2/2 = m*Δs*a, т.е. пропорционален ускорению и пути разгона. Чем энергичнее и дольше разгон, тем больше динамические потери, что не удивительно. И какой бы метод торможения вы не применяли — накат, тормоз, бампер — эта энергия будет потеряна, и экология будет «провалена», как вы выражаетесь :) В случае сорванного разгона она будет провалена меньше. В случае бесфорсажного вождения экология будет спасена — вместе с нервами водителей :)

                            Хорошо, что пополам!
                            — Что пополам? Рука пополам? Нога пополам?
                            — Хорошо, что эм вэ в квадрате пополам!
                        0
                        У автора испытания проводились на Lancer 9, он евро-3, задержка, на мой взгляд, довольно небольшая. Интересно было сравнить с современными автомобилями с низким расходом (=высокой задержкой)
                        0
                        Можно немного поподробнее как вы измеряли задержку реакции автомобиля на повороты руля? Сопоставляли данные бортового компьютера и данные гироскопа?
                        Задержка реакции машины на поворот руля чисто физически зависит от типа привода автомобиля.
                        У вас переднеприводный Лансер, протестируйте полноприводный Субару или заднеприводный БМВ (если сможете подключиться).
                          0
                          Один из гироскопов был привязан к машине. К борт компьютеру не умею достукиваться. Буду измерять и на других машинах.
                            0
                            Тебе поможет железяка под названием ELM327. Стоит не особо дорого.
                            Умеет работать с бортовыми компьютерыми и передавать данные на RS232 или Bluetooth.
                            Ее протокол в свободном доступе. Сможет передать все что ей расскажет бортовой компьютер.
                            Удачи!
                              0
                              Да, это хорошая штука.
                                0
                                Вот только не ко всему она цепляется, увы.
                                  0
                                  Нет, не так.
                                  Есть открытый протокол odb, бортовой комьютер может передавать по этому протоколу некоторые вещи, угол нажатиня на педаль, угол поворота руля, насыщенность смеси в каждом цилиндре и прочее. А может не передавать, это дело исключительно на совести производителя.
                                  Плюс там же бегают проприетарные данные и управляющие команды, через которые сервисные инженеры могут видеть дисгностику почти всего, что есть в машине и осуществлять тонкую настройку двигателя, коробки и прочего. Но у каждого производителя они свои и естетсвенно недоступны.
                                  Так что через адаптер ты увидишь только то, что тебе разрешили показать.
                              0
                              Не совсем понятно: на Лансере вашего друга педаль газа электронная или с прямой механической связью?
                              Заметные «невооружённым глазом» задержки обычно даёт именно первый тип.
                              Однако, дешевый считыватель не дает больше информации чем на приборах автомобиля.

                              На самом деле нет, обычно всё дело в используемом софте. Дешевизна железки по крайней мере в отношении считывания показаний определяет лишь скорость и качество её работы (что иногда выражается в её несовместимости с некоторым софтом). Существуют даже наборы для разработчиков, позволяющие поиграться с протоколом и запилить необходимый тестовый стенд.
                              0
                              Я бы датчик с ноги повесил бы на педаль — задача та же, ненужных данных с движения ноги меньше.
                                0
                                Вожу KIA Venga. АКПП, педаль «электронная». Первое время после механики (ВАЗ) было немного странно, но к задержкам постепенно привыкаешь и уже не замечаешь их. Но иногда бывает что машина совсем не реагирует на положение педали, только если утопить посильнее (если совсем до упора — то включается kickdown).
                                  0
                                  Любопытно и стоило оно таких мучений с поиском оборудования, настройкой и тестами? Если можно было заехать в сервис и получить ту же информацию аккурат за 1 000 рублей.
                                  P.S. Через OBD ты никогда не узнаешь реальные задержки отклика педали газа на передачу информацию дроссельной заслонке, так же как и через сию эпопею. Хочется настоящих настроек — welcome извлечение прошивки и чтение модели. Цены на домашние тесты высоки, сервис делает это в разы дешевле.
                                  P.S.S. Программирование мозгов авто это мое хобби :)
                                    +1
                                    реквестирую тесты на машине с МКПП и без ГУРа.
                                      +1
                                      и с карбюратором!
                                        +1
                                        А ГУР то за что? Задержка при рулении скорее всего связана с работой подвески и резины. На жёсткой подвеске и низкопрофильной резине, особенно RunFlat, задержка на поворот руля будет минимальна.
                                          0
                                          Задержка может быть связана только с люфтом. Но это уже неисправность.
                                            0
                                            Вы полагаете, что резина и сайлент-блоки подвески, а так же сам кузов, идеально жёсткие? А кроме этого есть ещё кинематика самой подвески.
                                              0
                                              Я полагаю, что эти элементы не вносят задержку как таковую, поскольку под задержкой я понимаю время прошедшее с момента применения силы и до момента реакции системы. Перечисленные элементы если и вносят что-то что можно понимать под задержкой, то настолько несущественное, что этим можно пренебречь. То есть реакция на поворот руля будет моментальной, а вот какой именно — упругой или нет — это уже другой вопрос.
                                            0
                                            про задержку не скажу, единственно, субъективно, ощущения от контроля дороги с ГУРом и без, немного разные.
                                          +1
                                          Я бы еще потестил автомобили. Есть добровольцы в спб?
                                            0
                                            Отписал в ЛС. Есть также шнурок диагностический, можно какие-то данные с мозгов считать (снимать логи скорости, оборотов и всего такого), если нужно. Машина на мкпп.
                                              0
                                              Да. Пожалуй.
                                                0
                                                к сожалению другой город
                                                0
                                                Данные с датчиков:
                                                www.dropbox.com/s/kwcwfyuktf5esyr/data.zip

                                                столбец time_millis — время в миллисекундах.
                                                «x», «y», «z» — данные по осям. 16 бит. диапазон гироскопа -250...+250 градусов в секунду, диапазон аккселерометра -8g...+8g
                                                crc8_ibutton — использовалось при беспроводной передаче данных, можно игнорировать
                                                sensor_id — идентифицирует датик: 1 — гироскоп на руле/ноге, 6 -гироскоп на машине, 7 — аккселерометр на машине
                                                В файлах с название содержащим «turns» датчик с device_id=1 отвечает за руль. В других файлах этот датчик стоял на ноге.
                                                  0
                                                  Для понимания непонятных задержек рекомендую к просмотру

                                                  Подробный разбор карты переключений и цели, которая стоит при оптимизации этой карты.

                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                  Самое читаемое