Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение SMT » 21 дек 2009, 23:36

Предлагаю обсуждать здесь стратегии/тактики/алгоритмы в дисциплине кегельринг.

Описание соревнований: [[OFFLINE-contest]]
Результаты соревнований: Robot OFFLINE WEBCAM CUP

Добавлено спустя 6 минут 33 секунды:
Вариант с экономией времени на поворотах - необходимо укрепить два комплекта штанг для выталкивания
Kegelring-track1.jpg
Kegelring-track1.jpg (29.93 КиБ) Просмотров: 5389


Добавлено спустя 20 минут 24 секунды:
Сможет кто такую задумку реализовать?
Внимание - это лайнтрейсер, но главное здесь способ передвижения


Если заставить робота вращаясь проследовать вдоль внутренней границы круга, возможно ему удастся выбить штангами банки наружу.
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение =DeaD= » 21 дек 2009, 23:44

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

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение SMT » 22 дек 2009, 00:12

Возможно, особенно если в виде клина форму сделать. Важно правильной траектории придерживаться - ориентиром будет только внешний круг, ну и может банки еще.
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение AndreiSk » 22 дек 2009, 02:35

Задача разбивается на три части (IMHO):
a) выделение на картинке места где стоит банка,
поскольку банка белая, и поле тоже белое, то тут два варианта:
a.1) посадка камеры низкая, оптическая ось камеры почти горизонтальна. Посадка камеры такая, что банка из любой точки внутри круга дает пятно на черном границе ринга. Минус тут такой, дальняя граница ринга становится очень узкой и трудной для обнаружения.
а.2) посадка камеры отличается от а.1). Тогда случается, что банка окружена белым полем.
Тут приходится играться с выделением неоднодностей в освещении, например выделение контуров и вычисление примерного центра аномалии, или низ банки ближайший к роботу попадает в тень и заметно темнее, можно выделять темные области и двигать их.
б) выталкивание аномалии за пределы круга. Держать аномалию по центру, а границы ринга выравнивать слева и справа, так, чтобы по радиусу ехать все время.
в) отъезд назад. Вытолнув аномалию и добившись того чтобы черный круг был около корпуса робота,
надо ехать назад в центр круга и вращаться, пока следующая аномалия не попадется в изображение.
Ну в общем так :roll:

ЗЫ.. Подумалось, какие сенсоры использует SMT для обнаружения границы ринга и банок?
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение Алексей » 22 дек 2009, 03:15

С одной стороны, масса и скорость робота должны быть достаточными, что бы от него улетали банки, а не наоборот. Но сразу возникают чудеса с управляемостью. Даже достаточно тяжелого робота столкновения будут сбивать с курса. Сможет он быстро крутить дальномером, что бы скорректироваться?
Алексей
 
Сообщения: 152
Зарегистрирован: 12 дек 2009, 23:44
Откуда: Киев
ФИО: Алексей Диомидов

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение Michael_K » 22 дек 2009, 04:16

Да нафига ему дальномер не нужен, имхо...
Опять же победит тот, кто носится быстрее.
И за круг НАДОЛГО не вылетает...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение SMT » 22 дек 2009, 04:21

ЗЫ.. Подумалось, какие сенсоры использует SMT для обнаружения границы ринга и банок?

не понял вопрос :( я использовал простейшие датчики линии для круга и тсоп для банок
viewtopic.php?f=74&t=5161#p81792
viewtopic.php?f=74&t=5161#p81992
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение AndreiSk » 22 дек 2009, 04:45

А. Сорри, я думал вы с видеокамерой работали, видно перепутал с кем-то :pardon:
Я тут подумал, минисумо это более простая задача чем кегельринг.
В кегельринге куча банок носится по рингу, а в минисумо всего один противник.
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение SMT » 22 дек 2009, 10:03

В кегельринге банки добрее - стоят и терпеливо ждут, на робота не набрасываются :) Не думаю что это сложнее.
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение pashteet » 26 дек 2009, 00:09

мне кажется что скорость, все же, является основным параметром в класическом кегельринге, т.к. основной задачей остается посещение 8-и точек (кеглей), и чем быстрее это сделать, тем лучше. :)
Долго думал, как наиболее эффективно вытолкнуть кегли из ринга, и вот что пришло в голову:
Если посмотреть сверху на ринг, и провести линии через две соседние кегли, то получим квадрат. Впринципе, рисунок SMT вполне описывает алгоритм, по которому двигался мой робот, только линии прямолинейны. :roll:
Сам алгоритм выглядит вот так:
1) устанавливаем робота, так, что бы направление его движения лежало между кеглями
2) Прямолинейное движение, до пересечения с ограничительной линией
3) Разворот, до тех пор, пока дальномер не обнаружит кеглю, таким образом мы попадаем на линию по которой стоят сразу две гегли
4) возвращаемся к п.2, т.о. выносим сразу 2 кегли, переходим к п.3.

