Как стать автором
Обновить

Робот-тележка 2.0. Часть 1. Автономная навигация домашнего робота на базе ROS

Время на прочтение 7 мин
Количество просмотров 10K
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 12

Комментарии 12

Спасибо за статью)
Если не ошибаюсь, hector_slam придуман для работы с лидарами, которые имеют большую частоту обновления, от 40 Гц (hokuyo то бишь), поэтому с rplidar результаты не то, чтобы сильно хорошие. По-моему, у вас тоже, если две карты сравнивать, то вторая хуже, даже игнорируя зеркало. Вообще, если карту приходится вручную подтирать, то получается, что для автоматизации она не годится, а в этом же вся соль(

Статическая карта создается один раз. Ошибок в виде черных точек не так много в итоге, но их лучше убирать, т.к. через них потом не прокладывается маршрут, а вот края карты лучше не выравнивать в редакторе. Это затрудняет локализацию, робот не видит тех же самых границ, которые сам нарисовал. Если есть проблемное место на карте, то лучше покрутиться около него, чтобы slam выровнял место.
Вопрос Автору:
Ни в тексте, ни на сайте проекта, не указано или я пропустил…
Силовые мосты l298n, с Ваших фоток и со схем на сайте проекта, замечательно поддерживают одновременное подключение и независимое управление направлением и PWM сразу для двух моторов.
Т.е. для 2х-моторной схемы достаточно одного моста.
Во-первых, экономия средств на лишнем мосте.
Во-вторых, проще разводка и экономия места в корпусе.
Для 4х-моторной схемы два моста потребуется если мы хотим управлять каждым мотором независимо, а так можно подключить два мотора (правые и левые) к соответствующему выходу. При этом можно обойтись энкодерами только на одной паре, что тоже эконмия средств и пинов на контроллере.

И еще замечание по схемам с сайта проекта: у них для энкодера берут питание с контакта +5В моста… это контакт для питания логики моста, а не выход +5В. Он задействуется если мост питается от источника больше +12В, в диапазоне 5-12В питание логики может браться от источника (определяется джампером на мосте). Хотя, возможно, на нем и будет +5В если джампер стоит на питание логики от источника до +12В, не проверял и надо искать схему конкретного исполнения. Но, как мне кажется, брать с этого выхода питание не правильно, даже если и возможно. Наводки от моторов могут попортить подключаемую логику или внести помехи, опять же неизвестно сколько у него выход по току и сколько сожрет логика моста + то, что запитаете.

Кстати, а почему не используют шаговые моторы? С ними же можно сразу на нужное расстояние ехать с весьма приличной точностью.

Моя тележка работает от одного моста, левые и правые моторы подключены парами на соответсвующие выходы моста, поворот по танковому принципу.

И на всякий случай задам тут вопрос Сообществу по своей проблеме в этой же тематике:
Желтые китайские моторчики в пластиковом корпусе с редуктором — проблема с управлением скоростью через PWM на таком же мосте.
У меня получается стартовать где-то в районе 20% при частоте 20Гц и то без нагрузки. Чем ниже частота тем меньше диапазон изменения скоростей, с другой стороны — выше частота больше порог старта(у меня для 1000гц стремиться к 50%).
Питание 7.4в от двух последовательных банок 18650. У моторчиков вроде заявлено питание 3-12В, но рекомендуют до 8В.
Это проблема желтых китайских моторчиков и надо что-то более продвинутое, тогда что порекомендуете в этих же габаритах? Или есть способы добавить им мощности и не спалить? Думаю сделать программную коробку передач — на ходу менять частоту PWM и пересчитывать :)
Хочется получить эффект плавного старта и изменения скорости для тележки.
Т.е. для 2х-моторной схемы достаточно одного моста.
Во-первых, экономия средств на лишнем мосте.
Во-вторых, проще разводка и экономия места в корпусе.
Для 4х-моторной схемы два моста потребуется если мы хотим управлять каждым мотором независимо, а так можно подключить два мотора (правые и левые) к соответствующему выходу. При этом можно обойтись энкодерами только на одной паре, что тоже эконмия средств и пинов на контроллере.

