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

Что такое алгоритмы в робототехнике

Алгоритм — это набор инструкций или последовательность действий исполнителя для достижения некой цели (результата). Все процессы в мире подчиняется законам и правилам, благодаря ученым сегодня известна масса формул и алгоритмов, следуя которым, можно рассчитать и повторить множество действий. Понятие алгоритм происходит от имени математика Мухаммеда аль Хорезми, жившего в XII веке.

Функциональные элементы блок-схемы алгоритма
Функциональные элементы блок-схемы алгоритма

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

Формальные свойства алгоритмов

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

Детерминированность (определенность) — в каждый момент времени следующий шаг однозначно определяется состоянием системы. По завершению работы алгоритм должен выдавать один и тот же результат для одних и тех же исходных данных.

Понятность — последовательность действий (команды) в алгоритме должны быть доступны исполнителю и входить в его систему команд.

Завершаемость — алгоритм должен завершать работу и выдавать результат за конечное число шагов. С другой стороны, вероятностный алгоритм может никогда не выдать результат, но вероятность этого равна 0.

Универсальность и результативность — алгоритм должен быть применим к разным наборам исходных данных и завершаться определенными результатами.




Виды алгоритмов в робототехнике

Линейный алгоритм — это набор неких команд, выполняемых последовательно во времени друг за другом. Инструкции линейных алгоритмов выполняются однократно.

Схема. Примеры линейных алгоритмов
Схема. Примеры линейных алгоритмов

Разветвляющийся алгоритм содержит хотя бы одно условие, в результате которого может осуществляться разделение на несколько альтернативных ветвей.

Схема с примером разветвляющегося алгоритма
Схема с примером разветвляющегося алгоритма

Циклический алгоритм предусматривает многократное повторение одного и того же действия над новыми исходными данными. Цикл программы — последовательность команд или операций, которые могут выполняться в программе многократно (для новых исходных данных) до удовлетворения некоторого условия.

Виды циклических алгоритмов в робототехнике
Виды циклических алгоритмов в робототехнике


5 Replies to “Виды алгоритмов в робототехнике”

  1. Влад скударнов. Алгоритм — это набор инструкций или последовательность действий исполнителя для достижения некой цели

  2. Алгоритм — это набор инструкций или последовательность действий исполнителя для достижения какой то цели (результата). Все процессы в мире подчиняется законам и правилам, благодаря ученым сегодня известна масса формул и алгоритмов, следуя которым, можно рассчитать и повторить множество действий.
    Наиболее распространенными формами для записи алгоритмов в робототехнике являются: графическая запись, словесная запись и язык программирования.

  3. Алгоритм по созданию бутерброда не так уж и прост.
    1. Уточнить местоположение ингредиентов, инструментов и их наличие.
    2.Переместится к месту будущих операций.
    3.Извлечь и установить в надлежащее положение инструменты и приспособления.
    4.Поместить батон хлеба соответствующим образом на подставку.
    5.Взять в руку нож для хлеба за рукоятку, режущей кромкой вниз.
    6.Поместить нож на батон хлеба в соответствующее место, измерив необходимую толщину слоя. 7.Совершать возвратно-поступательные движения, с одновременным перемещением лезвия вниз.
    8.Остановить движения после достижения плоскости подставки.
    И т.д.
    На самом деле код программы гораздо подробнее и тщательнее. Чтоб запрограммировать робота на создание бутерброда, потребуется не одна сотня строк кода. ))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.