Комментарии 22
А какая на данный момент цель вашего проекта?
То есть управление будет аналоговое, имитацией сигнала датчика? Штатных функций поворота руля в контроллере двигателя ЭУРа нет?
Да, будет аналоговое. Функции возможно есть (на каких-то сидах вроде бы есть система удержания в полосе, значит как-то она с ЭУРом в состоянии общаться). Но во-первых все протоколы закрытые, т.е. их пришлось бы тоже разбирать с нуля с дампов шины на реальном авто, это сложно. А во-вторых там часто ограничения по режимам (например, система удержания в полосе поворачивает руль не более, чем на 5 градусов; автопарковщик крутит рулём только на задней передаче, итд). В illmatics.com/car_hacking.pdf можно почитать примеры проблем с рулением по CAN. Через датчики получается сильно проще, хотя свою систему управления простенькую на удержание нужного угла придется писать.
По поводу полного руления через обычный ЭУР — насколько это вообще надежно? Например в вики написано, что:
Кажется это может быть весьма критичным для SDC. То есть по факту в SDC ЭУР будет эксплуатироваться в режиме для которого он не предназначен, что будет приводить к его отказам с большой вероятностью прямо во время рулежки.
Т.е. такая эксплуатация просто не безопасна.
При тяжёлом режиме работы, например, при длительном движении по раскисшей грунтовой дороге электродвигатель ЭУР перегревается. Для предовращения его отказа блок управления начинает ограничивать максимальный ток, соответственно руль «затяжеляется», и в конечном итоге отключается совсем. Для восстановления нормальной работы необходимо остановить автомобиль на некоторое время, с целью охлаждения обмоток электродвигателя, после чего работоспособность восстановится.
Кажется это может быть весьма критичным для SDC. То есть по факту в SDC ЭУР будет эксплуатироваться в режиме для которого он не предназначен, что будет приводить к его отказам с большой вероятностью прямо во время рулежки.
Т.е. такая эксплуатация просто не безопасна.
Значит, по раскисшей грунтовой дороге придется взяться за руль самому. Только и всего. Ведь проблема там не в постоянной рулежке, а в том, что при поворотах в таких условиях приходится прикладывать большее усилие.
Когда машина рулит сама, т.е. 100% через ЭУР, то на ЭУР нагрузка в любом случае много выше чем когда рулит человек (так как когда рулит человек, то часть работы делает человек, руками). На такой режим ЭУР просто не рассчитан.
В этом случае езда, скажем, по автодрому (с его обычными упражнениями) будет по нагрузке сопоставима с езде по раскисшей грунтовой дороге с человеком. Это раз.
Два — обычный ЭУР, скорее всего, просто не сможет выдать достаточный момент, чтобы повернуть колеса на нужный угол если машина не двигается.
В этом случае езда, скажем, по автодрому (с его обычными упражнениями) будет по нагрузке сопоставима с езде по раскисшей грунтовой дороге с человеком. Это раз.
Два — обычный ЭУР, скорее всего, просто не сможет выдать достаточный момент, чтобы повернуть колеса на нужный угол если машина не двигается.
Рассуждения, конечно, полностью от балды.
Нужны конкретные цифры.
В противовес могу привести такой довод: имея опыт управления авто как с ЭУР, так и без, могу сказать, что для руления на месте с помощью ЭУР приходится прикладывать лишь незначительную долю усилий по сравнению с авто без усилителя.
Стало быть, мощности его должно хватить и на рулежку полностью самостоятельно.
Ну а на скорости, даже небольшой, нужное усилие резко падает. Так что с этим ЭУР справится и подавно.
Нужны конкретные цифры.
В противовес могу привести такой довод: имея опыт управления авто как с ЭУР, так и без, могу сказать, что для руления на месте с помощью ЭУР приходится прикладывать лишь незначительную долю усилий по сравнению с авто без усилителя.
Стало быть, мощности его должно хватить и на рулежку полностью самостоятельно.
Ну а на скорости, даже небольшой, нужное усилие резко падает. Так что с этим ЭУР справится и подавно.
Я бы не был столь категоричен, вот например посмотрите демку от PolySync, SOUL со стоковым ЭУР: content.jwplatform.com/previews/1pCfzDxi-i83WwCkC
Противоречий не вижу — тут нет рулежки при нулевой скорости. И нет длительной езды с маневрами, чтобы ЭУР успел перегреться.
Т.е. да, чтобы хоть как-то начать, ЭУР годится, но будет ряд ограничений в плане маневров и надежности. Чтобы ограничений не иметь, имеет смысл либо что-то допиливать руками (но могут быть проблемы с мощностью потребителя в сети машины), либо брать машину которая сразу приспособлена к полноценной самостоятельной рулежке, в том числе и при нулевой скорости (с фунцией автоматической парковки например).
Т.е. да, чтобы хоть как-то начать, ЭУР годится, но будет ряд ограничений в плане маневров и надежности. Чтобы ограничений не иметь, имеет смысл либо что-то допиливать руками (но могут быть проблемы с мощностью потребителя в сети машины), либо брать машину которая сразу приспособлена к полноценной самостоятельной рулежке, в том числе и при нулевой скорости (с фунцией автоматической парковки например).
На cee'd есть опция автоматической паковки: youtu.be/w6in-pDUvqE?t=32s
А вообще будем решать проблемы по мере возникновения :)
А вообще будем решать проблемы по мере возникновения :)
Ну, тогда звезды сошлись :-)
Единственное, стоит глянуть отличается ли что-то в плане рулевого механизма и ЭУР у авто с этой опцией и без этой опции (если у вас конечно авто без этой опции).
Но, думаю в любом случае допилить авто без опции до авто с опцией уже вполне посильаная задача, которая может быть решена по мере возникновения проблем :-)
Удачи.
Единственное, стоит глянуть отличается ли что-то в плане рулевого механизма и ЭУР у авто с этой опцией и без этой опции (если у вас конечно авто без этой опции).
Но, думаю в любом случае допилить авто без опции до авто с опцией уже вполне посильаная задача, которая может быть решена по мере возникновения проблем :-)
Удачи.
Это конечно фактор, надо держать в голове, но больше в контексте разработки — сырая или недообученная система управления может «шуметь» и пытаться интенсивно дергать руль туда-обратно. В этом её надо ограничивать, иначе усилитель действительно можно убить. Что касаемо эксплуатации, когда и если до неё дойдет дело — то на асфальте современные усилители вполне справляются. Насколько я знаю, та же Udacity ездит на ЭУР вполне себе, Polysync, ещё пара компаний точно. Просёлки же по весне в деревне Гадюкино думаю не покорятся роботам ещё долго :)
В общем если совсем глупостей не творить, нагрузка на эур в обычном городском режиме не должна быть проблемой.
В общем если совсем глупостей не творить, нагрузка на эур в обычном городском режиме не должна быть проблемой.
Это конечно фактор, надо держать в голове, но больше в контексте разработки — сырая или недообученная система управления может «шуметь» и пытаться интенсивно дергать руль туда-обратно.
Ага, как это было у Яндекса весной: www.youtube.com/watch?v=1Yc1v-LXl-0
Не будет ли более безопасно поставить суммирующий усилитель в разрыв датчиков усилия, на один из входов которого подать сигнал с ЦАПа, причем настроить так, что на этом входе ноль (еще притянутый резистором к земле) при отсутсвии вашей команды на руление? Тогда при зависании ардуино все будет продолжать работать.
Да, так должно быть надёжнее. Единственное нужно будет ещё как-то сделать, чтобы при зависании напряжение к нулю возвращалось относительно плавно, т.к. в усилителе есть детектор резких скачков напряжения на датчиках, и он просто отключается по нему. Вообще по надёжности тут просто конь не валялся, у меня опыта ноль в электронике и голова сейчас больше болит в направлении «нейросеть хочет уехать в канаву». А по уму конечно надо будет перепроектировать это всё.
[ошибся веткой]
«Интеграция с CAN шиной, чтение оттуда текущего угла поворота» — не вижу в существующей системе датчика положения РУ, который мог бы этот угол выдать. Ну хорошо, его можно присобачить.
Но с точки зрения ТАУ, регулируемый параметр у вас — угол поворота, а в качестве уставки вы имеете возможность использовать лишь усилие, приложенное между рулевым валом и карданом к рулевой рейке. Передаточная функция между двумя этими величинами вряд ли тривиальна; даже её детерминированность, в реальных условиях, вызывает большие сомнения.
Думаю, для решения конечной задачи следовало бы построить желаемый в теории контур регулирования, определить требуемые для него характеристики, а затем понять, можно ли доработать имеющееся железо и как это сделать. Навскидку, куда правильнее было бы подменять не сигнал от аналогового датчика, а целиком «мозги» усилителя, чтобы было возможно напрямую рулить его двигателем. Кроме того, могут потребоваться дополнительные датчики ( например, очень полезно было бы знать реальный момент на кардане к рулевой рейке).
Но с точки зрения ТАУ, регулируемый параметр у вас — угол поворота, а в качестве уставки вы имеете возможность использовать лишь усилие, приложенное между рулевым валом и карданом к рулевой рейке. Передаточная функция между двумя этими величинами вряд ли тривиальна; даже её детерминированность, в реальных условиях, вызывает большие сомнения.
Думаю, для решения конечной задачи следовало бы построить желаемый в теории контур регулирования, определить требуемые для него характеристики, а затем понять, можно ли доработать имеющееся железо и как это сделать. Навскидку, куда правильнее было бы подменять не сигнал от аналогового датчика, а целиком «мозги» усилителя, чтобы было возможно напрямую рулить его двигателем. Кроме того, могут потребоваться дополнительные датчики ( например, очень полезно было бы знать реальный момент на кардане к рулевой рейке).
«Интеграция с CAN шиной, чтение оттуда текущего угла поворота» — не вижу в существующей системе датчика положения РУ, который мог бы этот угол выдать. Ну хорошо, его можно присобачить.
Датчик есть, жгут проводов у него общий с датчиком момента (сами провода другие естественно). Я даже не стал разбираться, как он работает, т.к. ЭБУ его оцифровывает и с достаточно высокой частотой выдает текущий угол поворота в CAN (см. «Воспроизведение записи шины на стенде» в статье, первые 2 байта пакетов 2B0 и есть угол (в десятых долях градуса вроде бы).
Но с точки зрения ТАУ, регулируемый параметр у вас — угол поворота, а в качестве уставки вы имеете возможность использовать лишь усилие, приложенное между рулевым валом и карданом к рулевой рейке. Передаточная функция между двумя этими величинами вряд ли тривиальна; даже её детерминированность, в реальных условиях, вызывает большие сомнения.
Придётся немного повозиться, да, но вряд ли потребует сверхусилий. В первом приближении можно просто покататься на разных скоростях, записать логи углов и усилий и по ним интерполировать. Дальше для повышения точности прикрутить обратную связь. Ну и вообще, подозреваю, что для более-менее владеющих теорией оптимального управления (к коим не отношусь) задача будет банальной.
Думаю, для решения конечной задачи следовало бы построить желаемый в теории контур регулирования, определить требуемые для него характеристики, а затем понять, можно ли доработать имеющееся железо и как это сделать. Навскидку, куда правильнее было бы подменять не сигнал от аналогового датчика, а целиком «мозги» усилителя, чтобы было возможно напрямую рулить его двигателем. Кроме того, могут потребоваться дополнительные датчики ( например, очень полезно было бы знать реальный момент на кардане к рулевой рейке).
Так тоже можно конечно, но это в разы больше работы. На данный момент надо было минимальными усилиями разблокировать следующие шаги по интеграции с софтом машинного зрения итд; если дальше вылезут явные косяки, можно будет вернуться и те части более тщательно сделать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Автопилот своими рукам. Добавляем электронное управление steer-by-wire на обычный автомобиль