Цифровая интерполяция эвольвенты

УДК 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,

где t - угол между осью Оу и радиусом, проведенным в точку сматывания нити с окружности радиуса а.

Реализовать уравнение (1) аналитически на микропроцессорах затруднительно. Полученные в этом случае алгоритмы, будучи нецелочисленными, медленные и не отличаются повышенной точностью. Поэтому будем создавать целочисленный алгоритм цифровой интерполяции эвольвенты. Он будет базироваться на алгоритме цифровой круговой интерполяции [3] и на обобщенном алгоритме произвольных кривых [4].

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

Идея, положенная в основу алгоритма, геометрически представлена на рисунке. Контроль шагов эвольвенты состоит в фиксации факта того, что после свершения одного или нескольких шагов цифровой интерполяции эвольвенты (дуга ВС) текущая точка С эвольвенты достигла касательной ^С.

Это определяется по знаку оценочной функции для касательной ^4С, проходящей через точку А (х^, у^) с угловым коэффициентом k = — х^у^^ . Оценочная функция касательной

F (х, у) = у — кх — Ь ,

где Ь = у^ — кх^.

В точках, лежащих выше касательной, она положительна, ниже - отрицательна. На касательной она равна 0. Вот этот переход через ноль и будет означать

конец серии шагов цифровой интерполяции эвольвенты после каждого шага цифровой интерполяции окружности. После этого делается очередной шаг круговой интерполяции, и процесс повторяется. При этом меняются координаты (но не более, чем на ±1) точки А, угловой коэффициент к и, естественно, оценочная функция F(х, у) новой касательной АС. Цифровая интерполяция эвольвенты ведется по обобщенному алгоритму [4] с меняющимися АХ и АУ, равными х, и у, соответственно. Окончательно оценочная функция касательной для первого квадранта равна

F (x У) = yy + Xх -(xi + yf).

+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) на 0 или 1 заменяются сложением (если на 1). После этого корректируется значение оценочной функции для последней точки на эвольвенте по формуле, подобной (3), через приращение

AF (XJ+1' У J+1) = ujdy i + wjdx i

Контроль по касательной

Алгоритм корректировки таков. Если предыдущий шаг до ,-го узла был координатный (х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-архитектуры. Количественные результаты (максимальные абсолютные погрешности) цифровой интерполяции эвольвенты приведены в таблице.

Результаты цифровой интерполяции эвольвенты

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