Езда по линии на ПИД-регуляторе. Проезд перекрестка с плавным поворотом
- Войдите на сайт для отправки комментариев
Всем привет!
Имеется тележка, которая ездит по линии с ПИД регулированием с помощью двух аналоговых ИК датчиков.
Задача: плавно проехать перекресток с поворотом, имеющим определенный радиус, как на картинке ниже. Повторюсь, нужно проехать плавно, без остановок и рывков.
Помогите пожалуйста с идеями, как это можно реализовать? Сколько датчиков аналоговых или цифровых добавить для решения?
У меня пока есть только одна идея - это тормозить левое колесо перед поворотом. Правый аналоговый датчик соответственно заедет на линию, которая идет прямо. Отслеживаем пока датчик с нее не съедет, и дальше продолжаем движение по обычному алгоритму.
Но здесь есть недостаток. Придется экспериментальным путем вычислять, насколько нужно тормозить левое колесо, чтобы радиус поворота тележки совпадал с радиусом самого поворота. А если например у следующего поворота радиус будет другой? Или если мы нагрузим тележку, то ее скорость изменится и подобранные настройки не будут иметь смысла.
Поэтому нужен более универсальный алгоритм.


Нужна видеокамера хотя бы 1кпикс, и железо, способное обработать кадров 100 в секунду.
Тогда дополню условия:
нужно использовать только ИК датчики линии, аналоговые или цифровые. А все расчеты и управление должна осуществлять плата ардуино.
тогда никак
тогда никак
совсем даже как, видеокамера это набор фотоэлементов, учитывая объект отслеживания упрощенную матрицу можно собрать и из ИК датчиков + сканирующий механизм. Вот без сканера действительно сложно.
Сумничал? Пирожок дать?
Сумничал? Пирожок дать?
Пирожок дашь тому, кто алгоритм обработки напишет... я только вариант решения предложил, есть чего по существу возразить?
ЗЫ не претендую на то, что решение не ошибочное.
Примите, как идею:
НО: тогда нужен путевой лист. В котором последовательно указаны повороты или пропуск поворотов!
Если пропуск то: в нужном месте на заранее определённое время датчики движения отключаются, а движение продолжается по прямой.
Нужные места можно попробовать определять доп.разметкой (может быть доп.датчиком). По аналогии с разметкой перекрёстков на автодорогах.
Если получится скетч пришлёте?
Видос классный, раза три смотрел... Эхх, мне бы такую машинку да лет ннадцать назад.
А программисты из них никакие - ПИД регулирование дёрганое и уже в конце, когда вторая машинка выталкивает первую - первая продолжает ехать "вслепую" , что вааще ниправильно.
тогда никак
Как вариант - одна дурдуина "присматривает" за траекторией движения а вторая "рулит". Помому мощщи должно хватить.
А программисты из них никакие - ПИД регулирование дёрганое
Так в этом и соль всех этих гонок и прочего: идея + алгоритм + реализация этого всего. Чего толку спрашивать на сетевых ресурсах - "как?" , если вся цель поиграться и своим мозгом сделать... Ну разве что получить базовые знания, ежели совсем новичок.
А покакому правилу машинка должна определить, что на таком перекрёстке ей надо сворачивать, а не ехать прямо?
А покакому правилу машинка должна определить, что на таком перекрёстке ей надо сворачивать, а не ехать прямо?
вот Вам, лично, на каком перекрестке нужно повернуть в незнакомом городе? И как вы это делаете? Вот и научите машинку тому же (в самом примитивном понимании).
вот Вам, лично, на каком перекрестке нужно повернуть в незнакомом городе? И как вы это делаете? Вот и научите машинку тому же (в самом примитивном понимании).
Я на карту посмотрю или спрошу кого. Но вроде как в "езде по линии" ни того ни другого не подразумевается. Мне просто интересно, ведь по такой езде соревнования проводят. Там используются подобные развилки (не перпендикулярные)? И куда машинка должна ехать?
Примите, как идею:
нужно прерывать линию!
Нужные места можно попробовать определять доп.разметкой (может быть доп.датчиком). По аналогии с разметкой перекрёстков на автодорогах.
В принципе идея рабочая. Главное определить перекресток ли перед тобой, или обычный поворот? При чем надо бы это определить до того, как тележка начала поворачивать.
А покакому правилу машинка должна определить, что на таком перекрёстке ей надо сворачивать, а не ехать прямо?
Впереди стоят 3 цифровых ИК датчика, один слева, другой посередине(на линии), третий справа. Если сработает левый и средний одновременно, то перед нами перекресток с левым поворотом. Если средний и правый - то с правым.
Тут главное расположить датчики на таком расстоянии, при котором при езде по прямой или при повороте не срабатывало одновременно два датчика.
Чего-то я видать косноязычен стал. Не могу понятно вопрос сформулировать. Последний раз попробую.
В начальном сообщении приведён кусочек трассы - некоторая развилка. Следуя по линии машина может ехать или налево или прямо. Где цель - неизвестно. Но вопрос задан так, что из него следует - машина определённо должна поворачивать налево, проблема только в качестве прохождения поворота. А я пытаюсь выяснить, как машине объяснили что правильный маршрут налево, а не прямо. Она что, запрограммирована так, что никогда перекрёсток прямо не проезжает? Или в неё зашита какая-то информация о маршруте? Или какой-то случайный выбор запрограммирован?
Вот если бы Вы поворот без перекрёстка нарисовали и спросили как его максимально быстро пройти - тут проблема понятна. А на перекрёстке машина сначала должна решить куда ехать - прямо или налево. А у Вас она уже откуда-то знает, что прямо - это неправильно, а надо налево. Откуда?
То, куда тележка поедет на перекрестке, естественно, зависит от меня. В коде я прописываю, что надо делать на определённом перекрестке - проехать его прямо или куда-то повернуть. С этим проблем нет, главное определить, что перед тобой перекресток.
Примите, как идею:нужно прерывать линию!
Нужные места можно попробовать определять доп.разметкой (может быть доп.датчиком). По аналогии с разметкой перекрёстков на автодорогах.
В принципе идея рабочая. Главное определить перекресток ли перед тобой, или обычный поворот? При чем надо бы это определить до того, как тележка начала поворачивать.
пост 19 не пойдет - это значительно усложняет сканирование, вернее сам механизм. т.е. в этом случае действительно нужна камера низкого разрешения аля opto mouse и безусловно проблемы с оптикой для такого решения. В данном случае требуется несколько увеличить кол-во датчиков (пробовать нужно), но 3 это самый минимум мне видится к ним нужно добавить еще 2... 5шт должно хватить так сказать необходимый минимум. ИМХО