Базовое поведение робота в "Сумо"



бет2/10
Дата16.01.2022
өлшемі0,68 Mb.
#112286
1   2   3   4   5   6   7   8   9   10
Байланысты:
сумо

Lego mindstorms EV3 Home



Lego mindstorms EV3 Education

Получившийся элемент закрепим на передней балке нашего робота.



Lego mindstorms EV3 Home



Lego mindstorms EV3 Education

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



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

Первая мысль, которая приходит в голову: использовать программу для "Кегельринга", внеся в неё косметические изменения. Действительно, алгоритмы поведения робота в "Кегельринге" и в "Сумо"очень похожи. Они реализуют поиск объекта и выталкивание его за пределы поля. Можно загрузить в робота-сумоиста программу для "Кегельринга", но работать такой сумоист будет не очень эффективно. Тем не менее, знания, полученные на предыдущем уроке, пригодятся нам сейчас.

Настало время загрузить в среду программирования наш проект "lessons-2", создать в нём новую программу "lesson-12" и подключить робота к среде программирования.

Поведенческую модель робота-сумоиста можно условно разделить на две части: поиск соперника и атака соперника. Сначала займемся реализацией первой части - поиска соперника.

Подробно пропишем последовательность действий нашего робота при обнаружении соперника на поле:


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

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

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

Установим соперников на поле напротив друг друга, как показано на рисунке ниже.



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

На "Странице аппаратных средств", находящейся в правом нижнем углу среды программирования, выберем вкладку "Представление порта" (Рис. 1, 2 поз. 1) и снимем показание датчика, определяющего расстояние до соперника, установив соответствующий режим отображения показаний.

В нашем случае ультразвуковой датчик в режиме "Расстояние в сантиметрах" показывает значение - 56,1 (Рис. 1 поз. 2). За пороговое значение примем число - 57.







Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет