FIRA hurocup многоборье
Задание по Гуманоидным Роботам в Симуляторе
Для успешного выполнения задания
  • Выделите время на установку программы
    На установку программы для выполнения задания может быть затрачено несколько дней до выяснения всех проблем, которые препятствуют успешной установке.
  • Прослушайте 2 онлайн-консультации
    Рекомендуется прослушать 2 онлайн консультации, которые будут проводиться для участников.
  • Установите программу заранее
    Рекомендуется приступить к выполнению установки за 5 дней до сдачи вашей работы.
  • Выделите 2 часа на выполнение задания
    Ориентировочное время на выполнение задания 1-2 часа, если программа успешно установлена.
О задании
Задание состоит из 2-х упражнений, которые вам необходимо выполнить установив симулятор у себя на компьютере с операционной системой Windows.
Упражнения
  • 1
    Задание 1. Спринт
    Подобрать параметры PD регулятора для игрока, который бежит спринт.
  • 2
    Задание 2. Марафон
    Подобрать параметры PD регулятора и угол разворота для игрока, который бежит марафон
Кнопка для скачивания программы
Для выполнения задания вам необходимо из интернета по следующей ссылке скачать установочный пакет на свой компьютер и установить его следуя инструкциям в установочной программе.
Об установке
Если у вас на компьютере установлена программа WEBOTS версии отличающейся от версии 2021b, то ее надо деинсталлировать и затем установить WEBOTS версии 2021b.
  • Тестовый запуск
    После установки пакета программ на ваш компьютер вам надо произвести тестовый запуск игры кликнув на файл C:\Elsiros\worlds\FIRA_2023_sprint.wbt
    01
  • Загрузка
    После запуска всех компонентов игры (надо дождаться, иногда на запуск требуется несколько минут, хотя, если все в порядке, то роботы обычно начинают играть через 1 минуту после запуска игры) начинается сама игра.
    02
  • Помощь
    Если игра не запускается более 5 минут, то лучше обратиться за консультацией на форум https://forum.elsiros.org/ или в телеграм https://t.me/starkitchat
    03
Задание 1. Спринт
Подробное описание упражнения
Для начала рекомендуется посмотреть как происходит забег спринт запустив программу C:\Elsiros\worlds\FIRA_2023_sprint.wbt
  • 1
    Удачное прохождение
    Робот должен пробежать 3 м не отклоняясь за пределы выделенной дорожки шириной 1 м. В случае удачного прохождения дистанции будет выдано сообщение "distance was finished within timesteps: " и число шагов симулятора
  • 2
    Неудачное прохождение
    В случае неудачного забега будет выдано сообщение: 'distance was NOT finished due to failure '
  • 3
    Запись в файл
    Эти сообщения помимо выдачи в консоль также записываются в файл:

    C:\Elsiros\controllers\FIRA_sprint\Sprint_log.txt
Цель задания
Ваша задача подобрать параметры шага так, чтобы число шагов симулятора было минимальным.
Ходьба робота
Робот использует шаги по направлению прямо вперёд, однако случайные возмущения симулятора могут приводить к отклонению от прямолинейного направления.
  • Параметр шага "rotation"
    Для корректировки поворота на каждом шагу применяется дополнительный параметр шага "rotation".

    Если мы хотим, чтобы робот пошел вправо, то надо задать "rotation" отрицательный угол в радианах.

    Если мы хотим, чтобы робот пошел влево, то надо задать "rotation" положительный угол в радианах.
    01
  • Действительная ориентация "heading"
    На каждом шагу робот измеряет с помощью IMU действительную ориентацию "heading". Направление, в котором должен двигаться робот принято за 0.

    При отклонении влево "heading" покажет положительную величину в радианах.

    При отклонении вправо "heading" покажет отрицательный угол в радианах.
    02
В программе использована следующая формула для коррекции направления движения:

rotation = 0 + heading * proportional + (heading - last_heading) * differential

Параметры формулы коррекции направления движения:
  • 1
    heading
    heading - это текущее измерение ориентации
  • 2
    last_heading
    last_heading - это измерение ориентации на предыдущем шагу
  • 3
    proportional , differential
    proportional , differential - параметры для коррекции движения
