Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичні вказівки до лабораторніх робіт.doc
Скачиваний:
1
Добавлен:
12.08.2019
Размер:
932.35 Кб
Скачать

Лабораторная работа № 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. В качестве тестовых задач рассмотрены случаи перемеще­ния АР в среде с препятствиями и лабиринте.

Проверка корректности задания на перемещение (процедура ПУСТО)

НЕТ

1

Наличие препятствия на пути к цели (процедура ПРВ 2)

2

Подход к препятствию (процедура ПРВ 1)

Обход препятствия (процедура ПРВ 1)

4

Пошаговая стратегия подхода к цели (процедура ПРВ 1)

КОНЕЦ

Рис. 3.1. Структура алгоритма перемещения

Рис. 3.2. Примеры реализации алгоритма перемещения:

а - обход объекта произвольной формы; б - решение лабиринтной задачи;

S - начальное положение робота; К - конечное положение робота

Быстродействие алгоритма зависит от размеров сцены /более точно от степени дискретности отображения сцены/, размеров выбранного шага перемещения, а также от способа формирования процедур ПРВ1 и ПРВ2. Оптимизация формирования процедур позволила добиться функционирования алгоритма в реальном масштабе времени. Время решения лабиринтной за­дачи для сцены 100 х 100 составляет 2...3 с.

Реализацию алгоритма перемещения можно рассматривать как пополне­ние СПЗ еще одной процедурой соответствия, реализующей зависимость между термином языковым ПЕРЕМЕСТИТЬСЯ и соответствующей динамической ситуацией, реализующейся на модели D1. Наличие программы ПЕРЕМЕСТИТЬСЯ /переместиться роботу/ открывает возможность реализа­ции другого соотношения - ПЕРЕМЕСТИТЬ, что соответствует смыслу пе­реместить некоторый объект. При этом вместо габаритных размеров робота учитываются соответствующие характеристики перемещаемого объекта. Оба эти термина относятся к разряду элементов состояния СПЗ и базируются на многократном обращении к трем более простым процедурам ПРВ1, ПРВ2 и ПУСТО.