Иллюстрация разных алгоритмов кегельринга

Иллюстрация разных алгоритмов кегельринга

Сообщение Radist » 18 дек 2010, 17:01

Собрал робота-спортсмена-многоборца. Самое простое - это кегельринг. Сейчас выложу видео самого простого алгоритма, позднее планирую еще два алгоритма продемонстрировать. Используются пока только датчики пола и энкодеры.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение Radist » 18 дек 2010, 22:14

Второй алгоритм такой же простой - в нем больше настраиваемых параметров, но работает без энкодеров - на задержках. Само движение вы можете увидеть на видео, но пояснение лишним не будет.
Сперва едем на кеглю и выталкиваем ее, ориентируемся по линии. Чуток отъезжаем и делаем разворот на подобранный угол. Дальнейшие действия повторять в цикле.
- едем прямо пока не увидим линию
- доворот в противоположную сторону для очистки захвата
- чуток отъезжаем назад, чтоб при развороте не свалиться с ринга
- разворот на подобранный угол

Я этот алгоритм назвал "Квадрат", за сходство траектории с этой фигурой. Результат улучшился значительно: классический алгоритм для моего железа дал 21 секунду, алгоритм "Квадрат" дал 12 секунд.

В ближайших планах опробовать алгоритм с рабочим названием "Круг". Его суть будет такой: выталкиваем первую кеглю (тут понадобится датчик линии), затем ориентируемся параллельно линии, даем подобранный шим на колеса и едем один круг, сшибая банки. Боюсь, что конструкция захвата не позволит эффективно выталкивать банки, но есть возможность перевернуть захват, чтобы "рога" смотрели назад.

Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение Vovan » 18 дек 2010, 22:21

Здорого! :good: Респект!
Я извиняюсь, не совсем в теме (т.е. почти не интересовался этой темой :oops: ), однако позволю поинтересоваться:
Radist писал(а):Используются пока только датчики пола и энкодеры.
Датчик пола ясно, а вот: где стоят, какие и как участвуют в алгоритме - энкодеры?
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение Radist » 18 дек 2010, 22:31

Энкодеры стоят на каждом редукторе на выходной оси, инкрементно/декрементные, 8 импульсов на оборот, диски 15 мм диаметром, отражательный оптрон ktir0711. Фотка для наглядности. А использовались они в первом алгоритме для точного возврата в центр: едем вперед - плюсуем, едем назад - минусует. Стало ноль - мы в центре.
Вложения
PICT2190.JPG
PICT2190.JPG (49.36 КиБ) Просмотров: 7510
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение Vovan » 18 дек 2010, 22:40

Понятно, спасибо :)
Ну а на самом деле оправдано применение энкодеров в данном случае? Или вполне хватит "задержек"?
(извиняюсь конечно, что сведения эти мне нужны не для кеглей :oops: )
ЗЫ: ещё забыл спросить - тактильный (касания) датчик на "вилах" (мождь неверно назвал :oops: ) имеется?
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение Radist » 18 дек 2010, 23:04

Задержек вполне достаточно, датчика на вилах нет.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение Radist » 19 дек 2010, 22:24

Ну и наконец обещанная демонстрация третьего алгоритма кегельринга - "Круг". Вышибаем одну кеглю, чуть сдаем назад, разворачиваемся параллельно линии и едем по кольцу. Как я и предполагал, вилы пришлось переставить рогами назад. Это самый быстрый алгоритм (11 секунд). Большого выигрыша в скорости нет (хотя в спорте важны даже сотые доли секунды), зато как зрелищно!!! Использовался только датчик пола и задержки, а также ШИМ. Датчик пола использовался только для выбивания первой кегли.

ЗЫ. Эти три ролика не могут участвовать в оффлайн соревнованиях, поскольку они были сняты не в тех декорациях - ринг от минисумо меньше. К тому же он поднят над полом, поэтому мне приходилось отъезжать от края, чтобы не свалиться. В настоящем кегельринге ринг лежит на земле (ватман), упасть нельзя, выезжать с него можно аж на 5 секунд, так что можно было бы и без доп. маневров.

ЗЫЫ. Часто бывает так, что есть в голове алгоритм, но нет робота проверить его. Если есть еще более интересные алгоритмы кегельринга - пишите. Будет время и возможность - проверю.

Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение =DeaD= » 19 дек 2010, 22:25

Ему бы скорости добавить... особенно в алгоритме "круг", а так ничего быстрей вроде и не придумать уже.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение yak-40 » 19 дек 2010, 22:29

Тоесть, как я понял, бот кегли не видит, а только знает где они стоЯт?
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение Radist » 19 дек 2010, 22:37

Именно. Поэтому кегельринг - самое то для начинающих. И чтобы его усложнить, придумали кегельринг "Квадро". Там без глаз делать нечего.

ЗЫ. Я не совсем точно выразился насчет того, что робот знает где кегли. Просто робот всегда стоит в центре, смотрит на одну кеглю, кегли всегда стоят на одних и тех же местах. Это позволяет адаптировать алгоритм на сбитие всех кеглей за минимальное время. Но самих данных о своем положении и положении кеглей в мозгах робота нет.

Добавлено спустя 2 минуты 38 секунд:
=DeaD= писал(а):Ему бы скорости добавить... особенно в алгоритме "круг", а так ничего быстрей вроде и не придумать уже.


Движки от двд на 5,9В, редукторы фенольные. Когда ШИМ - внешний редуктор на 100% ШИМе. Из этой тележки больше не выжать.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение yak-40 » 19 дек 2010, 22:39

Radist писал(а):Именно

Нуууу, так не интересно :(
В таком случае можно создать бот, который с центра по спирали будет на большой скорости сбивать кегли, и соревнования выльются в построение более скоростного бота. IMHO конечно :)
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение Radist » 19 дек 2010, 22:43

announces/topic5242-180.html#p157014

Вот идеал в этом виде спорта :D
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение yak-40 » 19 дек 2010, 22:49

А если-бы одна кегля сотЯла не по периметру круга, а немного выше (по картинке) от бота? Я думаю он бы её не сбил :D
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение Radist » 19 дек 2010, 22:53

В этом виде спорта точки установа кеглей описываются очень точно. Есть допуск, кегли расставляет сам робостроитель, принимает расстановку главный судья. Случайности здесь исключены.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Иллюстрация разных алгоритмов кегельринга

Сообщение yak-40 » 19 дек 2010, 22:59

Понял. Тогда надо строить скоростной бот, едущий по линии, с большой лопатой(можно выдвижной, если правила не запрещают). И всё! :D
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

След.

Вернуться в Кегельринг

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

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