Вам предстоит подобрать 2 параметра proportional, differential для коррекции направления движения
Изменение параметров
Старайтесь не изменять форматирование файла во избежание проблем с чтением файла в формате .json
  • Открытие файла
    Для изменения параметров Вам надо открыть с помощью любого текстового редактора следующий файл:
    C:\Elsiros\controllers\FIRA_TEAM\Init_params\Sprint_params.json
    01
  • Новые значения
    В этом файле Вы можете записать новые значения параметров в формате float
    Например: {"proportional": 2.0, "differential": -1.5}.
    02
  • Новый запуск
    Для получения достоверных результатов после каждого запуска симулятора кнопкой "Run in real-time" рекомендуется перегрузить симулятор кнопкой "Reload world"
    03
Жюри FIRA будет запускать спринтера с вашими параметрами 3 раза. В зачет пойдет наилучший результат
Задание 2. Марафон
Подробное описание упражнения
Для начала рекомендуется посмотреть как происходит забег марафон запустив программу C:\Elsiros\worlds\FIRA_2023_marathon.wbt
  • 1
    Удачное прохождение
    Робот должен пройти против часовой стрелки по кольцевому коридору, который ограничен окружностями с радиусами 0.3 м и 1.3 м, с начальной позиции x = 0, y = -0.8. Забег завершается удачно, если робот прошел по кольцу и вышел на линию с которой стартовал. В случае удачного прохождения дистанции будет выдано сообщение "distance was finished within timesteps: " и число шагов симулятора
  • 2
    Неудачное прохождение
    В случае неудачного забега будет выдано сообщение: 'distance was NOT finished due to failure '
  • 3
    Запись в файл
    Эти сообщения помимо выдачи в консоль также записываются в файл:

    C:\Elsiros\controllers\FIRA_marathon\Marathon_log.txt
Цель задания
Ваша задача подобрать параметры шага так, чтобы число шагов симулятора было минимальным.
Ходьба робота
Логика выбора направления движения при движении по кольцу
  • Формула коррекции движения
    В программе использована следующая формула для коррекции направления движения:
    rotation = direction + heading * proportional + (heading - last_heading) * differential
    01
  • Параметр "rotation_increment"
    На каждом следующем шагу к направлению direction добавляется приращение:
    direction += rotation_increment
    Параметр шага rotation_increment это приращение в радианах к целевому направлению на каждому шагу для того, чтобы задать движение по окружности.
    02
Дополнительная информация
Радиус внутренней границы кольца 0.3 м, радиус внешней границы кольца 1.3 м. Средняя дистанция, которую преодолевает робот выполнив один шаг 53.6 мм
Изменение параметров
Старайтесь не изменять форматирование файла во избежание проблем с чтением файла в формате .json
  • Открытие файла
    Для изменения параметров Вам надо открыть с помощью любого текстового редактора следующий файл:
    C:\Elsiros\controllers\FIRA_TEAM\Init_params\Marathon_params.json
    01
  • Новые значения
    В этом файле надо изменять значения для параметров proportional, differential, rotation_increment
    02
  • Новый запуск
    Для получения достоверных результатов после каждого запуска симулятора кнопкой "Run in real-time" рекомендуется перегрузить симулятор кнопкой "Reload world"
    03
Жюри FIRA будет запускать марафон с вашими параметрами 3 раза. В зачет пойдет наилучший результат
Отправка результатов
Инструкция для Вашего решения
Последовательность действий
  • Необходимые файлы
    Из папки
    C:\Elsiros\controllers\FIRA_TEAM\Init_params\
    Вам нужно передать следующие файлы:

    Sprint_params.json

    Marathon_params.json
    01
  • Формат письма
    Файлы необходимо отправить на email: elsiros.russia@gmail.com

    В email сообщении должны быть указаны:
    Имя, фамилия, возраст
    Учебное заведение
    Email, телефон
    Наименование команды и вид соревнования "FIRA hurocup многоборье"
    02
  • Обратная связь
    Вам должен поступить ответ об успешном получении email сообщения 
    Если вы не получили такое сообщение в течение дня, то нужно созвониться с жюри по телефону:
    +79629713792
    03
  • Сроки сдачи работ
    Присылать свои решения можно до 10 декабря

    Результаты будут объявлены 16 декабря на сайте
    04

Важно! Для того, чтобы дипломы ELSIROS учитывались при поступлении в МФТИ участие должно быть индивидуальным