Дистанционное управление роботом
Чаще всего мы используем пульты дистанционного управления для взаимодействия с нашими телевизорами. Мы нажимаем кнопки, которые заставляют телевизор отображать нужный нам канал или экран информации/доступа. Технически пульт дистанционного управления вашего телевизора представляет собой пользовательский интерфейс. Однако это гораздо менее сложный пользовательский интерфейс, чем тот, который использует ваш смартфон.
Программирование вашего IQ-контроллера гораздо сложнее. Во время соревнований, проводимых под управлением водителя, вы хотите, чтобы ваш гонщик/команда имела как можно больше преимуществ. Вы можете запрограммировать кнопки и джойстики на выполнение нескольких простых действий, а также на выполнение сложных действий при совместном использовании кнопок и джойстиков — аналогично тому, как работают некоторые игровые контроллеры. Как программист вашего контроллера, вы решаете, какие кнопки использовать в комбинации, определяя, как нужно расположить пальцы и руки, чтобы дотянуться до всех задействованных кнопок.
На изображении выше показан проект из примера проекта кнопок контроллера из VEXcode IQ. Видите ли вы, как в цикле [Forever] есть два блока [If then else] , вложенные в него? Это заставляет проект проверять, нажаты ли кнопки R Up или R Down, и робот вращает кулачковый двигатель в закрытом или открытом состоянии в зависимости от того, какая из них была нажата. Этот цикл [Forever] очень важен. Он заставляет ваш IQ-контроллер неоднократно проверять, какие кнопки нажимаются, чтобы робот выполнял соответствующее поведение.
Учтите, что вы можете поместить два сенсорных блока <Controller Pressed> в блок оператора <and>. Это позволило бы проверить проект, если были нажаты две кнопки. Вы также можете поместить блок <and> внутри другого блока <and> и проверить три условия перед выполнением действия. Это позволит вам программировать последовательности действий, которые можно запустить простым нажатием кнопок на контроллере.
Подумайте, сколько еще комбинаций условий вы могли бы создать со всеми кнопками и их комбинациями на контроллере. Конечно, по мере того, как вы программируете более сложное поведение в работе контроллера, проект приближается к тому, чтобы робот стал автономным. Команде соревнований необходимо выяснить, какое поведение лучше всего запрограммировать в своих контроллерах в виде сложных последовательностей, а какое лучше всего оставить разложенным на несколько частей, чтобы контроллер позволял водителю (пользователю) иметь больший контроль над скоростью и точностью движения. поведение.
Советы преподавателю
Смоделируйте для учащихся, как объединить блоки <and> , если им трудно представить себе объединение блоков <and> , чтобы включить более одного условия. Вот пример:
В этом примере показаны только первый командный блок и половина следующего, но робот может выполнять целую последовательность действий при нажатии всех этих трех кнопок (E Down, F Up и F Down).
Мотивировать обсуждение
Каждый год VEX бросает вызов своим пользователям новой игрой. Команды соревнуются в матчах, состоящих из одного минутного (60 секунд) автономного периода (без контролера), за которым следует одна минута (60 секунд) периода, контролируемого водителем (контролер). Некоторые студенты, возможно, раньше участвовали в соревнованиях по робототехнике в составе клуба или команды. В приведенных ниже вопросах учащимся предлагается поделиться своим опытом и/или интересами к соревнованиям.
В: Кто-нибудь здесь или кто-то из ваших знакомых участвовал в соревнованиях по робототехнике?
А: Предложите учащимся, участвовавшим в соревнованиях, поделиться своим опытом. Задайте дополнительные вопросы, например: «Какого робота вы использовали?» и/или «Что вам понравилось больше всего?».
В: Кто-нибудь хочет узнать больше о соревновании/игре VEX в этом году?
A: Если учащиеся ответят утвердительно, вы можете направить их на веб-сайт конкурса VEX и показать видео с заданием этого года.