roboforum.ru

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

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

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

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

Сообщение ibliz » 15 авг 2016, 08:27

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

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

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

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

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

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

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

Сообщение Myp » 15 авг 2016, 11:25

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

энкодер как раз решает проблему момента, на том колесе где не хватает момента скорость будет ниже расчётной и блок управления видя отставание, по энкодеру, прибавит ШИМ на этом колесе, чтобы компенсировать нехватку момента.
ничего больше там не требуется.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

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

Сообщение ibliz » 15 авг 2016, 11:32

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

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

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

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

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

Энкодер, как мне представляется, не решает проблему момента: если ровер едет и колёса не проскальзывают, то все они крутятся с одинаковой скоростью (ровная поверхность, прямолинейное движение). Энкодеры на всех колёсах покажут одинаковую скорость, хотя вклад каждого движка в движение может быть разный: один сильнее крутит, другой слабее, но в итоге ровер едет прямо. Разве не так?
ibliz
 
Сообщения: 15
Зарегистрирован: 09 мар 2016, 11:31

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

Сообщение Myp » 15 авг 2016, 11:55

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

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

да почему угодно, не бывает 4х одинаковых колёс 4х одинаковых редукторов и 4х одинаковых моторов, обязательно будут небольшие отличия
плюс может быть развесовка неправильная, аккумулятор стоит не строго по центру а ближе к одному колесу, значит это колесо вращается труднее ему постоянно нужен повышенный момент.
ibliz писал(а):Тоже не понял, почему?
см выше. момент обязательно будет хоть немного но разный и это нормально.
если поверхность изменится, под один бок попадётся песочек и боковые колёса начнут крутиться с трудом, блок управления отследит падение скорости по энкодерам и добавит туда мощности.
ibliz писал(а):Энкодеры на всех колёсах покажут одинаковую скорость. Разве не так?
они покажут одинаковую скорость лишь только после того как блок управления выставит необходимый крутящий момент на каждом колесе.
если тебе повезло, у тебя идеальные комплектующие и развесовка на идеальном полу то и момент будет одинаковый, а во всех остальных случаях для каждого мотора будет будет слегка разный момент и этот момент будет выставлен исходя из показаний энкодеров.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

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

Сообщение Medtech » 15 авг 2016, 14:45

стоит измерять ток потребления на каждом драйвере двигателя и учитывать это при раздаче ШИМа на привода, написанный вами алгоритм будет определять в какие моменты времени будет приоритет энкодеров - частоты вращения колёс, а где распределение момента и в каких ситуациях что над чем имеет приоритет при управлении приводами.
Аватара пользователя
Medtech
 
Сообщения: 562
Зарегистрирован: 20 апр 2015, 22:02
Откуда: Москва
Skype: sergelola
ФИО: Сергей

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

Сообщение Myp » 15 авг 2016, 14:52

а какой смысл подавать ток на моторы без учёта энкодеров? разве чтоб с юзом по грязи гонять, влепил 100% и брызги во все стороны))
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

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

Сообщение Dmitry__ » 15 авг 2016, 16:42

Электронный аналог дифференциала - есть поддержание одинакового тока в обоих двигателях. Никакого прямолинейного движения дифференциал не обеспечивает.
Для варианта с поворотными колесами (один драйвер на ведущие колеса) электронный дифференциал получается при последовательном соединении двигателей ведущих колес.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение ibliz » 17 авг 2016, 01:06

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

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

Согласен, что для грамотного управления движками их синхронизации необходимо получать данные из энкодера тоже, но всё же этих данных недостаточно.
ibliz
 
Сообщения: 15
Зарегистрирован: 09 мар 2016, 11:31

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

Сообщение Myp » 17 авг 2016, 08:34

здрасьте приехали
а что же кроме показаний энкодера тебе ещё надо чтобы крутить 4 колеса с одинаковой скоростью?
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

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

Сообщение ibliz » 17 авг 2016, 23:01

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

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

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

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

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
полный аналог не блокируемого механического дифференциала уже предложен это последовательное включение двигателей одной оси. Давление в шинах, износ покрышек, неровности, повороты как раз и решает не блокируемый дифф, все остальные задачи он решить не может, а это как раз езда по пересечённой местности.
Аватара пользователя
Medtech
 
Сообщения: 562
Зарегистрирован: 20 апр 2015, 22:02
Откуда: Москва
Skype: sergelola
ФИО: Сергей

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

Сообщение Myp » 18 авг 2016, 12:20

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

не решает :)
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

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

Сообщение ibliz » 18 авг 2016, 13:11

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

не решает :)

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

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

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

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

Сообщение Dmitry__ » 18 авг 2016, 13:54

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

Зачем для этого вики? Ежу же понятно :)
Возьми езду по асфальту одной стороной машины и по обочине другой стороной. Поверхность разная, а дифференциал будет ровно делить момент на стороны. Теперь спроецируй это на шумный мир. :wink:
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение ibliz » 18 авг 2016, 13:56

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

На что спроецировать? :)
ibliz
 
Сообщения: 15
Зарегистрирован: 09 мар 2016, 11:31

След.

Вернуться в Электроника, электротехника

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25