УДК 004.02
Дубанов
А.А., Билдушкина М. Н., Шедоева С. В.
Сибирский
Государственный Университет Телекоммуникаций и Информатики
Построение моделей движения
объектов в задаче преследования. Решение в системе вычислительной математики «MathCAD»
Аннотация
В данной статье изложено описание разработанных
моделей поведения объектов в задаче преследования, как и преследующего, так и
преследуемого. Целью проведенных исследований является разработка алгоритмов
для автономных робототехнических комплексов.
В предлагаемых моделях поведения вводятся локальные динамические системы
координат, которые формируются направлением движения объектов. В течении
определенного промежутка времени объект должен принять решение в каком
направлении он должен двигаться в зависимости от результата анализа координат
второго объекта. В силу того, что объект при перемещении в пространстве не
может мгновенно производить смену
направления движения, в наших задачах «инертность» моделируется при помощи угловой скорости
вращения. По предлагаемым моделям поведения объектов в задаче преследования
написаны программы в системе компьютерной математики «MathCAD», с которыми можно
ознакомиться на сайте автора. В результатах работы программ получены анимированные изображения движения
объектов, ссылки на которые приводятся в тексте статьи.
1.
Введение.
Постановка задачи
Рассмотрим задачу преследования на пересеченной
местности, когда преследуемый объект («Кролик») и преследующий объект («Лиса»)
передвигаются в трехмерном пространстве с постоянными по модулю скоростями. В
статье [1] рассматривалась модель, когда траектория движения «Кролика» была
предопределенной. То есть координаты положения «Кролика» в определенный момент
являлись известными. В такой модели предлагалось то, что вектор скорости «Лисы»
будет направлен на «Кролика» или на его предполагаемое положение в определенный
момент времени.
В данной статье предлагаются иные модели поведения
как «Кролика», так и «Лисы». В предлагаемой модели поведения «Кролика» будет
производиться анализ пространственного положения «Лисы», ее скорости и в
зависимости от этого будет «приниматься» решение «Кроликом» о направлении его
движения. Точно такие же рассуждения можно провести и в отношении модели
поведения «Лисы».
2.
К
выбору системы координат объекта преследования «Кролика»
В данной статье основным является то, что выбор
«решения» (направление движения), следует после анализа текущего положения в
динамической системе координат. В модели поведения «Кролика» предлагается
выбрать динамическую локальную систему координат, где:
1. |
Центр
локальной системы координат совпадает
с текущими координатами горизонтальной проекции положения кролика (Рис. 1). |
(1) |
2. |
Ось абсцисс локальной системы
координат совпадает с горизонтальной проекцией скорости «Кролика» на текущий
момент времени. |
(2) |
3. |
Ось
ординат принадлежит горизонтальной плоскости проекций. Локальная система
координат является ортогональной, соответственно ось аппликат есть продукт
векторного произведения векторов |
|
В нашей задаче явно выраженных зависимостей ,
не существует. В программе, размещенной на
сайте [2], для модели траектории «Кролика», приведены упорядоченные наборы
точек:
,
,
,
,
где
– функция, описывающая ландшафт местности по
точечному базису, после выполнения процедур полиномиальной регрессии и
сплайн-интерполяции. Данная процедура
подробно описана в комментариях к программному коду на сайте автора [2], а
также в статье [1]. Далее, для построения функциональной зависимости траектории
«Кролика» от времени T,
введен формальный параметр
,
,
.
Из формулы для сегмента длины дуги
имеем следующее:
.
|
|
Рис. 1
Локальная система координат «Кролика» |
Рис. 2 Траектории «Кролика», «Лисы» в
динамической системе координат (видео) |
Встроенный решатель систем обыкновенных
дифференциальных уравнений системы «MathCAD» позволяет нам решить указанное дифференциальное
уравнение в виде определения зависимости .
Учитывая то, что мы рассматриваем случай движения с постоянной по модулю
скоростью
,
введем в расчеты реальное время
,
.
В расчетах нам понадобятся зависимости
,
,
.
Построение таких зависимостей указано в комментариях к программному коду на
сайте автора [2], [3]. Учитывая все, приведенные выше условия, находим
производные по времени
координатных функций «Кролика». В результате
имеем:
|
(3) |
Полученные формулы (3)
подставляем в формулы (2), для определения нового динамического локального
базиса ,
,
.
Координаты
центра локальной системы координат нам также
известны. Поэтому, предварительные работы по построению динамической системы
координат, можно считать выполненными.
3.
Траектория
«Лисы» в динамической системе координат «Кролика»
Теперь нам нужно узнать, как будет выглядеть
траектория «Лисы» на поверхности,
заданной в виде .
Поверхность, заданная в виде
,
при переходе в динамическую локальную систему координат
,
,
с центром в точке
будет выглядеть как на
рисунке (Рис. 2).
Согласно формулам (4), все точки базиса, по которому
была построена базовая поверхность, были построены в базисе ,
,
с центром в точке
(Рис. 2). По ссылке [5]
можно посмотреть, как исходная поверхность
трансформируется по времени. Также, обратим внимание на координаты текущего
положения «Кролика». Как и предполагалось, абсцисса и ордината равны нулю,
изменяется во времени только аппликата.
Координаты текущего положения «Кролика» и «Лисы», а также координаты
точек траектории «Кролика», рассчитывались аналогично, как и в формуле (4). По ссылке [6] вы можете увидеть картину преследования
«Лисой» «Кролика», точки траектории «Кролика», а также точки исходной
поверхности. Для дальнейшей работы, нам
необходимо будет увидеть картину преследования на плоскости, в горизонтальной проекции. По ссылке [7]
представлена картина, как в динамической системе координат, так и в мировой.
Рис. 3 Преследование в мировой СК |
Рис. 4 Преследование в динамической СК |
Анализ (Рис. 4) дает
нам механизм моделирования поведения «Кролика» и «Лисы»
4.
Моделирование
поведения «Кролика» и «Лисы». Ситуация на плоскости
Нам сейчас необходимо рассмотреть «плоский» случай
для наглядности демонстрации подхода к выбору модели движения «Кролика». Пусть
«Лиса» преследует
|
|
|
|
Рис. 5 Смена СК
в следующий момент времени. СК – мировая |
|
«Кролика» на плоскости. «Кролик» движется по
плоскости с постоянной по модулю скоростью .
На рисунке (Рис. 5) схематически представлена смена
динамической локальной системы координат, связанной с «Кроликом», в моменты
времени и
.
В момент времени
динамическая система координат задается векторами
и
,
а центр координат задается точкой
.
В момент времени
система координат «кролика» переходит в положение
,
с центром в точке
.
На Рис. 5 представлена ситуация в мировой системе
координат
,
.
Далее, нам следует перейти в систему координат «Кролика»
,
,
(Рис. 6).
|
|
Рис. 6 Система
координат «Кролика» |
Рис. 7 Система
координат «Лисы» |
На данном рисунке (Рис. 6) мы предположили, что
«Лиса» приближается к «Кролику» из II четверти плоскости. Как уже
предполагалось, «Кролик» расположен в точке . У нас время поделено на
достаточно малые промежутки
. За это время «Кролик»
переходит из положения
в положение
:
.
Линия, соединяющая точки
и
составляет с направлением вектора
угол
. Но в нашей модели
«Кролик» не может за промежуток времени
изменить направление движения на угол
. Будем считать, что
угол
,
где
- некоторое пороговое значение. Если
«Кролик» будет иметь угловую скорость
вращения
,
тогда вектор скорости повернется на угол
.
Мы имеем то, что в системе координат
,
,
, координаты векторов
,
,
будут выражены следующим образом:
|
(5) |
В мировой системе координат ,
вектор
будет выглядеть так:
.
Где
,
базисные
векторы
,
в системе координат
,
,
,
а
,
- текущие координаты «Кролика». Следует пояснить, что:
,
,
формируются текущим направлением скорости «Кролика». А компоненты векторов
,
после вычислений:
|
, где |
|
Более
детально этот момент описан на ресурсе [4]. В конечном виде векторы ,
и новый центр координат
в мировой системе координат
,
будут выглядеть так:
|
(6) |
Формулы (6) применимы в том случае, если «Лиса» в динамической системе координат
,
,
приближается из II четверти (Рис,6), при условии
некоторого порогового значения.
|
|
|
|
Рис. 8 Координаты нового центра координат |
|
На рисунке (Рис. 8) представлены возможные значения в зависимости от того из какой четверти
происходит приближение «Лисы» и от значения угла
.
Аналогичные
рассуждения можно провести и в отношении поведения «Лисы». Сформируем систему координат ,
,
(Рис. 7). Как и прежде, векторы
базиса «Лисы» формируются ее направлением движения:
,
,
,
. В случае, представленном на
рисунке (Рис. 7), в системе координат
,
,
«Кролик» находится в I четверти. Линия, соединяющая
«Лису» и «Кролика», составляет с вектором
угол
. По истечению промежутка
, «Лиса» переместится на
расстояние
. В направлении вектора
:
|
(7) |
Напомним, что формулы
(7) выражены в системе
координат ,
,
.
|
|
|
|
Рис. 9
Координаты нового положения «Лисы» |
|
Тогда, как и в случае с
«Кроликом», мы можем представить (Рис. 9) координаты нового положения «Лисы» в мировой системе координат (
- пороговое значение для угла
,
Рис. 7). На Рис. 10 представлены результаты работы программы по алгоритмам, разработка
которых показана на рис. 8, 9.
|
|
|