Уроки технологии
Технология Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Броня

  • Цель: Устанавливает чувствительность брони; чем больше значение, тем выше чувствительность брони. Для проверки чувствительности брони твердыми предметами или постукиванием рекомендуемые значения — 6 и 8 соответственно.

  • Тип: блок настроек

  • Реакция на нажатие

Коснитесь любого места брони S1, чтобы воспроизвести соответствующий звуковой эффект.

Примечание.

Настройка чувствительности брони доступна только при лабораторных испытаниях. Во время соревнований любые настройки чувствительности брони будут восстановлены до значений по умолчанию.

API Python:

Function: armor_ctrl.set_hit_sensitivity(value)

Parameters:

  • value(int): [0, 10]
  • Цель: Запускает программу блока при попадании в броню в указанном участке
  • Тип: Блок событий
  • Пример: Настройка уровня HP

Светодиоды подвеса указывают текущий уровень HP (Health Points - очки жизни) робота; 8 светодиодов указывают на полную мощность. При попадании в любую точку брони HP робота снижается на 1; когда уровень HP упадет до 0, все светодиоды погаснут и робот перестанет двигаться.

Примечание.

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

API Python:

Function:

  • def armor_hit_detection_all(msg)
  • def armor_hit_detection_bottom_right(msg)
  • def armor_hit_detection_bottom_left(msg)
  • def armor_hit_detection_bottom_front(msg)
  • def armor_hit_detection_bottom_back(msg)
  • def armor_hit_detection_top_right(msg)
  • def armor_hit_detection_top_left(msg)

Type: Event callback

  • Цель: отображает информацию о последней пораженной секции брони; значение идентификатора указывает на конкретную секцию попадания, а временная метка показывает время попадания

  • Тип: информационный блок (тип переменной)

  • Пример: настройка индикатора секции попадания

Если карданный подвес является последним попаданием в секцию брони, все светодиоды на подвесе замигают красным. Тот же принцип применим и к броне шасси.

Примечание.

Возвращаемое значение указывает на пораженную часть брони: ID=1: Задняя часть шасси ID=2: Передняя часть шасси ID=3: Левая сторона шасси ID=4: Правая сторона шасси ID=5: Левая сторона подвеса ID=6: Правая сторона подвеса

API Python:

Function: armor_ctrl.get_last_hit_index() Return value: index(int)

Function: armor_ctrl.get_last_hit_time() Return value: time(float)

  • Цель: постоянно обнаруживать пораженные участки на определенной секции брони. При попадании в броню возвращается «True»; в противном случае возвращается «False».

  • Возвращаемое значение: логическое значение

  • Пример: настройка быстрого отступления.

Если ударить по левой стороне шасси, робот отступит, переместившись вправо; если ударить по передней части шасси, робот отступит, двигаясь назад.

API Python:

Function: armor_ctrl.check_condition(condition_enum)

Parameters:

  • condition_enum(enum):
    • rm_define.cond_armor_hit
    • rm_define.cond_armor_bottom_front_hit
    • rm_define.cond_armor_bottom_back_hit
    • rm_define.cond_armor_bottom_left_hit
    • rm_define.cond_armor_bottom_right_hit
    • rm_define.cond_armor_top_left_hit
    • rm_define.cond_armor_top_right_hit
  • Цель: выполнить следующую команду при попадании в указанную секцию брони; в противном случае продолжает ждать

  • Тип: Блок выполнения, Блокирующий блок

  • Пример: Настройка защиты от попадания

Примечание.

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

API Python:

Function: armor_ctrl.cond_wait(condition_enum)

Parameters:

  • condition_enum(enum):
    • rm_define.cond_armor_hit
    • rm_define.cond_armor_bottom_front_hit
    • rm_define.cond_armor_bottom_back_hit
    • rm_define.cond_armor_bottom_left_hit
    • rm_define.cond_armor_bottom_right_hit
    • rm_define.cond_armor_top_left_hit
    • rm_define.cond_armor_top_right_hit