Геометрическое моделирование задач преследования в среде MATHCAD
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
РИОР
Год издания: 2020
Кол-во страниц: 196
Дополнительно
Вид издания:
Монография
Уровень образования:
ВО - Магистратура
ISBN: 978-5-369-02031-9
Артикул: 805729.01.99
В данной монографии публикуется описание методов и алгоритмов задач преследования на поверхностях, а также произведено моделирование задач в среде программирования Mathcad. В результате компьютерного моделирования было получено множество анимационных роликов, которые позволяют увидеть предлагаемые автором алгоритмические решения в задачах преследования. Монография может быть полезна студентам технических вузов, аспирантам и разработчикам робототехнических комплексов с элементами искусственного интеллекта.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Магистратура
- 01.04.03: Механика и математическое моделирование
- 01.04.04: Прикладная математика
- 02.04.02: Фундаментальная информатика и информационные технологии
- 09.04.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
А.А. Дубанов ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ ЗАДАЧ ПРЕСЛЕДОВАНИЯ В СРЕДЕ 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
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 4
ВВЕДЕНИЕ В настоящей монографии на основе работ Р. Айзекса, Л.С. Понтрягина, Н.Н. Красовского, А.И. Субботина было произведено компьютерное моделирование задач преследования на поверхности, представленной точечным базисом. Модель поверхности была представлена из точек, принадлежащих горизонталям, которые были получены в результате оцифровки реальных карт при помощи программы QGIS 2.18. Моделирование траекторий движения объектов выполнялось посредством решения систем обыкновенных дифференциальных уравнений в одних случаях и построением алгоритмических моделей в других. Нами были созданы алгоритмы, в вычислительных циклах которых объект, преследующий или преследуемый, сам делал выбор, в каком направлении двигаться, тем самым самостоятельно моделируя траекторию движения. Также затронуты вопросы моделирования траекторий при обходе препятствий и моделирование траекторий с заданными условиями и ограничениями по кривизне. Мы старались проиллюстрировать каждую модель, изложенную в монографии, программой, написанной в системе компьютерной математики Mathcad. По результатам работы программ было изготовлено большое количество анимированных изображений, ссылки на которые располагаются в тексте монографии. Мы надеемся, что результаты, изложенные в монографии, идеи, модели и алгоритмы могут быть востребованы разработчиками робототехнических комплексов с элементами искусственного интеллекта, научными сотрудниками, аспирантами и студентами технических вузов. 5
ГЛАВА 1. ЗАДАЧА ПРЕСЛЕДОВАНИЯ НА ПОВЕРХНОСТИ, ЗАДАННОЙ ТОЧЕЧНЫМ БАЗИСОМ. ПРЕСЛЕДУЕМЫЙ ОБЪЕКТ ДВИЖЕТСЯ ПО ПРЕДОПРЕДЕЛЕННОЙ ТРАЕКТОРИИ Для математического моделирования задач преследования нам необходимо выбрать способ задания точечного базиса. Для примера в данной задаче предлагается создать рельеф поверхности в виде горизонталей (рис. 1) в системе AutoCAD. В данном случае использовался AutoCAD 12. Рис. 1 На рис. 1 каждая из горизонталей определенного уровня помечена своим цветом. Непосредственно для решения данной задачи линии уровня поверхности составлялись на рабочем листе AutoCAD размером 100 X 100 mm. Каждая из горизонталей представлена из отдельных файлов. Всего для данной модели поверхности было составлено пять горизонталей из упорядоченных массивов точек. Горизонтали имеют следующие высоты {0.1 0.2 0.3 0.4 0.5} . Координаты каждой из горизонталей представлены в Приложении 1. Для экспорта в текстовый файл применялось следующее. В системе AutoCAD создавался новый слой, в котором выполнялась обводка горизонталей при помощи инструмента «POLYLINE». Затем в новом слое выделялась область, содержащая наши горизонтали, и выполнялась команда «_LIST» из командной строки. После выполнения данной команды, содержимое копировалось в созданный текстовый файл. 6
Далее нами применялась команда «READPRN» системы Mathcad для импорта данных в систему Mathcad. После последует полиномиальная регрессия данного массива точек для представления данной поверхности в виде z = f(x, у), по которой будут передвигаться наши объекты. 1.1. Постановка задачи Рассмотрим сначала вариант задачи преследования на плоскости. Потом перейдем к задаче преследования на заданной поверхности. Пусть траектория движения преследуемого объекта на плоскости задается уравнением Я- (t) = xᵣ (t) уг ⁽0-1, а траектория преследующего объекта — (t) = xᵣ (t)’ Уг (t).. Вектор скорости преследующего объекта — '& -а V/ ⁽0 = Вектор скорости преследующего объекта всегда направлен на преследуемый (рис. 1.1). Такие условия задачи, когда вектор скорости преследующего объекта направлен на преследуемый, приводят к системе уравнений (1.1.1). (X, (t)-Xf (t ))• -(y, (t)-y,f (t ))f = 0 at dt (dyf⁽t) T J dxf⁽t) T (1.1.1) dt у ⁷ dt у 7 2 =vf + 7
Система уравнений (1.1.1) относительно переменных dxf (t) dyf (t) dt ’ dt имеет решение (1.1.2). dxf (t) xr (t)-xf (t) —J-— = ,. , . , • V< dt (Jfxf⁽t⁾⁻xr⁽t ⁾⁾² + У⁽t⁾⁻yᵣ ⁽t ⁾⁾² dyf⁽t) yᵣ ⁽t⁾⁻yf ⁽t) —=— = ,. . • • v , dt J(xf⁽t⁾⁻xr⁽t))2 ⁺ ⁽yf ⁽t⁾⁻Уг⁽t ))2 (1.1.2) В Приложении 2 приведен листинг программы, если траектория движения: /?г (t) xᵣ (t)' -Уг (0 преследуемого объекта имеет явную функциональную зависимость. В таком математическом пакете как Mathcad реализуется в несколько операторов с использованием встроенных решателей систем дифференциальных уравнений I порядка. В рамках данной главы будет решаться задача преследования, когда преследуемый объект движется по поверхности z = f(x, у). Траектория преследуемого представлена уравнением Я- ⁽t) xᵣ (t) Уг (О zᵣ (О Необходимо найти траекторию движения преследующего объекта: (t) = ■^т⁽ty Уг ⁽0 Zf (t). При условии, что горизонтальная проекция скорости i?f ⁽t) = d%y (t)_ dyf (t) dt dzf (Q - dt направлена на горизонтальную проекцию объекта преследования: /?ᵣ ⁽t) xᵣ (t) Уг ⁽t) Zᵣ ⁽0 Что приводит к системе уравнений (1.1.3). 8
^•(Уг⁻Уг) = ~м''⁽.хг—хГ⁾ (%)² + + = W’ ⁽¹Д.³⁾ zf = f⁽xf, yf) Первое уравнение системы (1.1.3) говорит о том, что горизонтальная проекция вектора Vf направлена на горизонтальную проекцию вектора Rᵣ. Коллинеарность векторов гу , Rᵣ — Rf выражается отношением \_Vf X (Rᵣ —/?/)] = 0 . Второе уравнение системы (1.1.3) говорит о постоянной по модулю скорости преследующего объекта. Третье уравнение системы (1.1.3) говорит о том, что все точки траектории движения принадлежат поверхности z = f(x, у'). Если мы продифференцируем третье уравнение системы (1.1.3) по параметру t, то в результате получим следующую систему уравнений (1.1.4). ^Т'(Уг— УГ) = ^-(Хг-Х^ Ш + '•■■ + (%f = М² dzf = df dxf + df dyf dt Эх? dt ду^ dt (1.1.4) Система уравнений (1.1.4) имеет решение относительно переменных {dzf dxf dyf] dt ’ dt ’ dt J Решения относительно именно этих переменных требуются для формирования задачи Коши. Целью данного параграфа было показать, что задача преследования на поверхности, заданной в виде z = f(x, у), сводится к решению задачи Коши (1.1.5). Отметим то, ожидать представление реальной поверхности в виде уравнения z = f(x, у) практически нереально, поэтому мы можем рассчитывать на результаты регрессии и интерполяции, как в рассмотренном ниже случае. dxf dt Uf(xᵣ dyf _ dt ⁽Xr⁻Xf)²⁺⁽yr⁻yf)²⁺^⁽xᵣ⁻Xf)^^f^⁺⁽yr⁻yf)^^^ ^f⁽yᵣ⁻yf) (1.1.5) ⁽xᵣ⁻Xf}²⁺⁽yr⁻yf⁾'2⁺^⁽Xr⁻Xf⁾^^^^-+⁽yᵣ⁻yf⁾^^^ dzf df dxf df dyf dt dxf dt dyf dt 9
1.2. Полиномиальная регрессия точечного базиса При решении задач преследования по поверхности, заданной в виде z = f(x, у), нам будет необходимо на заданном точечном базисе выполнить двумерную полиномиальную регрессию с последующей двумерной интерполяцией. Рис. 1.2.1 SurfacePicture, RabbitPicture, RabbitPictureArcLength, (Xframe, Yframe, Zframe), (Xfox, Yfox, Zfox) Рис. 1.2.2 На рис. 1.2.1 представлен массив точек нашей поверхности. Далее нами была выполнена двумерная полиномиальная регрессия. CoeffRegressionXY := augment(LandPointX, LandPointY) RegressionXY := regress (CoeffRegressionXY, LandPointZ, 8) ArrayRangeLandPointX := cols(LandPointX) - 1 „ „ z ₄ . „ . ^ I u Surface(u,v) := interp RegressionXY, CoeffRegressionXY,LandPointZ, I I v Результаты регрессии и интерполяции представлены на рис. 1.2.2. Если внимательно посмотреть на рис. 1.2.1, то можно заметить, что нами были введены дополнительные массивы точек на краях квадрата 100 X 100. Высоты дополнительного массива точек равны 0. Это было нами предпринято во избежание нежелательных хаотических осцилляций моделируемой поверхности. Если посмотреть на формулу 1.1.5, которая будет активно использоваться в дальнейших расчетах, то мы видим, что необходимо вводить дополнительные поверхности, которые с заданной степенью точности приближаются к _______ df(x,y) df⁽x,y⁾ поверхностям ———, ———. В данной задаче мы воспользовались распространенной формулой расчета производной f'(xt) = (/j₊₁ — fᵢ₋₁)/2h + O(h~) , откуда следует 9f(xi,yj'⁾ _ f⁽xᵢ+₁,yᵢ⁾-f⁽xᵢ—₁,yᵢ⁾ dx ²hx df(xᵢ,yⱼ') _ f(xᵢ,yⱼ+₁')-f(xᵢ,yⱼ₌₁')’ шаги по равномерной сетке [%j, у,] где h%, ^y dy 2hy квадрата 100 X 100. 10