Муниципальное бюджетное учреждение
дополнительного образования «Станция юных техников»
города Каменск-Шахтинский
Принята на методическом совете
Протокол №______ от «___» _________ 20___г
Алгоритмы в робототехнике
Методическая разработка.
(Для учащихся 3 года обучения робототехнических объединений учреждений дополнительного образования)
Автор: Барышев Е. В.
педагог дополнительного образования.
2025
Пояснительная записка
Данная методическая разработка предназначена для изучения учащимися 3 года обучения начальных навыков программирования платформ Arduino на языке программирования. Содержание методической разработки, начиная с описания видов алгоритмов, так же содержит описание наиболее общих элементов и иллюстрирует их использование в примерах.
Роботы окружают нас повсюду: от умных пылесосов до промышленных машин на заводах. Но за их «умными» действиями стоят сложные алгоритмы и логические конструкции. Алгоритм — это последовательность шагов, которые робот выполняет для решения задачи. Логика — это правила, по которым он принимает решения.
Для детей изучение алгоритмов и логики — это не только способ понять, как работают роботы, но и возможность развить критическое мышление, научиться решать задачи и создавать собственные проекты.
Методическая разработка является частью приложения к образовательной программе «Робототехника», рассчитана на учащихся 14 – 18 лет и направлена на достижение следующих целей и задач:
Образовательные:
ознакомить учащихся с описанием структуры программы языка программирования;
научить учащихся создавать программы в открытой среде программирования Arduino IDE;
научить учащихся подключать различные периферийного оборудования к платформе Arduino.
Развивающие:
развитие интереса и склонностей в области программирования;
развитие навыков при работе в открытой среде программирования Arduino IDE.
Воспитывающие:
воспитание всестороннего интереса к технике, творческого отношения к труду;
воспитание чувства взаимоуважения между кружковцами.
Основная часть
Алгоритм — это набор инструкций или последовательность действий исполнителя для достижения некой цели (результата). Все процессы в мире подчиняется законам и правилам, благодаря ученым сегодня известна масса формул и алгоритмов, следуя которым, можно рассчитать и повторить множество действий. Понятие алгоритм происходит от имени математика Мухаммеда аль Хорезми, жившего в XII веке.
Создание списка действий для робота требует творческого мышления, поэтому создать новый алгоритм или изменить существующий может только человек. Для исполнения существующих инструкций достаточно логического мышления, которым обладают роботы. Поведенческие алгоритмы позволяют роботам выполнять широкий спектр задач. Разработка алгоритмов в робототехнике может быть трудоемкой задачей.
Объект, которому не обязательно вникать в суть заданной инструкции, называется исполнителем. Отличным примером исполнителя алгоритма является пустая стиральная машина, которая продолжает работать, несмотря на отсутствие белья. Наиболее распространенными формами для записи алгоритмов в робототехнике являются: графическая запись, словесная запись и язык программирования.
Функциональные элементы блок-схемы алгоритма.
Формальные свойства алгоритмов.
Дискретность алгоритма заключается в представлении некоторых простых шагов в определенной последовательности для решения поставленной задачи. Для выполнения каждого шага в инструкции требуется определенный отрезок времени.
Детерминированность (определенность) — в каждый момент времени следующий шаг однозначно определяется состоянием системы. По завершению работы алгоритм должен выдавать один и тот же результат для одних и тех же исходных данных.
Понятность — последовательность действий (команды) в алгоритме должны быть доступны исполнителю и входить в его систему команд.
Завершаемость — алгоритм должен завершать работу и выдавать результат за конечное число шагов. С другой стороны, вероятностный алгоритм может никогда не выдать результат, но вероятность этого равна 0.
Универсальность и результативность — алгоритм должен быть применим к разным наборам исходных данных и завершаться определенными результатами.
Виды алгоритмов в робототехнике
Линейный алгоритм — это набор неких команд, выполняемых последовательно во времени друг за другом. Инструкции линейных алгоритмов выполняются однократно.
Примеры линейных алгоритмов.
Разветвляющийся алгоритм содержит хотя бы одно условие, в результате которого может осуществляться разделение на несколько альтернативных ветвей.
Схема с примером разветвляющегося алгоритма.
Циклический алгоритм предусматривает многократное повторение одного и того же действия над новыми исходными данными. Цикл программы — последовательность команд или операций, которые могут выполняться в программе многократно (для новых исходных данных) до удовлетворения некоторого условия.
Виды циклических алгоритмов в робототехнике.
Для того, чтобы алгоритм был рабочим и устойчивым необходимо определится с его свойствами:
Конечность - каждое действие алгоритма должно иметь возможность настоящего исполнения. Как и сам алгоритм в целом. Тогда алгоритм будет исполнимым - то есть конечным.
Результативность - алгоритм должен показывать результат или вывести информацию о не возможности реализации данного алгоритма, что тоже является результатом. Например невозможность делить на ноль, должна выявляться алгоритмом, а не ошибкой компилятора или интерпретатора.
Массовость - возможность применение алгоритма для целого класса задач, где могут отличаться только исходные данные. При этом стоит учесть, что сами данные входят в область реализации этого алгоритма. Например при подсчете общего объема груза, мы можем использовать только положительные числа и рассчитывать их исходя из массы и плотности даваемых нам на входе.
На самом деле эти свойства будут для вас очевидны при начальной работе и создании первых программ.
Какие способы представления алгоритмов бывают:
Графический способ. Один из самых удобных и популярных способов. Представление алгоритма в виде блоков и связей между ними, пример на картинке ниже.
Словесно-формульный способ. Вариант описания действий в виде простых фраз описывающие действия или вычисления.
Формулы при этом также могут присутствовать и вычисляться в ходе одного действия
Псевдо код. В данном случае формируется единообразное описание для каждого действия, условия и так далее, формирующее общее представление об алгоритме.
Программный способ. Очень похож на пункт 3, но для конкретного языка. Описание алгоритма в виде кода на конкретном языке.
Заключение
Данная методическая разработка была апробирована в робототехническом объединении учащимися 3 года обучения.
Конструкторские и изобретательские навыки при сборке и программировании проектов на платформе Arduino позволили проанализировать работу, усовершенствовать, и добавить свои конструкторские мысли в алгоритм работы. Элементы соревновательного момента подтвердили наличие полученных первоначальных знаний о структуре языка программирования для платформ Arduino, умение самостоятельно составить алгоритм для выполнения поставленной задачи, написать программный код для современных систем управления в робототехнике.
9