roboforum.ru

Технический форум по робототехнике.
Текущее время: 10 апр 2025, 19:47

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 16 фев 2009, 23:09 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2008, 14:41
Сообщения: 997
Откуда: СПб
прог. языки: C,Python
Вопрос к строителям лайнтрейсеров
Хочу построить лайнтрейсера-бим идея токава-
ИК светики кпитанию через резюк
фототранзистор подключены ко входу кампоратора
выход компаратора на элимент НЕ
к ин1 и ин2 лдшки подключается выход компаратора и инвертированный сигнал
Понимаю что это будет ездить :)
Сам вопрос - сможет ли он пройти трасу соревнований(которые OFFline)
PS
лайнтрейсера делаю в первые


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 17 фев 2009, 03:07 
Не в сети
Аватара пользователя

Зарегистрирован: 03 июн 2007, 22:32
Сообщения: 603
Откуда: Москва
ФИО: Руслан
ALHIMIK писал(а):
Сам вопрос - сможет ли он пройти трасу соревнований(которые OFFline)

Теоретически - да. Для бимов сложности вызывают разрывы линии и перекрестки - на трассе 1-34 их нет. Конечно рекордной скорости не ожидай но попробовать стоит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 17 фев 2009, 09:51 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
А я тут на днях собрал бима на ошмётках от платы GATE-A8D8M2 - там как раз площадка под L293D была, разъемы аккума, движков, только датчики линии припаял и всё, так вот не проходит он линию, где она под углом сворачивает :( слишком инертные редукторы TAMIYA сдвоенные, пока они выключаются, чтобы повернуться - робот уже пролетает линию.

Надо детскую трассу сделать совсем для бимов :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 17 фев 2009, 10:18 
Не в сети
Аватара пользователя

Зарегистрирован: 03 июн 2007, 22:32
Сообщения: 603
Откуда: Москва
ФИО: Руслан
2DeaD: А ты скорость убавь или реакцию убыстри. В принципе даже для простешей трассы найдется бим, которому она будет сложновата.
Предлагаю владельцам бимов, которые затрузняются с зигзагами на трассе 1-34 заменить зигзаги на прямую линию. Ее можно получить дополнительно напечатав листы для нижней части трассы. Как вариант - выкладывайте демо-видео на своих трассах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 17 фев 2009, 10:51 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Хм, попробуем :) а реакцию убыстрять не получается, я раскручиваю редуктор и он еще сколько-то крутится по инерции, разве что попробовать "в обратку" включить движки, чтобы быстрее тормозилось, если датчиком на линию наезжаем :).

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 10 мар 2010, 17:47 
Не в сети

Зарегистрирован: 13 ноя 2009, 18:12
Сообщения: 27
Откуда: Ярославль
Коллеги!
Подскажите по поводу алгоритмов для трэйсера. Если увеличивается кол-во датчиков, то простой алгоритм перебора комбинаций уже не подойдет. Например, 6 датчиков, то теоретически комбинаций сигналов 2 в 6. Это уже много. :shock: Конечно, не все комбинации использовать (есть запрещенные), но все равно их слишком. В старом варианте с 4-мя датчиками, конструкция switch работала отлично.
Может в начале сравнивать значение сенсоров с определённым числом. Если, напр. = 110011, 111011, 110111, то движение вперед (активный уровень на линии лог.0). Если больше 000001, но меньше 101111, то значит линия уходит и нужно поворачивать влево. Здесь появляются грабли. Крутизна поворота получится одна для всех (нафих тогда столько датчиков). Второй баг, нет правильной реакции на запрещенные комбинации (напр, сработали крайние датчики, для непрерывной линии такое очень маловероятно, кроме натыкания на дугу).
Help!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 10 мар 2010, 20:00 
Не в сети
Аватара пользователя

Зарегистрирован: 03 июн 2007, 22:32
Сообщения: 603
Откуда: Москва
ФИО: Руслан
Советую вычислять позицию по формуле:

LaTeX: pos = \frac{d_1 \cdot 1000 + d_2 \cdot 2000 + d_3 \cdot 3000 + \ldots}{d_1 + d_2 + d_3 + \ldots} = \frac{\sum_{i=1}^n 1000 i d_i}{\sum_{i=1}^n d_i}
где d1,2,3 = показания соответствующего сенсора.
После этого применяем ПИД.


Последний раз редактировалось Vooon 10 мар 2010, 21:21, всего редактировалось 1 раз.
tex :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 10 мар 2010, 21:06 
Не в сети

Зарегистрирован: 13 ноя 2009, 18:12
Сообщения: 27
Откуда: Ярославль
RiO, не совсем въехал в формулу. Речь идет о логических уровнях или об абсолютных значениях (напр, складываем две единцы в логике, это опять "1", или 1+1=2)? Показания сенсоров могут быть "0" или "1". В числителе получим какое-то число, а если в знаменателе все нули, то как делить на ноль? :crazy:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 10 мар 2010, 21:30 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
По формуле - абсолютные значения.
Чем больше, тем более "датчик над линией"
Могут быть дискретные или аналоговые - пофиг.
Если в знаменателе ноль, то и в числителе, очевидно ноль.
Это будет означать, что "истина линия где-то рядом"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 10 мар 2010, 22:38 
Не в сети
Аватара пользователя

