Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Геометрическое моделирование задач преследования в среде MATHCAD

Покупка
Артикул: 805729.01.99
Доступ онлайн
500 ₽
В корзину
В данной монографии публикуется описание методов и алгоритмов задач преследования на поверхностях, а также произведено моделирование задач в среде программирования Mathcad. В результате компьютерного моделирования было получено множество анимационных роликов, которые позволяют увидеть предлагаемые автором алгоритмические решения в задачах преследования. Монография может быть полезна студентам технических вузов, аспирантам и разработчикам робототехнических комплексов с элементами искусственного интеллекта.
Дубанов, А. А. Геометрическое моделирование задач преследования в среде MATHCAD : монография / А. А. Дубанов. - Москва : РИОР, 2020. - 196 с. - DOI: https://doi.org/10.29039/02031-9. - ISBN 978-5-369-02031-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/2034484 (дата обращения: 04.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
 

А.А. Дубанов 

 

ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ 

ЗАДАЧ ПРЕСЛЕДОВАНИЯ  

В СРЕДЕ MATHCAD 

 

 

МОНОГРАФИЯ 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Москва 
РИОР 

 

УДК 51-74  
ББК 22.151.3 

  Д79 
 

Автор: 
Дубанов А.А. — к.т.н., доцент кафедры геометрии и методики преподавания математики, 
Бурятский государственный университет им. Доржи Банзарова (г. Улан-Удэ). Автор более 
50 печатных работ, в том числе в Web of Science и Scopus по вычислительной геометрии, 
компьютерной геометрии, инженерной графике, математическому моделированию 
 
Рецензенты: 
Антонова Л.В. — к.ф.-м.н., доцент, директор Института математики и информатики, 
Бурятский государственный университет им. Доржи Банзарова (г. Улан-Удэ); 
Аюшеев Т.В. — д.т.н., доцент, заведующий кафедрой инженерной и компьютерной 
графики, Восточно-Сибирскй государственный университет технологий и управления 
(г. Улан-Удэ) 
 
 
          Дубанов А.А. 
Д79 Геометрическое моделирование задач преследования в среде MATHCAD : 
монография [Электронный ресурс]. — Москва : РИОР, 2020. — 196 с. — 
DOI: https://doi.org/10.29039/02031-9 
 
 
ISBN 978-5-369-02031-9 
 

В данной монографии публикуется описание методов и алгоритмов задач 

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

Монография может быть полезна студентам технических вузов, аспирантам и 

разработчикам робототехнических комплексов с элементами искусственного интеллекта. 

 
 

Издается в авторской редакции                                УДК 51-74  

  ББК 22.151.3 

 

 

ISBN 978-5-369-02031-9 

 

© Дубанов А.А. 

ОГЛАВЛЕНИЕ 

Введение ......................................................................................................................................... 5 

Глава 1. Задача преследования на поверхности, заданной точечным базисом. 
Преследуемый объект движется по предопределенной траектории ........................................ 6 

1.1.  Постановка задачи ............................................................................................................. 7 

1.2.  Полиномиальная регрессия точечного базиса .............................................................. 10 

1.3.  Моделирование траектории движения преследуемого объекта по заданной  
поверхности .............................................................................................................................. 12 

1.4.  Моделирование траектории движения преследующего объекта ................................ 15 

1.5.  Моделирование траектории движения преследующего объекта с расчетом 
геодезической линии до предполагаемой точки нахождения объекта преследования .... 25 

1.6.  Построение геодезической линии до движущегося объекта ....................................... 37 

1.7.  Моделирование траектории преследующего объекта на «опережение»  
преследуемого .......................................................................................................................... 45 

Выводы к главе 1 ..................................................................................................................... 48 

Глава 2. Моделирование поведения объектов в задаче преследования ................................. 49 

2.1.  Модели поведения преследующего и преследуемого объектов ................................. 50 

2.1.1. Траектория «Лисы» в динамической системе координат «Кролика» .................. 53 

2.2.2. Моделирование поведения «Кролика» и «Лисы». Ситуация на плоскости ........ 54 

2.2.3. Модели поведения в задаче преследования на пересеченной поверхности ........ 59 

2.2. Моделирование преследования объекта с поверхности, расположенной над 
поверхностью преследуемого ................................................................................................ 63 

2.2.1. Постановка задачи ..................................................................................................... 63 

2.2.2. Моделирование поверхностей .................................................................................. 64 

