автореферат диссертации по обработке конструкционных материалов в машиностроении, 05.03.01, диссертация на тему:Видеоинформационная система токарного станка с интеллектуальным управлением
Автореферат диссертации по теме "Видеоинформационная система токарного станка с интеллектуальным управлением"
На правах рукописи ^^
* Я й2Н ?;7/?7
Носепкоп Дмитрий Анатольевич
ВИДЕОИНФОРМАЦИОННЛЯ СИСТЕМА ТОКАРНОГО СТАНКА С ИНТЕЛЛЕКТУАЛЬНЫМ УПРАВЛЕНИЕМ
Специальность 05.03.01 Процессы механической и физи-
ко-технической обработки, станки и инструмент
АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата технических наук
Ростов-на-Дону - 2000
Работа выполнена в Донском государственном техническом университете.
Научный руководитель -
доктор технических наук, профессор Тугенгольд А.К.
Научный консультант
кандидат технических наук, доцент Лукьянов Е.А.
Официальные оппоненты
доктор технических наук, профессор Журавлёв Л. А.
кандидат технических наук, профессор Попов В.Л.
Ведущее предприятие «ФГУП ВНИИ «Градиент» »
Защита состоится 28 ноября 2000 г. в 10 часов на заседании диссертационного совета Д. 063.27.03 в Донском государственном техническом университете по адресу 344010, г. Ростов-на-Дону, пл. Гагари- , на, 1. ДГТУ, ауд.252.
С диссертацией можно ознакомиться в библиотеке Донского государственного технического университета.
Автореферат разослан 21 С^-ЩЧ 2000 года.
Учёный секретарь
Диссертационного совета, ^
Доктор технических наук, профессор /у- /^ Чукарин А.Н.
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Астуальность темы.
Повышение качества изготовления деталей является одним из важнейших требований современного производства к технологии механической обработки и станкам. Особую актуальность приобретает это требование в условиях компьютеризированного производства, построенного на принципах безлюдной технологии. Под качеством будем понимать совокупность показателей точности обработки, безотказности и производительности.
Один из перспективных путей повышения качества обработки заключается в создании и применении интеллектуальных систем управления, обеспечивающих изготовление каждой конкретной детали с учётом технических характеристик и состояния станка, режущего инструмента, заготовки. При этом в состав интеллектуальной системы управления должна включаться информационно-измерительная подсистема, осуществляющая сбор и формирование требуемых данных!
Состояние режущего инстру мента при формировании каждой поверхности оказывает решающее влияние на точность обработки изделий. В связи с этим большое значение имеет разработка методов комплексного и оперативного контроля состояния инструмента, а также реализация систем контроля инструмента на базе современных технических средств. На сегодняшний день известны системы контроля инструмента, основанные на различных методах получения и обработки информации, однако, они не обладают возможностью производить экспертную оценку состояния инструмента для осуществления коррекции траектории движений РИ. Данная проблема может быть решена за счёт создания системы, обладающей функциональной полнотой и информативностью, необходимыми для реализации интеллектуального управления станком, что является актуальной задачей.
Работа выполнена в соответствии с федеральной межвузовской научно-технической программой «Механика, машиноведение и процедуры управления», по фанту «Экспертная система станка для обеспечения точности обработки» Российской программы «Машиностроение» и единому заказ-наряду Министерства образования РФ.
Цель работы - повышение качества обработки на токарных станках с интеллектуальным управлением путем создания и применения вндеоинформационной системы контроля состояния режущего инструмента.
Автор защищает: К Алгоритм обработки визуальной информации для оценки состоя-
ния режущего инструмента при интеллектуальном управлении токарным станком в условиях интегрированного производства.
2. Метод повышения точности определения формы лезвия режущего инструмента (РИ).
3. Программное обеспечение видеоинформационной системы ВИС контроля состояния инструмента.
Научная новизна заключается в следующем:
1. Предложена модель и проведены исследования формирования сигнала изображения видео-датчика на основе фотопреобразователя с зарядовой связью (ФПЗС) при видеоизмерении формы контура бинарной проекции режущего инструмента.
2. Разработан метод повышения точности видео-измерения лезвия РИ, основанный на обмене амплитудного и пространственного разрешения видео-датчика, позволяющий сохранить поле зрения достаточное для обеспечения функциональных возможностей ВИС.
3. Определены технологически значимые состояния РИ с учётом использования видеоинформационной системы в составе интеллектуальной системы управления токарным станком.
4. Созданы базовые алгоритмы обработки визуальной информации и выделения признаков износа и повреждения РИ путем сравнения текущего и эталонного контуров проекции РИ полученных из видео изображения.
Практические результаты работы заключаются в следующем:
1. Разработана структура видеоинформационной системы контроля состояния РИ и созданы алгоритмы обработки визуальной информации, предусматривающие уточнение координат точек контура проекции РИ для формирования корректирующих управляющих воздействий.
2. Разработана компоновочная схема и определён состав аппаратных средств видеоинформационной системы контроля состояния РИ, обеспечивающие оптимальное сочетание информативности исходного контролируемого образа и технологичности применения в производственных условиях.
3. Разработан протокол взаимодействия программного обеспечения реализующего общее интеллектуальное управление станком и программного обеспечения видеоинформационной системы.
4. Все разработанные алгоритмы реализованы в виде законченного программного продукта, реализующего обработку визуальной ин-
формации, а также связь с интеллектуальной системой управления станком.
Апробация работы. Основные результаты работы докладывались на 5-той международной конференции по динамике технологических систем, Ростов-на-Дону, 1997 г. и на научно - технических конференциях профессорско-преподавательского состава ДГТУ 1997-1999 г.
Публикации. По материалам исследований опубликовано б печатных работ.
Реализация работы. Результаты диссертационной работы нашли следующее практическое применение: при выполнении научно-исследовательских работ по федеральной целевой программе, на ФГУП «ПО Азовский оптико-механический завод», в учебном процессе кафедры «Робототехника и Мехатроника» Донского государственного технического университета по специальностям 1202 «Металлорежущие станки и инструмент» и 0718 «Мехатроника».
Структура и объём работы. Диссертационная работа изложена на листах машинописного текста, включающего 4 главы основной части, заключение и общие выводы. Диссертация содержит список литературы из наименований, /j> таблиц, ¿3. рисунков и приложения на ¡ß_ страницах.
СОДЕРЖАНИЕ РАБОТЫ. 0о введении обосновывается актуальность работы, формулируются цель и задачи исследования, научная новизна, практическая полезность, приводятся сведения о практическом использовании результатов работы, даётся информация о структуре диссертации к основных положениях, выносимых на защиту
В первой главе приведен анализ состояния вопроса в области повышения качества механической обработки за счёт учёта состояния инструмента, в том числе рассмотрены проблемы касающиеся обработки резанием, износа режущего инструмента, разрабатываемых и применяемых методов и систем контроля состояния режущего инструмента. Эти вопросы нашли cboö отражение в исследованиях Т.Н. Лоладзе, Н. Кука, Н.С. Колева, А. Д. Макарова, В.Г. Солоненко, Ю.Г. Кабалдина, A.A. Маталина, A.A. Рыжкина, B.JI. Заковоротного, Г.Г. Палагнюка, А. Г. Деревянченко, S. Okumura и других. Однако проблема повышения качества обработки на станках за счёт учёта состояния РИ и формирования соответствующих корректирующих управляющих воздействий остаётся актуальной. Особую роль приобретает данная проблема в связи с организацией современного производства по прин-
ципам 'безлюдной' технологии. По различным оценкам, доля отказов РИ составляет в зависимости от условий эксплуатации от 23 до 63 % общего числа нарушений работоспособности станков ЧПУ. Другим аспектом современного подхода к обеспечению качества механической обработки в компьютеризированном интегрированном производстве является тенденция к объединению достижений в области управления станками, искусственного интеллекта, экспертных систем, в рамках разработки систем с интеллектуальным управлением (ИСУ), что позволяет восполнить утраченный вклад рабочего профессионала с его опытом, знаниями и навыками в достижении качества обработки, и таким способом реализовать потенциально высокую точность изготовления продукции на существующем оборудовании. При этом информационно измерительная подсистема (ИИПС), входящая как составная часть в ИСУ, должна обеспечивать решение задачи контроля состояния инструмента. Наиболее полно состояние РИ в интеллектуальной технологической системе может быть оценено и учтено при реализации ИС контроля РИ следующих функций:
• Контроль поломки или повреждения инструмента;
• Контроль величины износа;
• Размерная настройка и контроль координат вершины РИ;
• Прогнозирование поломки РИ;
• Распознавание типа РИ;
• Управление технологической системой по состоянию РИ;
Известные методы контроля состояния РИ базируются на использовании датчиков пазличных физических величин, прямо или косвенно отражающих состояние РИ. Системы, реализующие данные методы, были рассмотрены с точки зрения полноты функциональных возможностей. Анализ результатов показывает, что на сегодняшний день не существует универсального метода пригодного для контроля всех типов лезвийного РИ при токарной обработке. Вместе с тем метод прямого бесконтактного вндео-измерения РИ имеет наиболее полные функциональные возможности при потенциально высокой точности по сравнению с другими методами контроля.
Для методов вндео-измерения определяющими, с точки зрения точностных и функциональных возможностей и применяемого математического обеспечения, являются расположение и ориентация видео-датчика относительно контролируемого РИ и применяемая схема освещения. Существуют два основных варианта компоновки вндеоин-формационных систем (ВИС), показанные па рис.1:
1. Ось объектива видео-датчика перпендикулярна задней поверхности РИ или направлена на вершину. Исходным контролируемым образом является проекция 'ленточки' износа по задней поверхности, возможен контроль передней поверхности. Подсветка осуществляется в отражённом свете одним или несколькими источниками.
2. Ось объектива видео-датчика перпендикулярна плоскости перемещения суппорта. Исходным контролируемым образом является контур проекции рабочей части и вершины лезвия РИ. При этом возможно применение дополнительного пидео-датчика, наклоненного по отношению к основному, для формирования двух проекций и вычисления пространственного положения режущей кромки инструмента.
г '
б) в) д)
Рис 1. Варианты компоновки ВИС а) комгкхювка I; б, в) образы износа дга компоновки 1;
I) компоновка 2; д) образ износа для компоновки 2;
Исходя из геометрии токарных резцов, связь между шириной фаски износа по задней поверхности И3 и радиальным износом 1гг выражается соотношением I.
Ь3
■ctg(a)-tg(y)>
(1)
где: а, у -задний, передний угол; Иг износ по задней поверхности; Ъ, -радиальный износ.
Второй вариант компоновки целесообразен для прямого измере-
ния радиального износа и имеет определённые преимущества при большей функциональной полноте и информативности. При таком варианте компоновки возможно определять координаты вершины РИ, распознавать тип РИ, выполнять операцию размерной настройки, он обладает большей гибкостью и универсальностью, заключающейся в возможности контроля расточного и осевого инструмента. Для применения второго варианта компоновки в промышленно-ориентированных ВИС, необходимо обеспечивать значительные размеры поля зрения (до 10 *10 мм) при погрешности измерения не хуже 2.5 - 5 мкм. Реализация требуемой точности измерения на базе широко распространённых ьидео-датчиков с числом элементов растра не более 600x600 невозможна без применения специальных способов повышения разрешающей способности. Задача должна решаться в частности, путём создания алгоритмов обработки изображения, способных при измерениях формы и координат объектов обеспечивать погрешность измерения формы контура РИ меньше шага расположения элементов растра.
Для достижения поставленной цели сформулированы задачи, решаемые в работе:
1. Определить классифицирующие признаки состояния лезвия РИ по топологическим характеристикам его контура.
2. Построить алгоритмы обработки визуальной информации ВИС, позволяющие определять состояние РИ на основе анализа изображения проекции его режущей кромки.
3. Разработать математическую модель измерения формы и положения лезвия РИ по его изображению, формируемому видеодатчиком.
4. Разработать метод повышения точности измерения формы лезвия РИ при сохранении поля зрения, достаточного для обеспечения необходимых функциональных возможностей ВИС.
5. Разработать программное обеспечение ВИС, включая разработку интерфейса сопряжения ВИС с ИСУ токарного станка.
6. Выполнить экспериментальные исследования ВИС контроля режущего инструмента на токарном станке..
Во второй главе решаются задачи обеспечения необходимых точностных характеристик ВИС, определённых особенностями её применения в составе ИСУ токарного станка. Используемые в настоящее время в этих целях аппаратные средства не обеспечивают необходимой точности и мало пригодны в условиях производства. Некоторые специальные алгоритмы обработки сигналов изображения (СИ) позво-
ляют определять с погрешностью меньше элемента растра координаты центра объектов, но не их форму, либо ориентированы на использование 2-х и более дискретных крупноформатных фото датчиков.
Решение проблемы состоит в разработке алгоритма уточненного расчета координат контурных точек, последовательность которых определяет форму проекции лезвия РИ. Основная идея, положенная в основу метода, состоит в комплексном учёте амплитудного и пространственного разрешения видео-датчика при вычислении коррекции контурной точки (2) относительно центра фото-ячейки в виде вектора
Я*:
иг=/чЯГ + ед). созОЯ)]
Ук =J■Sr + R(U,)^sin(j5)¡'
где: Хк,Ук - проекции вектора коррекции; 5Х, 5У - шаг элементов растра по строке и кадру; /, У - номер элемента растра; Я(и}) - зависимость расстояния между центром фото-ячейки и проекцией границы от сигнала 'центральной* фото-ячейки; 0 - угол вектора градиента функции яркости изображения;
Коррекция производится в направлении нормали к контуру (рис.2), определяемой направлением вектора градиента яркости.
фото ячеёки
и0 и, и2
и} и9 и4
и, /и6
XI
▼
Граница контура
Рис. 2. Схема уточнения координат контурных точек.
Нелинейный локальный оператор Собела определяет проекции вектора градиента на оси системы координат видео-датчика согласно выражению 3.
(вх = из + 2 • С/, + и4 - и0 - 2 • и, - иб
вг =£/0 + 2-С/,+1/а-С/в-2.£/5-*/4 9
Для определения зависимостей R=f(U) и U=f(R) предложена математическая модель сигнала элемента растра при видео-измерении формы и положения проекции границы произвольной формы
иы = KySr~Z- ¡¡А(х,у)■E(x+j-&c + x0,y + i-Sy+y0)dS> (4) п s„
где: Set накапливающая площадь элемента растра; А(х,у)- апертурная характеристика элемента растра; Е(х,у) - распределение освещённости; Ку- коэффициент усиления; Sy- паспортная чувствительность ФПЗС; I.J- индексы элементов растра по строке и столбцу; 5х, 5у -шаг дискретизации по столбцу и строке, х0, уо - смещение апертуры относительно распределения яркости Е(х,у).
Апертурная характеристика элемента растра A fx,у) представляет собой распределение чувствительности по накапливающей площади фото-ячейки. Апертурная характеристика элемента Г13С по строке А(х)-.
при
2'д. 2 2 (5)
1 при
1 \ ... Л
Л2(дг) =
(<У, + Д,-2-*)—- при --(5,-+ЛД
2-Д,
Ах(х) = ( 1-е-а1Г)-Х2(х) (6)
где: Ах =4 мкм—ширина областей стоп - диффузии, мкм; бх—шаг дискретизации по строке, мкм; а=0.4—коэффициент поглощения света полупроводником; \У=4 мкм—глубина области пространственного заря;и.
Апертурная характеристика по кадру
Ау(у) =
1 при i 2
Ryb>) при i< 2 w4
0 при w*
д> w-sin « .у п-п А И
L >-i г \ п-п A J 1
(7)
(8)
где: Ду — расстояние между краями накапливающих фазных электродов ФПЗС; </у=6 мкм—ширина фазного электрода; Ь=10 мкм—диффу-
зионная длина неосновных носителей заряда. Двумерная апертурнал характеристика А(х.у) аппроксимирована произведением продольной Ах и поперечной Ау апертурных характеристик, представленных численно, в виде двух трапецеидальных функций.
Распределение яркости £(х, у) также определяется численно для границы заданной формы. Расчет проводится в предположении о незначительности нелинейных искажений оптической системы ВИС. При этом форма контура проекции реального объекта может быть представлена свёрткой (9) функции распределения яркости точечного источника излучения Ет (10) и ступенчатой функции распределения яркости идеальной бинарной проекции Ен.
уя уя
Е(х,У)= / \Ей(х,у)■ Ет(х-х0,у-у0)с!у0с1х0, (9)
-уя-уя
ЕАх,у) = ^-.е "" (»0)
Ев вычисляется на основе аналитического представления границы объекта, зачаваемого в виде логического выражения. В качестве операндов используются неравенства вида /¡(х, у)<0. Каждое неравенство описывает локальный участок контура проекции объекта. Все точки плоскости проекции ХОУ, удовлетворяющие неравенству, лежат по одну строну границы, принадлежат объекту и имеют минимальную интенсивность равную 0. Все остальные точки принадлежат фону и имеют максимальную интенсивность равную 1. Параметр г в (10) определяет конечную разрешающую способность объектива.
Расчет характеристик и=/(Я) проведен с учетом влияния факторов изменения разрешающей способности оптической системы, формы контура (прямолинейная граница и дуги окружности различного радиуса), взаимной ориентации элемента растра формирующего сигнал {/, и границы объекта. В результате моделирования были получены зависимости (рис.З) и установлено превалирующее плилшге
фактора разрешающей способности на форму сигнала. Семейство характеристик Я(У) (рис.4) для фиксированного значения параметра г (10), было аппроксимировано на центральном участке прямой. Размер линейного участка функции Я(и) = Ь1-1/ + Ьа рассчитывался из условия минимума максимального отклонения. При г=9 мкм были получены значения коэффициентов ¿>„=14.68, Ь0=-29.0 для участка от -5Х/2 до +5Х/2. Такие границы участка позволяют постоянно иметь на перепаде 'фон-объект' элемент растра с сигналом в диапазоне 0.16 < £/ < 0.85
и линейной зависимостью сигнал - расстояние, погрешность аппроксимации составляет при этом ЛА=3.5%.
На основании построенной математической модели (3-10) и полученной линеаризованной зависимости Щ1)) были проведены сравнительные исследования предложенного метода уточнения точек контурной последовательности путем моделирования процесса измерения формы тестовых объектов традиционным и предлагаемым методом.
и 1
08
06
04
0.2 0
10 -20 -10 0 10 . 20 30 ш
РисЗ Зависимости 11^/(11)цпя прямолинейнойраницы (а=0)при Я различных значениях параметра г-В качестве тестовых были взяты: объект с прямолинейной границей и вырезом в форме кругового сегмента при глубине выреза Н=10 мкм и Н=5 мкм; объект в виде клина образованного двумя прямыми; объекты с границей в форме периодической кривой (синусоиды). Моделировалось определение контуров с помощью ФПЗС датчика К1200ЦМ7Б с размерами пространственной апертуры 23*30 мкм. Мерой отклонения формы измеренного контура от заданного аналитически, являлся максимум расстояния вычисленных контурных точек от ближайшей точки, лежащей на кривой аналитического описания контура. Моделирование проводилось при изменении пространственной фазы расположения дискретной структуры ФПЗС матрицы (х0, у0 в формуле 4), относительно распределения яркости, образованного объектом. Результаты показали, что максимальное отклонение вычисленных контурных точек составило без уточнения 20.3 мкм, с уточнением 2.4 мкм. Таким образом, значение систематической погрешности уменьшилось с величины порядка 1.15-Д/^ при использовании традиционной методики до 0.133-ДА' при использовании разработанной
г-9/ \\ --,---,-- 0 • _ —-х-1 05
1 1
методики, т.е. приблизительно в 8 раз
В третьей главе диссертации решаются задачи алгоритмического обеспечения процесса обработки визуальной информации и распознавания состояния РИ. Изображение РИ обрабатывается ВИС в цикле контроля в соответствии с обшим алгоритмом, приведенном на рис.5. На этапе предварительной обработки вводимое изображение усредня-, ется по N кадрам с целью уменьшения помех, производится коррекция
Имкм 20 1 ...... 1 ■■■ 1 -_____ 0 1 1 5 А
1 21 5. >ч 1 0 г - в -
-20 - ■ ■ ..........^ —>
а 0 2 0.4 0 6 0« I
Рис.4. Аппроксимация зависимостей ¡1(11) прямой. | где: 2Ь- размер участка; В -аппроксимирующая зависимость для текущей фото-ячейки; А и С - для смежных по строке (столбцу )
неравномерности характеристик элементов растра ФПЗС, осуществляется гистограммная проверка качества освещения. С целью обеспечения достоверности результатов обработки, особо необходимых при работе в составе ИСУ выполняется ряд процедур сегментации и распознавания образа РИ. Они включают операции порогового разделения исходного изображения и сегментацию двух градационного изображения Оригинальный быстродействующий алгоритм сегментации обеспечивает вычисление параметров сегментов. На основании анализа расположения 'оболочки' сегмента, осуществляется предварительное распознавание типа РИ Тщ и определяются точки отсечення Роа Рос2 проекции РИ полем зрения видео-датчика. Алгоритм трассировки границы используются при выделении контурной последовательности К. Блок уточнения обеспечивает минимальную погрешность контурных точек Кц. После преобразования в систему координат станка контурная последовательность Кик используется для вычисления вершины Р и базовой точки (БТ) В контура проекции РИ. Координаты БТ являются инвариантными к проявлениям износа и повреждения, так как рассчитываются на основе участков лезвия неподверженных износу.
Рис. 5. Общий алгоритм цикла контроля состояния РИ
14
Из контурной последовательности выделяется участки вероятного проявления износа 7/2Лг. Описанные выше действия (блоки 1-13 на рис.5) используются как при создании текущего, так и эталонного образов.
В блоке 13 рассчитываются топологические характеристики контура лезвия РИ, включающие функции отклонения точек текущего контура от контурных последовательностей базового Аа-1 и текуще-го'этапонов Ааы\ а также отклонения вершины АРЯ (использующиеся для корректировки положения инструмента), отклонения базовой точки АВ. Текущий эталон необходим для организации контроля изменения износа и наростообразовання. В каждом цикле контроля он модифицируется, путём включения в его контурную последовательность участков текущих приращений износа. Приращения связанные с наростом игнорируются. Последним этапом обработки информации является выделение из топологических функций классифицирующих признаков состояния РИ и распознавание состояния инструмента.
С учётом того, что разрабатываемая ВИС должна входить в состав ИСУ, множество технологически значимых работоспособных (Р) и неработоспособных (Н) состояний РИ было определено в следующем виде:
С[ -наличие компенсируемого износа или погрешности размерной настройки;
■ образование нароста, требуется изменения скорости резания; СЦ- концентрированный (канавочный) износ, требуется изменение подачи;
- ВИС не может определить состояния по причине наличия частиц обрабатываемого материала (не удалённых при очистке РИ перед циклом контроля);
С' - состояние, не требующее коррекции;
С" - состояние предельного износа, требуется немедленная замена РИ; С" • состояние поломки, требующее немедленная замена РИ; С"- состояние недопустимо большой погрешности размерной настройки;
С" - состояние отказа ВИС и ошибки при распознавании.
Классифицирующие признаки состояния вычисляются для участков функции отклонения Ащ? и й,2п, имеющих одинаковый знак отклонения и превышающие по модулю некоторое пороговое значение
ЛР, как показано на рис. 6. Таким образом, проявления износа локализуются на режущей кромке, что позволяет распознавать не только износ, но и проявления наростообразования С^, наличия не удаленных
перед циклом контроля фрагментов стружки СЦ, концентрированный
износ . Для каждого найденного отрезка, классифицирующими
признаками состояния являются: максимальное значение Мх, площадь проекции радиального износа 5г, ширина отрезка Ь , расстояние до вершины сШ, признак износа или нароста 2пак.
вершина
£игы
+ДР
-ДР
Рис. 6 Функция отклонения контуров и выделенные признаки Классификация состояния РИ производится на основе выражений (11), сопоставляющих численные значения классифицирующих признаков принадлежности вектора состояния инструмента в момент контроля Л^к одному из элементов, определенного ранее вектора С. Xх е С," : УгпакЧ < 0,3/,(Л/аг(|Л£ху°|) > ЮШ0 V > Шгв); X1 еС," : Ы1,(Мах([их]\) > 8ТМх0 V > 575г0);
Хт е С; : \/2пак]> 0,3/,(|Л£х;г| > РМШВ V £|&}г| > РМ&о </Л0); (И)
Xх 6 С[ : Ч'1пак]> 0,Э/,(]Мх,г| > Ол|Лг[| < сШ^,, Xх е С,' : У2пак]< 0,3/,(л/ах(|л/х[|) > Ол|Л?,г| < Мх\
Xх 6 С\ : Ч2пак]< 0,3/,
Ь]
>Миг\Мх]\>Р№„\
Xх 6 С," : (Вх - ЕВх) > Вхй V (Ву- ЕВу) > Ву0\
где: <№в - допустимое расстояние между максимумом износа » вершиной эталона (по контуру, в отношении к длине зоны износа); К1Мх0, К1Бг0 - величины критического износа по максимальному значению и площади; БШх0, 51Бг0, ЯНп - величины минимального отклонения контура, по площади и максимуму, за один цикл контроля, воспринимаемые как поломка РИ; РММхо, РМ5г0- максимально допустимые величины по площади и максимуму, положительных отрезков функции отклонения, распознаваемая как нарост и отсутствие искажения кромки стружкой; - минимальное отношение максимума к ширине участка, распознаваемое как концентрированный износ; РМИр - минимальный максимум, воспринимаемый как концентрированный износ при Мх/Ь> ёИ»\
В главе 4 представлены основные результаты экспериментальных исследований, проводимых: на этапе разработки, проверки адекватности и при опытном определении параметров математической модели видео-измерений РИ, при отладке и тестировании программного обеспечения, а также при исследовании точности определения состояния РИ с помощью ВИС.
Для решения поставленных задач был изготовлен экспериментальный стенд, включающий в себя видеокамеру КТМ-1 с ФГ13С К1200ЦМ7Б, микрометрический стол с цифровой индикацией, компьютер с устройством ввода видеосигнала УР2РМ, осветительную систему и базирующие устройства.
В ходе экспериментального исследования зависимости и=/(И) была установлена адекватность предложенной модели формирования сигнала изображения. Проведенные опыты позволили определить величину параметра г=9 мкм распределения яркости точечного источника, характеризующую разрешающую способность оптической системы ВИС.
При экспериментальном исследовании точности определения координат базовой точки РИ оценивалось влияние следующих ф2:ггсроз: число усредняемых кадров, применение (или не применение) метода уточнения контурных точек, алгоритм определения параметров направляющих линий режущих кромок. В результате исследований установлено:
в Наибольшее влияние на точность определения БТ оказывает число усредняемых кадров изображения и метод расчёта параметров направляющих прямых;
® Увеличение числа усредняемых кадров с 2 до 16 значительно (в 25 раз), уменьшает погрешность определения координат БТ.
® Применение алгоритма уточнения контурных точек не оказывает значительного влияния на точность определения БТ. • Алгоритм расчёта параметров Ьь Ь0 в уравнении направляющих прямых у-Ь|*х+Ь0 методом аппроксимации безизносных участков обладает значнтепыю меньшей точностью, чем алгоритм расчёта параметра Ь0, при фиксированном значении Ь|. в Наименьшая погрешность определения БТ для 16 усредняемых
кадров составляет 1.5 мкм; Для проверки результатов проведённых теоретических и опытных исследований, выразившихся в создании ВИС контроля РИ для токарного станка с интеллектуальным управлением, была проведена серия экспериментов по исследованию точности измерения параметров состояния РИ. В качестве экспериментального стенда использовался токарный станок с модели 1В340Ф30, с ЧПУ типа "Электроника НЦ31", оснащённый системой интеллектуального управления. Точность контроля состояния РИ ВИС исследовалась на различных операциях и при различных режимах обработки. В частности, при наружном цилиндрическом точении образцов конструкционной стали марки СТЗ диаметром 80 мм. Длина проточки 100 мм, подача в=0Л мм/об, глубина резания 1=0.25 мм, при уменьшении диаметра обработки скорость резания изменялась от 188-250 м/мин при частоте вращения шдошделя 1000 об/мин. Резец с твёрдосплавной пластиной марки Т15К6 имеет геометрию ф = ф|=60°, а =10° у =-10° и радиус при вершине 0.8 мм.
Контроль состояния РИ проводился после четырёх проходов при изменении диаметра обработки от 80 до 60 мм, всего 10 циклов контроля. В таблице 1 приведены данные (.4/7?/) полученные от ВИС и методом визуального измерения с помощью микроскопа. Незначительное различие данных полученных двумя способами свидетельствуют о корректности работы системы в данном режиме контроля состояния РИ. Аналогичные результаты были получены для различных условий износа и повреждения при изменении режимов резания и геометрии РИ.
N 1 2 3 4 5 6 7 8 9 10
Ья, мкм 9.46 17.74 20.27 21.47 26.33 29.8 32.7 35.32 37.59 38.83
мкм 9.80 16.48 19.36 22.22 26.13 28.23 30.56 34.15 36.46 38.45
Сравнение обработки партии заготовок на токарном станке с ИСУ использующей результаты полученные с помощью ВИС и серийном
оборудовании показал снижение величины среднеквадратического отклонения диаметров обработанных деталей (диаметр 36 мм) до 3.9 мкм (допуск j7). При этом сократилось время на поднападку РИ, и число бракованных изделий. Полученные результаты подтверждают эффективность применения ВИС и повышение качества обработки по показателям точности, производительности и надёжности.
Результаты работы, в виде разработанной ВИС контроля инструмента и соответствующего программного обеспечения были внедрены в опытную эксплуатацию на участке токарной обработки ФГУП «ПО Азовский оптико-механический завод». Годовой экономический эффект от внедрения ВИС на одном станке при односменной работе составил 9 тысяч 180 рублей.
Общие выводы по работе
• Построен алгоритм обработки визуальной информации ВИС, позволяющий определять состояние РИ на основе анализа изображения проекции его режущей кромки.
• Разработана математическая модель измерения формы и положения лезвия РИ на основе сигнала изображения, формируемого элементом растра ФПЗС видео-датчика. При этом функция распределения яркости в окрестности фото-ячейки определяется на основе аналитического описания формы и положения контура объекта.
в Разработан новый метод повышения точности видео-измерения формы лезвия РИ, основанный на обмене амплитудного и пространственного разрешения видео-датчика и использовании линейного участка рассчитанной зависимости расстояния от сигнала R=f(U) , что позволяет сохранить поле зрения, достаточным для обеспечения функциональных возможностей ВИС.
• Определены классифицирующие признаки состояния РИ по его топологическим характеристикам - отклонению формы контура РИ от эталонных контуров.
• Разработаны оригинальные базовые алгоритмы обработки визуальной информации: построчно - ориентированный алгоритм сегментации бинарного изображения для проверки корректности введённого образа, алгоритм построения функции отклонения текущей контурной последовательности от эталонной, алгоритмы выделения классифицирующих признаков состояния и коррекции модифицируемого эталона;
в Все разработанные алгоритмы реализованы в виде законченного программного средства, включающего процедуры оптической и
геометрической калибровки видео-датчика, цикл контроля состояния РИ с расчетом коррекции отклонения положения вершины РИ, интерфейс сопряжения ВИС с ИСУ токарного станка.
• Проведенные экспериментальные исследования работы ВИС на действующем оборудовании, в процессе контроля состояния токарных резцов, подтвердили повышение показателей точности обработки деталей.
Публикации по работе
1. Лукьянов Е.А, Носенков Д.А, Короткое ЕЛ. Видеоизмерительная система размерного контроля инструмента на базе специализированной экспертной системы // Динамика технологических систем: Тез. докл. 5-ой междунар. конф. - / ДГТУ. - Ростов-на-Дону. 1997. С.106-108.
2. Носенков Д.А., Лукьянов Е.А., Зайцев А.Ю. Модель формирования сигнала изображения при видеоизмерениях формы объекта. // Информационное обеспечение и управление в мехатронных производственных системах: Межвер. сб. науч. ст./ ДГТУ. - Ростов-на-Дону, 1998. С. 41-49.
3. Носенков Д.А., Мартынов B.ß. Применение подсветки параллельными лучами для видеоизмерений координат режущего инструмента. // Информационное обеспечение и управление в мехатронных производственных системах: Межвуз. сб. науч. ст. / ДГТУ. -Ростов-на-Дону, 1998. С.49 - 54.
4. Тугенгольд А.К., Герасимов В.А., Лукьянов Е.А., Носенков Д.А. Прогностическое интеллектуальное управление технологическими движениями в мехатронных системах// Отчёт НИОКР по фундаментальному направлению. - Ростов-на-Дону, 1999. -N Гр 01.99.0005355; N 0299003878.
5. Носенков Д.А, Череватенко В. А., Череватенко Ю.В. Метод повышения точности видеоизмерительной системы диагностики состояния режущего инструмента. // Оптимальное управление меха-тронными станочными системами: Межвуз.сб. науч. ст. - Уфа, 1999.-С. 25-29.
6. Тугенгольд. А.К., Носгнков. Д.А. Алгоритм повышения точности видеоизмерителыюй системы контроля состояния режущего Инструмента для токарной обработки. // Проектирование технологических машин: Сб. науч. тр. - Вып. 18. -М. 2000,-С. 33-36.
Оглавление автор диссертации — кандидата технических наук Носенков, Дмитрий Анатольевич
ВВЕДЕНИЕ
1. АНАЛИЗ СОСТОЯНИЯ ВОПРОСА.
1.1. РИ и проблемы обеспечения качества механической обработки.
1.2 Методы и системы контроля состояния режущего инструмента.Л.
1.3. Применение видеоинформационных систем для контроля \ состояния РИ.33\
1.4. Выводы по разделу. Цели и задачи работы.
2. ВИДЕО ИЗМЕРЕНИЯ РЕЖУЩЕГО ИНСТРУМЕНТА.
2.1.Точность видео-измерений и методы её повышения.
2.2. Математическая модель видео-измерения формы контура.
2.2.1. Аналитическое описания формы объекта.
2.2.2. Расчёт распределения яркости в плоскости видео-датчика.
2.2.3. Расчёт сигнала элемента растра.
2.3. Метод уменьшения погрешности определения координат контурных точек.
2.4. Сравнительный анализ погрешности определения контура.
2.5.Выводы по разделу.
3. АЛГОРИТМИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВИДЕОИЗМЕРИТЕЛЬНОЙ СИСТЕМЫ.
3.1. Общая характеристика и структура программного обеспечения
3.2. Создание эталона контролируемого РИ.
3.3. Обработка визуальной информации в цикле контроля состояния РИ.
3.4. Базовые алгоритмы обработки визуальной информации в ВИС.
3.4.1. Алгоритм сегментации изображения РИ.
3.4.2. Алгоритм построения функции отклонения формы РИ.
3.4.3. Алгоритм выделения параметров отклонения формы РИ и распознавания состояния инструмента.
3.5. Геометрическая калибровка видео-датчика.
3.6. Оптическая калибровка видео-датчика.
3.7. Выводы по разделу.
4. ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ ВИДЕОИЗМЕРЕНИЯ РИ.
4.1. Экспериментальный, стенд.
4.2. Определение зависимости расстояние - сигнал элемента растра.
4.3. Исследование погрешности определения базовой точки РИ.
4.4. Исследование погрешности определения контурных точек.
4.5. Экспериментальная проверка точностных характеристик ВИС в составе ИСУ.
4.6. Выводы по разделу.
Введение 2000 год, диссертация по обработке конструкционных материалов в машиностроении, Носенков, Дмитрий Анатольевич
Повышение качества изготовления деталей является одним из важнейших требований современного производства к технологии механической обработки и станкам. Особую актуальность приобретает это требование в условиях компьютеризированного производства, построенного на принципах безлюдной технологии. Под качеством будем понимать совокупность показателей точности обработки, безотказности и производительности.
Один из перспективных путей повышения качества обработки заключается в создании и применении интеллектуальных систем управления, обеспечивающих изготовление каждой конкретной детали с учётом технических характеристик и состояния станка, режущего инструмента, заготовки. При этом в состав интеллектуальной системы управления должна включаться информационно-измерительная подсистема, осуществляющая сбор и формирование требуемых данных.
Состояние режущего инструмента при формировании каждой поверхности оказывает решающее влияние на точность обработки изделий. В связи с этим большое значение имеет разработка методов комплексного и оперативного контроля состояния инструмента, а также реализация систем контроля инструмента на базе современных технических средств. На сегодняшний день известны системы контроля инструмента, основанные на различных методах получения и обработки информации, однако, они не обладают возможностью производить экспертную оценку состояния инструмента для осуществления коррекции траектории движений РИ. Данная проблема может быть решена за счёт создания системы, обладающей функциональной полнотой и информативностью, необходимыми для реализации интеллектуального управления (ИСУ) станком, что является актуальной задачей.
Один из перспективных методов контроля состояния РИ основан на фиксации изображения рабочей части инструмента с помощью одного или нескольких видео-датчиков. Видео - информационные системы (ВИС), реализующие данный метод, обладают потенциально высокими характеристиками, бесконтактностью измерения и высокой информативностью, позволяющими использовать их в ИСУ. В настоящее время, в связи с достижениями в области микропроцессорной техники и технологии изготовления фото преобразователей с зарядовой связью ВИС получают всё более широкое распространение.
Наиболее полно состояние РИ в интеллектуальной технологической системе может быть оценено и учтено при реализации в ВИС контроля РИ следующих функций:
• Контроль поломки или повреждения инструмента;
• Контроль величины износа;
• Размерная настройка и контроль координат вершины РИ;
• Прогнозирование поломки РИ;
• Распознавание типа РИ;
• Управление технологической системой по состоянию РИ;
Существующие системы контроля РИ не в полной мере удовлетворяют требованиям по точности и функциональной полноте, предъявляемым к ВИС в составе ИСУ. В связи с этим, для достижения цели работы - повышения качества обработки на токарных станках с интеллектуальным управлением путем создания и применения видеоинформационной системы контроля состояния РИ -возникает ряд задач связанных с улучшением качественных характеристик ВИС. Решая эти задачи в диссертационной работе, автор защищает:
• Алгоритм обработки визуальной информации для оценки состояния режущего инструмента при интеллектуальном управлении токарным станком в условиях компьютеризированного производства.
• Метод повышения точности определения формы лезвия режущего инструмента (РИ).
• Программное обеспечение видеоинформационной системы контроля состояния инструмента.
Работа выполнена на кафедре "Робототехника и Мехатроника" Донского государственного технического университета в соответствии с федеральной межвузовской научно-технической программой «Механика, машиноведение и 6 процедуры управления», по гранту «Экспертная система станка для обеспечения точности обработки» Российской программы «Машиностроение» и единому заказ-наряду Министерства образования РФ. Основные результаты работы внедрены на ФГУП «ПО Азовский оптико-механический завод».
Заключение диссертация на тему "Видеоинформационная система токарного станка с интеллектуальным управлением"
5. ОБЩИЕ ВЫВОДЫ ПО РАБОТЕ
Проведённые исследования и полученные результаты позволяют сделать следующие основные выводы
• Построен алгоритм обработки визуальной информации ВИС, позволяющий определять состояние РИ на основе анализа изображения проекции его режущей кромки.
• Разработана математическая модель измерения формы и положения лезвия РИ на основе сигнала изображения, формируемого элементом растра ФПЗС видео-датчика. При этом функция распределения яркости в окрестности фото-ячейки определяется на основе аналитического описания формы и положения контура объекта.
• Разработан новый метод повышения точности видео-измерения формы лезвия РИ, основанный на обмене амплитудного и пространственного разрешения видео-датчика и использовании линейного участка рассчитанной зависимости расстояния от сигнала R=f(U) , что позволяет сохранить поле зрения, достаточным для обеспечения функциональных возможностей ВИС.
• Определены классифицирующие признаки состояния РИ по его топологическим характеристикам - отклонению формы контура РИ от эталонных контуров.
• Разработаны оригинальные базовые алгоритмы обработки визуальной информации: построчно - ориентированный алгоритм сегментации бинарного изображения для проверки корректности введённого образа, алгоритм построения функции отклонения текущей контурной последовательности от эталонной, алгоритмы выделения классифицирующих признаков состояния и коррекции модифицируемого эталона;
• Все разработанные алгоритмы реализованы в виде законченного программного средства, включающего процедуры оптической и
Библиография Носенков, Дмитрий Анатольевич, диссертация по теме Технологии и оборудование механической и физико-технической обработки
1. Палей С.М. Автоматический контроль работоспособности режущего инструмента / // Экспресс-информация. - Сер. ХМ-9. Технология химического и нефтяного машиностроения. -№5. М.: ЦИНТИхимнефтемашД985.
2. Палей С.М. Некоторые особенности эксплуатации токарных станков с ЧПУ на участке АСВ-20,- В сб.'.Автоматизированные участки из станков с ЧПУ, управляемые ЭВМ, М„ ЭНИМС, 1981. С. 27-31.
3. Kinnander А/ Machining reliability in NC Turning/ -"Annals of the CIRP", 1979, 28, №1, p.263-265.
4. Г. M. Гольдрайх, А. Г. Деревянченко, Т. Г. Джугугян, Л. В. Капительман./ Управление технологической системой прецизионных станков по состоянию режущих инструментов. Станки и инструмент- 1995. №5 с.10 -17.
5. Деревянченко А.Г. Высокие технологии и некоторые проблемы контроля состояний лезвий режущих инструментов. Резание и инструмент н.т. сб. Харьков -1993. Вып. 47.
6. Л. Г. Хайет, А. Г. Деревянченко, Э. И. Попов. Морфологический анализ состояний режущего инструмента в задачах его контроля и диагностирования. Одесский Гос. Политех. Университет. 1996.
7. Рыжкин А.А., Дмитриев B.C., Климов М.М., Щучев К.Г., Боков.А.И. Физические основы обработки материалов резанием: Издательский центр ДГТУ. 1996 г.
8. Палей С.М., Васильев С. В. Контроль состояния режущего инструмента на станках с ЧПУ. Обзор.-М: НИИмаш, 1983.
9. Tool wear and failure monitoring techniques for turning-a review/ International journal of machine tools and manufacturing. 1990. - 30, 4. - p. 579-598.
10. Ю.Бобров В.Ф. Основы теории резания металлов. М., Машиностроение, 1975.
11. Палей С.М. Состояние и тенденции способов прогнозирования периода стойкости лезвийного режущего инструмента. -М. ВНИИТЭМР. 1985.
12. Лоладзе Т.Н. Прочность и износостойкость режущего инструмента. М. Машиностроение, 1982.
13. Хайет Г.Л. Надёжность режущего инструмента и его прочность. В сб. 'Надёжность режущего инструмента'. Киев, Техника, 1972, с. 3-20.
14. Negashi Н., Sata Т. Study on tool failure of carbide tools in interrupted turning. -Annals of the CIRP, 1981, 30, №1, p. 43-46.
15. Общемашиностроительные нормативы резания. Токарные и карусельные работы (выбор инструмента, режимов резания, определение расхода инструмента).-М.: ВНИИТЭМП, 1985.
16. Worsley. R То set or preset? That is the question //Metalworking Production. -1993. -137, №2, 27-34.
17. Der Wirkungrgradzahlt // Maschinen und Werkzeug. 1995. - 96, №10. - c. Q6 -Q9.A.
18. В. Кибальченко. Контроль состояния режущего инструмента. М.: ВНИИТЭМР, 1986.
19. For good measure //Cutting Tool Engineering. 1995. - 47, №9. - p. 46 - 51.
20. Rohrle J. Kostengunstiges Messen in NC-Maschinen mit vorhandenen Mabstaben.-Maschinenmark, 1984, 90, № 69. s. 1561-1563.
21. Назаров Н.Г., Архангельская E.A. Современные методы и алгоритмы обработки измерений и контроля качества продукции: учеб. пособие. М.: Издательство стандартов, 1995.
22. J. G. Baldoni, S. Т. Buljian, V. К. Sarin, Continious tool wear monitoring in turning. -Sci. Hard. Mater. Proc. Int. Conf. Jackson, Wyo., 23 -28 aug.1981. New York; London 1983. - c. 991 - 1002.
23. Lierath F., Sharfenorth U. Geratesystem zur Erfassung des Werschleibes an spanenden Werkzeugen bei bedienarmer Fertigung. -Faingerate-technik, 1984, 33, №3.-s.l05-107.
24. Sicheres Drehen mit Schneidenbruch-Sensor. -VDI-Z., 1982,124, №22. -s. 862.
25. Устройство для обнаружения поломки инструмента. Симаддзучу Хироаки, То-мита Такабуми, Беллу Сэёдзи, Ота Йосихиро. Заявка 58-4908 (Япония).- Опубл. 27.07.1983. МКИ В 17/00.
26. Способ контроля состояния инструмента на токарном станке. Вакаи Хидэюки, Касимото Масатакэ, Сакамото Тиаки, Мидзутани Эйдзи. Заявка 57-21251 (Япония).- опубл. 3.02.1982. МКИ В 23 Q 17/00.
27. Iwata Kzuaki, Morivaki Tochimichi/ Cutting State Identification and In-Process Tool Wear Sensing by Acoustic Emission Analysis/ Bull. Of Japan Sociey of Precision Engineering., 1978, 12, №4. - p. 213-215.
28. Инадзаки Исиро. Контроль целостности инструмента на металлорежущих станках. Кикай то Когу. 1984, 28, №2 с.93-98.
29. ЗО.Заковоротный B.JL, Бузик Л.Б. Контроль износа инструмента при растачивании высокопрочных сталей. Станки и инструмент, 1983, №9, с.32-33.
30. Menz Peter, Richeter Hans. Verchleibmessung an Drehwerkzeugen durch recherbew-ertete Temperaturmessung. Wiss.Z. Tech. Hochsch. О Guericke Magdeburg, 1984, 28, №5.-s. 85-88.
31. Палей С. M. Использование электрических явлений при резании для контроля состояния режущего инструмента: Метод. Рекоменд.-М. : ЭНИМС, 1984.
32. Зориктуев В. Ц., Исаев Ш. Г. Устройство для измерения электрической проводимости контакта инструмент деталь в системах управления процессом резания. -Измерительнаятехника, 1984, №4. -с. 16-17.
33. Micheletti G. F., Koenig W., Victor H. R. In process tool wear sensors for cutting operation. 'Annals of CIRP\ 1976, 25, №4. P. 483-496.
34. Cook N. Subramian K. Micro-isotope tool wear sensor. Annals of the CIRP, 1978, №1, p.73-78.
35. Monitor d'outils. Tra. Metal. -1998, №31, c.67.
36. Pitter F., Thomas. Mykrosystem zur automatisierten werkzeuguberwachug in Drehmasciner uber die Erfassung von Vibration? Kraft und Temperature / Technichen Messung. -1999, -66, №5. -p. 191-202.
37. Haschizume Hitoshi, Shinno Hidenor, Ito Joshimi. Nihon kikaigakkai ronbunschu / Jap. Soc. Mechanical Engineering. -1998. 64, №619. -p 1072-1076.
38. Деревянченко А. Г. Алгоритмы автоматического контроля износа лезвий инструментов в гибких производственных системах. Металлорежущие станки, 1985, № 13.-с. 37-46.
39. Мер system zur Werkzeugenstellung und Bruchkontrolle //VDI-Z: Integrated production. 1996. -138. №9. C.33-35.
40. А. Г. Деревянченко, JI.B. Роткоп, В. А. Власенко, A.K. Краснопёрое. Система автоматического контроля износа и диагностики режущего инструмента.- Измерительная техника. 1990. -№8.
41. Spitze der Genauigkeit // Fertigung. -1997. 25., -№10. -с. 57.
42. Vertical pre-setters // Machine and production Engineering. -1998. -156, -№3959.
43. Leinz R., Herkrath T.Universelles PC-gestutrtez Werkzeugmebsystem: Multicheck PC500 /wt Production und Management. -1996. -86, -№11 -12. -c. 601-602.
44. Komplettvermessung von werkzeugen / Zoller Eberhard // VDI-Z: Integrated Production-1999. Spec3.-c.66.
45. Настольный прибор для настройки инструментов. Bench-top model // Tool. And Prod. 1996. -62, -№5 -c.225.
46. Optishes Werkzeugmebsystem areitet vollautomatisch // Mascinenmarkt -1998, -52, -№10 -№45. -c. 43.
47. Standvermogen voll nutzbarr // Mascinenmarkt -1998, -104, -№14, c.26.
48. Fichter. D, Schulz G/ Wekzeuge optish uberwachen // wt Production und Managment. -1996,-86,-№11-12, c.608.
49. Nobushige Sawai, Joonyeob Song, Hwayoung Pare. Automated Measurement of Tool Wear using an Image Processing System. Int. Japan Soc. Prec. Eng.,1996, 30, №2. -p.112-117.
50. Hajime Yamacina, Susumi Okumura, Hiromitsu Kumamoto. Automatic detection of wear and chipping of cutting tools by image processing techniques. Int. J. of production research. - 1990, -28, -№4, p. 647-660.
51. A.C. 1188906 СССР, МКИ H04 N 7/18. Телевизионная система/ С. А. Иванов, В.А. Михайлов. Опубл. 1984, Бюл. № 43.
52. Миленин Н. К. Матричные преобразователи свет сигнал и цветные ТВ камеры на их основе. 4.2 // Техника кино и телевидения. - 1989. - №12. - с.67 - 73.
53. Salamon P. М., Gloss W. S. A Microprocessor Controlled CCD Star Tracker/ - AIAA Paper 1976, № 116,p.l.
54. Лебедев H. В., Измерение координат точечного объекта видеокамерой на ПЗС. -ТСС ТТ, 1978, вып.6, с. 25-34.
55. Хромов JI. И., Лебедев Н. В., Цыцулин А. К., Куликов А. Н. Твёрдотельное телевидение М.: Радио и сЬязь, 1986.
56. Быков Р. Е., Манцветов А. А., Степанов Н.Н., Эйссенгардт Г.А. Преобразователи изображения на приборах с зарядовой связью. М., 1992.
57. Меркишин Г.В. Многооконные оптико электронные датчики линейных размеров. - М.: Радио и связь, 1986.59.3аказнов Н.П. Прикладная геометрическая оптика. М. .Машиностроение, 1984.
58. Бабенко В. С. Оптика телевизионных устройств. М. Радио и связь 1982.
59. Стенин В.Я. Применение микросхем с зарядовой связью. М.: Радио и связь, 1989.ъ
60. Дьяконов В.П. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ: Справочник. М.: Наука. Гл. ред. физ.-мат. лит., 1987.
61. Генкин В.Л. и др. Системы распознавания автоматизированных производств /В.Л. Генкин, И.Л. Ерош, Э.С. Москалев. Л.: Машиностроение. Ленингр. Отд-ние, 1988.
62. В.И. Мошкин, А.А. Петров, B.C. Титов, Ю.Г. Якушенков. Техническое зрение роботов. -М. : Машиностроение, 1990.
63. Фу.К., Гонсалес. Р., Ли. К. Робототехника. -М.: Мир, 1989.
64. ГореликА.Л., Скрипкин В.А. Методы распознавания: учебное пособие для вузов. 3-е изд., перераб. и доп. - М.: Высшая школа, 1989.
65. Пью. А. Техническое зрение роботов. М.: Машиностроение, 1987.
66. Носенков Д.А., Мартынов В.В. Применение подсветки параллельными лучами для видео-измерений координат режущего инструмента в сб. Информационное обеспечение и управление в мехатронных производственных системах. Ростов н /Д.: 1998.
67. П.И. Ящерицын, Е. И. Махаринский. Планирование эксперимента в машиностроении. -Минск.: "Вышейная школа", 1985.
68. А. Д. Макаров. Оптимизация процессов резания. М. "Машиностроение", 1976.
69. А. Д. Макаров. Износ и стойкость режущих инструментов. /'Машиностроение", 1966.
70. Лукьянов Е.А, Носенков Д.А, Коротков Е.А. Видеоизмерительная система размерного контроля инструмента на базе специализированной экспертной системы.158
71. Динамика технологических систем: Тез. докл. 5-ой межд. конф. Ростов-на-Дону, ДГТУ. 1997г. с. 106-108.
72. Тугенгольд А.К., Герасимов В.А., Лукьянов Е.А., Носенков Д.А. Прогностическое интеллектуальное управление технологическими движениями в мехатронных системах.// Отчёт НИОКР по фундаментальному направлению. Инв. N 0299003878. Г.Р. ВНТИЦ 19.05.99.
73. Носенков Д.А, Череватенко В. А., Череватенко Ю.В. Метод повышения точности видеоизмерительной системы диагностики состояния режущего инструмента. // Оптимальное управление мехатронными станочными системами: Межвуз.сб. на-учн. ст. Уфа, 1999. с.25-29.
74. Корн Г.А., Корн Т. М. Справочник по математике. Для научных работников и инженеров. Определения, теоремы, формулы. -М.: Наука, 1974.
75. Исходный текст основного модуля ПО ВИС.
76. Program VIS8 { 12.08.2000 }; { Прототип ВИС размерной настройки и контроля степени износа инструмента }
77. Uses crt,graph,dos,stz3,mygraphl;typesgmnt=record
78. No:byte; { число отверстий в сегменте } S:word; {площадь сегмента }
79. UO,DnO,LO,RO:word; { координаты описанной оболочки сегмента }
80. Вх, By integer; { координаты начальной точки сегмента }end;
81. PeakDelta=record { данные на 'пик' функции отклонения }
82. Znak:real; { признак 'пика' износ -1 / нарост +1 }b:real; {-ширина }1. S:real; { площадь }
83. М:геа1; { -максим, значение }dV:real; {-расстояние до вершины }end;
84. ErrReaction=(Stop,Waurning, Blind, Question); var
85. ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ ВСЕЙ СИСТЕМЫ }
86. Vx,Vy:real; { коэффициенты пиксел/мм в поле зрения камеры}
87. KECPoint; { координаты начала с.к. камеры в с.к.станка }
88. EName: string; { полное имя файла эталона }exit '.boolean; { признак окончания контроля }
89. ViSErrword; { Все процедуры и функции относящиесяк ВидеоИзмерительнойСистеме возвращают в этойпеременной номер возникшей ошибки. Если возвращается 0,то ошибок не было }1. ErrMode:errReaction;переменные сегментации}
90. NSegm:byte; { число сегментов в текущем списке }segment:array1.50. of sgmnt; { данные по каждому обнаруженному сегменту }
91. Вспомогательные переменные } j,Num:integer;
92. FNum: string; { символьный номер опыта при загрузке кадров из файла }1. DataSavePath:string;
93. Nexp.word; { число экспериментов }
94. ExpName:string; { имя эксперимента }1.3:word; { индекс точки контура, ближайшей к базовой точке }
95. Peaksl:array 1.10. of PeakDelta; { массив текущих эл-тов } Peaks2:array [1.10] of PeakDelta; { массив текущих эл-тов }1. Переменные эталона }
96. Яркость (STZ.Brightness) } { 2. Контраст (STZ.Contrast) } Sup.Koord; { 3,4. Координаты суппорта для вывода РИ в контрольную позицию X,Y } NRE:byte; { 5. Номер позиции револьверной головки с контролируемым РИ } BinLev:byte; { 6. Порог бинаризации }
97. CUTl.real; { 7. Участок определения линии по главн.реж.кр.) CUT2:real; { 8. Участок определения линии по вспом.реж.кр.}
98. EType:string30.;{ 9. Тип эталоного РИ } FE:real; { 10. Главный угол в плане (эталона) } FlE:real; (11. Вспомогательный угол в плане } WE:real; {12. Угол при вершине }
99. False НЕ использовать алгоритм уточнения координат} KTT:boolean; { 20. True - Использовать коррекцию темнового тока
100. False НЕ использовать коррекцию темнового тока } KSS .boolean; {21. True - Использовать коррекцию коэффициента свет-сигнал False - НЕ использовать коррекцию коэффициента свет-сигнал }записываются в отдельный файл }
101. E01,ERol:real; { параметры базовых линий эталона }1. E02,ERo2:real;
102. Переменные настройки цикла контроля } { U: -Уточнение }
103. SV:boolean; { вкл/выкл протоколирование переменных } BPMl:boolean; { совмещать зону износа алгоритм регерессия } ВР М2 .boolean; { совмещать зону износа алгоритм регрессия с отбросом } ВР МЗ :boolean; { алгоритм перебор }
104. Переменные оценки износа } type Delta=array 1.200. of real; var
105. DeltaZI.Delta; { Функция расстояния точек износа от эталона } ODeltaZI:Delta; { Функция расстояния точек износа от эталонана предыдущем цикле контроля } Peak:point; { Координаты вершины РИ } IPeak:word; { Индекс вершины } { параметры приближения линии }
106. SkvM,SkvA:real; { Среднеквадратичное отклонение точек контура от прямой } ExtM,ExtA:real; { максимальное отклонение точек от прямой } В0,В1:геа1;{ Коэффициенты линейной зависимости } i.word;
107. CutMin:real;{ Миннимальная и максимальная длины участка контура, по которым }
108. Записать параметры уравнения линии } procedure SaveLines; var T:text; TSV:string; ECode:integer; beginassign(T,BasePath+'Lines.dat'); rewrite(T);1. Writeln(T,RNit(01,5));
109. Writeln(T,RNit(RO 1,5)); Writeln(T,RNit(02,5)); Writeln(T,RNit(R02,5)); close(T); {$1+} end;сохраним исходное изображение } procedure ImSave(NameAr:byte;FN:string); type
110. Header=record a:array 0.4. of char; X:word; Y:word;b.array 0.6. of char; end;var c:byte; f:file; H:Header; begin
111. IOResultoO then write('OIIIHEKA ЗАПИСИ!') else write('Фaйл ',FN,' записан успешно'); close(F); {$1+} end;
112. Строим Каталог } Procedure BDir; var
113. Dirlnfo: SearchRec; Files:array1.20. of string; NFile.byte; i.byte; c:char; begin CLRSCR; gotoxy(25,2);write('BbIBOP ФАЙЛА ЭТАЛОНА'); NFile:=0;
114. FindFirst('C:\VIS\ETALONS\*.RI', Archive, Dirlnfo); while (DosError = 0) and (NFile<20) do begin inc(NFile);
115. Files NFile.:=DirIiifo.Name;1. FindNext(DirInfo);end;1. NFile=0 then beginsound(700); delay(350); nosound; gotoxy(30,16);write('HeT файлов эталонов');readkey;exit;end;
116. Функция возвращает расстояние между двумя точками }
117. Function Distance(P 1 ,Р2 :point) :real;begin
118. Distance:=sqrt(sqr(P 1 ,X-P2.X)+sqr(P 1 .Y-P2.Y)); end;
119. Функция возвращает расстояние между двумя точками в мм}
120. Function DistanceM(P 1 ,Р2 :point) :real;begin
121. DistanceM:=sqrt(sqr((P 1 .X-P2.X)* Vx)+sqr((P 1. Y-P2. Y)*Vy)); end;function sign(N:real):real; begin1. N=0 then sign:=0;
122. N>0 then sign:=l; If N<0 then sign:=-l; end;
123. Функция возвращает расстояние от контурной точки до эталонного контура, заданного точкой ближайшей к контролируемой и её соседями справа и слева }
124. Загрузим функцию RU} Procedure LoadRU(fn:string); label ml; var i.word; c:char; s:string; FD:file of char; E.integer; begin
125. Fori:=l to 121 do RU1.:=0; assign(FD,'C:\VIS\UR\'+fn); Reset(FD); For i:=l to 121 do begin s:=";ml:1. Read(FD,c);1. c=chr($0d) then Goto ml; If c=chr($0A) then Goto ml; while c<>'' do begin s:=s+c; Read(FD,c); end;val(S,RU1.,E); end;close(FD); end;
126. Функция зависимости сигнала с фотоячейки от положения перепада Область допустимых значений U<1 and U>0 }
127. Function RU(U:real):real; var1.,I2:integer; Rl,R2:real; Ul,U2:real; begin1. VisErr:=15;
128. U<0.01 then begin;RU:=-65;exit;end;
129. U>0.99 then begin;RU:=43 ;exit;end;1.:=Trunc(U*121);1.:=I1+1;1. R1:=RUI1.;1. R2:=RUI2.;1. U1:=I1/121;1. U2:=12/121;
130. RU:=RUIl.+121*abs((RU[I2]-RU[Il])*(U-Ul));1. VisErr:=0;end;
131. Процедура выводит на дисплей характеристику R(U) в масштабе Мх(180),Му(3)} Procedure DrawRU(Mx,My:word); var T.real; begin T:=-0.1; While T<1.1 do begin T-T+0.001;putpixel(round(T*Mx)+20,round(180-RU(T)*My),15); end; end;
132. B:word; { начало отрезка } E:word; { конец отрезка }
133. Nsg:byte; { номер сегмента,к которому принадлежит отрезок } end;var j,i,k,l,m:integer; { Индексы по строке и столбцу }
134. СЕГМЕНТАЦИЯ } j:=l; i:=l; 1:=1; m:=0; N0tr:=0; NSegm:=0; CSegm:=0; repeat repeat k:=l;
135. Найдём отрезок прямой объектов (чёрный отрезок на белом фоне) } { Г.Найдём начальную точку строки } BS:=-1: { начальная точка не обнаружена }
136. While (j<=300) and (BS<0) do begin
137. ReadAr(Outarl j,i)=0 then BS:=j;inc(j);end;
138. CSegin:=Otreskik.Nsg; If OldSegmoO then begin
139. CSegm=01dSegxn then inc(SegmentCSegm.NO) else beginубрать сегмент (слить с предыдущим) }
140. SegmentCSegm.S:=Segment[CSegm].S+Segment[01dSegm].S;
141. SegmentCSegm.N0:=Segment[CSegm].N0+Segment[01dSegm].N0;
142. Otreskim.Nsg=0 then Otreski[m].Nsg:=CSegm; If Otreskil [m].Nsg=0 then Otreskil jm].Nsg:=CSegm; end;dec(NSegm); { уменьшим число сегментов } 01dSegm:=CSegm; end; end;1. NewSeg:=false;
143. SegmentCSegm.LO>BS then Segment[CSegm].LO:=BS;
144. SegmentCSegm.RO<ES then Segment[CSegm].RO:=ES;1. SegmentCSegm. DnO :=i;
145. SegmentCSegm. S :=Segment[CSegm]. S+1+ES-B S;inc(k);1. 01dSegm=0 then begin Otreskill.B:=BS; Otreskil 1.E:=ES;
146. Otreskil l.Nsg:=CSegm; inc(l); end;01dSegm:=CSegm; end;4: Если отрезок не принадлежит ни к одному из существующих сегментов,создадим новый сегмент }1.NewSegthenbegin1. VisErr:=22;1. NSegm=50 then exit;inc(NSegm);
147. With SegmentfNSegm. do begin
148. No:=0; { число отверстий в сегменте } S:=1+ES-BS; { площадь сегмента } UO:=i; DnO:=i; LO:=BS; RO:=ES; Bx:=BS; By:=i; end;
149. Создадим новый отрезок } Otreskil 1.B:=BS; Otreskil 1.E:=ES; Otreskil p].Nsg:=NSegm; inc(l); end; until false; ml:
150. Оставим активными только те сегменты, которые обновлялись в данной строке } Notr:=l-l; j:=l; 1:=1; inc(i);
151. For ш:=1 to Notr do Otreskim.:=Otreskil[m];until i>210;1. VisErr:=0;end;
152. POC:array 1.20. of Koord; { координаты точек отсечения сегмента полем зрения } T:Koord; const
153. PFS:array 1.4. of Koord=((X:l;Y:0),(X:0;Y:l),(X:-l;Y:0),(X:0;Y:-l)); U:array [1.4] of ba=((a:true;b:false;c:false;d:false),(a:false;b:false;c:true;d:false), (a:false;b:true;c:false;d:false),(a:false;b:false;c:false;d:true)); begin NP:=0;
154. VISErr:=4; { Обнаружено больше одного сегмента } { тест числа сегментов >
155. NSegniol then exit; { в кадре нет ни одного сегмента }тест оболочки } NS:=0;1. segmentl.LO=l then inc(NS); If segment[l].RO=300 then inc(NS); Ifsegment[l].UO=l theninc(NS); If segment[l].DnO=210 then inc(NS);
156. ViSErr:=5; { 'Оболочка' сегмента опирается на четыре границы поля зрения } If NS>3 then exit; { оболочка опирается более чем на три стороны поля зрения } { тест площади сегмента } VisErr:=6; { Мала площадь сегмента }
157. Segmental.S<500 then exit; { площадь сегмента недопустимо мала } PrevP ~ReadAr(0utar 1,1,1); j:=l; i:=l;1. For k:=l to 4 do
158. While ((j<300) and Uk.a) or ((j>l) andU[k].b) or ((i<210) and U[k].c) or ((i>l) and U[k].d) do beginj:=j+PFSk.X; i:=i+PFS[k].Y;
159. ReadAr(Outarl,j,i)oPrevP then begin inc(NP);
160. PrevP=63 liven begin PrevP:=0; POCNP.X:=j; POC[NP].Y:=i; end else begin PrevP:=63;
161. POCNP.X:=j-PFS[k].X; POC[NP].Y:=i-PFS[k].Y; end; end; end;
162. VISERR:=7; { Отверстия в теле сегмента } If (NP<>2) or (Segmentl.NOoO) then exit;
163. Procedure TestSegment2; begin
164. ViSErr:=7; { Сегмент не может являться изобржением резца для наружной обработки } If ((ВРС.ХО300) and (BPC.Y<>210)) or ((ЕРС.ХоЗОО) and (EPC.Yol)) then exit; VisErr:=0; end;
165. Функция вычисления угла перпендикуляра в уравнении линии Р1-начальная точка; Р2- конечная точка }
166. Функция вычисления параметра RO в уравнении линии } Function CalcRO(Angle:real;LPoint:Point):real; begin
167. CalCRO:=LPoint.X*cos(Angle)+LPointY*sin(Angle); end;
168. N:=abs(EI-BI+l); For i;=BI to EI do begin A:=A+Contur1.X; B:=B+Conturi. Y; C:=C+SQR(Contur[i].X); D :=D+Contur [i] .X* Contur[i]. Y; E:=E+SQR(Contur[i]. Y); end;
169. B1 :=(A*B-N*D)/(SQR(A)-N*C); B0:=(B-B1*A)/N;
170. B1=0 then 0:=Pi/2 else 0:=arctan(-l/Bl); RO:=B0*sin(O);
171. Skv:=Sqrt((E-BO*B-Bl*D)/N); { среднеквадратичное отклонение }1. For i:=BI to EI dobegin
172. Et:=abs(Contur1.X*cos(0)+Conturi.Y*sin(0)-RO); If Et>Ext then Ext:=Et; end;1.ne(Nx+round( 1 *Vx*M);Ny+roimd((B 1 * 1 * Vx+B0)*M),
173. N:=abs(EI-BI+l); For i:=BI to EI do begin A:=A+Contur1.Y; B:=B+Conturi.X; C:=C+SQR(Contur[i].Y); D:=D+Contur[i].X*Contur[i].Y; E:=E+SQR(Contur[i] .X); end;
174. В1 :=(A*B-N*D)/(SQR(A)-N*C); B0:=(B-B1*A)/N;
175. B1=0 then 0:=Pi/2 else 0:=arctan(-l/Bl);1. RC):=B0*sin(O);1. 0<0thenbegin0:=-Pi/2-0;1. RO:=-l*RO;endelsebegin0:=Pi/2-0; { коррекция вертикальной регрессии } end;
176. Skv:=sqrt((E-BO*B-Bl*D)/N); { среднеквадратичное отклонение }1. For i:=BI to EI dobegin
177. Et:=abs(Contur1.X*cos(0)+Conturi.Y*sin(0)-RO); If Et>Ext then Ext:=et; end;1.ne(Nx+round((B 1 * 1 * Vy+BO)*M),Ny+round( 1 *Vy*M),
178. Mx:=Conturj.X+Mx; My:=Contur(j].Y+My; end;
179. EvalRo:=Мх/ (1+I2-11 )*cos(0)+My/(1 +12-11 )* sin(O); end;
180. Определим конечный индекс по первой граниэтот индекс равен индексу точки контура лежащей на расстоянии Cutlот точки Conturl.) }1.l:=l;
181. While (Ie 1 <=NPoint) and (Distance(ConturIel.,Contur[l])<Cutl) do inc(Iel); VisErr:=9; { Мало точек контура } If Iel>NPoint then exit;
182. Определим конечный индекс по второй граниэтот индекс равен индексу точки контура лежащей на расстоянии Cuts2от точки ConturfNpoint.) }1.2:=NPoint;
183. While (1е2>=1) and (Distance(ConturIe2.,Contur[Npoint])<Cut2) do dec(Ie2);
184. Ie2<l then exit; If Iel>Ie2 then exit;
185. Ro 1 :=EvalRo(l,Ie 1,01); { Определим Rol} Ro2:=EvalRo(Ie2,NPoint,02); { Определим Ro2} end;
186. Определим точку пересечения рёбер }1. Отладка }1. CrossPoint.X:=0;1. CrossPoint.Y:=0;
187. CalcCrossPoint(01,R01,02,R02,CrossPoint);with CrossPoint dobeginval(RNit(X,4),X,EC); val(RNit(Y,4),Y,EC); end;readkey;}1. ErrHandler;1. SetFillStyle(l,15);
188. VisErr:=13; { недопустимое расположение РИ (камеры) }1. (CrossPoint.X< 1 * Vx) or (CrossPoint.X>300*Vx) or (CrossPoint.Y<l*Vy) or (CrossPoint.Y>210*Vy) then exit;1. ((BPC.Y=210) or (BPC.X=300)) and ( (EPC.X=300) or (EPC.Y=1)) thenbegin
189. RITYPE:=RiTypesl.; If 01>0 thenF:=Pi-01 else F:=abs(01); If 02>0 then F1 :=02 else F1 :=Pi+02; VisErr:=0; end;1. ((BPC.Y=1) or (BPC.X=1)) and ((EPCX=1) or (EPC.Y=210)) then begin
190. RITYPE:=RiTypes2.; If 02>0 then F:=02 else F:=Pi+02; If 01>0 thenFl:=Pi-01 else Fl:=abs(01); VisErr:=0; end;1. ((BPC.X=300) and (EPC.X=1)) or ((BPC.Y=1) and (EPC.Y=1)) then begin
191. RITYPE:=RiTypes2.; If 01>0 then F:=Pi/2+02 else F:=Pi/2-02; If 02<0 thenFl:=Pi/2-01 else Fl:=Pi/2+02; VisErr:=0;end;
192. W:=Pi-F-Fl; { угол при вершине }1. VisErr:=0;gotoxy(l,3);угке(Тлавная режущая кромка'); gotoxy(l,4);write('CKB-om=',RNit(SkvM* 1000,3),' мкм'); gotoxy(l,5);write('Ext-om=',RNit(ExtM* 1000,3),' мкм'); gotoxy(l,6);
193. Процедура строит функцию отклонения расстояния точек контура от базовой точки } Procedure BuildZI; var Iel,Ie2,i,j:word; begin
194. На главной режущей кромке найдём точку удалённую на величину Sizlот точки пересечения }1.l:=l;
195. While ((Iel<=NPoint) and (Distance(ConturIel.,CrossPoint)>Sizl)) do inc(Iel);
196. VisErr:=16; { В поле зрения нет необходимых для корректной отработки участков РИ } If Iel=l then exit; If (lel>NPoint) then exit;
197. VisErr:=17; { Износ превысил безъизносный участок } {If (ConturIel.X*Cos(01)+Contur[Iel].Y*Sin(01)-R01>MDExt) then exit; { На вспомогательной режущей кромке найдём точку удалённую на величину Siz2 от точки пересечения }
198. Скорректируем номер вершины } IPeak:=IPeak-Iel+l;
199. Скорректируем номер точки ближайший к точке пересечения } 1еЗ:=1еЗ-1е1+1; Ie2:=NPoint;
200. While (1е2>=1) and (Distance(ConturIe2.,CrossPoint)>Siz2) do dec(Ie2);
201. В поле зрения нет необходимых для корректной отработки участков РИ }1. VisErr:=16;1. (1е2<1) then exit;1. Ie2=NPoint then exit;}
202. VisErr:=17; { Износ превысил безъизносный участок } {If (ConturIe2.X*Cos(02)+Contur[Ie2].Y*Sin(02)-R02>MDExt) then exit;} VisErr:=0; j:=l;
203. For i.-Iel to Ie2 do begin
204. ZI|j.X:=Contur1. ,X-CrossPoint.X; ZIj]. Y:=Contur[i]. Y-CrossPoint. Y; inc(j); end;1. NpZI:=Ie2-Iel+l; end;procedure VisZI; var i,c:byte;1.ur,MCur:word; constсмещение текущей точки контура на экране }1. Сх=320;1. Су=230;
205. For i:=l to NPZI do { выводим точки зоны износа } beginputpixel(Cx+round((Zi1.X-EZiICur.X)*MCur), Cy+round((Zi [i]. Y-EZi[ICur]. Y)*MCur), LightRed); If I=IPeak then begin
206. SetLineStyle(DottedLn Д NormWidth);1.ne(Cx+round((Zi1.X-EZiICur.X)*MCur),0,Cx+round((Zi[i].X-EZi[ICur].X)*MCur),479); Line(0,Cy+round((Zi[i].Y-EZi[ICur].Y)*MCur),639,Cy+round((Zi[i].Y-EZi[ICxir] Y)*MCur)); end; end;
207. U:=UReadar(Inar,j,i); (U:=ReadAr(Inar,j,i);} LGist(Inar,j,i,9,9); {DrawGist(103,478,1);} k:=63;while Gistk.<=MinBr do If k=l then break else dec(k); VisErr:=14;1. k<30 then exit; { Большое 'затемнение' в данной точке } Um:=k;
208. For k:=Um downto Um-NEG+1 do begin
209. Sl:=Sl+k*Gistk.; S2:=S2+Gist[k]; end;
210. Ui:=U*S2/Sl; { отладка } (gotoxy(20,5);write('S2/Sl=',RNit((Sl/S2),2),' Ui=',RNit(Ui,3),' Ubk=',RNit(U/63,3),' U=',RNit(U,l)); readkey;} VisErr:=0; RelU:=Ui; end;
211. Процедура, уточняющая координаты точек контура по величине сигнала от фотоячеек, на которые проецируется перепад фон-объект } Procedure Utochn; var CurU:integer; a:real; i:word; R:real; U.real; begin
212. For i:=l to NPoint do begina:=GAngle(Inar,round(Contur1.X),round(Conturi.Y));
213. U:=RelU(round(Contur1.X),round(Conturi.Y));1. ErrHandler;1. R:=RU(U);
214. Contur 1. X:=Contur i. X-cos( A) *R/19; Contur [i]. Y:=Contur[i]. Y-sin( A)*R/19; end; end;
215. Процедура, переводяклцая координаты точек контура из пикселов в милиметры пространства объектов } Procedure KonvertKoord; begin
216. For i:=l to NPoint do begin
217. Contur1.X:=Conturi.X*Vx; Contur[i]Y:=Contur[i] ,Y*Vy; end; end;
218. Procedure KonvertKoordl; begin
219. For i:=l to NPoint do begin
220. Contur1.X:=(Conturi.X-0.5)*Vx; Conto[i].Y:=(Contur[i].Y-0.5)*Vy; end; end;
221. Procedure TraceContur(bp,ep:koord); { Процедура прослеживания точек контура } const dltarray 1.8. of Koord=((x:-l;v:-I),(x:0;y:-l),(x: l;y:-l), (х:-1;у:0),(х: 1;у:0),(х:-1;у: l),(x:0;y: l),(x: l;y: 1)); var x,y,newx,newy,i,newdir:integer;
222. MaxWP,CurWP:byte; { число белых соседей,текущее и максимальное }begin
223. Procedure SaveContur(FCN:string); var i:word; FD:text; s:string; beginassign(FD,'C:\Temp\'+FCN); Rewrite(FD); For i:=l to NPoint do begin str(Contur1.X,S); writeln(FD,S); str(Conturi.Y,S); writeln(FD,S);end;close(FD); end;1. ОСНОВНЫЕ ПРОЦЕДУРЫ }
224. MakeMultiKadr(Inar,Outar2,NKadrs); ConvertMultiKadr; end;
225. KTT then writeln('BKJI') else writeln('BblKJT); gotoxy(59,8);
226. KSS then writeln('BKTI') else writeb('BbllOI'); gotoxy(59,10);
227. U then writeln('BKJI') else writeln('BblKn'); c:=ord(readkey); until c=13; If U then begin MDSkv:=1.5*Vy; MDExt:=1 {0.7} * Vy; end else begin
228. MDSkv:=3*Vy; MDExt:=2 {1.4} * Vy; end;
229. KTT then { если контролируется темновой ток }1. KSS then; end;
230. MakeMultiKadr(Inar,Outar3 ,NKadrs*2);1. ConvertMultiKadr;sound(lOOO);delay(500);nosound;gotoxy(10,20);writeln('Co3flaeTCfl файл коррекции темнового тока ','C:WIS\BLCUR\'+EName);
231. Save(Outar3,'C:WIS\BLCURV+copy(EName,l,length(EName)-3)+'.map');gotoxy(20,21);writeln('Чиcлo кадров ',NKadrs*2);readkey;readkey;end;
232. Procedure SoftSettingl; var c:byte; label UK; begin CLRSCR;
233. SetWindow(5,100,l,1,300,210,1,1,1);1. FastDraw(Inar);
234. SetWindow(3I0,100,1,1,300,210,1,1,1); с:=49; repeat case с of49:If BinLev<63 then inc(BinLev); 50:If BinLev>l then dec(BinLev); else goto UK; end;
235. Binar(Inar,Outarl,BinLev); { получим бинаризованное изображение в массиве OUTAR1 }gotoxy(19,23);write(BinLev,'');1. Fastdraw(Outarl);
236. Segm; { Выделим сегменты }1. ErrHandler;gotoxy(51,23);write(NSegm,'');
237. TestSegment; { Протестируем сегменты }1. ErrMode:=Waurning;
238. ErrHandler; { Обработаем предупреждения }1. ErrMode:=Question; UK:if VISErr=0 then c:=ord(rcadkey)else c:=50; until c=13; end;
239. Procedure SoftSetting2; var c:byte;i:word; label UK; begin
240. Сохраним коэффициенты уравнений базовых линий } SaveLines; end;
241. Procedure SoftSetting3; var c:byte; i,j:word; Iel,Ie2:word; label UK;const StpSiz=0.2; { Шаг изменения размера зоны износа } begin CLRSCR;
242. While ((Iel<=NPoint) and (Distance(ConturTe 1 ., CrossPoi nt)>Si z 1)) do inc(Iel); If Iel=l then Sizl:=Sizl-StpSiz; If Iel=NPoint+l then Sizl:=Sizl+StpSiz; Ie2 :=NPoint;
243. While (Ie2>=l) and (Distance(ConturIe2.,CrossPoint)>Siz2) do dec(Ie2); If Ie2=NPointthen Siz2:=Siz2-StpSiz; If Ie2=0 then Sizl :=Sizl+StpSiz;
244. SetLineStyle(SolidLn,0,NormWidth);1.ne(0,239,639,239);1.ne(20,0,20,479);
245. For i:=Iel-3 to Ie2+3 do begin
246. ZIj. X:=Contur1. .X-CrossPoint.X; ZI[j].Y:=Contur[i].Y-CrossPoint.Y; inc(j); end;
247. NpZI:=Ie2-Iel+7; Fori:=l toNPZI doputpixel(round(ZI 1. ,X*7/Vy)+20,round(ZIi. Y*7/Vx)+23 9,15): gotoxy(l,23);writeCftra продолжения -<ENTER>');readkey;end;
248. U then writelnCBIOI') else writeln('Bbliai'); gotoxy(59,8);
249. SV then writeln('BKJI') else writeln('BbllOI'); gotoxy(59,10);
250. BPM1 then vvriteln('BKJI') else writeln('BblKJT);gotoxy(59,12);
251. BPM2 then \vriteln('BKJT ') else writeln('BbIKJT);c:=ord(readkey); until c=13; If U then begin
252. MDSkv:=1.5*Vy; MDExt:=T{0.7}*Vy; end else begin
253. MDSkv:=3*Vy; MDExt:=2 {1.4 } * Vy; end; end;
254. U then writeln('20. УТОЧНЕНИЕ') else writeln('20. БЕЗ уточнения');
255. U then writeln(T,'20. УТОЧНЕНИЕ') else writeln(T,'20. БЕЗ уточнения');
256. КТТ then writeln(T,'21. КОРРЕКЦИЯ TTOK') else writeln(T,'21. БЕЗ КОРРЕКЦИИ');
257. KSS then writeln(T,'22. КОРРЕКЦИЯ СВСИ') else writeln(T,'22. БЕЗ КОРРЕКЦИИ');
258. IORESULT=0 then writeln('®aftn образа резца ',FNE,' записан успешно!') else writeln('Onni6Ka записи'); {$1+}gotoxy(10,22); \\'гке('Жми кнопу'); readkey; EName:=FEN; end;
259. TSV='20. УТОЧНЕНИЕ' THEN U:=True else U:=False;1. Readln(T,TSV);
260. TSV='21. КОРРЕКЦИЯ TTOK' THEN KTT:=True else KTT:=False; Readln(T,TSV);
261. TSV='22. КОРРЕКЦИЯ СВСИ' THEN KSS:=Trae else KSS:=False;close(T);1. U thenbegin
262. Readln(T,TSV); val(TSV,EZI1. .X,ECODE); Readln(T,TSV); val(TS V,EZIi. Y,ECODE); end;close(T);1. (IOresultoO) or (ECODEoO) then exit; VisErr:=0; end;
263. Процедура сравнения вычисленных углов и типа РИ с эталоном }1. Procedure CompareAngles;begin
264. Процедура рассчитывает функцию износа } procedure BuildIznos; var i,j,IMD:word;1. CD,MD:real; begin1. For i:=l to NPZI do begin1. MD:=10000;1. For j:=l to NPEZI dobegin
265. CD :=Distance(ZI 1. ,EZI j.); If CD<MD then begin IMD~j; MD:=CD; end; end;
266. DeltaZi 1.:=EtDist(EZI IMD -1 . ,EZI [IMD] ,EZI [IMD+1 ] ,ZI [i]) * 1000; end; end;
267. Процедура визуализации износа } procedure VisJZNOS; var c:byte; i:integer;
268. ScaleY:real; { масштаб мкм- пиксел дисплея по Y} ScaleX.real; { масштаб мкм- пиксел дисплея по X} 01dVis,CurVis:boolean; { переключатели визуализации 'предыдущего' и текущего графиков } BI:integer; begin BI:=2; ScaleX:=3; ScaleY:=2; repeat CLRSCR;
269. Нарисуем систему координат } Line(23,1,23,479); ' SetLineStyle(DottedLn, 0, NormWidth);1.ne(23+round(ScaleX*(IPeak-BI+2)),50,23+round(ScaleX*(IPeak-BI+2)),400); gotoxy(round(((IPeak-BI+2)*ScaleX)/8),5); {точка вершины } write('BepnuiHa'); SetColor(7);
270. For i:=0 to 30 do { линии сетки } begin1.ne(20,240+round((i-15)*5*ScaleY),639,240+round((i-15)*5*ScaleY));
271. MoveTo(l,240+round((i-15)*5*ScaleY-3));1. OutText(NIT((15-i)*5));end;
272. SetLineStyle(CenterLn, 0, NormWidth); Line(20,240,639,240); SetLineStyle(SolidLn, 0, NormWidth);1. OldVis then begin1. SetColor(9);
273. MoveTo(23,round(240-ODeltaZIBI-l.*ScaleY));нарисуем функцию износа полученную на предыдущем цикле }
274. For i:=BI to ONPZI do Lineto(23+round(ScaleX*(i-BI)),240-round(ODeltaZI1.*ScaleY));end;1. Cur Vis then begin1. SetColor(15);
275. MoveTo(23 ,round(240-DeltaZI BI-1 . * ScaleY)); { нарисуем функцию текущую износа }
276. For i:=BI to NPZI do Lineto(23+round(ScaleX*(i-BI)),240-round(DeltaZI1.*ScaleY)); end;
277. NPeaks:=0; While i<=NPZI do begin1. abs(DeltaZIfi.)>Porog then begin
278. NPeaks< 10 then inc(NPeaks); with Peaks lNPeaks. do begin S:=0; IB:=i;
279. Znak:=sign(DeltaZi1.); M:=0;while sign(DeltaZi i |)=Znak do begin1. S:=S+abs(DeltaZi1.);1. abs(DeltaZi1.)>abs(M) thenbegin1. M:=DeltaZi1.;dV:=IPeak;dV:=(dV-i)/NPZI;end;inc(i);end;
280. B:=(i-IB)/NPZI; end; end; inc(i); end; end;
281. For i:=l to NPeaks do with Peaks l1. do begingotoxy(2,3+i*2); write(i);gotoxy(8,3+i*2);
282. ВИС не может определить состояние РИ по нек. причинам
283. Норма, размерная коррекция не нужна
284. Норма, нужна размерная коррекция положения РИ
285. Недопустимая ошибка позиционирования РИ
286. Явление нароста, скорректировать скорость резания
287. Канавочный, концентрированный износ, скорректировать подачу
288. RiType=RiTypesl. then begin
289. Peak.X:=100000; For i:=l to NPoint do If Contur 1.X<Peak.X then begin
290. Peak:=Contur1.; IPeak:=i; end; end;
291. RiType=Ritypes2. then begin Peak.X:=0;
292. For i:= 1 to NPoint do If Conturfi. ,X>Peak.X then Peak:=Contur1.; end;
293. RiType=Ritypes 3 . then begin1. Peak.Y:=0;
294. For i:=l to NPoint do If Conturfi., Y<Peak.Y then Peak:=Contur1.; end;
295. ГЙе('Координата X ',RNit(Peak.X,4),' мм'); gotoxy(10,22);д¥Гйе('Координата Y ',RNit(PeakY,4),' мм'); end;
296. Процедура одного цикла контроля РИ } procedure NextControl(fn:string); var c:char; i:word; Dist:real; begin
297. SoftSetting5; CLRSCR; If fn=" then begin ClearAr(Inar); ClearAr(Outar2);
298. MakeMultiKadr(Inar,Outar2,NKadrs); ConvertMultiKadr; end else beginэмуляция ввода кадра}
299. ClearAr(Outarl); ClearAr(0utar2);1.adKadr(Inar,BasePatii+'KadrsVkdr'+fn+'.map'); { эмулируем ввод основного кадра } LoadKadr(Outar2,BasePath+'Kadrs\kdv'+fn+'.map'); { эмулируем ввод кадра остатков } end;
300. SetWindow(5,5,1,1,300,210,1,1,1); { зададим атрибуты вывода изображения } FastDraw(Inar); { выведим исходный массив на дисплей }
301. SetWindow(310,5,1,1,300,210,1,1,1);{ зададим атрибуты вывода изображения } FastDraw(Outar3); { выведим на дисплей массив темн.тока}
302. КТТ then (DecKadrs(Inar,Outar3); { Скорректируем темновой ток } If KSS then;
303. SetWindow(310,220,l,l,300,210,l,l,l);{ зададим атрибуты вывода изображения } FastDraw(Inar); { выведим на дисплей Скорректированный массив }
304. Binar(Inar,Outarl,BinLev); { получим бинаризованное изображение в массиве OUTAR1 }
305. SetWindow(5,220,1,1,300,210,1,1,1); { зададим атрибуты вывода изображения } FastDraw(Outarl); { выведим бинаризованный массив на дисплей }
306. Segm; { Сегментируем кадр }
307. ErrHandler; { Обработаем ошибки }
308. TestSegment; { Протестируем сегменты }
309. ErrHandler; { Обработаем ошибки }
310. TraceContur(BPC.EPC); { Определим координаты точек контурабинаризованного изображения } ErrHandler; { Обработаем ошибки }
311. U then Utochn; { на основе исходного полутонового изображения уточним координаты контура}1. KonvertKoord;readkey;1. CLRSCR;
312. For i:=l to NPoint do { визуализируем полученный контур } putpixel(NX+round(Contur1.X*M),NY+round(Conturi.Y*M),15); EvalAngles(not(BPM2)); { рассчитаем углы базовых линий }
313. Если координаты базовой точки и базовых линий не рассчитываются }1. Not(BPMl or ВР М2) thenbegin1. CrossPoint:=EBase;1. F:=FE;1. F1:=F1E;1. W-WE;1. RiType:=EType;end;
314. Определим координату вершины контура РИ (в с.к. станка)} EvalPeak;
315. SV then { Протоколирование определенных параметров в файлах} begin
316. DataSave('F',RNit(F,4),0);
317. DataSave('F l',RNit(F 1,4),0);
318. DataSave('W',RNit(W,4),0);
319. DataSave('CrPX',RNit(Crosspoint.X,4),0);
320. DataSave('CrPY',RNit(Crosspoint.Y,4),0);
321. DataSave('NUMERIC',NiT(Num), 1);
322. DataSave('PeakX',RNit(Peak.X,4),0);
323. DataSave('PeakY',RNit(Peak.Y,4),0);
324. ErrHandler; { Обработаем ошибки }end;readkey;1. CLRSCR;
325. CompareAngles; { Сравним безъизносные участки РИ с эталонными значениями }1. ErrHandler;readkey;1. CLRSCR;1. Colorl6;определение точки контура, ближайшей к базовой точке } Dist:=100;1. For i:=l to NPoint do
326. Distance(Conturi|,CrossPoint)<Dist then begin Ie3:=i;
327. Dist:=Distance(Contur Ie3 . ,CrossPoint); end;
328. BuildZI; { построить зону износа } ErrHandler;
329. VisZi; { визуализировать зону износа } CLRSCR;
330. Buildlznos; { Рассчитать функцию отклонения точек контура } VisIznos; { визуализировать функцию отклонения } {CompareZI;}
331. Extract; { выделим параметры износа }
332. Save(Inar,BasePath+'Kadrs\kdr'+FNUM+'.map');1. ClearAr(Outar2);сохраним исходный образ в файле kdvN.map (вспомогательный массив)}
333. Save(Outar2,BasePath+'Kadrs\kdv'+FNUM+'.map');end;1. Grayl6;end;
334. Сформируем Мульти-кадр } repeat
335. ClearAr(Inar); ClearAr(Outarl); ClearAr(Outar2);
336. MakeMuMKadr(Inar,0utar2,NKadrs); ConvertMultiKadr;получим бинаризованное изображение в массиве OUTAR1 } Binar(Inar,Outar 1 ,BinLev); { Сегментируем кадр } Segm;
337. Обработаем ошибки } ErrHandler;
338. Протестируем сегменты } TestSegment; { Обработаем ошибки } ErrHandler;
339. Определим координаты точек контура бинаризованного изображения }1. TraceContur(BPC,EPC);1. Обработаем ошибки }1. ErrHandler;until VisErr=0;1. KonvertKoord;
340. Формируем буферы } { Формируем отсчеты 'регрессия' без уточнения } EvalAngles(trae);regr:=regr+RNit((CrossPoint.X-EBase.X)* 1000,2)+' '+RNit((CrossPoint.Y-EBase.Y)* 1000,2)+'';
341. Формируем отсчеты 'средняя точка',без уточнения } EvalAngles(false);
342. MidPoint:=MidPoint+RNit((CrossPoint.X-EBase.X)* 1000,2)+' '+RNit((CrossPoint.Y-EBase. Y)* 1000,2)+'';
343. Binar(Inar,Outarl,BinLev); { Сегментируем кадр } Segm;
344. Обработаем ошибки } ErrHandler;
345. Определим координаты точек контура бинаризованного изображения } TraceContur(BPC,EPC); { Обработаем ошибки } ErrHandler;
346. Utochn; { уточняем координаты } KonvertKoord;
347. Формируем отсчеты 'регрессия', с уточнением } EvalAngles(true);regrU:=regrU+RNit((CrossPoint.X-EBase.X)*1000,2)+"+RNit((CrossPointY-EBase.Y)*1000,2)+''; { Формируем отсчеты 'средняя точка', с уточнением } EvalAngles(false);
348. MidPointU:=MidPointU+RNit((CrossPoint.X-EBase.X)*1000,2)+' '+RNit((CrossPoint.Y-EBase.Y)*1000,2)+' end;скинем буферы }
349. DataSave('BasePoint',RNit(CHAS,3),0);
350. DataSave('BasePoint' ,Regr,0); DataSave('BasePoint',RegrU,0); DataSave('BasePoint',MidPoint>0); DataSave('BasePoint',MidPointU,0); end; end;
351. Процедура одного цикла контроля РИ только для записи эксперементальных данныхбез вывода на дисплей) }procedure NextControll;begin1. CLRSCR;1. ClearAr(Inar);1. ClearAr(Outarl);
352. MakeM ultiKadrfln a r, Outar2,NKadrs); ConvertMultiKadr;
353. KTT tlien DecKadrs(Inar,Outar3); { Скорректируем темновой ток }
354. Binar(Inar,Outarl,BinLev); { получим бинаризованное изображение в массиве OUTAR1 }
355. Segm; { Сегментируем кадр }
356. EnrHandler; { Обработаем ошибки }
357. TestSegment; { Протестируем сегменты }
358. ErrHandler; { Обработаем ошибки }
359. TraceContur(BPC,EPC);{ Определим координаты точек контура бинаризованного изображения } {ErrHandler; { Обработаем ошибки }на основе исходного полутонового изображения уточним координаты контура }1. UthenUtochn;1. KonvertKoord;
360. EvalAngles; { Определим углы резца:}
361. ErrHandler; { Обработаем ошибки }
362. DataSave('F',RNit(F,4),0);
363. DataSave('F 1 ',RNit(F 1,4),0);
364. DataSave('W',RNit(W,4),0);
365. DataSave('CrPX',RNit(Crosspoint.X,4),0);
366. DataSave('CrPY',RNit(Crosspoint.Y,4),0);
367. EvalPeak; { Определим координату вершины контура РИ (в с.к. станка) }
368. DataSave('PeakX',RNit(Peak.X,4),0);
369. DataSave('PeakY',RNit(Peak.Y,4),0);end;}
370. U then writeln('YT04HEHHE') else writeln(' '); gotoxy(34,23);write(' Разрешение (X,Y):',RNIT(Vx,3),' мм/пикс ',RNit(Vy,3),' мм/пикс'); gotoxy(5,24);
371. KTT then write('KOPP. TTOK'); while (t<48) or (t>57) do t:=ord(readkey); MainMenu:=t-48; end;
372. Procedure Geo Kal; { геометрическая калибровка }beginend;
373. Procedure OptJfCal; { оптическая калибровка }beginend;procedure LoadCFG; var F:text; S: string; Err:integer; begin
374. Vx:=18; {предварительные коэффициенты пиксел/мм}
375. CutMin."5*Vy; { Миннимальная и максимальная длины участка контура, по которым }
376. CutMax:=170*Vy; { определяются параметры режущих кромок (01,ROl,02,R02)}увеличение, создаваемое оптической системой } New Ar; { Объявить доп.массив для бинаризации Outarl } New Ar; { Объявить доп.массив для мульти кадра - Outar2 }
377. New Ar; { Объявить доп.массив для организации коррекции темнового тока Outar 3}
378. ClearAr(0utar3); ClearAr(0utar3);
379. EName:-resec.ri'; ErrMode:=Question;1.adRU('UR25.dat'); { Загрузим функцию координаты контура от величины сигнала } LoadEtalon(EName); { загрузим эталон }загрузим соответствующий файл коррекции темнового тока }
380. KIT then LoadKadr(OutarЗ,'C:\VIS^BLCURV+copy(EName,l,length(EName)-3)+'.map,);1. NormKadr(Outar3);}1. ErrHandler;
381. ONPZI:=0; { обнулим число отсчётов функции износа полученной в предыду1. УТВЕРЖДАЮ
382. Проректор по НИР Донского государственного техничес1. УТВЕРЖДАЮ
383. Главный инженер ПО "Азовский оптико -механический завод"1. ТЕХНИЧЕСКИЙ АКТ ВНЕДРЕНИЯ
384. Годовой экономический эффект составит 9 тысяч 180 рублей.1. От ДГТУ1. От АОМЗ1. А.К. Тугенгольд1. А.Н. Зацепилин1. Е.А. Лукьянов1. Д.А. Носенков
-
Похожие работы
- Повышение точности токарных станков с ЧПУ за счет модернизации систем управления
- Обеспечение точности токарной обработки путем выбора оптимальных режимов резания, снижающих влияние вибрации технологической системы
- Экспресс-диагностирование шпиндельных узлов токарных станков на основе анализа спектральных составляющих вынужденных колебаний
- Повышение точности токарной обработки на основе использования модели процесса резания в контуре управления
- Создание системы автоматической размерной настройки и поднастройки токарных станков с ЧПУ