
- •Лабораторная работа № I
- •1.2.1. Анализ графического наполнения спз - отношений
- •1.2.2. Проверка инвариантности спз - отношений к произвольному перемещению робота
- •Лабораторная работа № 2 подсистема ориентации автономного робота
- •Лабораторная работа № 3
- •3.2. Программа работы. Анализ алгоритмов перемещения ар
- •3.2.1. Задание моделей действительности d1 и робота s1
- •3.2.2. Исследование алгоритмов перемещения
- •Лабораторная работа № 4
- •4.2. Программа работы
- •Лабораторная работа №4 изучить алгоритм прокладки маршрута и алгоритм полного обхода объекта.
- •Лабораторная работа №5 обработка объектов с элементами постоянной кривизны.
Лабораторная работа № 3
АНАЛИЗ АЛГОРИТМОВ ПЕРЕМЕЩЕНИЯ
Цель работы - исследовать и смоделировать алгоритмы перемещения АР в объектной среде.
3.I. Общая часть.
На базе представленного ИО АР разработана подсистема перемещения, позволяющая в заданной среде, заполненной множеством объектов /модель D1/, прокладывать маршрут в соответствии с заданным пунктом следования.
Собственно алгоритм перемещения представляет собой не что иное, как процедуру соответствия между термином ПЕРЕМЕСТИТЬСЯ и заданной динамической ситуацией на сцене D1. Входными данными п/п ПЕРЕМЕЩЕНИЯ являются координаты конечного пункта следования К / ХК, УК /, текущие координаты АР / XS, УS /. При этом обязательно учитываются собственные характеристики робота: Р - его габаритные размеры; F -направление восприятия среды; L - шаг поступательного перемещения; ∆Fs- шаг вращения. Структура алгоритма перемещения изображена на рис. 3.I.
Существенным моментом построения алгоритма является многократное обращение к другим более простым процедурам соответствия СПЗ, которые в совокупности своей позволяют определить наличие /отсутствие/ объекта или препятствия в определенном подпространстве сцены. Составляющие элементы п/с перемещения - процедуры ПУСТО, ПРВ1 и ПРВ2 - отличаются лишь фрагментами сцены, в которых ведется поиск объекта. Для процедуры ПУСТО поиск ведется в подпространстве сцены, соответствующем П - отношению РЯДОМ /см. рис. 2/. Для ПРВ1 ведется в области, соответствующей совокупности отношений ПРЯМО и ВПЕРЕД на I шаг. В случае ПРВ2 эта область расширяется на N шагов, что определяется комбинацией ПРЯМО и ВПЕРЕД на N шагов. Последовательность использования процедур соответствия представляется следующей.
Первое обращение к процедуре ПУСТО /блок I/ используется для про верки корректности задачи на перемещение робота. Будучи последовательно примененной к исходному и конечному положениям АР, данная процедура позволяет судить о возможности принципиального решения за дачи. Следующий шаг - обращение к процедуре ПРВ2 /блок 2/, что равносильно определению наличия препятствия на пути к конечной цели перемещения. При отсутствии препятствия осуществляется пошаговое перемещение к цели /блок 5/; при наличии объекта осуществляется вначале подход к препятствию /блок 3/, а затем реализуется алгоритм обхода /блок 4/. Блоки 3, 4, 5 в общем случае выполняются как многократное обращение к процедуре ПРВI.
Узловой момент работы алгоритма - формирование маршрута обхода препятствия, где могут быть использованы различные стратегии. В процессе построения алгоритма были реализованы две возможности. Первая из стратегий пригодна лишь для обхода выпуклых препятствий, вторая - позволяет решать задачу обхода препятствия произвольной формы. Последовательное N-шаговое обращение к процедурам ПРВ1 и ПРВ2 формирует траекторию движения робота, учитывающую его характеристики /например, габаритные размеры/. Такой подход существенно упрощает построение траектории в объектной среде, так как сразу формируется на сцене "коридор" шириной р. Примеры формирования маршрута показаны на рис. 3.2. В качестве тестовых задач рассмотрены случаи перемещения АР в среде с препятствиями и лабиринте.
Проверка
корректности задания на перемещение
(процедура ПУСТО)
НЕТ
Наличие
препятствия на пути к цели (процедура
ПРВ 2)
2
Подход
к препятствию (процедура ПРВ 1)
Обход препятствия
(процедура ПРВ 1)
Пошаговая
стратегия подхода к цели (процедура
ПРВ 1)
КОНЕЦ
Рис. 3.1. Структура алгоритма перемещения
Рис. 3.2. Примеры реализации алгоритма перемещения:
а - обход объекта произвольной формы; б - решение лабиринтной задачи;
S - начальное положение робота; К - конечное положение робота
Быстродействие алгоритма зависит от размеров сцены /более точно от степени дискретности отображения сцены/, размеров выбранного шага перемещения, а также от способа формирования процедур ПРВ1 и ПРВ2. Оптимизация формирования процедур позволила добиться функционирования алгоритма в реальном масштабе времени. Время решения лабиринтной задачи для сцены 100 х 100 составляет 2...3 с.
Реализацию алгоритма перемещения можно рассматривать как пополнение СПЗ еще одной процедурой соответствия, реализующей зависимость между термином языковым ПЕРЕМЕСТИТЬСЯ и соответствующей динамической ситуацией, реализующейся на модели D1. Наличие программы ПЕРЕМЕСТИТЬСЯ /переместиться роботу/ открывает возможность реализации другого соотношения - ПЕРЕМЕСТИТЬ, что соответствует смыслу переместить некоторый объект. При этом вместо габаритных размеров робота учитываются соответствующие характеристики перемещаемого объекта. Оба эти термина относятся к разряду элементов состояния СПЗ и базируются на многократном обращении к трем более простым процедурам ПРВ1, ПРВ2 и ПУСТО.