2.2.3. Построение проекций в локальных базисах ........................................................... 65 

2.2.4. Выбор направления движения ................................................................................. 67 

2.2.5. Расчет координат на следующих этапах итераций ................................................ 69 

2.2.6. Результаты .................................................................................................................. 70 

2.3. Листинг программы «Модели поведения объектов в задаче преследования» ........... 71 

2.4. Листинг программы «Траектория преследующего объекта по “Квазиэквидистанте”»
 ................................................................................................................................................... 79 

Выводы к главе 2 ..................................................................................................................... 91 

Глава 3. Моделирование траекторий в задачах преследования .............................................. 93 

3.1. Моделирование траекторий при обходе препятствий .................................................. 94 

3.1.1. Моделирование препятствий .................................................................................... 94 

3.1.2. Локальное моделирование препятствий ................................................................. 96 

3.1.3. Моделирование локального сегмента траектории ................................................. 98 

3.1.4. Моделирование траекторий в мировой системе координат .................................. 99 

3.1.5. Выводы ..................................................................................................................... 102 

3.2. Моделирование траекторий при наличии условий и ограничений ........................... 103 

3.2.1. Постановка задачи моделирования ........................................................................ 103 

3.2.2. Моделирование окружности у преследующего объекта ..................................... 104 

3.2.3. Моделирование окружности у преследуемого объекта ....................................... 105 

3.2.4. Линии сопряжения между двумя окружностями ................................................. 106 

3.2.5. Результаты моделирования траекторий ................................................................ 108 

3.2.6. Выводы ..................................................................................................................... 110 

3.3. Листинг программы «Моделирование траекторий при обходе препятствий» ......... 111 

3.4. Листинг программы «Моделирование траекторий при заданной кривизне» ........... 118 

3.5. Листинг программы «Сопряжение двух окружностей» ............................................. 130 

Литература ................................................................................................................................. 135 

Приложения ............................................................................................................................... 137 

Приложение 1. Координаты горизонталей ......................................................................... 137 

Приложение 2. “Fox_and_Rabbit_Sinusoud.xmcd” .............................................................. 147 

Приложение 3. “Fox and Rabbit” .......................................................................................... 148 

Приложение 4. «Расчет геодезической до динамической цели» ...................................... 153 

Приложение 5. «Модели поведения объектов в задаче преследования» ......................... 159 

Приложение 6. «Траектория преследующего объекта по “Казиэквидистанте”» ............ 165 

Приложение 7. Моделирование траекторий при обходе препятствий ............................. 177 

Приложение 8. Моделирование траекторий при заданной кривизне ............................... 183 

Приложение 9. Сопряжение двух окружностей ................................................................. 193 

 

 
 

ВВЕДЕНИЕ 

В настоящей монографии на основе работ Р. Айзекса, Л.С. Понтрягина, Н.Н. 

Красовского, А.И. Субботина было произведено компьютерное моделирование задач 

преследования на поверхности, представленной точечным базисом. Модель поверхности 

была представлена из точек, принадлежащих горизонталям, которые были получены в 

результате оцифровки реальных карт при помощи программы QGIS 2.18. 

Моделирование траекторий движения объектов выполнялось посредством решения 

систем обыкновенных дифференциальных уравнений в одних случаях и построением 

алгоритмических моделей в других.  

Нами были созданы алгоритмы, в вычислительных циклах которых объект, 

преследующий или преследуемый, сам делал выбор, в каком направлении двигаться, тем 

самым самостоятельно моделируя траекторию движения. 

Также затронуты вопросы моделирования траекторий при обходе препятствий и 

моделирование траекторий с заданными условиями и ограничениями по кривизне. 

Мы старались проиллюстрировать каждую модель, изложенную в монографии, 

программой, написанной в системе компьютерной математики Mathcad. По результатам 

работы программ было изготовлено большое количество анимированных изображений, 

ссылки на которые располагаются в тексте монографии. 

Мы надеемся, что результаты, изложенные в монографии, идеи, модели и алгоритмы 

могут быть востребованы разработчиками робототехнических комплексов с элементами 

искусственного интеллекта, научными сотрудниками, аспирантами и студентами 

технических вузов. 

 
 

ГЛАВА 
1. 
ЗАДАЧА 
ПРЕСЛЕДОВАНИЯ 
НА 
ПОВЕРХНОСТИ, 
ЗАДАННОЙ ТОЧЕЧНЫМ БАЗИСОМ. ПРЕСЛЕДУЕМЫЙ ОБЪЕКТ 
ДВИЖЕТСЯ ПО ПРЕДОПРЕДЕЛЕННОЙ ТРАЕКТОРИИ   

 
Для математического моделирования задач преследования нам необходимо выбрать 

