30137

Теория сплайнов. Параметры, влияющие на точность аппроксимации контура

Лабораторная работа

Информатика, кибернетика и программирование

SPLINE SPLINE kim spline проходит точно через заданные точки. Минимально допустимое количество точек определяется особенностями системы ЧПУ; например система ЧПУ Sinumerik позволяет построить кривые только через 6 смежных точек в то время как система ЧПУ WinPCNC через 4 точки в предельном случае можно использовать две точки но в этом случае кривая трактуется как отрезок прямой. Главная область применения этого типа сплайна прохождение через точки полученные от контрольноизмерительной машины КИМ или от аналогичных машин. В...

Русский

2013-08-23

3.81 MB

35 чел.

Министерство образования Российской Федерации

Московский Государственный Технологический Университет

«СТАНКИН»

Кафедра «Компьютерные системы управления»

Учебный курс «Структура и математическое обеспечение систем управления»

Лабораторная работа №1: «Теория сплайнов.  

Параметры, влияющие на точность аппроксимации контура»

Выполнил:

студент гр. ЭП-10-10

           Бруй А.А              

(дата)

(подпись)

Принял:

к.т.н.,  доцент

            Мартинова Л. И.

(дата)

(подпись)

Москва 2013

  1.  Понятие о сплайнах и методах интерполяции в системе ЧПУ.

Большинство систем ЧПУ располагают линейной, круговой и винтовой интерполяцией. Для обработки сложных скульптурных поверхностей строят линейную аппроксимацию с помощью CAM-системы, которая представляет собой траекторию в виде последовательности коротких отрезков длиной порядка 20 мкм. Современные системы ЧПУ решают ту же задачу посредством полиномов и сплайнов. Из всего их многообразия устойчивое применение в системах управления нашли всего несколько их видов. Рассмотрим особенности применения соответствующих методов интерполяции.

  1.  Полиномиальная интерполяция считается наиболее простой. Ее применяют для гладких траекторий, особенно в тех случаях, когда на основе малого числа заданных точек необходимо получить точный результат. Контур представляют в виде полинома степени n-1, где n — число точек с известными значениями интерполируемой функции. Недостаток состоит в больших затратах вычислительной мощности и в сравнительно высокой погрешности в случае негладких контуров.
  2.  Сплайн-интерполяция использует кусочно-кубические функции. Этот метод обладает большими достоинствами, но его применяют, когда число заданных точек достаточно велико.
  3.  «Рациональная» сплайн-интерполяция представляет собой функцию отношения двух полиномов. Этот метод можно считать наиболее мощным, поскольку он располагает дополнительными параметрами для управления формой контура.

Задача сплайновой интерполяции состоит из двух подзадач: расчет коэффициентов сплайна и расчет значений функции сплайна в отдельных его точках. Расчет коэффициентов сплайна обычно выполняет CAM-система, а расчет значений функции сплайна осуществляют в рамках алгоритма интерполяции системы ЧПУ. Задача сплайновой интерполяции сводится к решению двух подзадач: расчет коэффициентов сплайна и расчет значения функции y(x) по заданному х.

ASPLINE

ASPLINE (Akima spline) проходит точно через заданные точки. В обобщенном виде Акима-сплайн представляется многочленом (1), который описывает сегмент аппроксимируемой кривой, лежащий между двумя соседними точками.

y = Ax3 + Bx2 + Cx + D (1)

При этом коэффициенты многочленов подбираются так, чтобы в точках стыковки сегментов обеспечить непрерывность первой производной.

Минимально допустимое количество точек определяется особенностями системы ЧПУ; например, система ЧПУ Sinumerik позволяет построить кривые только через 6 смежных точек, в то время как система ЧПУ WinPCNC — через 4 точки (в предельном случае можно использовать две точки, но в этом случае кривая трактуется как отрезок прямой). Используя ASPLINE, следует учитывать, что при резком изгибе кривизны непрерывная кривая не создается.

Главная область применения этого типа сплайна — прохождение через точки, полученные от контрольно-измерительной машины (КИМ) или от аналогичных машин.

Рис.1. Точность ASPLINE зависит от количества точек

