Собрал робота-спортсмена-многоборца. Самое простое - это кегельринг. Сейчас выложу видео самого простого алгоритма, позднее планирую еще два алгоритма продемонстрировать. Используются пока только датчики пола и энкодеры.
Второй алгоритм такой же простой - в нем больше настраиваемых параметров, но работает без энкодеров - на задержках. Само движение вы можете увидеть на видео, но пояснение лишним не будет. Сперва едем на кеглю и выталкиваем ее, ориентируемся по линии. Чуток отъезжаем и делаем разворот на подобранный угол. Дальнейшие действия повторять в цикле. - едем прямо пока не увидим линию - доворот в противоположную сторону для очистки захвата - чуток отъезжаем назад, чтоб при развороте не свалиться с ринга - разворот на подобранный угол
Я этот алгоритм назвал "Квадрат", за сходство траектории с этой фигурой. Результат улучшился значительно: классический алгоритм для моего железа дал 21 секунду, алгоритм "Квадрат" дал 12 секунд.
В ближайших планах опробовать алгоритм с рабочим названием "Круг". Его суть будет такой: выталкиваем первую кеглю (тут понадобится датчик линии), затем ориентируемся параллельно линии, даем подобранный шим на колеса и едем один круг, сшибая банки. Боюсь, что конструкция захвата не позволит эффективно выталкивать банки, но есть возможность перевернуть захват, чтобы "рога" смотрели назад.
Энкодеры стоят на каждом редукторе на выходной оси, инкрементно/декрементные, 8 импульсов на оборот, диски 15 мм диаметром, отражательный оптрон ktir0711. Фотка для наглядности. А использовались они в первом алгоритме для точного возврата в центр: едем вперед - плюсуем, едем назад - минусует. Стало ноль - мы в центре.
Понятно, спасибо Ну а на самом деле оправдано применение энкодеров в данном случае? Или вполне хватит "задержек"? (извиняюсь конечно, что сведения эти мне нужны не для кеглей ) ЗЫ: ещё забыл спросить - тактильный (касания) датчик на "вилах" (мождь неверно назвал ) имеется?
Ну и наконец обещанная демонстрация третьего алгоритма кегельринга - "Круг". Вышибаем одну кеглю, чуть сдаем назад, разворачиваемся параллельно линии и едем по кольцу. Как я и предполагал, вилы пришлось переставить рогами назад. Это самый быстрый алгоритм (11 секунд). Большого выигрыша в скорости нет (хотя в спорте важны даже сотые доли секунды), зато как зрелищно!!! Использовался только датчик пола и задержки, а также ШИМ. Датчик пола использовался только для выбивания первой кегли.
ЗЫ. Эти три ролика не могут участвовать в оффлайн соревнованиях, поскольку они были сняты не в тех декорациях - ринг от минисумо меньше. К тому же он поднят над полом, поэтому мне приходилось отъезжать от края, чтобы не свалиться. В настоящем кегельринге ринг лежит на земле (ватман), упасть нельзя, выезжать с него можно аж на 5 секунд, так что можно было бы и без доп. маневров.
ЗЫЫ. Часто бывает так, что есть в голове алгоритм, но нет робота проверить его. Если есть еще более интересные алгоритмы кегельринга - пишите. Будет время и возможность - проверю.
Именно. Поэтому кегельринг - самое то для начинающих. И чтобы его усложнить, придумали кегельринг "Квадро". Там без глаз делать нечего.
ЗЫ. Я не совсем точно выразился насчет того, что робот знает где кегли. Просто робот всегда стоит в центре, смотрит на одну кеглю, кегли всегда стоят на одних и тех же местах. Это позволяет адаптировать алгоритм на сбитие всех кеглей за минимальное время. Но самих данных о своем положении и положении кеглей в мозгах робота нет.
Добавлено спустя 2 минуты 38 секунд:
=DeaD= писал(а):Ему бы скорости добавить... особенно в алгоритме "круг", а так ничего быстрей вроде и не придумать уже.
Движки от двд на 5,9В, редукторы фенольные. Когда ШИМ - внешний редуктор на 100% ШИМе. Из этой тележки больше не выжать.
Нуууу, так не интересно В таком случае можно создать бот, который с центра по спирали будет на большой скорости сбивать кегли, и соревнования выльются в построение более скоростного бота. IMHO конечно
- Этот человек - не человек! это робот! - Как? уже делают?! - Делают!!!
В этом виде спорта точки установа кеглей описываются очень точно. Есть допуск, кегли расставляет сам робостроитель, принимает расстановку главный судья. Случайности здесь исключены.