Здравствуйте.
В этот раз мне в руки попал самый настоящий LIDAR от автомобиля Mazda CX5, примерно 2012г. выпуска. В этой статье я намерен разобрать модуль и включить его на столе. И самое смешное, я установлю сей LIDAR в Datsun Mido (Лада Калина в девичестве).
Хоть на девайсе и написано LIDAR, по сути это такая лазерная автомобильная рулетка, которая способна измерять расстояние до впереди идущего объекта. Основная функция—Обеспечение срабатывания автоматического торможения в случае опасного сближения с другим автомобилем, или, например, стеной. Устройство является одним из основных в комплексе ADAS автомобилей Mazda и производится компанией Continental (они не только шины делают из резины). Опция ADAS называется CitySafety. Автоматическая система торможения называется у Mazda –SCBS. Дальность обнаружения препятствия 6 м, работает система на скорости до 40 км/ч. По заверениям производителя система поможет предотвратить аварию на скорости до 15 км/ч и снизить тяжесть аварии на скорости до 30 км/ч.
Пример работы системы:
Отмечу что на сайте производителя (ссылка) удалось найти достаточно подробную документацию на модуль. Из документации следует что устройство разрабатывалось не под конкретную марку автомобилей, имеет достаточно развитое внутреннее ПО позволяющее измерять дальность до объекта, а также скорость этого объекта.
Вот выдержка из документации об основных ТТХ:
Назначение устройства:
- Датчик системы предотвращения столкновений
- Измерение расстояния до объектов и измерение скоростей этих объектов в трех независимых каналах. На дальности до 13,5 м
Устройство имеет внутреннюю систему контроля работоспособности ИК лазера и приемников ИК излучения.
Характеристики заявленные производителем сенсора:
- Дальность: 1.0-10m. Расширенный диапазон до 13,5 м
- Диаграмма направленности 27 по горизонту и 11 по вертикали
- Разрешение по дальности 1 мм
- Диапазон измеряемых скоростей 2-160 км\ч
- Точность измерения скорости +-2 км\ч
- Частота измерений 100 Гц
- Мощность лазера 45 мВт класс 1 лазера, 33 нс длительность вспышки
- Длина волны 905 нм
- Время работы 12000 часов или 15 лет
Сенсор имеет три канала измерения, один центральный и два боковых.
Приступим к осмотру и препарации
Устройство достаточно компактное, имеет три стеклянных «глаза». Два линзы для приема отраженного излучения и одна линза Френеля для формирования необходимой проекции лазерного луча. Собрано в пластиковом корпусе без использования винтов. Все на клипсах.
Внутренности с нижней стороны
Здесь расположен излучающий ИК элемент –совсем непохожий на лазер. Под излучателем располагается ИК фотодиод, контролирующий наличие излучения. Управляет системой специализированный для automotive применений 16-битный микроконтроллер MC9S12XEG128. Так же с этой стороны расположены элементы импульсного источника питания.
Внутренности с верхней стороны
Здесь мы видим таинственную микросхему от ST, которая, судя по всему, реализует функции лазерного дальномера. CAN трансивер, пустое место под еще один CAN трансивер, две линзы приемника и плату с ИК фотоэлементами. Непосредственно под линзами располагаются два ИК светодиода, которые служат для проверки работоспособности приемника. Эти элементы видно на фото со снятыми линзами. В документации на прибор сказано, что измерения проводятся по трем независимым каналам, мы может в этом убедиться увидев три приемных элемента.
Подключение на столе
Прежде чем подключать устройство согласно даташиту, я определил назначение пинов разъема самостоятельно. Устройство оказалось простым в подключении, потребовалось найти только питание 12В и CAN bus. В документации CAN bus располагался на других пинах, в моем случае они не использовались и пустое место трансивера предназначалось как раз для них. Скорость передачи в моем канале CAN –500 kbit\s, в неиспользуемом, судя по документам—1Mbit\s.
Девайс я подключил к обычному типовому лабораторному источнику а CAN шину к осциллографу Tektronix с декодером CAN. Сразу после включения ток потребления составил 90 мА, со всплесками до 130мА примерно раз в секунду. Сделал вывод о том, что лидар начал включать лазер. CAN шина так же ожила сразу, появился один единственный пакет, который осциллограф с легкостью распознал.
ID: 0x21D
DLC 8 byte
DATA: 0x7F 0x3F 0xFF 0x00 0x00 0x00 0xD2 0x94
Установка в автомобиль и тестирование.
Устанавливать “лидар” в свой авто я стал по аналогии с маздой. Просто приклеил его на двусторонний скотч на лобовое стекло в районе зеркала заднего вида. Питание подал с разъема прикуривателя.
К CAN подключился при помощи сделанного собственноручно 10 лет назад адаптера, совместимого с широкоизвестной программой CAN-Hacker. В отличии от первого включения на столе, первый байт пакета начал сразу активно меняться, пока лидар не зафиксировали на лобовике. Исходя из чего я сделал вывод, что это байт отвечает за измеренное расстояние.
В руководстве по протоколу общения лидара с внешним миром описывается достаточно много передаваемых параметров. В нашем случае удалось добиться только измерения расстояния до впереди находящегося объекта.
Тестирование
Для тестирования в качестве мишени был выбран автомобиль друга. Тест заключался в следующем:
- Приближаемся максимально близко к цели, фиксируем первый байт пакета
- Измеряем расстояние до цели при помощи лазерной рулетки
- Сопоставляем данные рулетки с данными передаваемыми лидаром.
Соответствие значения первого байта пакета LIDAR-а и значения измеренного лазерной рулеткой:
0x41 = 2,054 м
0x46 = 3,166 м
0x49 =3.8 м
0x7F — цель потеряна
Выяснилось что лидар уверенно измеряет расстояние до цели не более 4х метров. На мой взгляд это не лучший результат для датчика системы экстренного торможения. Возможно, устройство работало в каком-то упрощенном или тестовом режиме и на автомобиле девайс измеряет расстояние в более широком диапазоне. Мы так же проводили эксперимент с большой глянцевой доской белого цвета, в этом случае расстояние измерялось до 5 метров.
Резюме
Mazda Short range LIDAR производства Continental интересное устройство. Хотелось бы что бы диапазон измерения дальности выходил за приделы 4-х метров. Если будет возможность, попробую сконфигурировать его в режим который описан в документации и позволяет измерять большие расстояния и скорости объектов. Возможно получится оживить второй канал CAN. Если вдруг есть кто-то желающий поковырять прибор в Новосибирске, буду рад совместным трудам.
Добавлю, что устройство достаточно легко найти на разборах по цене от 3000 до 6000 рублей.
Каталожный номер: GHP9-67XD0
Ну и напоследок кино про устройство снятое в меру собственных возможностей.
Ссылки:
> Continental, документация
> MAZDA
> Рассказ пользователя
Комментарии (65)
kumbr_87
02.12.2016 12:58+4Чтобы носить гордое название LIDAR у этого устройства слишком простая начинка :) По факту обычный дальномер с широким углом.
Artemka86
02.12.2016 13:04+1Да, больше пафоса в названии. В новых маздах сей прибор уже убрали. Все задачи решаются видеокамерой и СВЧ радарами
hover
03.12.2016 02:07+1Вроде, мазды с СВЧ радарами в Россию сейчас официально не поставляются (поэтому нет адаптивного круиз-контроля, например).
Но они доступны в Беларуси, один энтузиаст даже купил в виде запчастей и смог установить в свою российскую Mazda 6. Это было долго и трудно: https://www.drive2.ru/l/6504864/Artemka86
03.12.2016 05:02+1С фронтальными радарами не попадались, а вот с радарами для контроля мертвых зон вижу регулярно. В них вода попадает и они дохнут.
GAZ69
02.12.2016 13:15+11Очень громкая фраза " ставим на Lada", все таки подключен прибор к ноутбуку… а куда скотчем приклеить это не важно.
Artemka86
02.12.2016 13:24+4Понял пожелание. Будет время, увяжу со штатной CAN шиной и приделаю дисплей. Напишу отдельную статью
GAZ69
02.12.2016 13:39+1Понимаю, что научить тормозить — это уже ого-го. Если со штатной CAN шиной увязать, то можно ли научить штатный контроллер обрабатывать данные и например пищать штатным зуммером (приборка ведь тоже на шине?)при опасной скорости сближения?
Artemka86
02.12.2016 13:42+1Да, пищать точно можно. На ладе удавалось посылкой пакетов в CAN через OBD заставлять панель пищать.
С тормозами если возиться то придется автомобиль в жертву науке принести, я пока не готов)persei
02.12.2016 15:26А блок ABS не позволяет инициировать экстренное торможение?
Artemka86
02.12.2016 16:08+1Думаю что по CAN — нет. ABS вещь в себе
unxed
03.12.2016 10:31А на Мазде как оно реализовано?
PS: крутая затея с CAN адаптером, удачи и выкладывайте обязательно!Artemka86
03.12.2016 10:47+1Как реализовано на мазде я пока не знаю, нет людей готовых отдать мазду на растерзание)
Врятли торможение инициируется посылкой обычного пакета по CAN.LittleSquirrel
05.12.2016 00:58+2Торможение скорее всего инициируется посылкой обычного пакета, просто на другом конце провода должен соответствующий модуль сидеть, со своей логикой и механизмами проверки, что-то типа: лидар -> AEB -> интерфейс тормозов. Могут быть как 3 независимых модуля так и блокировка 2в1, но в любом случае все 3 должны быть увязаны.
Artemka86
05.12.2016 06:22Пугает если для этого нужен всего один валидный пакет. Будь я разработчиком, скорее всего реализовал бы или серией пакетов или по двум каналам CAN
LittleSquirrel
05.12.2016 08:54+1Два канала CAN это слишком большая роскошь, мало кто из OEM с таким хочет связываться.
Обычно сигнал от AEB ходит постоянно, просто основную часть времени он командует idle, ничего не делаем. Чтоб торможение началось должна пройти цепочка изменения состояний, что-то типа idle->prefill->brake.
К вящей безопасности можно сделать запрос степени торможения отдельным сигналом, но это увеличит латентность системы и усложнит интеграцию, потому такое решение не однозначно лучше.
GloooM
02.12.2016 16:48+1ABS не факт что имеет вообще гидравлическую схему для экстренного торможения, вот еслиб ESP, то точно должна уметь. Правда велика вероятность что там программно нет реализации этой фишки в обычном режиме. В режиме диагностики можно ручками тыкать клапана и помпу, но в этом режиме обычно ездить нельзя.
GAZ69
05.12.2016 05:27ABS не умеет тормозить, для этого нужна ESP, но не уверен, что она сможет затормозить с хорошим усилием, ее задача слегка подтормаживать отдельные колеса.
Artemka86
05.12.2016 06:20А ESP это разве не часть функционала модуля ABS?
GAZ69
05.12.2016 06:37Часть, лишь в том, что оба работают с тормозами и используют некоторые общие компоненты. Для ESP нужны дополнительные датчики, как минимум бокового ускорения, но главное это активная система — она умеет тормозить благодаря созданию давления в тормозной системе.
synka
02.12.2016 13:51+1Первый раз покупал машину, брал максимальную комплектацию. Думал там будет такая штука. А оказалось это пакет «премиум», ставят только на заводе и в салоны не поставляется, так как нет спроса в России. Короче облом. Закончится гарантия буду сам прикручивать.
RobosergTV
02.12.2016 14:01+2ЛИДАР для автопрома на 10 метров, это даже не смешно. Первокурсники играются с такими же, только те сканируют в 2д.
impetus
02.12.2016 14:45у автопрома цена ошибки по сравнению с прочими применениями зашкаливает. Даже у авиа много чего полегче в требованиях
JerleShannara
02.12.2016 15:39+1Конкретно чего у авиа полечге? Бензиновые ДВС там с двумя системами зажигания. У не совсем уж простых аппаратов — дублирование каналов управления. Дублирование критичных систем (а то и по три ставят, как например с авиагоризонтами).
KOLANICH
02.12.2016 16:31Я не понял, это просто лазерный дальномер, или это действительно лидар, умеющий в сканирование по углу? И зачем нужен просто лазерный дальномер, если для этого используют «радары» и ультразвуковые дальномеры?
Artemka86
02.12.2016 17:13+1Об этом нужно спросить инженеров Mazda. А так же спросить у Ford, Mitsubishi и Volvo, почему они эту штуку ставят в свои машины
borec1
02.12.2016 18:51Выяснилось что лидар уверенно измеряет расстояние до цели не более 4х метров.
Это какой-то дачик парковки получается, а не датчик системы торможения.Artemka86
02.12.2016 18:52+1Не то чтобы парковки, сколько, датчик автоматического тормоза в пробке. ИМХО
borec1
02.12.2016 20:26Я не в смысле функционального применения прибора.
А в том смысле, что по характеристикам это лидар далеко не ушел от УЗ датчика парковки (копеечной стоимости).
crasheg
04.12.2016 21:13Не пробовали мерять без лобового стекла? Современные стекла могут иметь в своем составе радионепрозрачные включения.
Artemka86
04.12.2016 21:13для лазера то они прозрачные
LittleSquirrel
05.12.2016 00:49+1Таки совершенно не обязательно прозрачные. У многих «бюджетных» автопроизводителей лобовые стекла, для уменьшения нагрева салона, данный диапазон не пропускают. Приходится или просить автопроизводителя делать «окошко» под лидар или ставить его снаружи.
Artemka86
05.12.2016 06:19Да, вполне возможно. Ради эксперимента проверю дальность без установки в авто.
LittleSquirrel
05.12.2016 01:02Весьма вероятно что на втором CAN будут или дебаг или «raw» данные. Без наличия исходников/детального протокола и то и другое поможет мало.
Artemka86
05.12.2016 06:18Я припаивал трансивер на место второго канала CAN, там тишина к сожалению. Raw действительно там должен передаваться, протокол подробно описан на сайте производителя. Думаю, может в EEPROM проца как-то режим работы можно сконфигурировать
LittleSquirrel
05.12.2016 08:58Если протокол подробно описан — может быть реализована/описана и конфигурация сенсора по CANб тогда можно попробовать включить.
Искать значения в EEPROM как-то совсем уж реверс-инжиниринг, оно того стоит?Artemka86
05.12.2016 09:51Опыт есть в епромах ковыряться, время будет, попробую. Конфигурирование по CAN в документации не описано
LittleSquirrel
05.12.2016 10:39Я понимаю что опыт есть, раз вообще такую возможность рассматриваете. Я скорее о том, что не вижу смысла тратить столько времени на ковыряние в достаточно старом и уже отжившем свое продукте.
Pakos
05.12.2016 11:09+1Спасибо за статью, интересно.
Являюсь обладателем XC60 с CitySafety 1го поколения 11го года, наверняка там аналогичный «лидар» стоит (хотя производитель в инструкции называет, не лидаром, а лазерным дальномером). CS2+PD и активного круиза нет (за это производитель хотел ещё по ~100к денег, за каждое, но таких машин катается много, в отличии от японцев у европейцев оборудование савится не только пакетами). Лобовое стекло особенное — с «окошками» под датчики света, дождя и CS (отчего не самое дешёвое). При наличии 2го поколения — ещё бы под камеру были. Скорее всего дело в стекле, через которое он светит. Команду торможения отдаёт не сам «лидар», а управляющий блок, который получает данные с него (естественно, не сразу стенка-стоп, а серию) + скорость движения учитывается (на скорости до 5км/ч не работает, на форуме были примеры «бумов» на парковке и заправке), плохо реагирует на коробки и людей (знаменитый ролик, где менеджер Вольво кого-то попридавил — CS 1го поколения как у него не рассчитана на людей), похоже, нет боковых зон (на форуме случай с автоподставщиками, когда их номер не попал в прямой луч и машина не остановилась). Нормально реагирует на отражающие полосы и номера, дальность не проверял ;). До правки прошивки управляющего блока (году в 9-10м) реагировал на выхлоп Камаза на морозе — стопорился как перед препятствием, у себя ни разу не замечал (уже исправленная версия).
PS. ESP у меня может притормозить колесо до полной остановки — имитация блокировки, помогает выехать в случае диагонального вывешивания и есть система экстренного торможения (EBD или типа того), управление может идти и через неё. Если CS определяет что замедление недостаточно, то может «додавить» тормоз, а не отключается при реакции человека (как тесловский «автопилот»).Artemka86
05.12.2016 11:25На Volvo видел точно такие же «лидары» да. А про дым от камаза — это уже не дальномер, а камера глючила. У меня есть такая камера, но она, зараза, при включении на столе никак себя не проявляет.
Pakos
05.12.2016 11:30Камера не может глючить, т.к. там нет камеры (на моделях тех лет был только CS1). Именно не чёрный дым, а белый на морозе (пар), искрящийся и отражающий. Я не знаю как они его отличают, но теперь (с 11го года) реально не реагирует (в моей модификации тоже нет камеры), хотя до этого воспринималось как препятствие. Некоторые зимой (перед каждой поездкой) даже отключали эту систему.
LittleSquirrel
05.12.2016 11:37+1Это именно ghost detection лидара, пар/дым выхлопа очень неплохо отражает в рабочем диапазоне
d3vil_st
05.12.2016 12:57К именно этому лидару, на форды еще ставится вот эта камера распознования знаков\удержания в полосе MFC 2 Multi Function Camera
vilgeforce
Осцилл, понимающий CAN… До чего техника дошла!
Artemka86
самому очень нравится. Очень удобная опция при разработке устройств с использованием CAN. Но если подключить в сеть с множеством блоков и плотным трафиком, пользоваться становится невозможно. В этом случае CAN-HAcker выручает
alex323
Кстати, если хочется анализировать CAN, или еще какой-нибудь популярный протокол, у китайцев можно купить клон логического анализатора Saleae Logic за смешные деньги.
Artemka86
saleae logic не подойдет, у меня много оборудования для исследования CAN. Лучше простого CAN-USB адаптера + программа CAN Hacker пока ничего не видел. Сейчас работаем со студентами над созданием своего адаптера CAN, надеюсь получится все и я выложу материал.