roboforum.ru

Технический форум по робототехнике.

электронный аналог дифференциала для колёсного робота

электронный аналог дифференциала для колёсного робота

ibliz » 15 авг 2016, 08:27

День добрый!
Подскажите, существуют реализация электронного аналога дифференциала для ровера (колёсного робота)? Для той ситуации, когда каждое колесо имеет свой движок и их необходимо синхронизировать между собой.

Поясню, почему спрашиваю об этом. Как мне представляется, для ровера с 4 и более колёсами желательна синхронизация двигателей по тяге. По нескольким причинам (как минимум):
1. Уменьшение нагрузки на редукторы двигателей за счёт синхронизации "силы кручения".
2. Меньше расход энергии.
3. Езда ровера будет в заданном направлении не только по ровной поверхности, но и по неровной (когда колёса проходят разную длину пути).

Традиционный механический дифференциал предназначен для деления мощности двигателя так, чтобы на каждом колесе был одинаковый крутящий момент. И это позволяет решить задачу прямолинейной езды на неровной поверхности, а также синхронизации поворачивающихся колёс (в обоих ситуациях колёса проходят разную длину пути). У механического дифференциала есть и недостаток: если одно из двух колёс на одной оси не имеет сопротивления с дорогой (например, вывешено на неровной дороге, или попало на скользкую поверхность), то это колесо будет быстро вращаться, а второе колесо на этой же оси - стоять на месте. Для решения этой проблемы применяют электронную блокировку дифференциала, но это усложняет конструкцию, конечно же.

В общем, ищу реализацию электронного аналога дифференциала для ровера, у которого 4 и более колеса и к каждому подключён свой двигатель. Пока сколько не искал - ничего толкового не нашёл...

Да, как я понимаю, в роверах часто для синхронизации двигателей используют энкодеры (датчики Холла), чтобы видеть скорость вращения каждого движка. Но - согласитесь - этого ведь недостаточно! Если, например, мы имеем ситуацию, когда все колёса двигающегося ровера цепляются за ровную поверхность и не прокручиваются, то они и будут в любом случае вращаться с одинаковой скоростью, даже если на движках будет разная тяга. Просто нагрузка на одни движки будет больше, чем на другие, и они, соответственно, будут в большей степени участвовать в "толкании" ровера вперёд.

То есть помимо энкодера (который, вероятно, тоже нужен), необходим датчик текущего крутящего момента на каждом колесе. Такие датчики используются в автомобилестроении, но они достаточно громоздки и дороги. Возможно кто-то знает недорогие и небольшие альтернативы? Или другие пути решения, помимо использования таких датчиков?

Re: электронный аналог дифференциала для колёсного робота

Myp » 15 авг 2016, 11:25

если при прямолинейном движении крутящий момент распределён неравномерно (например развесовка неравномерная) значит так и надо.
а если ты по "датчику момента" возьмёшь да и перераспределишь момент поровну на все 4 колеса, то у тебя и ровер сразу поедет в бок.

энкодер как раз решает проблему момента, на том колесе где не хватает момента скорость будет ниже расчётной и блок управления видя отставание, по энкодеру, прибавит ШИМ на этом колесе, чтобы компенсировать нехватку момента.
ничего больше там не требуется.

Re: электронный аналог дифференциала для колёсного робота

ibliz » 15 авг 2016, 11:32

Myp писал(а):если при прямолинейном движении крутящий момент распределён неравномерно (например развесовка неравномерная) значит так и надо.

Не совсем понял, почему?... При прямолинейном движении (если движение по ровной поверхности) крутящий момент на движках должен быть одинаковый (при условии, что радиус колёс одинаковый, конечно же). Та же неравновмерная развесовка на обычных автомобилях ведь не мешает им ехать прямо при работе механического дифференциала?

Myp писал(а):а если ты по "датчику момента" возьмёшь да и перераспределишь момент поровну, то у тебя и ровер сразу поедет в бок.

Тоже не понял, почему? Механический дифференциал как раз распределяет крутящий момент поровну, что приводит к прямолинейному движению независимо от того, ровная поверхность или нет. И при повороте колёс тоже именно равномерный крутящий момент позволяет повёрнутым колёсам двигаться синхронно - не пробуксовывать одному из них (тому, которое двигается по меньшему радиусу).

Myp писал(а):энкодер как раз решает проблему момента, на том колесе где не хватает момента скорость будет ниже расчётной и блок управления видя отставание, по энкодеру, прибавит ШИМ на этом колесе, чтобы компенсировать нехватку момента.

