Самодельный робот Мини-сумо


12.07.2010, 19:54



17.09.2004г.

22.09.2004г.

26.09.2004г. Робот почти готов. Во всяком случае, для тренировок.

27.09.2004г.

28.09.2004г. - робот уже может бороться с "кирпичами".

29.09.2004г. Новые фото

01.10.2004г. Два робота схлестнулись на ринге...

18.10.2004г. Добавлены фотографии приличного качества.

01.11.2004г. Добавлены схема и печатная плата.

17.09.2004г.

Уже готов ринг. Правда, он немного меньше, чем должен быть по правилам, но я не вижу ничего страшного 69 см против 77 см- для тренировки подойдет. Главное- отработать сенсоры края и потренироваться на "кирпиче".

Робота я решил сделать на основе модифицированных сервоприводов Futaba (да простят меня производители за такое глумление над их товаром). Дело в том, что сервопривод практически идеально подходит для робототехники. Он небольшой, двигатель там маломощный, ток потребления- от 80 мА (для модели S4003, которую я использовал). Редуктор малошумящий, с хорошим КПД, установлен металлический шарикоподшипник. Нужно всего-то отпилить пару выступов и припаять проводки непосредственно к двигателю, потому что управлять им не так-то просто. Кто-то умный придумал стандарт, а для его использования нужно много времени потратить на написание управляющей программы. Я решил проблему просто- припаял проводки непосредственно к мотору.

Вот некоторые фотографии:

49k 40k
 

Постараюсь делать обновления почаще.

"Корпус" был сделан из куска листового дюраля. Толщина- где-то 1 мм, хорошо резался ножницами по металлу. Сверлился этот материал тоже хорошо. Форму видно по фото. Я думаю, что можно сделать и проще. НО! Оказалось, что вес робота далёк от 500 гр, которые разрешены соревнованиями. Поэтому я думаю, что делать. Можно увеличить количество батарей до 8-и и сделать их параллельными или же в схеме использовать еще 1 реле, которая переключала бы источники питания. Это было бы неплохо, хотя время нахождения на ринге- 3 минуты... Но если представить такой вариант- робот ищет соперника (использует батареи на 600мА/ч), находит его и начинает толкать. В этот момент подключает более мощные батареи- на 2000мА/ч. Или можно использовать 4 и 5 батарей блоки. Сервопривод может работать до 6 В (хотя это, я думаю, не предел), поэтому можно для "рывков" использовать блок из 5-и аккумуляторных батарей по 1.2 В.

Колеса пока сделал из фанеры. Но уже купил на базаре резиновые кольца. Примерил- отлично подходят в качестве колес. Нужно всего-лишь подсоединить к сервоприводу.

Пока я не сделал сенсоры края и не подключил микроконтроллер. Буду ли я использовать ИК-бампер? Пока не знаю. Нужно хотя бы одного робота собрать.

Сенсор края будет выглядеть примерно так:

22.09.2004г. Практически готов сенсор для определения края.

С ним одна проблема- непросто его настроить. Подстроечные резисторы расположены там же, где и оптоэлектроника. Прийдется настраивать так: покрутил, поставил, провёл робота по рингу, потом к пункту 1 и опять. Немного неудобно, но, думаю, решу эту проблему. Нужно еще сделать на плате кнопку для настройки и написать часть программы, которая будет отвечать за настройку сенсора.

А лучше всего - написать отдельный код для проверки работоспособности всего робота (самотестирование). Но это в планах. А пока нужно разработать новую плату. Вот только не знаю, делать универсальную или специализированную плату? По большому счету- вытащил МК из кровати- и плата "пустая". Нужно подумать...

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

Слева внизу- новая протравленная плата нижнего сенсора. Схема сверху, только я использовал 2 канала (больше пока не нужно). В следующий раз использую SMD-микросхему, потому что DIP слишком много места занимает.

 

26.09.2004г.Робот почти готов. Во всяком случае, для тренировок

Установил датчик края, вытравил специально для этого робота плату. На плате: микроконтроллер AT90S2313, частота- 4МГц, драйвер двигателей L293D, без диодов, также на плате ИК-передатчик и приемник TSOP1736.

Пока писал этот материал, робота уже собрал и он уже ездит по рингу и падает :-) пока...