Резонно. Вопрос этот задавался. Ответ такой:
The L298N is rated for 2A continuous load. You can use only one but then you're limited to one amp per motor. From the kind of motors you mentioned in the other thread a L298N might not be powerful enough. I recommend you getting some BTS7960.
Кстати, а почему не используют шаговые моторы? С ними же можно сразу на нужное расстояние ехать с весьма приличной точностью.

Шаговые моторы больше весят, менее энергоэффективны, требуют больше проводов для подключения,… Это старая история противостояния шаговых и иных моторов.
На энкодерах также можно сэкономить, но надо понимать, что моторы разные даже из одной партии, и одно из колес точно всегда будет проскальзывать или буксовать.
У меня получается стартовать где-то в районе 20% при частоте 20Гц и то без нагрузки.

Попробуйте поднять напряжение.
zoldaten Простите, что поднимаю тему, но спасибо вам за статью. Сам недавно собирал linorobot'a и допустил дурацкую ошибку с ppr -> cpr. Только благодаря статье поправил. Специально залогинился чтобы наставить вам плюсов, но за статьи уже не дают ставить.

The L298N is rated for 2A continuous load. You can use only one but then you're limited to one amp per motor. From the kind of motors you mentioned in the other thread a L298N might not be powerful enough. I recommend you getting some BTS7960.

А вот это мне показалось странным, ведь я точно помню фразу «на канал», и я полез в даташит по L298, и там написано:
Peak Output Current (each Channel)
– Non Repetitive (t = 100µs) 3A
–Repetitive (80% on –20% off; ton = 10ms) 2.5A
–DC Operation 2A

И даже в доке к нашему клону L298N тоже есть эта фраза. Так что все же можно к одному мосту подключить по мотору до 2А на канал и в сумме 4А.
И даже в доке к нашему клону L298N тоже есть эта фраза. Так что все же можно к одному мосту подключить по мотору до 2А на канал и в сумме 4А.

Да, недавно проверил ваши доводы, «посадив» на l298n по 2 dc мотора:
картинка


отсюда aliexpress.ru/item/4000512963837.html
, работают хорошо.

А у вас желтые моторчики с энкрдерами? Так-то ни один мотор постоянного тока не будет не будет стартовать с нулевого ШИМ: для того, чтоб стронуть его с места нужно больше мощности, чем для кручения уже раскрученного мотора. Стоящий мотор будет продолжать стоять и противно пищать. Поэтому самое верное решение — энкодер+пид-регулятор, который сам поднимет ШИМ на моторе на старте до нужного значения, а потом уменьшит его, когда мотор поедет. Если энкодеров нет, можно попробовать добавить Dither на малых значениях ШИМа, то бишь шума, котрый стронет моторы с места.


Про 5В: в этой плате вроде бы стоит регулятор 7805, так что со входных 7-12В он тоже выдаст 5В, от которых питается l298. Брать 5В с этой платы для питания всяких ардуин — насколько я знаю, штатный режим работы.
Из статьи, кстати, непонятно, что питается от павербанки, а что — от 3х18650 (ну, кроме моторов)

Про 5В: в этой плате вроде бы стоит регулятор 7805, так что со входных 7-12В он тоже выдаст 5В, от которых питается l298. Брать 5В с этой платы для питания всяких ардуин — насколько я знаю, штатный режим работы.
Из статьи, кстати, непонятно, что питается от павербанки, а что — от 3х18650 (ну, кроме моторов)

Да, 5V на l298 как раз нужны через понижающий dc-dc (на 3,3V) для питания энкодеров. При одетой перемычке на l298 (режим по умолчанию) на выход идет 5V, при этом на мост должно приходить не более 12V.
Power банк только для raspberry, моторы от 3х18650.
Моторчики вот такие с колесиком для энкодера на второй вал. Энкодеры типа таких.
Точность соответственно маленькая, но наличие вращения определить можно… надо будет на досуге проверить, на каких минимальных значениях будет останавливаться тележка.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за статью. Сколько у Вас прерываний от энкодера на метр пути?
По расчетам должно быть 1 669,9314236:
P=2πr
r=3,25 см
длина окружности колеса = 0.2042(м)
1м/0.2042=4,8971596
4,8971596*341PPR=1 669,9314236
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации