Вопрос

Как программно управлять автомобилем (ускоряться, тормозить, поворачивать)?

Я хотел бы создать прототип беспилотного автомобиля на базе серийного автомобиля (если быть точным, 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

10 Комментариев

  1. Ни одна машина не обладает всеми необходимыми характеристиками для полной автономности.



    Тормоза: Если автомобиль оснащен системой динамической стабилизации, то возможно программное управление тормозами. Система динамической стабилизации включает в себя все необходимые элементы для управления тормозами без участия водителя. Базовое программное обеспечение не предусматривает программное управление тормозами, и для добавления этой функции потребуется взлом. Если в автомобиле нет системы динамической стабилизации, то потребуется сторонняя система, которая может нажимать на педаль тормоза.



    Дроссельная заслонка: с появлением электронной дроссельной заслонки задача значительно упростилась. Есть возможность принимать команды для управления дроссельной заслонкой в диагностических целях. Задержка может варьироваться в зависимости от системы. Возможно, потребуется взломать программное обеспечение, чтобы напрямую подключаться к командам дроссельной заслонки. Если в автомобиле нет электронной дроссельной заслонки, ее можно заменить круиз-контролем. Работа круиз-контроля на низкой скорости и при малом угле открытия дроссельной заслонки может быть нестабильной и прерывистой. Я бы рекомендовал установить привод стороннего производителя.



    Рулевое управление: если в автомобиле есть электроусилитель руля, то можно настроить рулевое управление с помощью программного обеспечения. Такие системы измеряют крутящий момент на рулевом колесе, а затем прикладывают такой же крутящий момент, но в противоположном направлении, чтобы суммарный крутящий момент был равен нулю. Они оснащены датчиком угла поворота рулевого колеса. Как и в случае с другими системами, потребуется взломать программное обеспечение. Если в автомобиле нет электроусилителя руля (гидроусилитель не считается), потребуется сторонний привод.



    Рычаг переключения передач: во многих современных автомобилях используется полностью электронное управление трансмиссией. Оно полностью контролируется программным обеспечением. В других трансмиссиях используется электронное управление, но сохраняется физический рычаг переключения передач. Физический рычаг переключения передач соединён с трансмиссией для управления парковочным упором. В этом и всех остальных случаях для управления рычагом переключения передач потребуется сторонний привод.


  1. @niutech Да, CAN-шина, но, как я уже сказал, практически для всего потребуется специальное программное обеспечение, которое позволит вам создать собственный программный интерфейс.
  1. Спасибо за подробный ответ. Я знаю, что это возможно, но остаётся вопрос: как подключиться к этим системам? Через шину CAN?
  1. Спасибо за тёплые слова! Это определенно возможно — посмотрите на польский Jurek autonomous car на базе Toyota Yaris.
  1. @cdunn Я полностью согласен. Думаю, лучше всего будет задать несколько отдельных вопросов. Одна крупная сумма — это целый роман.
  1. @JPhi1618 Определённо. Автомобиль как минимум должен обладать всеми доступными на рынке функциями предотвращения столкновений. Нет смысла разрабатывать то, что уже разработано.
  1. Спасибо, что задали такой интересный вопрос. Он затрагивает очень обширную тему. Для сайта это действительно широкий вопрос. Возможно, стоит провести дополнительное исследование, ведь информации много, а когда у вас появятся конкретные вопросы, задайте их. И спасибо, что являетесь частью нашего сообщества!
  1. Если автомобиль не может самостоятельно управлять всеми этими системами, то и вы точно не сможете. Есть ли в вашем Yaris система самостоятельной парковки, система предотвращения столкновений (автоматическое торможение) и адаптивный круиз-контроль?
  1. Не думаю, что вы сильно изменили вопрос. Я бы посоветовал разбить его на несколько частей после того, как вы немного почитаете на эту тему. Вы можете почитать о компьютерных системах (ЭБУ) и CAN-шине/OBDII на этом сайте, чтобы лучше разобраться в отдельных вопросах. Вопрос остался прежним, и я восхищаюсь вашим упорством, но если разбить его на несколько частей, он станет более привлекательным для людей, которые будут писать ответы. В настоящее время вы собираетесь написать роман, и, насколько мне известно, здесь нет писателей-романистов :-) С наилучшими пожеланиями, задавайте вопросы.
  1. Я инженер-программист, специализирующийся на встраиваемых системах. Раньше я работал в компании, которая в 90-х годах создала беспилотный автомобиль для General Motors и испытательный полигон. Беспилотным он был лишь в том смысле, что следовал по проводу, проложенному в дорожном покрытии, но в остальном он ехал без водителя. Я хочу сказать, что меня восхищает эта тема, и я уверен, что я не один такой. Просто нужно разбить её на удобные части, чтобы она поместилась здесь. Пожалуйста, не сдавайтесь, продолжайте в том же духе.
Вы уже ответили на этот вопрос