Энкодер, как мне представляется, не решает проблему момента: если ровер едет и колёса не проскальзывают, то все они крутятся с одинаковой скоростью (ровная поверхность, прямолинейное движение). Энкодеры на всех колёсах покажут одинаковую скорость, хотя вклад каждого движка в движение может быть разный: один сильнее крутит, другой слабее, но в итоге ровер едет прямо. Разве не так?

Re: электронный аналог дифференциала для колёсного робота

Myp » 15 авг 2016, 11:55

ibliz писал(а):
Myp писал(а):если при прямолинейном движении крутящий момент распределён неравномерно значит так и надо

Не совсем понял, почему?...

да почему угодно, не бывает 4х одинаковых колёс 4х одинаковых редукторов и 4х одинаковых моторов, обязательно будут небольшие отличия
плюс может быть развесовка неправильная, аккумулятор стоит не строго по центру а ближе к одному колесу, значит это колесо вращается труднее ему постоянно нужен повышенный момент.
ibliz писал(а):Тоже не понял, почему?
см выше. момент обязательно будет хоть немного но разный и это нормально.
если поверхность изменится, под один бок попадётся песочек и боковые колёса начнут крутиться с трудом, блок управления отследит падение скорости по энкодерам и добавит туда мощности.
ibliz писал(а):Энкодеры на всех колёсах покажут одинаковую скорость. Разве не так?
они покажут одинаковую скорость лишь только после того как блок управления выставит необходимый крутящий момент на каждом колесе.
если тебе повезло, у тебя идеальные комплектующие и развесовка на идеальном полу то и момент будет одинаковый, а во всех остальных случаях для каждого мотора будет будет слегка разный момент и этот момент будет выставлен исходя из показаний энкодеров.

Re: электронный аналог дифференциала для колёсного робота

Medtech » 15 авг 2016, 14:45

стоит измерять ток потребления на каждом драйвере двигателя и учитывать это при раздаче ШИМа на привода, написанный вами алгоритм будет определять в какие моменты времени будет приоритет энкодеров - частоты вращения колёс, а где распределение момента и в каких ситуациях что над чем имеет приоритет при управлении приводами.

Re: электронный аналог дифференциала для колёсного робота

Myp » 15 авг 2016, 14:52

а какой смысл подавать ток на моторы без учёта энкодеров? разве чтоб с юзом по грязи гонять, влепил 100% и брызги во все стороны))

Re: электронный аналог дифференциала для колёсного робота

Dmitry__ » 15 авг 2016, 16:42

Электронный аналог дифференциала - есть поддержание одинакового тока в обоих двигателях. Никакого прямолинейного движения дифференциал не обеспечивает.
Для варианта с поворотными колесами (один драйвер на ведущие колеса) электронный дифференциал получается при последовательном соединении двигателей ведущих колес.

Re: электронный аналог дифференциала для колёсного робота

ibliz » 17 авг 2016, 01:06

Medtech писал(а):стоит измерять ток потребления на каждом драйвере двигателя и учитывать это при раздаче ШИМа на привода, написанный вами алгоритм будет определять в какие моменты времени будет приоритет энкодеров - частоты вращения колёс, а где распределение момента и в каких ситуациях что над чем имеет приоритет при управлении приводами.

Идея насчёт тока интересная! Но, боюсь, что он не всегда будет являться адекватным показателем момента, который приходит именно на выходной вал: например, движки ведь могут иметь разное внутреннее сопротивление из-за неидеальных деталей и условий эксплуатации. Попал песочек, и движок затрачивает больше тока, чтобы крутиться, преодолевая своё внутреннее сопротивление.

Согласен, что для грамотного управления движками их синхронизации необходимо получать данные из энкодера тоже, но всё же этих данных недостаточно.

Re: электронный аналог дифференциала для колёсного робота

Myp » 17 авг 2016, 08:34

здрасьте приехали
а что же кроме показаний энкодера тебе ещё надо чтобы крутить 4 колеса с одинаковой скоростью?

Re: электронный аналог дифференциала для колёсного робота

ibliz » 17 авг 2016, 23:01

Myp писал(а):здрасьте приехали
а что же кроме показаний энкодера тебе ещё надо чтобы крутить 4 колеса с одинаковой скоростью?

Дело в том, что задача стоит не крутить все колёса с одинаковой скоростью, а двигаться прямо или по заданной траектории - а это разные задачи. Плюс уменьшить нагрузку на редукторы двигателей и уменьшить потребление энергии.