36k 58k 42k

27.09.2004г.

Робот наконец-то ездит по рингу и НЕ ПАДАЕТ.

Вот наконец-то и видео. Пришлось осваивать Adobe Premiere.

Робот сталкивает с ринга баночку- посмотреть клип (размер 428 кб, 2 секунды).

 

28.09.2004г. - робот уже может бороться с "кирпичами"

Да, увлек меня сумо-робот. Я, конечно, ожидал, что научить его борьбе будет очень долго и трудно, а оказалось, что "тест кирпича" выполнить довольно легко. Другое дело, что алгоритм поиска другого робота пока не совершенен и ИК-датчик я пока не настроил, но успехи есть.

Я попытался заснять веб-камерой, но в комнате темно и вышло не очень.

Ну а теперь подробнее.

Сейчас у робота довольно простой алгоритм.

Я взял 2 регистра (память решил не использовать) reg_count- счетчик обратного отсчета и reg_motor- собственно закодированный тип движения. После старта мотор=2 и обратный отсчет тоже установлен в некое значение. Программа идет по циклу. Опрашивает датчик пола, опрашивает ИК-сенсор. Если они ничего не обнаружили, возвращается в начало и уменьшает reg_count. Когда значение уменьшается до 0, изменяется значение мотора на 1 (было 2), загружается счетчик и управление передается блоку датчика пола. Когда счетчик опять заканчивается и значение мотора=1, оно опять меняется на 2 и загружается счетчик.

Пока что 2= движение вперед, 1= левый мотор вперед. Робот движется почти по кругу. Это, конечно, минус, потому что он не всегда может обнаруживать "кирпич". Надеюсь, что я придумаю случайное движение или что-то более прогрессивное использую.

Далее, если ИК-датчик "видит" возвращенный сигнал, мотор устанавливается в 9 и робот движется только вперед. Счетчик загружается, но когда он обнуляется. ничего не происходит- робот продолжает толкать предмет.

Блок отъезда. Пока для этого зарезервированы числа 5 и 6, но так как это блок был написан самым первым, он работает "железно"- на это отведен кусок кода. Двигатели включаются оба назад, а потом, в зависимости от того, какой датчик сработал (правый или левый), включается соответствующий двигатель. В это время робот не видит пола и не работает ИК- сенсор. Но и задача робота- побыстрее покинуть опасную зону. Это- главное. Оказавшись в безопасности, он может продолжать "искать добычу". Если робот "видит" противника, а тот внезапно исчезает (что может быть в реальном бою), то программа проверяет, какое было состояние и если был ответ от датчика а потом пропал, то в регистр мотор записывается 2 и робот начинает опять искать противника.

Тактика, конечно, "дубовая", и рассчитана на "кирпич", но... Не судите строго, все только начинается. Правда, один коллега сегодня спрашивал в письме, "когда же будут соревнования?". В России, имелось ввиду. Я не знаю, потому как для меня Россия- заграница. Мне ближе Киев, но если будут соревнования в Москве или Питере, то может быть я и соберусь поехать. Только нужно робота нормального построить- этот все-таки слабоват.

У моего первого робота-сумоиста такие данные:

Длина- 10 см
ширина- 11 см
вес- около 250 грамм.
Аккумуляторы- описано ниже
Железо- было выше, 2313 + L293
Программа- ассемблер. Размер кода- 129 слов (из 500 возможных)

Ширину я планирую уменьшить до стандарта путем установки новых шин. заготовки уже лежат, нужно только изготовить на их основе колеса. Вес тоже набрать несложно. Конструкция робота позволяет установить 3 комплекта батарей (по 4 штуки). Я испытывал с 2-я комплектами- 4xNiCd600mAh и 4xNiMh2100mAh. Аккумуляторы имеют неприятную особенность- садится один из 4-х и соответственно ток резко уменьшается и уменьшается тяга. Если заменить этот аккумулятор, то ток восстанавливается. У меня и раньше была идея подключить несколько источников, а сейчас и подавно я хотел бы так сделать. например, при поиске используются более слабые аккумуляторы на 600 мА/ч, а если противник перед роботом, включить более мощные или даже сразу 2 компалекта батарей. Вот идея! А? Вес ведь позволяет такое сделать.

