На форуме этот вид соревнований практически в нуле, не видел ни одного проекта. Посмотрел ролики таких соревнований, появились мысли, которые хотелось бы обсудить.
Коротко о том, что такое слалом. Это та же езда по линии, только на линии стоят кегли (белые из кегельринга). Их нужно объезжать, причем меняя сторону объезда. Например сперва справа, потом слева и таr до финиша. Трасса не кольцевая, соревнования на скорость. Касаться кеглей нельзя - штрафные секунды.
Естественно к датчикам линии добавляется ИК локатор (или любой другой), действующий на малом расстоянии. Что я видел на роликах: робот доезжает до кегли, затем делает "коробочку" - поворот допустим направо на 90 градусов, проезд вперед по энкодерам или таймеру, поворот налево на 90 градусов, проезд прямо, поворот налево на 45 градусов, проезд до возвращения на линию. Очевидно, что это простой, но не эффективный способ.
Теперь мое предложение.
В основе датчика лежит обычный ИК локатор. У него тсоп посередине, с широкой диаграммой направленности, и три ИК светодиода с узкой диаграммой направленности (буквально светят из трубок). Их расположение: один в центре, над/под тсопом, светит вперед, служит для первоначального определения кегли на линии, два по краям, светят под углом к трассе в разные стороны - для объезда кегли справа/слева. Как все это планируется работать.
Едем по линии, никого не трогаем, поглядываем вперед центральным излучателем. Обнаружили кеглю - надо объехать (допустим справа). Включаем тот светодиод, что светит влево по ходу, поворачиваем направо, пока не увидим кеглю (ПД регулятор езды по линии при этом отключен). Затем, работая моторами по очереди, едем так, чтобы постоянно видеть кеглю (лирическое отступление: как устроена навигация ночных бабочек. Они выбирают точечный источник света, Луну или звезду, и летят куда им надо так, чтобы угол, под которым они видят источник света, был постоянным. Если источником света будет лампочка - бабочка будет летать по кругу. Можно поставить интересный эксперимент: две лампочки, два выключателя, одна бабочка). Робот поедет по кругу, как та бабочка. Когда наедет обратно на линию - выравнивается и едет до следующей кегли.
Хотелось бы чтобы обсуждение не заглохло, а то гонщиков по линии тут много, а слаломистов мало. Я бы предпочел коментарии следующих видов:
- этот способ работать не будет, потому что ......
- этот способ будет работать плохо, потому что .....
- этот способ будет работать лишь при соблюдении следующих условий .....
- этот способ работать должен, можешь начинать реализовывать, потом расскажешь что получилось
- ну и ваш вариант.
ЗЫ. Хотелось бы обсудить еще один датчик, в той теме глухо, продублирую здесь
forum76/topic5755-15.html#p183709

Когда я ее впервые представил форумчанам - некоторые покритиковали за варварское отношение к конденсаторам
. А насчет соревнований - я не планирую с кем-то соревноваться, мне интересно делать роботов просто. Как только робот получился, работает как надо - я теряю к нему интерес. В данном случае хочу убить сразу кучу зайцев: и в простой кегельринг поиграть, и в квадро, отладить на роботе автонастройку ПД регулятора для лайнтрейса, поиграть в слалом, поиграть с алгоритмами выхода из лабиринта. По лайнтрейсу есть оффлайн соревнования, есть результаты, с которыми я могу сравнить свои результаты. Буду знать свои результаты, а что их кроме меня мало кто будет знать - так мне это и не нужно. У меня есть ринг для сумо - я играю на нем. Он всего 77 см вроде, для кегельринга вроде раньше был метр, теперь говорите что полтора. Мне негде будет его хранить, поэтому и планирую играть вне зачета на ринге от сумо
. Если делать по алгоритму, описанному выше, то последовательность итерраций не приводит к объезду кегли - она приводит к столкновению с кеглей. Итого глаза, смотрящие вбок, бесполезны. Сейчас я доезжаю до кегли, смотря вперед одним глазом, а потом реализую объезд по дуге разностью шимов. Так что дуга у меня получилась, хоть и не тем способом, что я хотел. Есть пара моментов, про которые стоит рассказать. Изредка бывают ложные срабатывания, будто перед роботом кегля. Лечится программной фильтрацией. Второй момент - когда робот объезжает по дуге - должен быть критерий окончания объезда и возврат на линию. Сразу проверять линию нельзя - мы ведь пока на линии. Вводим паузу. Если эта пауза небольшая, а робот в процессе объезда пересекает "не свою линию" (ну вот достаточно близко они проходят) - он зацепится за нее. Если пауза большая, а кегля стоит на повороте, то он пересечет свою линию, и лишь потом станет ее искать. В регламенте слалома я не нашел, должны ли кегли обязательно быть на прямых участках, или могут быть на поворотах, а также какое минимальное расстояние между линиями. По идее, робот не обязан идентифицировать трассы своя/чужая. Он должен сойти со своей трассы, а затем на нее вернуться. И там где она должна быть - ничего другого быть не должно. Может я не тот регламент смотрел и это где-то описано?