Tuesday, October 30, 2012

Автомобильная телеметрия за 100$

Хочу поделиться коротко своим опытом работы с автомобильной телеметрией. 

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

Многие знают, что современные автомобили имеют диагностические разъемы, к которым как правило подключаются дилерские сканеры для выявления неисправностей различных узлов; обычно их называют OBD-2. Помимо сервисной функции, через эту шину данных можно также в реальном времени получать различные сведения о состоянии автомобиля, например обороты двигателя, скорость, давление наддува, температуру ОЖ, положение дроссельной заслонки и т.д. Эти данные можно "достать" из автомобиля, подключив к разъему устройство, декодирующее эти сигналы и преобразующее их в понятные для компьютера символы. Если такое устройство снабдить Bluetooth передатчиком, то эти данные можно в дальнейшем по беспроводной связи передавать на ноутбук или смартфон. Такие адаптеры стоят на удивление недорого, в диапазоне цен от 12 до 20 долларов их можно заказать на eBay. Я использовал вот такой адаптер

Для получения и обработки данных отлично подходят смартфоны на базе ОС Android (и, к сожалению, совсем не подходит iPhone - он просто не позволяет работать с такими устройствами по Bluetooth). Существует множество приложений для Android, которые позволяют отображать, сохранять и анализировать данные от бортового компьютера автомобиля. Два наиболее функциональных приложения, с которыми я экспериментировал - Torque Pro и aLapRecorder HD, о них и пойдет речь в дальнейшем. 

Помимо параметров автомобиля, полноценная телеметрия должна также включать данные от GPS приемника - координаты, скорость, ускорение автомобиля. Стандартные GPS приемники, встроенные в смартфоны, не подходят для гоночной телеметрии - они слишком редко обновляют данные, не чаще чем раз в секунду. Трек (траектория) из таких точек будет ломаным и едва ли полезным. Поэтому мы используем внешний GPS приемник, отдающий GPS данные 10 раз в секунду, например QStarz BT 818 XT. Его также можно подключить к Android смартфону.

Кроме OBD-2 и GPS, сам смартфон имеет целый ряд датчиков, информация с которых может быть полезна для телеметрии - это акселерометр (датчик ускорения по трем осям), компас, гироскоп, и конечно камера для записи видео.

Собрать все эти данные, синхронизировать их по времени, показать и сохранить - непростая задача. Поэтому неудивительно, что программы, выполняющие такие функции, стоят денег, обычно от 5 до 10 долларов. Однако по сравнению с профессиональными системами телеметрии это очень и очень недорого.

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

Комплект из такого оборудования и программ позволяет сохранять и просматривать телеметрию, при желании в комбинации с бортовым видео, и экспортировать ее на компьютер для дальнейшего анализа.
Также может быть использовано для любительских картинговых гонок, как инструмент для сравнения скорости или ведения индивидуального тайминга. 
Еще один потенциально интересный пример - использование такого комплекта для передачи телеметрии на компьютер в реальном времени на кольцевой трассе. Такой проект в настоящее время активно разрабатывается, желающие могут обратить внимание на бесплатное приложение WifiLapper в магазине приложений для Android; веб-сайт проекта находится здесь
Данные, сохраненные в текстовых форматах, могут затем быть импортированы в профессиональные программы для анализа телеметрии (AIM Race Studio, GEMS Data Analysis), или в простейшем случае - в Excel, для построения графиков зависимостей интересующих параметров.

К сожалению, описанный вариант получения телеметрии едва ли подойдет для профессиональных кольцевых или раллийных команд, по ряду причин: 
- нужно три единицы оборудования (телефон, OBD-2 адаптер, GPS), для всех нужно питание и крепление 
- программы для телефона нужно включать и настраивать, их невозможно запустить и остановить одной кнопкой - как обычно требуется в спорте
- система имеет далеко не 100% надежность из-за большого кол-ва компонент, фактора беспроводной связи, ошибок в программах 

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

Еще раз коротко о том, что нужно иметь для реализации описанной цели: 
- современный Android смартфон (от 200$) 
- Bluetooth OBD-2 адаптер на чипе ELM-327 (15$) 
- Bluetooth 10 Hz GPS, например QStarz BT-818XT (80$) 
- Программу aLapRecorder HD (52 грн) или Torque Pro (5$) с плагином Track Recorder 
- USB зарядник и держатель для телефона (опционально)

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

В заключение - ссылки на несколько видеороликов, записанных мной в рамках тестирования приложений aLapHD и Torque Pro. С удовольствием отвечу на вопросы по этой теме :)