(495) 240-82-80ПН-СБ с 10:00 до 18:00
We speak English

Урок 4.1. Вперед, вездеход!

В данном уроке вы научитесь управлять роботом-вездеходом TI-Innovator Rover, который будет двигаться по заданной вами траектории и совершать повороты.

Вы научитесь:

  • Управлять роботом-вездеходом
  • Строить маршрут, по которому будет двигаться робот-вездеход

Все команды, связанные с управлением роботом-вездеходом TI-Innovator Rover в языке программирования Python, начинаются с префикса rv. Это говорит о том, что модуль ti_rover импортирован в программу (с помощью выражения import ti_rover as rv). То же самое касается модуля ti_plotlib. Такое явление в программировании называется "альтернативным именованием" названий модулей (когда происходит замена длинного имени на более короткое).

При написании программы, позволяющей управлять роботом-вездеходом, устройство контролируется с помощью, на первый взгляд, простых команд, но на самом деле "за кулисами" этого процесса происходит огромная работа. Также как в управлении микроконтроллером TI-Innovator Hub.

Перед началом работы убедитесь, что ваш калькулятор TI-Nspire CX II-Т подключен к роботу-вездеходу, и робот обязательно должен находиться во включенном состоянии.

1. Начните работу с создания новой программы Python. Сначала введите ее название, затем в выпадающем окне пункта Type: выберите тип - шаблон Rover Coding.

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

На данном этапе работы самым важным для вас является следующее выражение:

import ti_rover as rv

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

Примечание для учителя: Напоминаем, что в редакторе Python Editor вы также можете вводить выражения вручную, но не забывайте при работе с роботом-вездеходом использовать префикс rv.. В противном случае вы рискуете допустить ошибку.

3. Чтобы ваш робот-вездеход двигался вперед, используйте меню menu > TI Rover > Drive, чтобы вставить следующее выражение:

rv.forward(distance)

Обратите внимание, что в самом меню перед командой forward не было префикса rv. (это сделано с целью экономии места в пунктах меню), но после ее вставки в программу префикс появился автоматически.

Расстояние, на которое перемещается робот в подсказке distance, измеряется в единице измерения "грид" (grid), о которой вы узнаете немного позже. Используйте цифру 1 в качестве элемента distance и запустите программу. Ваш робот-вездеход движется, ура!

Но... насколько далеко он продвинется?

Примечание для учителя: По умолчанию единицей измерения в работе с роботом-вездеходом является 10 см (1 дециметр или 0,1 м).
Единица расстояния измеряется в метрах, а угол - в градусах.
Если вы удалите подсказку distance, робот-вездеход продвинется на 1 метр.

4. Попробуйте теперь применить базовые команды движения: вперед, назад, налево и направо (forward, backward, left и right).

Примечание для учителя: Здесь учащиеся могут отлично попрактиковаться.

5. Что нужно сделать, чтобы робот перемещался по маршруту в виде квадрата:

Сотрите все команды движения, которые вы только что ввели (или преобразуйте их в комментарии).

Используйте цикл с оператором for, чтобы ваш робот-вездеход перемещался по маршруту в виде квадрата.

Начните со следующего выражения:

for index in range(size):

Используйте необходимые значения элементов index и size, чтобы задать маршрут квадрата, а затем добавьте два выражения в блоке (block) цикла. Попробуйте сделать это самостоятельно, а затем запустите программу.

6. Ваш код выглядит примерно так, как в примере?

Поздравляем! Не забудьте сохранить свою работу.

Какие еще виды маршрутов вы можете сделать?

Примечание для учителя: Меню Drive with Options предлагает пользователю нестандартные выражения управления движением, которые имеют отношение к расстоянию, времени и скорости, используя такие единицы как метры, грид и оборот колес (для движения вперед и назад), а также градусы, радианы или градианы (для углов). Все эти тонкости не рассматриваются в данном курсе, но они отлично помогают глубже понять механизм движения.