УДК 681.325.5:621.9.06
ЦИФРОВАЯ ИНТЕРПОЛЯЦИЯ ЭВОЛЬВЕНТЫ
© 2012 г. АА. Булатников, Н.Н. Гершунина, И.Н. Булатникова
Кубанский государственный технологический Kuban State Technological
университет, г. Краснодар University, Krasnodar
На основе модельных свойств эвольвенты окружности разработан и испытан целочисленный алгоритм ее цифровой интерполяции, максимально ориентированный на быстродействующую микропроцессорную реализацию.
Ключевые слова: целочисленные алгоритмы; сложные кинематические системы; микропроцессоры.
The integral digital algorithm for interpolation of the evolvent of circle, based on the model properties of the evolvent, was developed and tested. The algoritm is maximum oriented on high-speed microprocessor im-plem entation.
Keywords: integral digital algorithm; microprocessors; complex kinematic systems.
Выдающийся механик академик К.В. Фролов ввел понятие «электронная кинематика» [1]. Его основной смысл - обеспечение заданных синхронных перемещений рабочих органов не с помощью механических кинематических узлов (шарниры, стержни, кривошипы, кулачки и т.п.), а с помощью силовых (обычно, электрических) приводов, синхронно управляемых компьютерной техникой.
Это упрощает процесс конструирования и изготовления сложных механических систем, сводя его к синтезу соответствующих алгоритмов и их программную реализацию на компьютерах.
Поскольку все узлы механизмов распределены и движутся в пространстве, то необходимо привлечение геометрических знаний при создании таких алгоритмов.
Среди таких алгоритмов широко используются алгоритмы цифровой интерполяции (станки с числовым программным управлением). Оставим вне внимания хорошо разработанные алгоритмы линейной, круговой и параболический интерполяции [2]. Более актуальными являются такие же алгоритмы для других кривых (эллипс, гипо-, эпи- и просто циклоиды). Нами синтезирован и апробирован такой же алгоритм цифровой интерполяции эвольвенты окружности. Эвольвентное зацепление в машиностроении широко используется при изготовлении зубчатых колес.
Эвольвента (развертка) окружности - это траектория конца нерастяжимой нити, сматываемой с натяжением с окружности. Ее уравнение в параметрическом виде таково:
х = a sin t - at cos t; y = a cos t + at sin t, (1)
где t - угол между осью Оу и радиусом, проведенным в точку сматывания нити с окружности радиуса а.
Реализовать уравнение (1) аналитически на микропроцессорах затруднительно. Полученные в этом случае алгоритмы, будучи нецелочисленными, медленные и не отличаются повышенной точностью. Поэтому будем создавать целочисленный алгоритм цифровой интерполяции эвольвенты. Он будет базироваться на алгоритме цифровой круговой интерполяции [3] и на обобщенном алгоритме произвольных кривых [4].
Ведущим является окружность, а касательная к ней в точке сматывания задает ограничение шагов интерполяции эвольвенты и направление этих шагов (параметры ДХг- и AYi для обобщенного алгоритма цифровой интерполяции кривой, у нас - это эвольвента).
Идея, положенная в основу алгоритма, геометрически представлена на рисунке. Контроль шагов эвольвенты состоит в фиксации факта того, что после свершения одного или нескольких шагов цифровой интерполяции эвольвенты (дуга ВС) текущая точка С эвольвенты достигла касательной ^С.
Это определяется по знаку оценочной функции для касательной ^4С, проходящей через точку А (х^, у^) с угловым коэффициентом k = — х^у^^ . Оценочная функция касательной
F (х, у) = у — кх — Ь ,
где Ь = у^ — кх^.
В точках, лежащих выше касательной, она положительна, ниже - отрицательна. На касательной она равна 0. Вот этот переход через ноль и будет означать
конец серии шагов цифровой интерполяции эвольвенты после каждого шага цифровой интерполяции окружности. После этого делается очередной шаг круговой интерполяции, и процесс повторяется. При этом меняются координаты (но не более, чем на ±1) точки А, угловой коэффициент к и, естественно, оценочная функция F(х, у) новой касательной АС. Цифровая интерполяция эвольвенты ведется по обобщенному алгоритму [4] с меняющимися АХ и АУ, равными х, и у, соответственно. Окончательно оценочная функция касательной для первого квадранта равна
F (x У) = yy + Xх -(xi + yf).
(2)
+2x-i +1; Af = Af-i - 2y,-1 +1,
или
af, = Afi-1 +
+2(х{_1 - у,_1 +1). На время опустим из рассмотрения и учета Аfi. Итак, упрощенно имеем
F(х, у) = УiУ + XiX - а2 .
Равенство нулю (2) следует из уравнения окружности радиусом а для всех точек касательной АС. Для исключения путаницы в дальнейших выводах обозначим координаты эвольвенты через (абсцисса) и и (ордината) для всех ее текущих точек.
Тогда координаты следующей точки эвольвенты будут такими:
Wj = Wj + dwj ,
Uj+1 = Uj + duj
Сумма в скобках выражения (2) примерно равна а2 . Точно она равна а2 для узлов круговой интерполяции, лежащих на окружности, а для остальных
(х2 + у,2) -А£- = а2,
где А/1 - превышение (х2 + у2) над а2 за счет того, что ,-й узел лежит вне окружности. В этом случае Аfi > 0, если же внутри, то А/г < 0 .
В предлагаемом алгоритме А/1, равное в начале интерполяции нулю, для других узлов рассчитывается по итерационной формуле и вычитается из оценочной функции F(х, у).
где dwj и duj - возможные приращения координат
при цифровой интерполяции эвольвенты, равные 1 или 0, на ^м шаге интерполяции.
Найдем приращение АF(Wj+1, Uj+1) как разность
F (WJ+l, и)+1) _ (WJ, и)):
AF (Wj+1, Uj+1) = y,dUj + x,dWj
(3)
Умножения в (3) на 0 или 1 заменяются сложением (если на 1). После этого корректируется значение оценочной функции для последней точки на эвольвенте по формуле, подобной (3), через приращение
AF (XJ+1' У J+1) = ujdy i + wjdx i
(4)
Контроль по касательной
Алгоритм корректировки таков. Если предыдущий шаг до ,-го узла был координатный (х1 = х1 _1 +1 или у, = у,_1 -1), то А/г будет равно 2х,_1 +1 или -2 у, _1 +1, а если диагональный (х1 = х1 _1 +1 и
у, = у,_1 _1), то АА = 2(х_1 _ у,_1+1). Эти формулы
следуют из (х ± 1)2 = х2 ± 2х +1. Отсюда А^ = А/1 _1 +
где dyi и dxt - приращения координат текущего узла круговой интерполяции (0 или ±1). Выражение (4) также не содержит умножения. Начальное значение оценочной функции F(x, y) в точке B (начало эвольвенты) равно нулю.
Таким образом, алгоритм цифровой интерполяции эвольвенты распадается на две части:
1) ведущим является алгоритм круговой интерполяции (делается ровно один шаг, и в работу включается вторая часть);
2) ведомый - обобщенный алгоритм цифровой интерполяции (делается один или несколько шагов, пока не сменит знак оценочная функция касательной). При этом параметры для второй части алгоритма выдает первая - в виде очередной точки (xt, yi) круговой интерполяции. После смены знака оценочной функции касательной управление передается первой части.
В итоге получается полностью целочисленный алгоритм (без операций умножения и деления), максимально ориентированный на быстродействующую реализацию на микропроцессорах, например, RISC-архитектуры.
Апробация полученного алгоритма цифровой интерполяции эвольвенты проводилась на персональном компьютере на языке Delphi путем эмуляции системы команд современных микропоцессоров RISC-архитектуры. Количественные результаты (максимальные абсолютные погрешности) цифровой интерполяции эвольвенты приведены в таблице.
Результаты цифровой интерполяции эвольвенты (в шагах интерполяции Д = 0,1 мм)
a = 100 a = 250 a = 500 a = 2000 a = 5000
0,793 0,814 0,825 0,916 0,990
Разработанный целочисленный алгоритм цифровой интерполяции эвольвенты рекомендуется для использования в станках с ЧПУ, автоматизированных системах проектирования и испытания сложных механических систем.
Поступила в редакцию
Литература
1. Механика и искусство конструирования в эпоху ЭВМ / К.В. Фролов [и др.] // Изобретатель и рационализатор. 1986. № 12. C. 16 - 17.
2. Кошкин В.Л. Аппаратные системы числового программного управления. М., 1989. 248 с.
3. Информационные технологии с использованием целочисленной арифметики / А.А. Булатников [и др.] // ГеоИнжиниринг. Краснодар, 2011. № 2. C. 54 - 57.
4. Булатников А.А., Булатникова И.Н. Цифровые интерполяторы криволинейных траекторий // Изв. Вузов. Сев.-Кавк. регион. Техн. науки. 2011. № 2. C. 16 - 19.
27 июня 2012 г.
Булатников Александр Андреевич - аспирант, кафедра «Вычислительная техника и автоматизированные системы управления», Кубанский государственный технологический университет.
Гершунина Наталья Николаевна - канд. техн. наук, доцент, кафедра «Начертательная геометрия и компьютерная графика», Кубанский государственный технологический университет. E-mail: inkras@yandex.ru
Булатникова Инга Николаевна - канд. техн. наук, доцент, кафедра «Прикладная математика», Кубанский государственный технологический университет. E-mail: inkras@yandex.ru
Bulatnikov Alexsandr Andreevich - post-graduate student, department «Computer Engineering and Automated Management Systems», Kuban State Technological University.
Gershunina Natalya Nikolaevna - Candidate of Technical Sciences, assistant proffessor, department «Descriptive Geometry and Computer Graphics», Kuban State Technological University. E-mail: inkras@yandex.ru
Bulatnikova Inga Nikolaevna - Candidate of Technical Sciences, assistant proffessor, department «Applied Marthe-matics», Kuban State Technological University. E-mail: inkras@yandex.ru