Как можно видеть на рис. 1, первый и последний сегмент не определены. Это следует из особенностей подбора коэффициентов Akima-сплайна. В системах ЧПУ для определения этих сегментов используют дополнительные условия (рис. 2). Например, нулевая кривизна в начале и конце, определенное значение производной, и т. д. В программе Spline Generator направление в начале и конце считается совпадающим с направлением «от первой до второй точки» и «от предпоследней до последней точки» соответственно.

Рис. 2. Первый и последний сегменты Akima-сплайна определены с помощью дополнительных условий

Выполнение заданий

Задание 1. Откройте утилиту Spline Generator. Выполните команду меню «Test» > «sin(2x)/x —  12 points» и установите галочку в меню «Test» > «Draw Function». После этого включите отображение Akima-сплайна.

По умолчанию, точки распределены равномерно по оси X. Переместите точки так, чтобы добиться максимального совпадения сплайн-контура с аппроксимируемой функцией (рис. 3). Результаты отразите в отчете.

Рис. 3  Задание 1

CSPLINE

Кубический сплайн CSPLINE представляет собой непрерывную кривую, проходящую через заданные точки. Эти сплайны используют для задания точек, расположенных вдоль аналитически вычисляемой кривой (рис. 4).

Рис. 4 CSPLINE (кубический сплайн)

Интерполяция кубическими сплайнами служит быстрым, эффективным и устойчивым способом интерполяции контура. Этот способ является основным конкурентом полиномиальной интерполяции. В его основе лежит идея разбиения интерполируемого контура на небольшие отрезки, на каждом из которых функция кривой задается полиномом третьей степени. Коэффициенты полинома подбираются так, что на границах интервалов обеспечивается непрерывность функции (контура), ее первой и второй производных. Также есть возможность задать граничные условия — значения первой или второй производной на границах интервала. Если значения одной из производных на границе известны, то, задав ее, получим достаточно точную интерполяционную схему. Если значения неизвестны, то вторую производную полагают равной нулю на границе; результаты при этом будут достаточно хорошими.

Только для Akima-сплайна и для кубического сплайна могут задаваться дополнительные параметры, влияющие на характер прохождения первой и последней точек сплайна.

Интерполяционный кубический сплайн класса C2 описывают многочленом:

Задание 2. Запустите утилиту Spline Generator и включите отображение ASPLINE и CSPLINE (меню «Settings» > «AKIMА» / »CSPLINE»). Введите 10-12 точек на достаточном расстоянии друг от друга (желательно развернуть окно утилиты во весь экран). Расположите точки примерно так, как показано на рис. 5а.

а)

б)

Рис. 5. Задание 2

Переместите одну из точек посередине контура (рис. 5б) и проследите, как изменится форма кривой.

Теперь введите 5 точек так, как показано на рис. 6а. После этого переместите точку 2 вертикально вверх. Результат показан на рис. 6б. Можно увидеть, что резкое изменение направления в точке может привести к дефектам контура в виде петель. Это ограничивает применимость Akima сплайна и кубического сплайна при аппроксимации произвольных кривых.

а) б)

Рис. 6. Задание 2

NURBS — неравномерные рациональные B-сплайны

Термин NURBS является аббревиатурой и расшифровывается как Non-Uniform Rational B-Spline, где:

  1.  «Non-Uniform» (неравномерный, неоднородный) означает, что область влияния контрольной точки на форму кривой может быть различной. Это очень важное свойство для моделирования иррегулярных кривых.
  2.  «Rational» (рациональный) означает, что математическое выражение, описывающее форму моделируемой кривой, есть отношение двух полиномов. Эта особенность позволяет точнее моделировать различные кривые, например конические сечения.
  3.  «В-spline» (basis spline, базисный сплайн) — способ математического описания кривой интерполяцией между тремя и более контрольными точками.

Математически NURBS описывается следующим образом:

Рис.7. Базисные функции с нулевого до третьего порядка

Одной из ключевых характеристик кривых NURBS является то, что их форма определена позициями управляющих точек, подобно тем, что обозначены как Pi на рис. 8. Контрольные точки часто соединяют линиями, чтобы их легко можно было увидеть и показать их отношение к кривой. Эти соединительные линии формируют то, что известно как управляющий многоугольник (control polygon).

Рис. 8. Влияние положения управляющих точек на формирование NURBS-сплайна