Для того, чтобы дальномер не засек кеглю, которую мы уже выкинули вводится задержка, т.е. робот поворачивается на определенный угол, заведомо меньший чем требуется для обнаружения новой кегли, но при этом достаточный, чтобы вытолкнутая кегля не попала в зону видимости и после этого начинаем "смотреть" за появлением кегли.
Т.к. дальномер достаточно "медленный" датчик, то пришлось ограничить скорость при поворотах и ввести угол упреждения (если я правильно помню название)
Так же столкнулся с такой проблемой, что ринг желательно распечатать на как можно меньшем кол-ве листов, т.к. коэфф. скольжения по бумаге и по скотчу разный :o (особенно критично для гусеничной платформы)
Аватара пользователя
pashteet
 
Сообщения: 930
Зарегистрирован: 28 авг 2009, 12:50
Откуда: Волжский
Skype: pashok0988
ФИО: Павел Петрович

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение Алексей » 27 дек 2009, 14:35

Время зависит не только от скорости, но еще и от расстояния. Если посмотреть на траекторию движения Kapanda, то можно заметить, что последнее движение было лишним. При старте робот задел 8 кеглю. Если бы он ее вытолкнул при первом движении (по радиусу), то общее время сократилось бы секунды на полторы (это на глазок - :D точно не замерял).

pashteet писал(а):Т.к. дальномер достаточно "медленный" датчик, то пришлось ограничить скорость при поворотах и ввести угол упреждения
Попробуйте разворачиваться на заданный угол и начинать прямолинейное движение без дальномера. А если уж так хочется его использовать, то корректируйте курс в процессе движения. Мы в начале тоже по дальномерам ездили. Потом поняли, что для решения именно этой задачи он только мешает.

pashteet писал(а):т.к. коэфф. скольжения по бумаге и по скотчу разный (особенно критично для гусеничной платформы)
Для колесных роботов это вообще смерть. Потому мы склеивали поле клеющим карандашем. Оно слегка покоробилось, но зато движения робота стали чуть более предсказуемыми.
Алексей
 
Сообщения: 152
Зарегистрирован: 12 дек 2009, 23:44
Откуда: Киев
ФИО: Алексей Диомидов

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение pashteet » 27 дек 2009, 16:34

Попробуйте разворачиваться на заданный угол и начинать прямолинейное движение без дальномера. А если уж так хочется его использовать, то корректируйте курс в процессе движения. Мы в начале тоже по дальномерам ездили. Потом поняли, что для решения именно этой задачи он только мешает.

так и есть при прямолинейном движении дальномер не используется
Именно из-за того, что бумага склеена скотчем неполучилось разворачиваться на заданный угол, все время по разному получалось, поэтому и стал использовать дальномер
Время зависит не только от скорости, но еще и от расстояния. Если посмотреть на траекторию движения Kapanda, то можно заметить, что последнее движение было лишним.

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

именно из-за неоднородности поля, неполучилось решить проблему движения по дуге, поэтому и был выбран алгоритм движения по квадрату, где все линии прямолинейны.
ИМХО, что у колесного робота нет такой проблемы, т.к. не одна его часть не скользит по поверхности во время разворота, соответственно коэф. скольжения везде одинаков.
Если же колеса проскальзывают на скотче, то нужно увеличить сцепляемость с пов-тью (например исользовать резиновые покрышки, хотя они у вас, итак, вроде резиновые)
Потому мы склеивали поле клеющим карандашем. Оно слегка покоробилось, но зато движения робота стали чуть более предсказуемыми.

такой вариант для моего робота недопустим, т.к. остается нахлест при склеивании двух листов за который цепляются траки гусениц, и получается что робот разворачивается не на месте, а смещается в сторону. В худшем случае (например при плохой проклейке), он просто рвет бумагу
Аватара пользователя
pashteet
 
Сообщения: 930
Зарегистрирован: 28 авг 2009, 12:50
Откуда: Волжский
Skype: pashok0988
ФИО: Павел Петрович

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение Алексей » 27 дек 2009, 17:17

Посмотрите наше видео. Там нет движений по дуге - только прямо и развороты на месте. И не квадрат, а треугольник (20 см бампера вполне хватает, что бы ухватить 3 кегли).

При подготовке поля - все в Ваших руках :wink:
Вариант 1. На предполагаемые места разворота наклеиваются сверху листы А3. "Старая" ограничительная линия будет просвечивать сквозь них. Останется только навести ее черным фломастером.
Вариант 2. Места предполагаемых разворотов проклеваются особенно тщательно и высушиваются под прессом. Если и так не поможет, проклейте получившуюся ступеньку полоской папиросной бумаги.
Алексей
 
Сообщения: 152
Зарегистрирован: 12 дек 2009, 23:44
Откуда: Киев
ФИО: Алексей Диомидов

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение pashteet » 27 дек 2009, 17:19

При подготовке поля - все в Ваших руках

Да, я это прекрасно понимаю, вообще хотел сходить в институт и на листе ватман А0 рапечатать, так вообще было бы кашерно :roll:
Аватара пользователя
pashteet
 
Сообщения: 930
Зарегистрирован: 28 авг 2009, 12:50
Откуда: Волжский
Skype: pashok0988
ФИО: Павел Петрович

Re: Robot OFFLINE WEBCAM CUP - Кегельринг -обсуждение алгоритмов

Сообщение boez » 30 дек 2009, 13:09

а нельзя листы аккуратно склеивать скотчем с обратной стороны? Или все равно останется щель, через которую пролезет клей скотча и приклеит робота? :)
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

След.

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

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

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