воскресенье, 16 октября 2011 г.

Система объезда робота соперника

Описание целей и задач на Eurobot 2012
Объезд робота соперника

Система объезда робота соперника является ключевой в соревнованиях Eurobot 2012. Почему?
Во-первых, для участия в соревнованиях необходимо пройти процедуру допуска. На этом этапе робот должен показать несколько обязательных навыков:
• хотя бы частичное выполнение заданий соревнования;
• способность объезда робота соперника или хотя бы остановки перед ним.

То есть при наличии отсутствия обсуждаемой системы робот просто не будет допущен к соревнованиям.

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

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

Ну если есть абсолютная система, то можно предположить, что есть и относительная система. То есть мы измеряем расстояние сразу до робота соперника и делаем определённые выводы.

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

В силу того, что абсолютная система получения данных о нахождении робота соперника предполагает наличие модуля навигации по маякам, её мы пока использовать не будем. А начнём мы с самого простого – определения расстояния до соперника.

Что мы имеем? С одной стороны (на роботе соперника) мы можем поставить модуль небольшого размера, а с другой (наш робот) кучу датчиков и «мозги». Тут тоже есть не одно решение, из того что пришло мне на ум:
Лазерный луч - время прохождения его между двумя датчиками будет уменьшаться по мере удаления объекта (тут мы в принципе убили 2 зайцев сразу: и расстояние измерили, и получили информацию о том, с какой стороны находится робот). В данной системе имеются проблемы с нехваткой информации о применении лазера и приёмников для него.
ИК-сигнал. ИК-диод и приемник находятся рядом на высоте, позволяющей определять только робота соперника, исключая посторонние объекты. ИК-диод посылает импульс, который отражается от робота соперника и возвращается в приёмник. При этом изменением яркости работы диода можно регулировать дальность обнаружения препятствия. Недостатки данной системы в том, что при разном освещении эта система может себя по-разному вести, а также мы не получаем расстояние (имеем дискретный сигнал: препятствие есть, препятствия нет). Преимущество же заключается в простоте создания. Что касается определения стороны, с которой находится робот, то её определить, усложнив систему в несколько раз.
Ультразвуковые датчики. Передатчик генерирует сигнал и синхроимпульс, а приёмник, измерив разность во времени между приходом синхроимпульса (радио сигнал) и звукового сигнала, определяет расстояние до излучателя. Недостатки: работа с аналоговым сигналом, невозможность определить сторону нахождения соперника. Преимущество: не требует сложных расчетов, как в случае с лазером, мы получаем расстояние с хорошей точностью.

По некоторым причинам я решил остановиться на системе с ультразвуком. Во-первых, потому что уже есть датчики (1 приёмник и 1 передатчик) и информация по работе с ними, во-вторых, потому что эта система позволяет определить расстояние до объекта в отличие от системы с ИК-сигналом.

Комментариев нет:

Отправить комментарий