способ задания точечного базиса. Для примера в данной задаче предлагается создать рельеф 

поверхности в виде горизонталей (рис. 1) в системе AutoCAD. В данном случае 

использовался AutoCAD 12. 

 

Рис. 1 

 
На рис. 1 каждая из горизонталей определенного уровня помечена своим цветом. 

Непосредственно для решения данной задачи линии уровня поверхности составлялись на 

рабочем листе AutoCAD размером 100 × 100 mm. Каждая из горизонталей представлена из 

отдельных файлов. Всего для данной модели поверхности было составлено пять 

горизонталей из упорядоченных массивов точек. Горизонтали имеют следующие высоты 

{0.1
0.2
0.3
0.4
0.5} . Координаты каждой из горизонталей представлены в 

Приложении 1. Для экспорта в текстовый файл применялось следующее. В системе 

AutoCAD создавался новый слой, в котором выполнялась обводка горизонталей при 

помощи инструмента «POLYLINE». Затем в новом слое выделялась область, содержащая 

наши горизонтали, и выполнялась команда «_LIST» из командной строки. После 

выполнения данной команды, содержимое копировалось в созданный текстовый файл. 

Далее нами применялась команда «READPRN» системы Mathcad для импорта данных в 

систему Mathcad. После последует полиномиальная регрессия данного массива точек для 

представления данной поверхности в виде ���� = ����(����, ����), по которой будут передвигаться 

наши объекты. 

1.1. Постановка задачи 

 
Рассмотрим сначала вариант задачи преследования на плоскости. Потом перейдем к 

задаче преследования на заданной поверхности. Пусть траектория движения преследуемого 

объекта на плоскости задается уравнением 

����⃗����(����) = ��������(����)

��������(����), 

а траектория преследующего объекта — 

����⃗����(����) = ��������(����)

��������(����). 

Вектор скорости преследующего объекта — 

����⃗����(����) = ����

�������� ��������(����)

����

�������� ��������(����)
. 

Вектор скорости преследующего объекта всегда направлен на преследуемый (рис. 1.1).  

 
 

 
Такие условия задачи, когда вектор скорости преследующего объекта направлен на 

преследуемый, приводят к системе уравнений (1.1.1). 

( )
( )
(
)
( )
( )
( )
(
)
( )
0
=
⋅
−
−
⋅
−
dt

t
dx
t
y
t
y
dt

t
dy
t
x
t
x
f
f
r
f
f
r

( )
( )
2
2
2

f
f
f
v
dt

t
dx

dt

t
dy
=








+









. 
(1.1.1) 

 
 

 

Траектория 

Скорость "Лисы" 
направлена на "Кролика"

Траектория 

Рис. 1.1

Система уравнений (1.1.1) относительно переменных 

( )

dt

t
dx f
, 
( )

dt

t
dy f
 

 

имеет решение (1.1.2). 

( )
( )
( )

( )
( )
(
)
( )
( )
(
)

( )
( )
( )

( )
( )
(
)
( )
( )
(
)

f

r
f
r
f

f
r
f

f

r
f
r
f

f
r
f

v
t
y
t
y
t
x
t
x

t
y
t
y

dt

t
dy

v
t
y
t
y
t
x
t
x

t
x
t
x

dt

t
dx

⋅
−
+
−

−
=

⋅
−
+
−

−
=

2
2

2
2

 . 
(1.1.2) 

В Приложении 2 приведен листинг программы, если траектория движения: 

����⃗����(����) = ��������(����)

��������(����)
преследуемого 
объекта 
имеет 
явную 
функциональную 
зависимость. 
В 
таком 

математическом пакете как Mathcad реализуется в несколько операторов с использованием 

встроенных решателей систем дифференциальных уравнений I порядка.  

 
В рамках данной главы будет решаться задача преследования, когда преследуемый 

объект движется по поверхности ���� = ����(����, ����) . Траектория преследуемого представлена 

уравнением 

����⃗����(����) = ��������(����)
��������(����)
��������(����)
. 

Необходимо найти траекторию движения преследующего объекта: 

����⃗����(����) = ��������(����)
��������(����)
��������(����)
. 

При условии, что горизонтальная проекция скорости 

����⃗����(����) =

⎣
⎢
⎢
⎢
⎢
⎢
⎡������������(����)

��������

������������(����)
��������

������������(����)
��������
⎦
⎥
⎥
⎥
⎥
⎥
⎤

 

направлена на горизонтальную проекцию объекта преследования:  

����⃗����(����) = ��������(����)
��������(����)
��������(����)
. 

 Что приводит к системе уравнений (1.1.3). 

������������
�������� ∙ �������� − ��������=

������������
�������� ∙ �������� − ��������������������
�������� 2
+ ������������
�������� 2
+ ������������
�������� 2
= ��������2

�������� = ������������, ��������. 
(1.1.3) 

Первое уравнение системы (1.1.3) говорит о том, что горизонтальная проекция 

вектора ����⃗���� направлена на горизонтальную проекцию вектора ����⃗����. Коллинеарность векторов 

����⃗���� , ����⃗���� − ����⃗����  выражается отношением ����⃗���� × ����⃗���� − ����⃗����= 0⃗ . Второе уравнение системы 

(1.1.3) говорит о постоянной по модулю скорости преследующего объекта. Третье 

уравнение системы (1.1.3) говорит о том, что все точки траектории движения принадлежат 

поверхности ���� = ����(����, ����).  

Если мы продифференцируем третье уравнение системы (1.1.3) по параметру ����, то в 

результате получим следующую систему уравнений (1.1.4). 

������������
�������� ∙ �������� − ��������=

������������
�������� ∙ �������� − ��������������������
�������� 2
+ ������������
�������� 2
+ ������������
�������� 2
= ��������2

������������
�������� =

��������

������������ ∙

������������
�������� +

��������

������������ ∙

������������
��������

. 
(1.1.4) 

Система уравнений (1.1.4) имеет решение относительно переменных 

������������
�������� ,

������������
�������� ,

������������
�������� . 

 Решения относительно именно этих переменных требуются для формирования 

задачи Коши. Целью данного параграфа было показать, что задача преследования на 

поверхности, заданной в виде ���� = ����(����, ����),  сводится к решению задачи Коши (1.1.5). 

Отметим то, ожидать представление реальной поверхности в виде уравнения ���� = ����(����, ����) 

практически нереально, поэтому мы можем рассчитывать на результаты регрессии и 

интерполяции, как в рассмотренном ниже случае. 

������������
�������� =
��������∙��������−����������������−��������2+��������−��������2+��������−��������∙ ��������

������������+��������−��������∙ ��������

������������2

������������
�������� =
��������∙��������−����������������−��������2+��������−��������2+��������−��������∙ ��������

������������+��������−��������∙ ��������

������������2

������������
�������� =

��������

������������ ∙

������������
�������� +

��������

������������ ∙

������������
��������

. 
(1.1.5) 

 

1.2. Полиномиальная регрессия точечного базиса 

При решении задач преследования по поверхности, заданной в виде ���� = ����(����, ����), нам 

будет необходимо на заданном точечном базисе выполнить двумерную полиномиальную 

регрессию с последующей двумерной интерполяцией. 

  
Рис. 1.2.1 

 

 
Рис. 1.2.2 

На рис. 1.2.1 представлен массив точек нашей поверхности. Далее нами была 

выполнена двумерная полиномиальная регрессия. 

 

Результаты регрессии и интерполяции представлены на рис. 1.2.2. Если внимательно 

посмотреть на рис. 1.2.1, то можно заметить, что нами были введены дополнительные 

массивы точек на краях квадрата 100 × 100. Высоты дополнительного массива точек равны 

0. Это было нами предпринято во избежание нежелательных хаотических осцилляций 

моделируемой поверхности. Если посмотреть на формулу 1.1.5, которая будет активно 

использоваться в дальнейших расчетах, то мы видим, что необходимо вводить 

дополнительные поверхности, которые с заданной степенью точности приближаются к 

поверхностям 

��������(����,����)

��������
, 

��������(����,����)

��������
. В данной задаче мы воспользовались распространенной 

формулой расчета производной ����′(��������) = (��������+1 − ��������−1) 2ℎ
⁄
+ ����(ℎ) , откуда следует 

����������������,����������������
=
����(��������+1,��������)−����(��������−1,��������)

2ℎ����

����������������,����������������
=
������������,��������+1−������������,��������=12ℎ����

,  где ℎ����, ℎ����
 = 
шаги 
по 
равномерной 
сетке ��������, ��������

квадрата 100 × 100.  

SurfacePicture RabbitPicture
, 
RabbitPictureArcLength
, 
Xframe Yframe
, 
Zframe
, 
(
)
, 
Xfox Yfox
, 
Zfox
, 
(
)
, 

CoeffRegressionXY
augment LandPointX LandPointY
, 
(
)
:=

RegressionXY
regress CoeffRegressionXY LandPointZ
, 
8
, 
(
)
:=

ArrayRangeLandPointX
cols LandPointX
(
)
1
−
:=

Surface u v
, 
(
)
interp RegressionXY CoeffRegressionXY
, 
LandPointZ
, 
u

v


, 


:=

Данный фрагмент листинга отображает расчет частных производных в узловых 

точках ��������, ��������. Далее, когда были рассчитаны частные производные в узловых точках, нами 

была произведена двумерная сплайн-интерполяция встроенными средствами Mathcad. 

 

 

 

 

 
 

LandDiffZfromXpoint
hX
LandX1
LandX0
−
←

DxZZZi j, 

LandZi 1
+
j, 
LandZi j, 
−

LandXi 1
+
LandXi
−

←
i
0
if

DxZZZi j, 

LandZi j, 
LandZi 1
−
j, 
−

LandXi
LandXi 1
−
−

←
i
100
if

DxZZZi j, 

LandZi 1
+
j, 
LandZi 1
−
j, 
−

2 hX
⋅

←
i
0
≠
(
)
i
100
≠
(
)
∧
if

j
0 100
..
∈
for

i
0 100
..
∈
for

DxZZZ

:=

LandDiffZfromYpoint
hY
LandY1
LandY0
−
←

DyZZZi j, 

LandZi j 1
+
, 
LandZi j, 
−

LandYj 1
+
LandYj
−

←
j
0
if

DyZZZi j, 

LandZi j, 
LandZi j 1
−
, 
−

LandYj
LandYj 1
−
−

←
j
100
if

DyZZZi j, 

LandZi j 1
+
, 
LandZi j 1
−
, 
−

2 hY
⋅

←
j
0
≠
(
)
j
100
≠
(
)
∧
if

j
0 100
..
∈
for

i
0 100
..
∈
for

DyZZZ

:=

CoeffLandSplineZX
cspline LandXY LandDiffZfromXpoint
, 
(
)
:=

CoeffLandSplineZY
cspline LandXY LandDiffZfromYpoint
, 
(
)
:=

DiffZX u v
, 
(
)
interp CoeffLandSplineZX LandXY
, 
LandDiffZfromXpoint
, 
u

v


, 


:=

DiffZY u v
, 
(
)
interp CoeffLandSplineZY LandXY
, 
LandDiffZfromYpoint
, 
u

v


, 


:=

1.3. Моделирование траектории движения преследуемого объекта по заданной  
поверхности 

При моделировании траектории движения преследуемого движения, мы в системе 

AutoCAD 12 создали в плоскости [����, ����] упорядоченный массив точек. Этот массив точек 

является горизонтальной проекцией моделируемой траектории на плоскость [����, ����].  

 

Рис. 1.3.1

Это случайная траектория, взятая в данной задаче для примера на квадрате 

100 × 100. В системе Mathcad существуют различные средства импорта данных, в том 

числе и из системы AutoCAD. Мы встроенными средствами Mathcad произвели импорт 

числовых данных из обыкновенного текстового файла, в котором организовали хранение 

массива точек траектории преследуемого объекта. На рис. 1.3.1 приведена модель 

траектории преследуемого объекта по поверхности движения ���� = ����(����, ����). 

 
Итак, пусть количество введенных точек равно ���� + 1  и индексируются они 

следующим образом [0. . ����]. Введем формальный параметр ����, который пробегает значения 

�������� = ����, ���� = 0. . ����. Каждой паре точек (��������, ��������) поставим в соответствие значение ��������, а также 

рассчитаем значение �������� = ����(��������, ��������). Здесь мы уже можем получить векторное уравнение 

траектории преследуемого объекта, после соответствующей сплайн-интерполяции 

встроенными средствами Mathcad: 

����⃗����(����) = ��������(����)
��������(����)
��������(����)
, 

где ��������(����) = ������������(����), ��������(����). 

Для численного дифференцирования по параметру ����, нами были использованы стандартные 

расчетные формулы: 

Доступ онлайн
500 ₽
В корзину