Вторая кривая на рис. 8 иллюстрирует влияние смещения управляющей точки P7. Форма кривой изменяется не по всей длине кривой, а только в небольшом окружении контрольной точки. Эффект называют локальным управлением. Это свойство позволяет осуществлять локализованные изменения путем перемещения отдельных контрольных точек в CAD-CAM системах, не воздействуя на форму всей кривой. Каждая управляющая точка влияет на близлежащую к ней часть кривой и слабо или вообще не воздействует на части кривой, находящиеся дальше.

Задание 3. Повторите в утилите Spline Generator контур, показанный на рис. 8 (в отличие от рисунка контур в утилите начинается в первой точке и заканчивается в последней). Переместите точку 7 так, как на втором контуре рис. 8 (точку можно переместить указателем мыши, нажав клавишу Shift). Затем переместите эту точку внутрь контура. Результаты (Рис. 9 а,б,в.) покажите в отчете.

             

                  

а)        б)

Рис. 9 Задание 3

Рациональные кривые, в сравнении с обычными (нерациональными — «non-rational») В-сплайнами, дополнительно обладают двумя очень важными практическими свойствами:

  1.  обеспечивают корректный результат при проекционных трансформациях (например, при масштабировании);
  2.  их можно использовать для моделирования кривых любого вида, включая конические сечения (окружности, эллипсы, параболы и гиперболы).

Эти свойства обеспечиваются за счет ввода дополнительной координаты — веса управляющей точки (w). По умолчанию, каждая управляющая точка несет вес 1.0; это означает, что они все имеют равное влияние на форму кривой. Увеличение веса отдельной управляющей точки добавляет ей влияния, что создает эффект «притягивания» кривой к этой точке (рис. 10).

Рис. 10. Влияние веса управляющей точки на «притягивание» кривой

Следует иметь в виду, что изменение весов только отдельных управляющих точек оказывает влияние на форму кривой. При пропорциональном изменении веса всех управляющих точек форма кривой сохранится.

Задание 4. Повторите контур, показанный на рис. 10 (рис. 11а). Установите поочередно веса для точки 3 сначала 0.1(рис. 11б) , затем 3 (рис. 11в). Затем установите исходный вес 1.0 (рис.11г).

Веса точек можно установить в диалоге меню > Settings > Parameters...

а)

б)

в)

г)

Рис. 11 Задание 4

В системе управления запрограммированные (оцифрованные) точки контура служат контрольными для создаваемой NURBS-кривой. Результирующая кривая прилегает к контрольным точкам, но не проходит через них напрямую. При этом, кривая всегда будет касательной к контуру в начальной и конечной точках сплайна. Дополнительные параметры (веса), задаваемые в кадре, оказывают влияние на создаваемую кривую. Они могут быть запрограммированы для каждой интерполяционной точки.

Например, для систем ЧПУ Sinumerik задание в программе веса контрольной точки при помощи w изменяется в диапазоне от 0 до 3 с шагом 0,0001. Как показано на рис. 10, при w>1 кривая сильнее притягивается к контрольной точке, а при w<1 — слабее.

         а)

Рис.13. Базовые функции для множества контрольных точек и NURBS-кривая для векторов узлов:

а) равномерное  б) неравномерное ; распределение в векторе узлов.

Любая управляющая точка имеет собственную базисную функцию. Кривая NURBS с пятью управляющими точками, представленная на рис. 13а, будет обладать пятью такими функциями, каждая из которых покрывает некоторый интервал кривой. Все базисные функции на рис. 13а имеют абсолютно одинаковую форму и охватывают равные интервалы влияния. Точки, разграничивающие интервалы, называются узлами, а упорядоченный их список — вектором узлов. Вектор узла для базисных функций, показанных на рис. 13а, имеет вид {0,0; 1,0; 2,0; 3,0; 4,0; 5,0; 6,0; 7,0}. Это пример равномерного (uniform) вектора узлов, когда все базисные функции на рисунке охватывают равные интервалы по длине кривой.

Заменив вектор узлов на {0,0; 1.0; 2.0; 3.75; 4.0; 4.25; 6.0; 7.0}, получим набор неравномерных базисных функций, показанных на рис. 13б, и соответствующую кривую (с использованием того же набора управляющих точек). Базисные функции B23(t) и B33(t), связанные с управляющими точками Р2 и Р3 соответственно, выше остальных, а интервалы {3,75; 4,0} и {4,0; 4,25} в векторе узлов для этих двух контрольных точек уже остальных, что оказывает на кривую концентрирующее влияние. В результате кривая сильнее смещена к управляющим точкам Р2 и Р3.

Важными свойствами неравномерных векторов узлов являются: возможность управлять точным размещением начальной и конечной точек сплайна; возможность создавать кривую, содержащую петли или изломы. Пусть, например, вектор узлов {0,0; 0,0; 0,0; 3,.0; 4,0; 5,0; 6,0; 7,0} определяет набор базисных функций таким образом, что начало кривой совпадает с управляющей точкой Р0 (рис. 14а). При смещении нескольких узлов в середину вектора {0.0; 1,0; 2,0; 3,0; 3,0; 5,0; 6,0; 7,0} получим кривую (рис. 14б), имеющую излом в управляющей точке Р2. Совпадение двух узлов понижает степень кривизны в этом соединении на единицу; если совпадают три узла, то степень кривизны понижается на два; и так далее.

Рис.14. Влияние вектора узлов на форму кривой

Векторы узлов также подразделяются на периодические и непериодические. Единственным их отличием является то, что в случае непериодического вектора первые и последние k узлов равны (k — порядок NURBS-кривой). Например: {0,0; 0,0; 0,0; 1,.0; 2,0; 3,0; 4,0; 4,0; 4,0} при k = 3. Как следствие, кривая начинается в первой управляющей точке и заканчивается в последней. В CAD/CAM системах и в системах ЧПУ в большинстве случаев используют непериодические векторы узлов.

Запрограммированные (оцифрованные) точки исходного контура создают некоторое множество управляющих точек NURBS-сплайна. Построенный сплайн лишь «тяготеет» к управляющим точкам, не пересекая их, кроме начальной и конечной точек, через которые проходит касательная к сплайну. Дополнительные параметры (веса), задаваемые в кадре управляющей программы ЧПУ, оказывают влияние на форму сплайна. Они могут быть привязаны к каждой управляющей точке контура. Так, в программе системы ЧПУ Sinumerik вес w управляющей точки можно изменять в диапазоне 0.. .3 с шагом 0,0001. В то же время в системе ЧПУ WinPCNC таких ограничений нет.

Сплайн-программирование в системе ЧПУ WinPCNC

К сожалению, широкое распространение сплайновой интерполяции не привело к унификации формата данных. В отсутствии стандарта ввода данных для сплайновой интерполяции, каждая фирма-производитель сама решает, расширять ли G-код или использовать команды своего макро-языка для задания сплайна.

Примеры формата кадра для NURBS и CSPLINE-интерполяции в системе ЧПУ Siemens Sinumerik (формат кадра в системе WinPCNC аналогичен):

;NURBS example

N10 G01 Х0 Y0 F1500

N20 BSPLINE N30 Х100 Y200 PW=2.0

N40 Х200 Y400

N50 Х300 Y300 PW=0.5

N60 Х400 Y450

N70 Х500 Y0 M30

;Cubic spline example

N10 CSPLINE Х20 Y10

N20 Х300

N30 Х400 Y50

N40 Х500 Y150

N50 Х550 Y70

N60 Х600 Y200

N70 Х650 Y200

N80 Х700 Y00

N90 Х800 Y100

N100 Х900 Y00 M30

Задание 5. В программе Spline Generator расставить контрольные точки таким образом, чтобы их координаты соответствовали значениям Х и Y первого из двух, приведенных выше примеров  Рис. 15(а). Результаты сохраните в файлах с расширением *.ncs. В редакторе добавьте недостающий текст для получения управляющей программы в соответствии с примером Рис. 15(б).

Заметьте, что координаты первой точки контура используются до команды BSPLINE в команде линейного перемещения G01, т.к. первоначально необходимо переместиться в начало контура.

Запустите файл в системе ЧПУ WinPCNC (Рис. 15в).

То же самое проделайте со вторым примером Рис.15(г,д).

Покажите в отчете полученные результаты  Рис. 15

а)

   б)       в)

г)

д)

 Рис.15 Задание 5

Индивидуальные задания

  1.  Вариант 1

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

Построить NURBS-кривую в утилите Spline Generator согласно указанному рисунку.

Предварительно установите порядок сплайна, равным k (меню «Settings» > «Parameters...» > поле «Order of spline»). Результат отразите в отчете.


Рис. 16 Индивидуальное задание 1

  1.  Вариант 14

Постройте кривую в утилите Spline Generator согласно указанному рисунку с помощью указанного типа сплайна. Результат отразите в отчете.

 Рис. 17 Индивидуальное задание 2


 

А также другие работы, которые могут Вас заинтересовать

49913. Создание нейронной сети в среде Нейросимулятор v 1.0 789 KB
  Нейронные сети на финансовом рынке Обзор основных нейропакетов. Архитектура сети. Обучение сети Тестирование. Но по сей день нейросети воспринимаются как перспективный но экзотический слабо изученный на российском рынке инструмент.
49914. Методы фокус-групп для сбора социологической информации 177 KB
  Место фокус-групп в системе социологических и маркетинговых методов Понятие метода фокус-групп Соотношение фокус-групп с групповыми методами и интервью Соотношение фокус-групп и наблюдения
49915. Овариоэктомия кошки 425 KB
  Оба длинных тонких рога матки cornu uteri имеют одинаковую толщину и трубчатую форму но не всегда одинаковую длину. Диаметр рога матки у небеременной кошки составляет 34 мм длина рогов матки колеблется между 90 и 100 мм. Каждый рог матки описывает выгнутую вентрально дугу; в каудальной части оба рога матки соединяются. Затем они сливаются полностью образуя тело матки corpus uteri.
49916. Разработка элементов систем искусственного интеллекта с использованием логической модели представления знаний 283.52 KB
  Используя предикаты parent(symbol,symbol), man(symbol), woman(symbol), married(symbol,symbol), записать факты, описывающие Вашу семью. Записать 8 правил вывода для любых родственных отношений в Вашей (или вымышленной)семье (например: мать, отец, сестра, брат, племянница, племянник, тетя, дядя, внучка, внук, бабушка, дедушка, двоюродная сестра, двоюродный брат и т.д.).
49917. Разработка элементов систем искусственного интеллекта с использованием логической модели представления знаний 320.9 KB
  По заданию было построено дерево родственных отношений, составлено 19 фактов и 13 правил, которые описывают родственные связи в моей семье. Используя язык логического программирования Prolog, написана программа, в которой отображаются все родственные отношения с помощью заданных правил и фактов. Использовались такие предикаты, как parent(string, string), man(string), woman(string), married(string ,string).
49918. Правоведение. Курс лекций 810 KB
  В конспекте лекций по курсу Правоведение в 1 части рассмотрены основы теории права без знания которых невозможна полноценная правовая подготовка современных специалистов и изучение конкретных отраслей права системы права России. Во 2 части рассмотрены основы важнейших отраслей системы права России – конституционного государственного права гражданского права семейного права трудового права экологического права административного права.ОСНОВЫ ТЕОРИИ ПРАВА Лекция...
49919. Разработка инструментальной среды для проектирования и выполнения нейропроектов 509 KB
  В течение последних 10 лет искусственные нейронные сети получили широкое распространение в качестве инструмента для решения различных задач анализа данных и распознавания образов. Разработать универсальный инструментарий при помощи которого можно создавать различные нейропроекты приложения использующие нейронные сети как универсальные так и специализированные. Модули для работы сетями включают в себя модуль для работы со структурой сети модули реализующие различные алгоритмы обучения а также модули содержащие...
49920. Кинематическое исследование грейферного механизма 4.76 MB
  В левом верхнем углу чертежного листа в масштабе 10:1 вычерчена кинематическая схема грейферного механизма в 12-ти положениях. Для этого один полный оборот ведущего звена 1 разбит на 12 частей по , где за нулевое положение принята точка, совпадающая с осью Y. Направление вращения ведущего звена выбрали так, чтобы перемещение пленки зубом грейфера обеспечивалось сверху вниз.
49921. Повышение эффективности системы подготовки и переподготовки государственных служащих в Республике Башкортостан 305 KB
  Образовавшийся дефицит компетентных кадров выдвинул на первый план проблему создания корпуса государственных и муниципальных служащих обладающих современными научными знаниями в области государственного и муниципального управления и профессионально подготовленных к осуществлению функций государства и местного самоуправления в своей практической деятельности. Решение столь сложной задачи невозможно без эффективной системы подготовки переподготовки и повышения квалификации государственных и муниципальных служащих. Функционирование системы...