Конструирование робота для конкретного вида соревнования.




Тема: Разбор соревнования «Кегельринг»

Основные правила "Кегельринга" довольно просты: необходимо собрать и запрограммировать робота, который выталкивает кегли за пределы ринга. Кеглями, как правило, выступают жестяные банки емкостью 0,33 л, а роль ринга выполняет белое поле, ограниченное черной окружностью с шириной линии 50 мм.

Жестяные банки лучше всего обклеить по периметру самоклеящейся бумагой (нам понадобятся 2 - 4 банки белого цвета и столько же - черного).

Конструирование робота для конкретного вида соревнования.

На первоначальном этапе решения задачи давайте сделаем пару маленьких допущений: не будем обращать внимание на удовлетворение требования к размерам нашего робота, ограничимся поиском и выталкиванием всего одной кегли.

задачи:

1. Разработка ключевого алгоритма поведения нашего робота;

2. Разработка механической конструкции робота, позволяющей реализовать требуемое поведение.

План действий:

1. Робот, находясь в центре поля, начинает вращаться по часовой стрелке, пока не заметит кеглю.

2. Двигаясь в направлении кегли, робот выталкивает её за пределы окружности.

3. Заметив черную границу поля, робот возвращается назад, в место старта.

Следовательно, наш робот должен:

1. уметь вращаться на месте вокруг своей оси;

  1. уметь двигаться прямолинейно;
  2. уметь обнаруживать предмет, удаленный на некоторое расстояние;
  3. уметь обнаруживать границу поля.

Данные требования диктуют нам условия конструкции робота:

1. для реализации первых двух условий применим уже известную нам подвижную платформу, использующую два больших мотора и вращающуюся опору (робот-тележка);

2. для обнаружения кегли воспользуемся одним из имеющихся в наличии датчиков: инфракрасным или ультразвуковым;

3. границу поля нам поможет обнаружить датчик цвета.

Создание программы для соревнования "Кегельринг".

План действий:

1. вращаться вокруг своей оси по часовой стрелке, пока впереди расположенный датчик не обнаружит кеглю;

2. остановиться напротив кегли;

3. двигаться вперед, пока датчик цвета не обнаружит черную границу поля;

4. остановиться;

5. двигаться назад в центр поля.

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

В нашем случае ультразвуковой датчик в режиме "Расстояние в сантиметрах" показывает значение - 25,9

1. Для того, чтобы заставить робота вращаться вокруг своей оси, воспользуемся программным блоком "Независимое управление моторами" "Зеленой палитры", Режим работы блока установим "Включить", значение мощности для порта "B" установим равным 30, значение мощности для порта "C" установим равным - 30

2. Для поиска кегли используем программный блок "Ожидание" "Оранжевой палитры" в режиме "Ультразвуковой датчик - Сравнение - Расстояние в сантиметрах". Для гарантированного нахождения увеличим пороговое значение срабатывания датчика до 35.

3. После того, как робот окажется напротив кегли, используя программный блок "Независимое управление моторами" "Зеленой палитры" выключим моторы.

4. Отладка: Датчик может обнаруживать предмет не только строго напротив себя, а и на некотором отклонении от направления взгляда датчика. В этом случае можно, либо после остановки робота немного довернуть его на необходимый угол, используя дополнительный блок "Независимое управление моторами", либо постепенно увеличивать скорость вращения, подбирая параметр мощность, пока робот не станет останавливаться точно напротив кегли. Например, нам потребовалось увеличить мощность до 50 единиц для робота, собранного из образовательной версии набора, и до 4 0 единиц для робота, собранного из домашней версии набора.

Установим робота таким образом, чтобы датчик цвета находился точно над черной границей поля и измерим его значение в режиме "Яркость отраженного света" любым удобным вам способом, рассмотренным выше. В нашем случае получилось значение, равное 7. В качестве порогового значение примем число 10.

Добавим к нашей программе обнаружения кегли следующие программные блоки:

  1. Для того, чтобы заставить робота двигаться прямолинейно, воспользуемся программным блоком "Рулевое управление" "Зеленой палитры". Режим работы блока установим "Включить", параметр "Рулевое управление " = 0, параметр "Мощность" = 50.
  2. Для поиска датчиком цвета черной границы воспользуемся программным блоком "Ожидание" "Оранжевой палитры" в режиме "Датчик цвета - Сравнение - Яркость отраженного сигнала", параметр "Тип сравнения" = 4, параметр "Пороговое значение" = 10.
  3. После того, как робот пересечет черную линию, используя программный блок "Рулевое управление""Зеленой палитры" выключим моторы.

8. Наш робот научился успешно находить и выталкивать кеглю

9. Для того, чтобы заставить нашего робота выталкивать требуемое количество кеглей, все наши программные блоки поместим внутрь программного блока "Цикл" "Оранжевой палитры". Режим программного блока "Цикл" установим в значение "Подсчет", параметр "Подсчет" установим равным количеству кеглей.Для удобства отображения на экране нам пришлось оформить программу в две строки - вы же вполне можете сложить её в одну строку.

10.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-02-02 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: