Информация
Рубрика: | Администрирование |
---|---|
Автор: | intergalactic ==> Средний рейтинг: |
Дата создания: | 20 мая 2021 г. 19:14 |
Просмотров: | 197 |
СЕЙЧАС ЧИТАЮТ
2 просмотров 10 комментария
0 просмотров 1 комментария
2 просмотров 1 комментария
2 просмотров 1 комментария
0 просмотров 1 комментария
Тесла верит своим Богам! Так она находит путь
Как устроена навигация в автомобилях Tesla. В чем трудности поиска пути по земли русской?
C 2018 года все счастливые обладатели Tesla в России получили обновление Европейской навигации в которой России уже не было, официально это объясняется поддержанием баланса веса карт и удалением регионов, не входящих в зону официального обслуживания.
Как же использовать большой экран Tesla на полную силу? Видеть маршрут, какой процент батареи останется? С какой скоростью ехать? Можно ли сделать даунгрейд на старые карты?
Тесла использует для построения маршрутов Valhalla -это механизм маршрутизации с открытым исходным кодом и сопутствующие библиотеки для использования с данными OpenStreetMap.
Valhalla в Tesla и Тесла в Вальхалле
Вальхалла - это не только пантеон германских Богов и "чертог мёртвых ", но и отличный движок для построения маршрутов с дополнительными инструментами и модульной структурой, API на основе C++, с возможностью перекрестной компиляции различных фрагментов. И да, все это open source https://github.com/valhalla/valhalla.
Работает на Linux и Mac OS и частично на Windows.
Valhalla состоит из нескольких библиотек, каждая из которых отвечает за свою функцию. Расположение различных функций по библиотекам выглядит следующим образом:
Midgard - базовые географические и геометрические алгоритмы для использования в различных других проектах.
Baldr - базовые структуры данных для доступа и кэширования данных маршрута.
Sif - библиотека, используемая при расчете стоимости узлов графа. Это может быть использовано в качестве входных данных для Loki и Thor.
Skadi - библиотека и сервис для доступа к данным о высоте. Это может быть использовано в качестве входных данных для Mjolnir или в качестве автономной службы.
Mjolnir - Инструменты для превращения открытых данных в части графа Valhalla.
Loki - библиотека, используемая для поиска участка графа и корреляции входных местоположений с объектом внутри участка. Эта коррелированная сущность (ребро или вершина) может использоваться в качестве входных данных для Thor.
Meili - библиотека, используемая для сопоставления карт.
Thor - библиотека, используемая для создания пути через иерархию участков графа. Этот путь и атрибуция вдоль пути могут быть использованы в качестве входных данных для Odin.
Odin - библиотека, используемая для создания маневров в пути. Этот набор информации о направлениях может использоваться в качестве входных данных для Tyr.
Tyr - сервис, используемый для обработки http-запросов для маршрута, связывающегося со всеми другими API valhalla. Tyr форматирует вывод из Odin.
Установка
Если у Вас Ubuntu 20.04 отличный гайд по установке.
Здесь можно скачать карты, выбрав нужные регионы.
Для ЦФО РФ
curl -O http://download.geofabrik.de/russia/central-fed-district-latest.osm.pbf
Рендерим карты
valhalla_build_tiles -c ./conf/valhalla.json central-fed-district-latest.osm.pbf
Запускаем
valhalla_service ~/valhalla/scripts/conf/valhalla.json 2
Давайте найдем маршрут на автомобиле из Москвы в Подольск
curl http://localhost:8002/route \
--data '{"locations":[
{"lat":55.7522,"lon":37.6156},
{"lat":55.4242,"lon":37.5547}
],
"costing":"auto"
}' | jq '.'
В ответ получаем JSON с узловыми токами маневров.
Файл навигации в Тесла
Я обратился https://teesla.ru/ и мне передали файл с европейской навигацией из Тесла. Весит файл около 8гб и на мое удивление содержит вовсе не карты, а уже проложенные пути.
Карты Tesla подгружает из Google, как и данные о зарядках, часть ограничений скорости. Данные в файле навигации представляют собой скомпилированные графы пути.
Пример
Для адресов используются данные из карт Tomtom
Пример импорта в файле карт tesla из tomtom
Файл карт в файловой системе Squashfs (.sfs)
Последние 2кб очень странные, в них и вся соль. Файлы подписаны ключом. Шифрование AES.
При загрузке карт в машину, Тесла проверяет подпись поэтому модифицированные карты не удалось загрузить.
P.S.
Можно ли подписать карты? Найти ключ и порядок S-box? Тесла на Тегра хранят файл навигации на отдельной карте памяти в MCU. Тесла на Intel хранят файл навигации на в основной eMMC. С картой памяти все просто, разбираем половину торпеды, вытаскиваем из MCU, заливаем дамп с картами и вставляем обратно, с eMMC не так все однозначно. Если карты просто залить на чип eMMC, апдейтер в автомобиле с живыми сертификатами загрузит обновление и заменит их.
От cебя готов предоставить приз целый день аренды самой заряженной Tesla model 3 Performance за способ генерации и загрузки карт в Tesla model 3 с РФ. Пишите в личку.