Зарегистрирован: 03 июн 2007, 22:32
Сообщения: 603
Откуда: Москва
ФИО: Руслан
речь идёт об уровнях сигнала от сенсора (например 0-255).
обработка ноля - отдельная тема.
во-первых сенсоры надо ставить с шагом меньше ширины линии, чтобы не потерять линию между ними.
тогда смысл ноля зависит от предыдущего ненулевого значения: маленькое = линия слева, большое = линия справа, среднее = просто разрыв.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 10 мар 2010, 22:41 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
А еще можно из этой информации косвенно узнавать свой угол к линии, но не направление этого угла.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 11 мар 2010, 10:27 
Не в сети

Зарегистрирован: 13 ноя 2009, 18:12
Сообщения: 27
Откуда: Ярославль
Спасибо, "буду подумать"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 19 янв 2011, 00:41 
Не в сети
Аватара пользователя

Зарегистрирован: 27 дек 2010, 02:50
Сообщения: 45
Откуда: Санкт-Петербург
Позволю себе поделиться с уважаемым сообществом некоторыми соображениями по поводу алгоритма лайнтрейсера. Почему бы не закладывать в робота конфигурацию трассы заранее? Правилами, ведь, это не запрещено? Или, если угодно, так: на соревнованиях на прохождение трассы дается две попытки; первую проезжаем медленно и аккуратно, записывая конфигурацию трассы в память. Пишем по данным энкодера в следующем виде - прямая, протяжённость x; дуга, радиус r, протяжённость x; прямая, протяжённость x... и так далее. Во второй попытке используем полученную информацию, т.е. держаться за линию продолжаем датчиками линии, но робот уже будет знать, где он находится. Это даёт возможность ускоряться на прямых и тормозить перед поворотами. И другая идея - поставить не одну линию датчиков, а две: одну на уровне колёс, другую - вынесенную вперёд. Это позволит роботу определять крутизну (радиус) поворота, что даст возможность реагировать на изгибы трассы с некоторым упреждением.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 19 янв 2011, 05:12 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Идея не нова, на робофоруме уже встречалась. То, что вы предлагаете, сделать теоретически можно. Представим, что трасса в голове робота уже есть (полученная как вы описали - к этому мы еще вернемся). Весь вопрос в том, как этими данными воспользоваться. Вот вы говорите: на прямых ехать быстро. Моторы робота не абсолютно идентичны, будет увод, его надо компенсировать, нет гарантии, что на очень большой скорости это удастся. Скоро поворот - максимальная скорость снижается. А за какое время она снизится? Нужно знать динамические характеристики робота. Некоторые делали так: каждое отклонение от линии соответствует своему разбалансу скоростей моторов. Практика показала, что такой метод проигрывает ПД регулированию.
Теперь насчет получения линии. Чтобы проехать первый круг - уже нужен какой-то регулятор, причем желательно именно тот, который будет работать на высоких скоростях. Допустим пишем в память примерно так: едем ровно столько то импульсов энкодера, вот отклонение на 1, при нем проехали столько то, при таком отклонении проехали столько то. Мне кажется, что когда поедем второй раз - путь будет уже другим: будут и заносы, и небольшие вылеты с трассы. Все данные рассинхронозируются.
Может быть я ошибаюсь, но мне кажется, что лучше ПД регулятора для лайнтрейса ничего не придумать. Но я вас не отговариваю, опыт - критерий истины. Попробуйте ваш алгоритм, а потом ПД регулятор (настроенный, конечно). А результаты опыта - сюда. Вот и узнаем, кто прав :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритмы и дизайн робота для езды по линии
СообщениеДобавлено: 19 янв 2011, 22:36 
Не в сети
Аватара пользователя

Зарегистрирован: 27 дек 2010, 02:50
Сообщения: 45
Откуда: Санкт-Петербург
Собственно, запоминание трассы не отменяет ПД регулятор, а лишь дополняет его. Не нужно пытаться проехать по данным энкодера 1 в 1, как в прошлый раз. Конфигурация трассы в памяти нужна только для того, чтобы знать, где разгоняться, а где тормозить. Держаться за линию продолжаем с помощью датчиков линии и ПД регулятора. Динамические характеристики робота можно измерить заранее и учесть в программе. Решить проблему увода на большой скорости может помочь автомобильная схема (с двумя поворачиваемыми колёсами).
По поводу получения трассы. Я потому и предложил сделать не одну, а две линейки датчиков линии, чтобы иметь возможность чётко определить начало поворота (и даже, может быть, его примерный радиус). Если линия на вынесенной вперёд линейке датчиков начала уходить в сторону, а линейка датчиков, расположенная на уровне колёс показывает, что мы продолжаем идти по линии, значит мы имеем поворот линии, а не просто небольшое отклонение робота от траектории. Запоминаем его, и в следующий раз при движении уже на большой скорости заблаговременно тормозим перед ним.
Мне кажется, что предложенная схема позволит выиграть дополнительное время там, где его только и можно выиграть - на прямых (поскольку скорость в поворотах ограничена силой сцепления колёс робота с поверхностью). Конечно, потребуется робот с высокими динамическими характеристиками, который способен очень быстро ускоряться и резко тормозить. Для этого можно взять модельный бесколлекторный двигатель с модельным регулятором. Мощьность таких двигателей доходит до сотен ватт, а регулятор способен пропускать через себя десятки ампер. Если дойдёт дело до изготовления лайнтрейсера, обязательно попробую реализовать вышеописанные принципы, поскольку только это может обеспечить превосходство над уже существующими роботами с хорошими ПИД-регуляторами.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO