электронное научно-техническое издание
НАУКА и ОБРАЗОВАНИЕ
Эя № ФС 77 - 30569. Государственная регистрация №0420900025. ISSN 1994-0408
Аппроксимация профилей лопаток компрессора с помощью кривых Безье
# 07, июль 2010 автор: Грушин М. А.
УДК.519.6
mihail.grushin@gmail.com МГТУ им. Н.Э.Баумана
Введение
В практике моделирования лопаточных венцов компрессоров газотурбинных двигателей (ГТД) построение геометрической модели пера лопатки обычно ведётся по её плоским сечениям (см. рис. В.1).
Рис. В. 1 Геометрическая модель лопатки и сечения, по которым она получена При этом сечения получают путём изменения геометрии выбранного исходного симметричного профиля в соответствии с газодинамическими и геометрическими требованиями,
предъявляемыми к лопатке. Плоский исходный профиль в свою очередь представлен координатами точек, обмерянных с поверхности его реального прототипа. В ходе преобразования сечения исходного профиля к требуемому виду меняется его длина (хорда), толщина, радиусы входных и выходных кромок, после чего нужным образом изгибается его средняя линия (рис.
Получение сечения сводится к вычислению новых значений координат точек исходного профиля, полученных после всех геометрических преобразований.
После получения координат всех точек, начинается этап построения сечения в среде какой-либо графической системы. В данной работе построение ведётся в среде Unigraphics По полученным точкам строится сплайн, затем он сопрягается с окружностями входных и выходных кромок. На этом традиционное построение сечения заканчивается. В статье предлагается несколько иной подход к решению поставленной задачи.
В.2).
Исходный симметричный профиль
Окружность Входной У кромки исходного радиуса
Окружность Выходной кромки исходного радиуса
О
Хорда исходного профиля = 1мм
Требуемое сечение
Окружность Входной кромки тредувмого радиуса
Окружность дыходной кромки требуемого радиуса
У
о
Требуемая Величина хорды
Рис. В.2 Получение требуемого сечения путём изменения геометрии исходного
1. Постановка задачи
Инструментальные погрешности при обмере точек реального исходного профиля приводят к тому, что сплайн, впоследствии проведённый через эти точки, не является гладким и имеет локальные неровности и перегибы, особенно заметные в области сопряжения с кромками на входе и выходе. По этой причине в ходе моделирования лопатки довольно много времени уходит на «выглаживание» сплайна и построение гладких промежуточных кривых, сопрягающих поверхность лопатки с окружностями входной и выходной кромок. Также довольно неудобным является тот факт, что в среде NX невозможно получить аналитическое уравнение сплайна, построенного по заданным точкам.
Нам кажется, что приемлемым решением проблемы является аппроксимация точек исходного симметричного профиля гладкой кривой невысокой степени. При наличии уравнения этой кривой становится возможным получение промежуточных точек исходного профиля в целях повышения точности построения сечения. В данной работе рассмотрен метод аппроксимации с помощью кривой Безье третьего порядка, являющейся достаточно простой для построения, а также обладающей свойствами, необходимыми для простого управления её формой и сопряжением с другими кривыми. Сам процесс аппроксимации сводится к применению методов оптимального поиска, в данном случае метода градиентного спуска, для минимизации функции отклонения кривой от аппроксимируемых точек. Для вычисления отклонений параметрической кривой Безье от точек с заданными координатами используются формулы Кардано. Метод, использованный для аппроксимации, гарантирует отсутствие перегибов и локальных осцилляций кривой, а также гладкость сопряжения с окружностями входной и выходной кромок.
2. Кривые Безье третьего порядка
Как известно, в параметрической форме кубическая кривая Безье описывается следующим уравнением:
В(0 = (1 - ¿)3Ро + з*(1 - 02Р1 + - *)Р3 + г3р3, I е [о, 1].
Четыре опорные точки Р0, Р1, Р2 и Р3, заданные в 2-х или 3-мерном пространстве определяют форму кривой (рис. 2.1).
Рх
р2
1 Страница 3
I I
I #
I
http://technomag.edu.ru/doc/147491.htm
Рис. 2.1. Кубическая кривая Безье.
Линия берёт начало из точки Р0, направляясь к Р1, и заканчивается в точке Р3, подходя к ней со стороны Р2. То есть кривая не проходит через точки Р1 и Р2, они используются для указания её формы и направления. Длина отрезка между Р0 и Р1 определяет, как скоро кривая повернёт к Р3.
Кроме гладкости кривой третьего порядка кривые Безье обладают следующими полезными свойствами.
1. Основа формы кривой повторяет очертания многоугольника.
2. Первая и последняя точки совпадают с соответствующими точками определяющего многоугольника.
3. Векторы касательных к кривой в первой и последней точках по направлению совпадают соответственно с первой и последней сторонами многоугольника.
Теперь вернёмся к нашей задаче. При известном радиусе входной и выходной кромок (соответственно R и г на рис.2.2) и известных углах сопряжения поверхности профиля с ними (а1 и а2 на рис. 2.2) можно точно определить координаты лежащих на соответствующих окружностях начальной и конечной точек кривой Безье. С ними совпадут точки Р0 и Р3 определяющего многоугольника (в соответствии со свойством 2). В этих точках кривая будет сопрягаться с окружностями. Но для гладкого сопряжения необходимо достичь G1-непрерывности, т. е. непрерывности по касанию. Таким образом, совпасть должны не только координаты точек на окружностях и кривой Безье, но и направления векторов первой производной в них. Анализируя свойство 3, приходим к выводу, что за направление вектора первой производной в начальной и конечной точках кривой отвечают соседние с ними точки Р1 и Р2. Направление вектора первой производной в точке на окружности нам известно - это направление прямой, касательной к Электронный журнал, №7 Июль 2010г. http://technomag.edu.ru/ Страница 4
окружности в этой точке. Значит, для обеспечения равенства направлений векторов опорные точки Р1 и Р2 должны лежать на соответствующих касательных прямых 11 и 12 (см. рис. 2.2). Более того, так как поверхность профиля должна быть выпуклой и не иметь перегибов, то в соответствии со свойством 1, определяющий многоугольник также должен быть выпуклым, и эти точки должны лежать выше точек Р0 и Р3.
4
Хорда профиля
Рис. 2.2. Поверхность исходного профиля.
Итак, на точки наложены все необходимые ограничения для обеспечения нужной формы кривой. Следующий этап - аппроксимация точек исходного профиля. В данной работе рассматривается способ аппроксимации с помощью методов оптимизации.
3. Задача оптимизации 3.1. Составление целевой функции
Как нам уже известно, форму кривой целиком определяют её опорные точки, следовательно, задача получения кривой определённой формы сводится к вычислению координат опорных точек, при которых такая форма будет получена. Если установить зависимость отклонения кривой от аппроксимируемых точек от координат её опорных точек, то с помощью методов оптимизации можно определить такие значения координат опорных точек, при которых отклонение будет иметь минимальную величину.
Целевая функция отклонения кривой от точек имеет вид ^
1 К
Е =ТЕ (У ~ Уьг У
I = 1
где N - количество исходных точек, у1 - ордината 1-ой исходной точки, уы - ордината
соответствующей точки на кривой Безье.
Отметим, что только координаты точек Р1 и Р2 доступны для варьирования в целях приближения. Также отметим, что эти точки всегда лежат на прямых, касательных к окружностям в точках сопряжения с кривой. Запишем уравнения этих прямых в параметрической форме:
Г\(/\) = Р0 ' (1 - /\) ^ Рх ' для касательной прямой 11,
г2(г2) = Рх • (1 - г2) + Р3 • г2 для касательной прямой 12. Здесь Рх - точка пересечения прямых 11 и 12.
Тогда координаты точек Р1 и Р2 могут быть получены из параметрических уравнений двух прямых как точки, принадлежащие этим прямым. Следовательно, целевую функцию можно
представить как функцию от параметров касательных прямых /1 и /2: Е — Е (г„ /2).
Подставляя уравнения прямых вместо точек Р1 и Р2 в исходное уравнение кривой Безье третьего порядка, имеем:
В(г, /1, /2) = (1 - г )3 Р0 + 3/ (1 - г )2 • (Р0(1 - /1)+Рхгх)+3/ 2(1 - г) • (Рх (1 - /2)+Р/2)+г 3Р3.
Тогда с учётом этого выражения целевая функция преобразуется к виду
N
1 N
Е(г, /1, /2)=-Ц(Ву (г, /1, /2) - у )2
2 /=1
Для вычисления значения целевой функции каждой 1-ой исходной точки определяется такая точка на кривой Безье, которая имеет равную с ней абсциссу, затем вычисляется разность их ординат. За выбор точек на кривой отвечает параметр /. Следовательно, для каждого I в уравнении целевой функции / должно иметь такое значение, при котором выполняется равенство абсцисс.
Практически это означает, что необходимо по известному значению Вх (/, /1, /2) = х1 определить
соответствующее ему значение /, подставив его затем в Ву(/, /2). Тогда перед нами встаёт новая
проблема: необходимость определения такого /, при котором такое равенство выполняется.
Так как для каждого г нам известны Вх, то параметр / определяется решением кубического уравнения кривой Безье. Для получения аналитического решения уравнения третьей степени воспользуемся формулами Кардано.
Итак, теперь можно однозначно определить значение параметра /, которому будет соответствовать точка с координатой х,. В таком случае из уравнения целевой функции исключается параметр /, и оно окончательно принимает вид
N 2
1 N
Е (<1, /2) =1 Ву, «1, /2) - у,) .
2 ' ^ / 1 \ \>1\ 1' 2 -2 г =1
3.2. Оптимизация целевой функции
В данной работе для поиска минимума выбран градиентный метод оптимизации с дроблением шага.
Суть градиентного метода состоит в итерационном изменении значений варьируемых параметров функции в антиградиентном направлении для поиска минимума. На каждой итерации
значение параметра вычисляется по формуле ^ =Х '"н- й,'" в Г
Здесь Хг - текущее значение параметра, Xг - текущее значение шага в направлении Sr, Sr - вектор направления антиградиента целевой функции в точке Хг.
Итерации повторяются до достижения заданной точности, т. е. достижения целевой функцией определённого значения, либо до тех пор, пока изменение значения функции по отношению к предыдущему значению не будет меньше некоторого значения в . Значение шага выбирается по следующему алгоритму. 1. Изначально Xг = X0 и к=0.
2. Если Е(/;+1, /2Г+1) < Е(/, /2) и к<4, то к = к+1.
3. Если Е(/;+1, /2Г+1) < Е(/, /2) и к=4, то к = 0, XГ+1 = 2 • Xг.
Аг
4. Если Е(г;+1, г2г+1) > Е(г1, г2), то Л = 0, Г+1 = у.
Метод градиентного спуска является одним из самых быстрых и простых в плане реализации методов оптимального поиска, но также является неустойчивым к наличию в функции локальных экстремумов. При построении графиков целевой функции для каждого из шести типов профилей в пакете MathCAD не было выявлено наличия у неё локальных экстремумов, однако было замечено, что функция имеет «овражный» вид. Тем не менее, значения минимума в «овраге» отличаются весьма несущественно (в пределах двенадцатого знака после запятой) и лежат в области приемлемых величин.
Итого, после достижения оптимизационным алгоритмом заданной величины отклонения, опорные точки располагаются таким образом, что кривая имеет наименьшее достижимое отклонение от точек исходного профиля. Так как опорные точки известны, то из уравнения кривой Безье можно получить любое желаемое количество точек для дальнейшего построения сечения, а сплайн, построенный средствами Unigraphics по полученным точкам, будет иметь гладкость кривой третьей степени. Кроме всего прочего, наличие уравнения кривой упрощает последующий прочностной расчёт.
При практическом применении алгоритму оптимизации требуется в среднем 600 итераций на достижение среднего отклонения от точек, равного 0.001 мм.
4. Создание модуля пользовательского приложения в среде NX Каждый пользователь, освоив интерактивные средства моделирования, формирования сборочных узлов и оформления конструкторской документации, в процессе решения практических, порой весьма нетривиальных задач сталкивается с потребностью дополнить возможности системы новыми функциями для решения таких задач или автоматизации выполнения повторяющихся процедур. В нашем случае процесс построения сечения можно полностью автоматизировать вместо построения вручную по точкам, полученным из аппроксимации. Сам процесс аппроксимации также можно интегрировать в модуль построения сечения. От пользователя потребуется только задать требуемые параметры сечения.
Для решения подобных задач Unigraphics располагает достаточно развитыми возможностями модуля UG/Open API (Application Program Interface), реализованного на принципах открытой архитектуры и предоставляющего доступ к объектам геометрической модели для программных приложений разработчиков или программ отдельных пользователей. UG/Open даёт возможность программным способом создавать геометрические модели, получать информацию об объектах, формировать сборки, генерировать чертёжную документацию и т. д. Практически все функциональные возможности Unigraphics, доступные пользователю при интерактивном взаимодействии с системой, реализуемы посредством функций API.
UG/Open API (User Function) реализует взаимодействие Unigraphics и программ пользователя, написанных на языке С/С++. Заголовочные файлы (.h) соответствуют требованиям стандарта ANSI C и поддерживают разработку программ с использованием языков С/С++. В зависимости от способа построения программа пользователя может выполняться как внешнее (External) или как внутреннее (Internal) приложение. В первом случае программа запускается средствами операционной системы как независимое приложение или как процесс, порожденный Unigraphics. Так как внешнее приложение не имеет средств графического вывода, ему доступны функции вывода на печатающие устройства и формирования CGI-файла. Во втором случае программа может быть запущена только из текущей сессии Unigraphics. Она загружается в пространство процесса и может быть остановлена только соответствующими командами API, а все результаты работы программы отображаются в графическом окне Unigraphics.
Создание собственного внутреннего приложения задача нетривиальная, и требует определенных усилий. В частности, файл с программным кодом создаётся в среде Microsoft Visual C++ с использованием шаблона для создания модулей Unigraphics NX. Шаблон поставляется вместе с дистрибутивом программы NX и в принципе доступен. Затем в среде Visual C++ создается новый проект, организуются необходимые диалоговые окна, выбирается тип приложения (внутреннее или внешнее) и язык (С/С++). Затем выбирается точка входа в приложение (автоматически при запуске программы, ручной запуск, определённое действие
пользователя) и способ завершения (вместе с Unigraphics, завершение по требованию). Документация по функциям библиотек UG/Open поставляется с дистрибутивом Unigraphics.
В случае если тип приложения - внутренний, точка запуска - вручную, то после компиляции программы получаем файл *^11. Для запуска приложения из среды Unigraphics необходимо в меню «Файл —> Выполнить -> Функция пользователя» выбрать нужный файл.
5. Заключение
Рассмотренный метод аппроксимации кривыми Безье третьей степени показал хорошие результаты при практическом применении. Простота модификации и малое количество вычислений для построения, а также инвариантность аффинных преобразований делают этот тип кривых довольно удобным инструментом при решении задач аппроксимации с наложенными ограничениями на форму кривой. Однако следует обратить внимание на необходимость введения ограничений на значения, принимаемые варьируемыми параметрами в процессе оптимизации, в противном случае кривая может принять неестественную для поверхности профиля форму, хотя условие минимума отклонения при этом будет достигнуто. Точность аппроксимации можно повысить, применяя кривые более высоких степеней и более точные методы оптимального поиска.
Автоматизация процессов построения сечений средствами пользовательских модулей Unigraphics позволяет сократить время моделирования лопаток и повысить эффективность труда инженера-конструктора.
6. Список использованных источников
1. М. Краснов, Ю. Чигишев. Unigraphics для профессионалов. - М: Лори, 2004. - 320с.
2. Роджерс Д., Адамс Дж. Математические основы машинной графики, 2-е издание. - М.: МИР, 2001. - 604 с.
3. База и Генератор Образовательных Ресурсов.
http://bigor.bmstu.ru/