Простой пример: допустим, имеем 4-колёсного ровера и ему надо двигаться прямо. Если поверхность ровная и колёса имеют с ней хорошее сцепление, то да - надо только крутить колёса с одинаковой скоростью. Но если ровер наезжает на неровность одной стороной, то длина пути, который колёса на этой стороне пройдут, будет больше, чем пройдут колёса на другой стороне (при условии, что колёса имеют хорошее сцепление с поверхностью и не прокручиваются). А если скорость у всех колёс одинаковая, то получается, что ровер будет поворачивать в ту сторону, на которой была неровность. В итоге имеем, что для грамотного движения хотя бы прямо на неровных поверхностях недостаточно иметь одинаковую скорость на всех колёсах.

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

Re: электронный аналог дифференциала для колёсного робота

Medtech » 18 авг 2016, 01:07

ibliz
простой механический дифференциал выполняет совсем другие задачи, он служит для компенсации угловых скоростей колёс, а деление крутящего момента как раз минус этого устройства поскольку оно неконтролируемое, по этому используют чаще блокируемый или управляемый дифференциал. стоит почитать и подумать.https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%84%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB_(%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%BA%D0%B0)#.D0.A1.D0.B0.D0.BC.D0.BE.D0.B1.D0.BB.D0.BE.D0.BA.D0.B8.D1.80.D1.83.D1.8E.D1.89.D0.B8.D0.B9.D1.81.D1.8F_.D0.B4.D0.B8.D1.84.D1.84.D0.B5.D1.80.D0.B5.D0.BD.D1.86.D0.B8.D0.B0.D0.BB
полный аналог не блокируемого механического дифференциала уже предложен это последовательное включение двигателей одной оси. Давление в шинах, износ покрышек, неровности, повороты как раз и решает не блокируемый дифф, все остальные задачи он решить не может, а это как раз езда по пересечённой местности.

Re: электронный аналог дифференциала для колёсного робота

Myp » 18 авг 2016, 12:20

ibliz писал(а):Собственно, механический дифференциал решает эту задачу

не решает :)

Re: электронный аналог дифференциала для колёсного робота

ibliz » 18 авг 2016, 13:11

Myp писал(а):
ibliz писал(а):Собственно, механический дифференциал решает эту задачу

не решает :)

Тогда надо разобраться, почему так :). В той же статье в Википедии этот вопрос однозначно не рассмотрен, там больше речь о колёсах в повороте, когда они проходят разный путь, и дифференциал не позволяет им проскальзывать. Мне казалось, что ситуация с неровной дорогой аналогична, когда колёса на разных сторонах одной оси проходят разный путь из-за ямок и кочек - и дифференциал тоже должен помогать в этой ситуации, распределяя крутящий момент равномерно.

Возьмём обычный автомобиль с передним приводом. Спереди стоит дифференциал. Тогда, получается, при езде его уводило бы в сторону на кочках и ямках? Но этого ведь вроде как не происходит - он едет прямо даже по неровной поверхности. По крайней мере, я не замечаю, что на неровной дороге мой авто куда-то уводит в сторону (при условии, что колёса имеют хорошее сцепление с дорогой и не проскальзывают).

Цитата из одной статьи про дифференциал (http://stroy-technics.ru/article/differentsial):
"При повороте автомобиля его внешние и внутренние колеса за один и тот же отрезок времени проходят разные пути. Колесо, катящееся по внутренней кривой, проходит меньший путь, чем колесо, катящееся по внешней кривой. Следовательно, внешнее колесо автомобиля должно вращаться несколько быстрее внутреннего. Аналогичное явление происходит и при прямолинейном движении, если задние колеса автомобиля имеют неодинаковые диаметры, что вполне возможно при неравномерном распределении нагрузки в кузове, неодинаковом износе шин, различном внутреннем давлении в шинах или при движении по неровной дороге."
Последний раз редактировалось ibliz 18 авг 2016, 13:55, всего редактировалось 1 раз.

Re: электронный аналог дифференциала для колёсного робота

Dmitry__ » 18 авг 2016, 13:54

ibliz писал(а):Тогда надо разобраться, почему так . В той же статье в Википедии этот вопрос однозначно не рассмотрен, там больше речь о колёсах в повороте,

Зачем для этого вики? Ежу же понятно :)
Возьми езду по асфальту одной стороной машины и по обочине другой стороной. Поверхность разная, а дифференциал будет ровно делить момент на стороны. Теперь спроецируй это на шумный мир. :wink:

Re: электронный аналог дифференциала для колёсного робота

ibliz » 18 авг 2016, 13:56

Dmitry__ писал(а):Теперь спроецируй это на шумный мир

На что спроецировать? :)


Rambler\'s Top100 Mail.ru counter