Свободная память позволяет сделать еще очень много. Не искусственный интеллект, но все-таки и МК один из самых простых. Можно было взять Мега8- это все-таки намного круче! Но я решил начать с того, что есть в наличии.

29.09.2004г. Новые фото

 

01.10.2004г. Два робота схлестнулись на ринге...

Сегодня я потратил еще час времени, хотя у меня его и мало
НО! Что было...
Два робота схлестнулись на ринге. Новый Монстр пока не имеет глаз (ну не прикрутил пока), но свободно перемещается по рингу.
Маленький да удаленький (нет почему-то имени, хотя нужно придумать) легко находит на ринге противника, хотя скорость движения у него раза в 2 ниже, зато какая мощь! 2 раза он спокойно сбрасывал Монстра с ринга. Первый раз когда тот ехал передом к краю и Сумо-1 (пусть пока будет так) догнал и просто подтолкнул Монстра- тот уже не успел отъехать, а свалился с ринга. Второй раз я нагрузил роботов сверху грузом (чтобы было интереснее). Но и в этом случае Сумо-1 вытолкнул противника, хотя толкал его в переднюю часть.
Очень много приколов даже в первой схватке. Хотя мне не нравится то правило, что роботы стоят лицом к лицу. Тут проще простого- едь вперед и тот кто сильнее, выигрывает. Как в крестики-нолики. Мне кажется, тупое правило. Нужно ставить роботов зад-в-зад или бок-в-бок. Тогда будет интереснее.
Буквально завтра должны привезти видеокамеру Сони с выходом на USB, так что я думаю, будет хорошее видео и фотки цифровые тоже будут.

А пока фото Монстра и Сумо-1

25 kB 38 kB 31 kB

Вот и обещанные видеофрагменты, снятые камерой Сони.

Я осваиваю Abobe Premiere, так что если что-то не так, не обижайтесь. Самым хорошим форматом для интернета оказался WMV. Надеюсь, что у всех есть чем посмотреть. Файлы очень маленькие, расчитаные в том числе и на диалап 28.8к и 56к.

Фрагмент №1 (91 кб, 31 секунда) в формате WMV. Это часть видеоклипа, на котором видно, как робот справляется с неподвижными и легкими объектами.

Фрагмент №2 (224 кб, 47 секунд) в формате WMV. Это более длинный фрагмент (вариант фрагмента №1), на котором видно, как робот после того, как всех растолкал, продолжает "рыскать" по рингу.

Фрагмент №3 (103 кб, 22 секунды) в формате WMV. Это поединок Сумо-1 с Монстром-1. К сожалению, Монстр-1 пока не имеет ИК-сенсора для обнаружения противника- он просто старается двигаться и не выпасть за пределы ринга. В это время Сумо-1 охотится на него (по сути слепого робота) и все-таки выталкивает его с ринга. Трудно себе представить, что будет, если Монстр-1 обретет зрение (я пока работаю над датчиками), но судя по всему, у него достаточно мощи, чтобы одолеть любого робота. Не хватает веса, это правда, и ещё он не соответствует размерам роботов стандарта мини-сумо, поэтому подходит пока что только в качестве спарринг- партнера для Сумо-1.

18.10.2004г. Добавлены фотографии приличного качества.


сенсоры края и нижняя часть робота (30кб)


практически весь робот виден (90кб)


робот на ринге (32кб)


01.11.2004г. Добавлены схема и печатная плата.

Как и у всех роботостроителей, катастрофически не хватает времени на оформление документации, фото- и видеоматериалов. Схемы были сразу, хотел привести их в порядок, но, видимо, будут так пока лежать.


Вначале планировалось двойное питание схем управления и моторной части, но они нормально работали от одного источника питания, и я сделал перемычку для питания всех схем от одной батареи.


Ключевые слова:
мини-сумо
ринг
противник
батарей
мотор
Самодельный робот Мини-сумо
Роботы своими руками
робот


Вернуться в рубрику:

Роботы своими руками


Хотите видеть на нашем сайте больше статей? Кликните Поделиться в социальных сетях! Спасибо!

Смотрите также:

Обратите внимание полезная информация.

Робототехника для каждого. 2024г.