Использование шаблона для соревнований по Python в VEXcode V5

Шаблон для соревнований — это пример проекта, в который уже включены команды для связи с системой управления полем во время соревнований, обеспечивающие соответствие команд правилам поля и помогающие в настройке проектов во избежание осложнений и дисквалификации («соревнования» означают мероприятие VEX V5 Robotics Competition с использованием официального оборудования управления полем).  


Откройте шаблон конкурса на странице примеров.

Панель инструментов VEXcode V5 с открытым меню «Файл» и выделенной опцией «Открыть примеры». Пункт «Открыть примеры» находится пятым в меню, ниже пунктов «Новый проект блоков», «Новый текстовый проект», «Открыть» и «Открыть недавние».


В меню «Примеры проектов» в категории «Шаблоны» выделен пример проекта «Шаблон конкурса».


Шаблон состоит из трех разделов: Предварительный автономный режим, Автономный режим и Управление водителем.

# Начало кода проекта

def pre_autonomous():
  # действия, которые необходимо выполнить при запуске программы
  brain.screen.clear_screen()
  brain.screen.print("pre_autonomous_code")
  wait(1, SECONDS)
  
def autonomous():
  brain.screen.clear_screen()
  brain.screen.print("autonomous_code")
  # разместить здесь код автономных систем
  
def user_control():
  brain.screen.clear_screen()
  # поместить управление водителем в этот цикл while
  while True:
    wait(20, MSEC)
    
# создать экземпляр конкурса
comp = Competition(user_control, autonomous)
pre_autonomous()

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


Используйте функцию pre_autonomous для любой настройки.

def pre_autonomous():
  # действия, которые необходимо выполнить при запуске программы
  brain.screen.clear_screen()
  brain.screen.print("pre_autonomous code")
  wait(1, SECONDS)

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

Шаблон проекта для конкурса VEXcode V5 Python с показанной функцией pre_autonomous(). Строки с отступом после объявления функции выделены, чтобы показать, что каждая строка внутри функции должна иметь отступ.

Убедитесь, что все команды имеют правильный отступ, чтобы направляющая линия была видна между функциямиpre_autonomous иautonomous.

Примечание: Если настройка не требуется, эта функция может оставаться пустой.


Автономный

def autonomous():
  brain.screen.clear_screen()
  brain.screen.print("autonomous code")
  # поместите сюда код autonomous

Функция автономный используется для управления роботом во время автономной части матча VRC. Команды, содержащиеся в этой функции, будут выполняться, когда начнётся автономный период матча.

Шаблон проекта для конкурса VEXcode V5 Python с показанной функцией autonomous(). Строки с отступом после объявления функции выделены, чтобы показать, что каждая строка внутри функции должна иметь отступ.

Убедитесь, что все команды имеют правильный отступ, чтобы направляющая линия была видна между функциямиpre_autonomous иautonomous.

Примечание: Если настройка не требуется, эта функция может оставаться пустой.


Пользовательский контроль

def user_control():
  brain.screen.clear_screen()
  # поместить управление водителем в этот цикл while
  while True:
    wait(20, MSEC)

Функция user_control используется для управления вашим роботом во время этапа управления водителем в матче VRC.  Команды, выполняемые в рамках этой функции, начнутся с началом периода управления водителем.

Примечание: Цикл while True показан выше, чтобы робот реагировал на ввод с контроллера V5 на протяжении всего матча.

Шаблон проекта для конкурса VEXcode V5 Python с показанной функцией user_control(). Несколько пустых строк с двойным отступом внутри цикла while True выделены, чтобы показать, что каждая строка внутри этого цикла должна иметь двойной отступ.

При написании кода для части, отвечающей за управление пользователем, убедитесь, что все команды имеют правильный отступ внутри циклаwhile True. Как показано здесь, должны быть видны две направляющие линии. Один из них, потому чтов то время как True находится внутри функцииuser_control. Другой способ гарантирует, что команды находятся внутри циклаwhile True.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: