Лабораторная работа 1. Теория сплайнов. Параметры, влияющие на точность аппроксимации контура
Скачать 3.7 Mb.
|
В.Л. Сосонкин ГМ. Мартинов Практикум По Программированию систем ЧПу Курс лабораторных работ по подготовке операторов-программистов станков с ЧПУ изучение сплайн-контуров на плоскости москва Часть 3 Изучение сплайн-контуров на плоскости содержание Лабораторная работа №1. Теория сплайнов. Параметры, влияющие на точность аппроксимации контура ..............4 Понятие о сплайнах и методах интерполяции в системе ЧПУ .........4 ASPLINE ...........................................................................................4 CSPLINE ............................................................................................7 Сплайн-программирование в системе ЧПУ Контрольные вопросы и задания .....................................................15 Индивидуальные задания ................................................................15 Лабораторная работа №2. Создание управляющих программ с использованием сплайновой интерполяции типов Akima (ASPLINE), NURBS (BSPLINE) и кубического сплайна (CSPLINE). Воспроизведение сплайновой интерполяции в системе ЧПУ Система ЧПУ Ход работы ......................................................................................18 ПРИМЕР 1: Контур лица в профиль ...............................................18 Работа с редактором Работа с Код управляющей программы Внесение изменений в программу Контуры, построенные с использованием сплайнов ПРИМЕР 2. Контур птицы в профиль .............................................24 Работа с редактором AdvancEd Работа с Структура управляющей программы Контрольные вопросы и задания .....................................................28 Индивидуальные задания Изучение сплайн-контуров на плоскости Лабораторная работа №3. Генерация и редактирование сплайн-контуров. Создание и отработка управляющих программ .........................................................................30 Введение ..........................................................................................30 Spline.Generator ...............................................................................30 AdvancEd .........................................................................................31 WINPCNC. .......................................................................................31 ПРИМЕР 1. Контур буквы ...............................................................31 Работа с программой Spline Generator Работа с программой AdvancEd Работа с системой ПРИМЕР 2. Контур фигуры ............................................................36 Работа с программой Spline Generator Работа с пограммой AdvancEd Работа с системой Контрольные вопросы и задания .....................................................37 Индивидуальные задания ................................................................37 Приложение Список литературы Изучение сплайн-контуров на плоскости Лабораторная работа № теория сПЛайнов. Параметры, вЛияющие на тоЧность аППроксимации контура Понятие о сплайнах и методах интерполяции в системе ЧПу Большинство систем ЧПУ располагают линейной, круговой и винтовой интерполяцией. Для обработки сложных скульптурных поверхностей строят линейную аппроксимацию с помощью системы, которая представляет собой траекторию в виде C��-системы, которая представляет собой траекторию в виде -системы, которая представляет собой траекторию в виде последовательности коротких отрезков длиной порядка 20 мкм. Современные системы ЧПУ решают туже задачу посредством полиномов и сплайнов. Из всего их многообразия устойчивое применение в системах управления нашли всего несколько их видов. Рассмотрим особенности применения соответствующих методов интерполяции. Полиномиальная интерполяция считается наиболее простой. Ее применяют для гладких траекторий, особенно в тех случаях, когда на основе малого числа заданных точек необходимо получить точный результат. Контур представляют в виде полинома степени n �� 1, где n �� число точек с известными значениями n �� 1, где n �� число точек с известными значениями �� 1, где n �� число точек с известными значениями n �� число точек с известными значениями �� число точек с известными значениями интерполируемой функции. Недостаток состоит в больших затратах вычислительной мощности ив сравнительно высокой погрешности в случае негладких контуров. 2. Сплайн-интерполяция использует кусочно-кубические функции. Этот метод обладает большими достоинствами, но его применяют, когда число заданных точек достаточно велико. Рациональная сплайн-интерполяция представляет собой функцию отношения двух полиномов. Этот метод можно считать наиболее мощным, поскольку он располагает дополнительными параметрами для управления формой контура. Задача сплайновой интерполяции состоит из двух подзадач расчет коэффициентов сплайна и расчет значений функции сплайна в отдельных его точках. Расчет коэффициентов сплайна обычно выполняет система, а расчет значений функции сплайна C��-система, а расчет значений функции сплайна -система, а расчет значений функции сплайна осуществляют в рамках алгоритма интерполяции системы ЧПУ. Задача сплайновой интерполяции сводится к решению двух подзадач расчет коэффициентов сплайна и расчет значения функции y(x) по заданному x. ASPLINE �SPLINE (�kima spline) проходит точно через заданные точки. В обобщенном виде акима-сплайн представляется многочленом (1), который описывает сегмент аппроксимируемой кривой, лежащий между двумя соседними точками y = Ax 3 .+.Bx 2 .+.Cx.+.D (1) (1) Изучение сплайн-контуров на плоскости Теория сплайнов. Параметры, влияющие на точность аппроксимации контура При этом коэффициенты многочленов подбираются так, чтобы в точках стыковки сегментов обеспечить непрерывность первой производной. Минимально допустимое количество точек определяется особенностями системы ЧПУ например, система ЧПУ Sin�me�ik позволяет построить кривые только через �� Sin�me�ik позволяет построить кривые только через �� позволяет построить кривые только через �� смежных точек, в то время как система ЧПУ WinPCNC �� через �� точки (в предельном �� через �� точки (в предельном �� через �� точки (в предельном случае можно использовать две точки, нов этом случае кривая трактуется как отрезок прямой. Используя �SPLINE, следует учитывать, что прирезком изгибе кривизны непрерывная кривая не создается. Главная область применения этого типа сплайна �� проходение через точки, полученные от контрольно-измерительной машины (КИМ) или от аналогичных машин. Рис.1. Точность �SPLINE зависит от количества точек Как можно видеть на рис, первый и последний сегменты не определены. Это следует из особенностей подбора коэффициентов сплайна. В системах ЧПУ �SPLINE-сплайна. В системах ЧПУ -сплайна. В системах ЧПУ для определения этих сегментов используют дополнительные условия (рис. 2). Например, нулевая кривизна вначале и конце, определенное значение производной и т. д. В программе Spline направление вначале и конце считается совпадающим с направление вначале и конце считается совпадающим с направление вначале и конце считается совпадающим с �ene�a��� направление вначале и конце считается совпадающим с направление вначале и конце считается совпадающим с направлением от первой до второй точки и от предпоследней до последней точки соответственно. Рис. 2. Первый и последний сегменты сплайна определены �SPLINE-сплайна определены -сплайна определены с помощью дополнительных условий Изучение сплайн-контуров на плоскости Лабораторная работа № Задание 1. Откройте утилиту Spline �ene�a���. Выполните команду меню �ene�a���. Выполните команду меню �ene�a���. Выполните команду меню. Выполните команду меню. Выполните команду меню . Tes��sin(2x)�x �� 12 p�in�s и установите галочку вменю. После этого �� 12 p�in�s и установите галочку вменю. После этого sin(2x)�x �� 12 p�in�s и установите галочку вменю. После этого �� 12 p�in�s и установите галочку вменю. После этого x)�x �� 12 p�in�s и установите галочку вменю. После этого �� 12 p�in�s и установите галочку вменю. После этого x �� 12 p�in�s и установите галочку вменю. После этого �� 12 p�in�s и установите галочку вменю. После этого p�in�s и установите галочку вменю. После этого и установите галочку вменю. После этого ��n��i�n. После этого ��n��i�n. После этого ��n��i�n. После этого ��n��i�n. После этого. После этого. После этого включите отображение сплайна (рис. сплайна (рис. сплайна (рис. Рис. 3. Задание По умолчанию, точки распределены равномерно по оси �� (риса. Переместите (риса. Переместите (риса. Переместите точки так, чтобы добиться максимального совпадения сплайн-контура с аппроксимируемой функцией (рис. �� б. Результаты отразите в отчете. а) б) Рис. 4. Задание 1 Изучение сплайн-контуров на плоскости Теория сплайнов. Параметры, влияющие на точность аппроксимации контура CSPLINE Кубический сплайн CSPLINE представляет собой непрерывную кривую, проходящую через заданные точки. Эти сплайны используют для задания точек, расположенных вдоль аналитически вычисляемой кривой (рис. 5). Рис. 5. CSPLINE (кубический сплайн) Интерполяция кубическими сплайнами служит быстрым, эффективными устойчивым способом интерполяции контура. Этот способ является основным конкурентом полиномиальной интерполяции. В его основе лежит идея разбиения интерполируемого контура на небольшие отрезки, на каждом из которых функция кривой задается полиномом третьей степени. Коэффициенты полинома подбираются так, что на границах интервалов обеспечивается непрерывность функции (контура, ее первой и второй производных. Также есть возможность задать граничные условия �� значения первой или второй производной на границах интервала. Если значения одной из производных на границе известны, то, задав ее, получим достаточно точную интерполяционную схему. Если значения неизвестны, то вторую производную полагают равной нулю на границе результаты при этом будут достаточно хорошими. Только для сплайна и для кубического сплайна могут задаваться допол- �SPLINE-сплайна и для кубического сплайна могут задаваться допол- -сплайна и для кубического сплайна могут задаваться дополнительные параметры, влияющие на характер прохождения первой и последней точек сплайна. Интерполяционный кубический сплайн класса C C 2 описывают многочленом ) ( ) ∑ = − = 3 Задание 2. Запустите утилиту Spline и включите отображение �SPLINE Spline и включите отображение �SPLINE и включите отображение и включите отображение �SPLINE и включите отображение и CSPLINE (меню Se��in�s���I�� � CSPLINE). Введите 10��12 точек на достаточном (меню Se��in�s���I�� � CSPLINE). Введите 10��12 точек на достаточном (меню Se��in�s���I�� � CSPLINE). Введите 10��12 точек на достаточном � CSPLINE). Введите 10��12 точек на достаточном � CSPLINE). Введите 10��12 точек на достаточном � CSPLINE). Введите 10��12 точек на достаточном � CSPLINE). Введите 10��12 точек на достаточном. Введите 10��12 точек на достаточном. Введите 10��12 точек на достаточном расстоянии друг от друга (желательно развернуть окно утилиты во весь экран. Расположите точки примерно так, как показано на риса Изучение сплайн-контуров на плоскости Лабораторная работа № 1 а) б).. Рис. 6. Задание Переместите одну из точек посередине контура (рис. �� б) и проследите, как изменится форма кривой. Опишите в отчете особенности влияния положения точки на форму кривой в случаях сплайна и кубического сплайна (на какую часть кривой точка �SPLINE-сплайна и кубического сплайна (на какую часть кривой точка -сплайна и кубического сплайна (на какую часть кривой точка влияет в обоих случаях). Теперь введите 5 точек так, как показано на риса. После этого переместите точку 2 вертикально вверх. Результат показан на рис. 7 б. Можно увидеть, что резкое изменение направления в точке может привести к дефектам контура в виде петель. Это ограничивает применимость сплайна и кубического сплайна при аппрокси- �SPLINE-сплайна и кубического сплайна при аппрокси- -сплайна и кубического сплайна при аппроксимации произвольных кривых Изучение сплайн-контуров на плоскости Теория сплайнов. Параметры, влияющие на точность аппроксимации контура а) б) Рис. 7. Задание Добавьте несколько точек и попробуйте получить одновременно две петли на контуре. Результат отразите в отчете �� неравномерные рациональные сплайны �� неравномерные рациональные B-сплайны Термин NURBS является аббревиатурой и расшифровывается как N�n-Uni���m NURBS является аббревиатурой и расшифровывается как N�n-Uni���m является аббревиатурой и расшифровывается как N�n-Uni���m N�n-Uni���m -Uni���m Uni���m. Ra�i�nal B-Spline, где B-Spline, где, где, где, где, где (неравномерный, неоднородный) означает, что область влияния контрольной точки на форму кривой может быть различной. Это очень важное свойство для моделирования иррегулярных кривых (рациональный) означает, что математическое выражение, описывающее форму моделируемой кривой, есть отношение двух полиномов. Эта особенность позволяет точнее моделировать различные кривые, например конические сечения (�asis spline, базисный сплайн) �� способ математического описания spline, базисный сплайн) �� способ математического описания spline, базисный сплайн) �� способ математического описания spline, базисный сплайн) �� способ математического описания, базисный сплайн) �� способ математического описания кривой интерполяцией между тремя и более контрольными точками. Математически NURBS описывается следующим образом описывается следующим образом описывается следующим образом где B i,n �� базисная функция (рис. 8); P i �� управляющая точка �� вес управляющей точки �� степень базисной функции i t i+1 t i+ t i+ t i+ t i t i+1 t i+ t i+ t i+ t i t i+1 t i+ t i+ t i+ t i t i+1 t i+ t i+ t Рис. 8. Базисные функции с нулевого до третьего порядка Изучение сплайн-контуров на плоскости 10 Лабораторная работа № Одной из ключевых характеристик кривых NURBS является то, что их форма оп является то, что их форма оп- является то, что их форма определена позициями управляющих точек подобно тем, что обозначены как PP i на рис. 9. Контрольные точки часто соединяют линиями, чтобы их легко можно было увидеть и показать их отношение к кривой. Эти соединительные линии формируют то, что известно как управляющий многоугольник (��n���l p�ly��n). ��n���l p�ly��n). Рис. 9. Влияние положения управляющих точек на формирование NURBS-сплайна NURBS-сплайна -сплайна Вторая кривая на рис. 9 иллюстрирует влияние смещения управляющей точки Форма кривой изменяется не по всей длине кривой, а только в небольшом окружении контрольной точки. Эффект называют локальным управлением. Это свойство позволяет осуществлять локализованные изменения путем перемещения отдельных контрольных точек в C��-C�� системах, не воздействуя на форму всей кривой. Каждая управляющая системах, не воздействуя на форму всей кривой. Каждая управляющая системах, не воздействуя на форму всей кривой. Каждая управляющая системах, не воздействуя на форму всей кривой. Каждая управляющая системах, не воздействуя на форму всей кривой. Каждая управляющая точка влияет на близлежащую к ней часть кривой и слабо или вообще не воздействует на части кривой, находящиеся дальше. Задание 3. Повторите в утилите Spline контур, показанный на рис. 9 Spline контур, показанный на рис. 9 контур, показанный на рис. контур, показанный на рис. 9 контур, показанный на рис. 9 в отличие от рисунка контур в утилите начинается впервой точке и заканчивается в последней. Переместите точку 7 так, как на втором контуре рис. 9 (точку можно переместить указателем мыши, нажав клавишу S�i��). Затем переместите эту точку внутрь. Затем переместите эту точку внутрь. Затем переместите эту точку внутрь контура. Результаты покажите в отчете. Рациональные кривые, в сравнении с обычными (нерациональными �� n�n-�a- n�n-�a- -�a- ra- �i�nal) В-сплайнами, дополнительно обладают двумя очень важными практическими) В-сплайнами, дополнительно обладают двумя очень важными практическими свойствами: обеспечивают корректный результат при проекционных трансформациях (например, при масштабировании); их можно использовать для моделирования кривых любого вида, включая конические сечения (окружности, эллипсы, параболы и гиперболы). Эти свойства обеспечиваются за счет ввода дополнительной координаты �� веса управляющей точки (��). По умолчанию, каждая управляющая точка несет вес 1.0; это. По умолчанию, каждая управляющая точка несет вес 1.0; это. По умолчанию, каждая управляющая точка несет вес 1.0; это означает, что они все имеют равное влияние на форму кривой. Увеличение веса отдельной управляющей точки добавляет ей влияния, что создает эффект притягивания кривой к этой точке (рис. 10). • • Изучение сплайн-контуров на плоскости 11 Теория сплайнов. Параметры, влияющие на точность аппроксимации контура Рис. 10. Влияние веса управляющей точки на притягивание кривой Следует иметь ввиду, что изменение весов только отдельных управляющих точек оказывает влияние на форму кривой. При пропорциональном изменении веса всех управляющих точек форма кривой сохранится. Задание 4. Повторите контур, показанный на рис. 10. Установите поочередно веса для точки 3 сначала 0.1, затем 3. Затем установите исходный вес (Веса точек можно установить в диалоге меню � Se��in�s � Pa�ame�e�s�� (рис. 11). � Se��in�s � Pa�ame�e�s�� (рис. рис. Рис. 11. Установка веса точки Теперь попробуйте установить вес для всех точек, равным 2.0. Убедитесь, что форма контура при этом не меняется. Покажите в отчете результаты всех проделанных операций. В системе управления запрограммированные (оцифрованные) точки контура служат контрольными для создаваемой кривой. Результирующая кривая прилегает к контрольным точкам, ноне проходит через них напрямую. При этом кривая всегда будет касательной к контуру в начальной и конечной точках сплайна. Дополнительные параметры (веса, задаваемые в кадре, оказывают влияние на создаваемую кривую. Они могут быть запрограммированы для каждой интерполяционной точки Изучение сплайн-контуров на плоскости 12 Лабораторная работа № Например, для систем ЧПУ Sin�me�ik задание в программе веса контрольной точки задание в программе веса контрольной точки задание в программе веса контрольной точки при помощи �� изменяется в диапазоне от 0 до 3 с шагом 0,0001. Как показано на рис. 10, �� изменяется в диапазоне от 0 до 3 с шагом 0,0001. Как показано на рис. 10, изменяется в диапазоне от 0 до 3 с шагом 0,0001. Как показано на рис. 10, при ���1 кривая сильнее притягивается к контрольной точке, а при ���1 �� слабее кривая сильнее притягивается к контрольной точке, а при ���1 �� слабее кривая сильнее притягивается к контрольной точке, а при ���1 �� слабее �� слабее �� слабее. Рис. 12. Базовые функции для множества контрольных точек и кривая для векторов узлов а) равномерное распределение в векторе узлов б) неравномерное распределение в векторе узлов Любая управляющая точка имеет собственную базисную функцию. Кривая с пятью управляющими точками, представленная на риса, будет обладать пятью такими функциями, каждая из которых покрывает некоторый интервал кривой. Все базисные функции на риса имеют абсолютно одинаковую форму и охватывают равные интервалы влияния. Точки, разграничивающие интервалы, называются узлами, а упорядоченный их список �� вектором узлов. Вектор узла для базисных функций, показанных на риса, имеет вид {0,0; 1,0; 2,0; 3,0; ��,0; 5,0; ��,0; 7,0}. Это пример равномерного (�ni���m) вектора узлов, когда все базисные функции на рисунке охватывают равные) вектора узлов, когда все базисные функции на рисунке охватывают равные) вектора узлов, когда все базисные функции на рисунке охватывают равные интервалы по длине кривой. Заменив вектор узлов на {0,0; 1.0; 2.0; 3.75; ��.0; ��.25; ��.0; 7.0}, получим набор неравномерных базисных функций, показанных на рис. 12 б, и соответствующую кривую с использованием того же набора управляющих точек. Базисные функции B B 2,3 (�) и) и) и B 3,3 (�), связанные с управляющими точками P �), связанные с управляющими точками P ), связанные с управляющими точками PP 2 и PP 3 соответственно, выше остальных, а интервалы {3,75; ��,0} ив векторе узлов для этих двух контрольных точек уже остальных, что оказывает на кривую концентрирующее влияние. В результате кривая сильнее смещена к управляющим точками Изучение сплайн-контуров на плоскости 13 Теория сплайнов. Параметры, влияющие на точность аппроксимации контура Важными свойствами неравномерных векторов узлов являются возможность управлять точным размещением начальной и конечной точек сплайна возможность создавать кривую, содержащую петли или изломы. Пусть, например, вектор узлов {0,0; 0,0; 0,0; 3,.0; ��,0; 5,0; ��,0; 7,0} определяет набор базисных функций таким образом, что начало кривой совпадает с управляющей точкой PP 0 (риса. При смещении нескольких узлов в середину вектора {0.0; 1,0; 2,0; 3,0; 3,0; 5,0; ��,0; 7,0} получим кривую (рис. 13 б, имеющую излом в управляющей точке PP 2 . Совпадение двух узлов понижает степень кривизны в этом соединении на единицу если совпадают три узла, то степень кривизны понижается на два итак далее. |