Как программно управлять автомобилем (ускоряться, тормозить, поворачивать)?
Я хотел бы создать прототип беспилотного автомобиля на базе серийного автомобиля (если быть точным, Toyota Yaris, но инструкция должна быть универсальной). Один из первых шагов — получить доступ к бортовому компьютеру, чтобы управлять дроссельной заслонкой, тормозами, коробкой передач, рулевым колесом и электроникой (PCM, ECM и т. д.). Существуют ли какие-либо стандартные интерфейсы? Какие протоколы используются? Где находятся конечные точки? Знаете ли вы какие-либо руководства или официальные документы о том, как создать беспилотный автомобиль?
Единственная базовая информация, которую я нашёл, — это статья в Wired Система, которую любой автопроизводитель может использовать для создания беспилотных автомобилей и Польский беспилотный автомобиль на базе Toyota Yaris.
Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/25327/how-to-control-a-car-accelerating-braking-steering-programmatically
Ни одна машина не обладает всеми необходимыми характеристиками для полной автономности.
Тормоза: Если автомобиль оснащен системой динамической стабилизации, то возможно программное управление тормозами. Система динамической стабилизации включает в себя все необходимые элементы для управления тормозами без участия водителя. Базовое программное обеспечение не предусматривает программное управление тормозами, и для добавления этой функции потребуется взлом. Если в автомобиле нет системы динамической стабилизации, то потребуется сторонняя система, которая может нажимать на педаль тормоза.
Дроссельная заслонка: с появлением электронной дроссельной заслонки задача значительно упростилась. Есть возможность принимать команды для управления дроссельной заслонкой в диагностических целях. Задержка может варьироваться в зависимости от системы. Возможно, потребуется взломать программное обеспечение, чтобы напрямую подключаться к командам дроссельной заслонки. Если в автомобиле нет электронной дроссельной заслонки, ее можно заменить круиз-контролем. Работа круиз-контроля на низкой скорости и при малом угле открытия дроссельной заслонки может быть нестабильной и прерывистой. Я бы рекомендовал установить привод стороннего производителя.
Рулевое управление: если в автомобиле есть электроусилитель руля, то можно настроить рулевое управление с помощью программного обеспечения. Такие системы измеряют крутящий момент на рулевом колесе, а затем прикладывают такой же крутящий момент, но в противоположном направлении, чтобы суммарный крутящий момент был равен нулю. Они оснащены датчиком угла поворота рулевого колеса. Как и в случае с другими системами, потребуется взломать программное обеспечение. Если в автомобиле нет электроусилителя руля (гидроусилитель не считается), потребуется сторонний привод.
Рычаг переключения передач: во многих современных автомобилях используется полностью электронное управление трансмиссией. Оно полностью контролируется программным обеспечением. В других трансмиссиях используется электронное управление, но сохраняется физический рычаг переключения передач. Физический рычаг переключения передач соединён с трансмиссией для управления парковочным упором. В этом и всех остальных случаях для управления рычагом переключения передач потребуется сторонний привод.