Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Буксировка/возврат СФЕРЫ в «безопасную зону»



Цель четвертого и последнего этапа игры – это возврат СФЕРОЙ игрока СФЕРЫ-мишени обратно в «безопасную зону», т.е. в положительную по Y (+ Y) половину игрового поля.

Счет

Баллы включают как баллы, зависящие от времени, так и бонусные баллы. Для информации о баллах можно использовать функцию game.getScore.

Баллы, зависящие от времени

Прямой путь команде заработать баллы – это закончить различные фазы игры: навигацию через поле мусора, встречу, захват, возврат в безопасную зону.

 

У каждой фазы есть базовый уровень баллов, получаемый по окончании фазы. Кроме того, чем быстрее команда закончит фазу, тем больше баллов она заработает.

 

Фаза Время Мин. счет Макс. счет
Поле мусора 30 с 0.25 0.50
Встреча 60 с 0.25 0.50
Захват 90 с 0.50 1.00
Возврат мишени 30 с 0.50 1.00

Счет, зависящий от времени

 

Количество баллов, зарабатываемых на каждой фазе зависит от:

Символ Описание
p0, L   Минимальные баллы за пересечение поля мусора
p0, U   Баллы, зарабатываемые за проход через мусор за 0 время
Δ T0, ref   Время прохождения поля мусора, дающее минимальный счет
p1, L   Минимальные баллы за достижение положения встречи
p1, U   Баллы за достижение положения встречи за 0 время
Δ T1, ref   Время достижения точки встречи, дающее минимальный счет
p2, L   Минимальные баллы за захват
p2, U   Баллы за захват за нулевое время
Δ T2, ref   Время достижения захвата, дающее минимальный счет
p3, L   Минимальные баллы за возврат СФЕРЫ-мишени
p3, U   Баллы за возврат СФЕРЫ-мишени за нулевое время
Δ T3, ref   Время возврата СФЕРЫ, дающее минимальный счет

 

n)( n< n, ref)

 

где pn, L – базовый счет за окончание фазы n, pn, U – максимально возможный счет (если фаза закончена за нулевое время), Tn – время, прошедшее с начала фазы и Tn, ref – время, при котором не будет дано больше, чем минимальный балл.

Бонусные баллы

Как только СФЕРА возвращается в «безопасную зону», даются дополнительные баллы за оставшееся топливо. Больший вес будет иметь топливо, оставшееся в СФРЕ игрока, а не СФЕРЕ-мишени (fplayer > ftarget). Дополнительные баллы за топливо будут вычисляться умножением доли оставшегося топливо на веса топлива: ω player * f player + ω target * ftarget.

 

Символ Описание Значение
ω player Доля оставшегося топлива, СФЕРА игрока  Из игры
ω target Доля оставшегося топлива, СФЕРА-мишень Из игры
fplayer Вес топлива для СФЕРЫ игрока TBA
ftarget Вес топлива для СФЕРЫ-мишени TBA

Уравнение для счета

Из информации выше, полный счет в конце игры вычисляется как

 

[ n)( n< n, ref)] + ω player * f player + ω target * ftarget

Конец игры

Игра заканчивается через 210 секунд. Вычисляется окончательный счет.

Спутники СФЕРЫ

Каждая команда будет разрабатывать программное обеспечение для управления СФЕРАМИ, для выполнения задач игры. Спутник СФЕРА может двигаться в любом направлении, используя двенадцать двигателей. Настоящие СФЕРЫ на борту МКС, как и любой другой спутник, имеют источник топлива (у них это жидкая двуокись углерода) и источник энергии (батарейки АА) и компьютер (процессор для цифровой обработки сигналов). Эти ресурсы ограничены и должны использоваться разумно. Поэтому игроки Zero Robotics ограничиваются в использовании этих ресурсов в рамках игры виртуальными пределами. Использование батарей ограничивается временем игры - 210 с. Остальные ограничения описаны ниже.

 

Стандартные свойства СФЕРЫ суммированы ниже:

Свойство Значение Единицы
Радиус 0.11 м
Диаметр 0.22 м
Масса 4.0 кг
Силя тяги одного двигателя 0.11 Н

 

Эти свойства называются номинальными, поскольку они не точны. Масса может меняться в пределах до 0.2 кг при использовании топлива. На силу тяги одного двигателя влияет сколько двигателей было запущено одновременно, варьируясь в пределах 20% номинальной. Кроме того, любая попытка выровнять двигатели по оси спутника приводит к неточностям выравнивания (в пределах 2 градусов), поэтому не все силы приводят к желаемым направлениям.

Топливо

Каждому игроку дается виртуальное топливо на 60 секунд полного запаса работы двигателей. Она вычисляется как сумма работы отдельных двигателей в течение игры. Как только этот запас заканчивается, спутник перестает реагировать на команды управления. Он будет зажигать двигатели только, чтобы не покинуть зону взаимодействия или не столкнуться с другим спутником.

           

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

 

Для получения количества оставшегося топлива можно вызвать функцию getFuelRemaining. Функция возвращает 1.00 для полного бака, затем дробное значение (например, 0.50 = половине бака) и так до 0.0. Если функция возвращает 0.0, то все команды пользователя игнорируются.

Избегание столкновений

Избегание столкновений в этой игре не работает, поскольку часть целей игры – подойти достаточно близко для захвата. Это означает, что при моделировании спутники могут проходить сквозь друг друга и моделирование не будет останавливать, хотя это должно быть реальное столкновение на МКС. Каждая команда, вышедшая в финал, должна стараться, чтобы их код не приводил к столкновениям (насколько это возможно).

Размер кода

Спутник Сфера может содержать ограниченное количество кода в памяти. Каждый проект имеет свой размер кода. При компилировании вашего проекта с оценкой размера кода (“Code Size Estimate”), компилятор будет давать процентное соотношение, которое использует код вашего проекта. Формальные правила чемпионата требуют, чтобы размер кода был 100% или меньше возможного.

Шум

Важно отметить, что симуляции СФЕРЫ приводят к шуму, аналогично тому, который возникает на спутниках на борту МКС. Шум означает две основные вещи:

 

● Спутники никогда точно не знают, где они находятся, они “оценивают” свое положение, отражая тот факт, что сенсоры не точны, поэтому если предположить, что спутник полностью покоится, его местоположение варьируется примерно на ±0.005 м независимо по каждой оси.

● Двигатели спутников не идентичны. Хотя все двигатели одинаково спроектированы, каждый двигатель имеет некоторые вариации по использованию топлива, полное варьирование работы зависит от количества используемых в операции двигателей. Это означает, что работа двигателей спутников может варьироваться обычно в пределах 10%, достигая в некоторых случаях 20%.

 

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


Поделиться:



Последнее изменение этой страницы: 2019-06-18; Просмотров: 155; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.016 с.)
Главная | Случайная страница | Обратная связь