Поиск:  
  
Мастерская
Фотогалерея
Поставщики
Доска объявлений
Форумы
Контакты

  






Логин:

Пароль:



  ***

06.02.2006 - Робот для игры в крестики-нолики.


РобоКлуб/Проекты/LEGO/06.02.2006 - Робот для игры в крестики-нолики.



Робот для игры в крестики-нолики.

Этот робот, на базе конструктора LEGO-NXT, самостоятельно играет с человеком в крестики-нолики.

Этот робот, самостоятельно играет с человеком в классические (3 х 3) крестики-нолики. Игра нехитрая, как и сам робот, собранный из конструктора LEGO-NXT. «Самостоятельно» значит, что робот может определить, какой ход сделал человек, принять решение и сделать ответный ход. При этом человек не оказывает на робота прямого воздействия, т.е. не нажимает, например, кнопки управления. Игровое поле собрано из дополнительных деталей того же конструктора LEGO, в качестве «крестиков» и «ноликов» используются подходящие по размеру шашки двух цветов (для человека обязательно белые, для лучшего распознавания их роботом). В конструкции задействованы все 3 мотора, входящие в набор. Два из них – для перемещения каретки над игровым полем, а третий – для управления механизмом выброса шашки с помощью натяжного тросика. На каретке установлен активный световой датчик, для определения наличия белой шашки в клетке игрового поля, и магазин на 5 шашек, который «заряжается» перед началом игры. Кроме того, используется концевой выключатель, для приведения механизма в исходное состояние и звуковой датчик, для подачи роботу голосовой команды типа «Ходи давай, чурка пластмассовая!». При запуске программы, робот приводит сервомоторы в исходное состояние, сбрасывает счетчики положения и предлагает человеку сделать свой ход. Человек кладет свою шашку в одну из ячеек и дает звуковую команду роботу. Пользуясь, заложенной в память, информацией о координатах ячеек игрового поля, робот позиционирует каретку со световым датчиком над каждой из ячеек, отмеченных в памяти, как свободные на данный момент, в поисках белой шашки, пока не определит, какой ход сделал человек. Затем робот принимает решение об ответном ходе, пользуясь выигрышной стратегией и внося некоторое разнообразие в игру с помощью генератора случайных чисел. Теперь роботу остается расположить каретку над выбранной ячейкой, сбросить в нее свою шашку и убраться в исходное положение, чтобы открыть игровое поле для следующего хода человека. В процессе игры робот комментирует свои действия синтезированным голосом. Звуковые файлы были созданы на ПК с помощью технологии text-to-speech, дополнительно обработаны звуковым редактором и преобразованы в формат rso, совместимый с NXT. Ход игры отображается на графическом дисплее NXT. Программа робота – игрока написана с помощью С++ компилятора для NXT – «Robot C». Также создана отдельная программка для калибровки, когда, пользуясь кнопками NXT, можно вручную позиционировать каретку над определенной ячейкой, зафиксировать координаты, с последующей записью их в файл. Этот файл считывается основной программой при ее загрузке. Конечно, можно установить над игровым полем WEB-камеру и поручить ПК функции определения хода человека и наведение каретки для хода робота. Но я ставил перед собой задачу использовать только элементы NXT- конструктора с минимумом дополнительных деталей. Дополнительно в роботе использованы только тросик и возвратная резинка, которые, как говорится, есть в каждом доме. Если не считать игрового поля, которое можно изготовить из чего угодно. Основная сложность была с магазином, который должен выбрасывать строго по одной шашке и при этом быть подвижным и не слишком громоздким. В заключение позволю себе немного покритиковать инженеров LEGO, создавших, в целом замечательный, робо-конструктор NXT. Мощные сервомоторы со встроенными редуктором и датчиком положения, конечно вещь хорошая. Но они слишком большие и тяжелые, для размещения, например, на манипуляторе. Лучше бы один из них был малогабаритный и легкий. Тем более, что шестеренок в конструкторе хватает. Хочется заглянуть в глаза тому, кто решил использовать в наборе такие дубовые, негнущиеся соединительные кабели, да еще черного цвета, да еще с разъемами спец изготовления. Ну и детали могли бы быть поразнообразнее.

 


Комментарии

Добавить комментарий
artur [email protected]
if you can send to me picturs of your robot artur