Сложность программирования
Роботы могут быть предназначены для выполнения широкого спектра задач. Некоторые из этих задач очень просты, например, открытие автоматической двери. Другие могут быть гораздо более сложными, например, автономный автомобиль, перемещающийся по городской среде. Какой бы сложной ни была задача, ее можно разбить на более простые задачи. Эти задачи известны как поведение и являются строительными блоками программирования робототехники.
Поведение — это способ действия робота, сложность которого может варьироваться в зависимости от того, как робот построен или запрограммирован. Простой мобильный робот, такой как VEX V5 Speedbot, имеет только два двигателя, тогда как Clawbot имеет четыре двигателя, включая два дополнительных двигателя для руки и когтя. Поведение обоих роботов будет включать в себя вращение двигателей для достижения поставленных целей. Благодаря большему количеству дизайна и программирования вы можете начать с этого простого поведения и реализовать более сложное поведение.
Ниже приведен список поведений роботов, от простого к сложному как для Speedbot, так и для Clawbot. В скобках вы можете увидеть более простые модели поведения, составляющие каждое из них.
-
Вращение двигателя, назначенного на определенный порт
-
Двигайтесь вперед (вращайте левый и правый двигатели с помощью трансмиссии)
-
Проехать 5 метров (ехать вперед, затем остановиться)
-
Схватите удаленный объект (пройдите 2 метра, поверните двигатель клешни, чтобы схватить его)
-
Возьмите предмет и положите его на высокую полку (схватите удаленный предмет, развернитесь, пройдите 2 метра, используйте моторы рук и когтей, чтобы поднять и отпустить предмет)
Вы увидите, как можно разложить любое более сложное поведение на более простое. Они становятся строительными блоками любой сложной задачи.
Советы учителям
-
Попросите учащихся разбить сложное поведение робота на более мелкие и простые шаги. Этот процесс известен как разложение.
-
Объясните учащимся, что декомпозиция (разбиение) сложного поведения на более простые задачи является важной частью планирования и программирования.
-
Разрешите учащимся запускать свои автономные проекты, если у них достаточно времени на занятиях.
Расширьте свое обучение
Чтобы связать это задание с вычислительным мышлением и декомпозицией, попросите учащихся наметить или перечислить поведенческие шаги, которые робот будет выполнять для выполнения следующих действий:
-
Задание первое: Пройдите 1 метр и вернитесь в исходную точку.
-
Задание второе: переверните коробку, расположенную на расстоянии 60 см от робота.
-
Задание третье: возьмите предмет, встряхните его, пройдите 30 см, положите предмет на землю и вернитесь в исходную точку.
Мотивировать обсуждение
Учащиеся должны поделиться поведенческими шагами, которые они перечислили для занятий из раздела «Расширьте свое обучение» выше. Каждый из следующих вопросов можно задавать после любого или всех занятий.
Вопрос: Какие шаги или действия перечислила каждая группа для успешного выполнения этого задания?
A: Учащимся необходимо будет учитывать длину, которую должен пройти робот, а также движение и скорость руки, а также перечислять простые действия робота, необходимые для выполнения действия или задачи (движение вперед, задним ходом, поворот налево). или вправо). Учащиеся должны составить свои списки поведения так, чтобы был представлен каждый шаг.
Вопрос: Каковы были сходства и различия между решениями (списками шагов) для этого задания?
А: Учащиеся будут сравнивать на основе своих решений. Диаграмма Венна может быть хорошим способом систематизировать действия, которые выполняют учащиеся. Если большинство учащихся назовут какой-то конкретный шаг, добавьте его в центр, где круги перекрываются. Если только один или несколько учащихся назвали конкретный шаг, добавьте его в тот или иной круг. После этого шаги в центре должны быть надежно простыми и не подлежат дальнейшему разбивке, тогда как шаги, перечисленные только в одном из кружков, вероятно, не так просты, как могли бы быть. Однако этот шаблон может быть изменен в зависимости от опыта класса в разбиении сложного поведения на простейшие шаги.
В: Было ли сходство с успешными решениями? Если да, то какими они были?
А: Наиболее успешными решениями были те, которые содержали наибольшую детализацию и конкретику. Робот запрограммирован на языке с очень специфическим поведением, разбитым на мельчайшие компоненты. Например, обычно говорят, что робот «проезжает 1 метр и возвращается в исходную точку», но это высокоуровневое описание нелегко перевести при программировании. Дальше нужно разбить: едет вперед 1 метр, поворачивается на 180 градусов и едет вперед 1 метр. Но даже это может быть недостаточно точным, и вам нужен такой уровень детализации, чтобы быть готовым к программированию: установите скорость движения и поворота на 40%, проедьте вперед 1 метр, подождите 3 секунды, поверните налево на 180 градусов, подождите 1 секунду. , и проехать вперед на 1 метр. Чем дальше мы разбираем сложное поведение, чтобы сделать его готовым к программированию поведением робота, тем лучше мы подготовимся к завершению проекта.