«Ю.М. Зубарев С.В. Косаревский Н.Н. Ревин АВТОМАТИЗАЦИЯ КООРДИНАТНЫХ ИЗМЕРЕНИЙ Учебное пособие Под редакцией проф. Ю.М. Зубарева Рекомендовано Учебно-методическим объединением по образованию в области автоматизированного ...»
АВТОМАТИЗАЦИЯ КООРДИНАТНЫХ ИЗМЕРЕНИЙ
Учебное пособие
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Санкт-Петербургский институт машиностроения
(ЛМЗ-ВТУЗ)
Ю.М. Зубарев
С.В. Косаревский
Н.Н. Ревин
АВТОМАТИЗАЦИЯ
КООРДИНАТНЫХ ИЗМЕРЕНИЙ
Учебное пособие Под редакцией проф. Ю.М. Зубарева Рекомендовано Учебно-методическим объединением по образованию в области автоматизированного машиностроения (УМО АМ) в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению Конструкторско-технологическое обеспечение машиностроительных производств.Санкт-Петербург УДК 62.531. ББК 30. З- Зубарев Ю.М., Косаревский С.В., Ревин Н.Н.
З-91 Автоматизация координатных измерений. Учебное пособие. СПб.: Изд-во ПИМаш, 2011. 160 c. : ил.
Рецензенты: д-р. техн. наук, проф. Максаров В.В. (СЗТУ) д-р. техн. наук, проф. Попов Г.А. (АГТУ) Учебное пособие знакомит с основными понятиями и методами координатных измерений, а также разделами математики, которые необходимы для освоения приёмов автоматизации обработки результатов координатных измерений. Координатные методы измерения позволяют определять не только линейные размеры, но и всевозможные отклонения формы и расположения поверхностей. Современные средства координатных измерительно-вычислительных комплексов позволяют автоматизировать процесс измерения деталей сложной формы. В данном пособии рассмотрен ряд практических примеров решения измерительных задач с использованием программного обеспечения Calypso.
Пособие можно рекомендовать аспирантам и студентам старших курсов технических университетов и институтов, обучающимся по специальностям технологического направления и особенно по специальностям, ориентированным на применение современных координатных методов производства и контроля изделий машиностроения, оно также будет полезно инженерам конструкторскотехнологических служб и заводских измерительных лабораторий.
ББК 30. Ил. 38, библ. 106 назв.
Зубарев Ю.М., Косаревский С.В., Ревин Н.Н., c Оглавление Сокращения и обозначения Предисловие Введение I Теоретические основы 1. Алгебра 1.1. Кортежи........................... 1.2. Группы, кольца и поля................... 1.3. Векторные пространства.................. 1.4. Аффинные пространства.................. 1.5. Аффинные преобразования координат.......... 1.6. Однородные координаты точки.............. 1.7. Свёртки............................ 1.7.1. Линейная свёртка.................. 1.7.2. Циклическая свёртка................ 1.8. Взвешенные суммы..................... 1.9. Фильтры........................... 1.10. Удаление выбросов..................... 2. Геометрия 2.1. Криволинейные системы координат........... 2.1.1. Полярная система координат........... 2.1.2. Сферическая система координат......... 2.1.3. Цилиндрическая система координат....... 3.4.2. Минимизация суммы квадратов отклонений 4.1. Проблема прослеживаемости координатных измерений 5.1.3. Условия и циклы. Управление перемещением 5.2.2. Считывание значений характеристик из табличного файла Calypso............... Получение результатов из Calypso............... Описание команд Calypso PCM................. Сокращения и обозначения Некоторые обозначения, используемые в данной книге, могут быть ещё недостаточно распространены, поэтому здесь приводится полный перечень всех использованных сокращений.
ИВК измерительно-вычислительный комплекс.
КИМ координатно-измерительная машина.
МНК метод наименьших квадратов.
САКК система автоматизированного контроля качества.
САПП система автоматизированной подготовки производства.
САПР система автоматизированного проектирования.
ЧПУ числовое программное управление.
CAA computer-aided accuracy.
CAM computer-aided manufacturing.
CMM coordinate-measuring machine.
GD&T geometric dimensioning and tolerancing.
I++ DME dimensional measuring equipment interface.
PCM parametric coded measurement.
Предисловие Высококвалифицированный персонал жизненно важная составляющая конкурентоспособности любой организации, что особенно актуально в тех областях, где ощущается нехватка специалистов. Это касается и координатных измерений, где инженер должен обладать широким спектром знаний, чтобы получать надёжные результаты. Ему необходимо знать основы машиностроительного производства и метрологии, работы с ПК, САПР координатноизмерительной техникой, понимать стандарты и методы менеджмента качества, знать основы статистики и аналитической геометрии, английский язык. Учитывая существующие программы вузов для подготовки инженеров, можно констатировать, что ни одна из них не обеспечивает полный спектр требуемых вышеперечисленных знаний. Такая ситуация сложилась не только в России, но и в других странах [102], хотя и в меньшей степени.
Занятия, которые проводят различные производители координатно-измерительной техники, как правило, ориентированы только на один вид аппаратуры и не дают хорошего фундамента для уверенной работы в данной области. Порой они не затрагивают даже такие важные вопросы, как методы и точность измерений.
В развитых странах ведущие промышленные предприятия и разработчики измерительной техники объединяют усилия с целью совместной разработки и внедрения программ по обучению специалистов в области координатных измерений. К уже созданным, достаточно широко применяемым программам обучения и сертификации относятся:
ASMC в США и Канаде;
CMTrain в Великобритании;
CMM Club/CEPAS в Италии;
AUKOM в Германии;
10 Предисловие EUKOM в странах Евросоюза.
Первые две программы сосредоточены на линейных измерениях в целом. Остальные в основном на координатной метрологии.
Все они сходны по структуре и содержанию. Программа EUKOM является развитием AUKOM и больше сконцентрирована на международных потребностях обучения специалистов, в частности, больше внимания уделено вопросам стандартизации. Данные программы обучения активно развиваются и в настоящее время.
В нашей стране повсеместное внедрение методик координатных измерений в производство сдерживается рядом факторов: отсутствием на машиностроительных предприятиях подготовленных кадров и целевых образовательных программ в областях автоматизации контроля и координатной метрологии; высокой стоимостью новой координатно-измерительной техники и программного обеспечения для неё; зависимостью от зарубежных производителей; отсутствием современных стандартов, технических регламентов и методик выполнения координатных измерений типовых деталей; несовершенством российских стандартов в отношении координатных средств измерения.
Эффективное использование координатных измерительновычислительных комплексов заключается не только в автоматизации тех рабочих мест, где устанавливается новое оборудование, но и в обучении людей новым способам работы, переподготовке специалистов и переосмыслении всех процессов, выполняемых на рабочих местах. И, скорее всего, это потребует существенных изменений в организации предприятия. При неправильном внедрении ИВК на производстве возникнет ситуация, когда их использование станет недостатком, а не преимуществом.
Учитывая это, следует уделять больше внимания обучению персонала в области координатных измерений. При покупке оборудования бюджет должен включать в себя расходы не только на аппаратное и программное обеспечение, техническую поддержку, но и на обязательное обучение персонала.
Важной ступенью понимания является то, что ИВК необходимо рассматривать не как способ замены или улучшения существующих методов организации производства, а как способ применения принципиально новых методов и методологий (т.е. тех, которые в принципе были невозможны ранее, до применения координатной техники;
например, так называемая виртуальная сборка ). В нашей стране до сих пор распространена ситуация, когда решается задача автоматизации отдельных рабочих мест, при этом задача автоматизации производственных процессов и процессов управления в масштабе предприятия просто не ставится [28]. Конечно, подобный подход даёт преимущество перед ручным трудом, но о конкуренции с западными предприятиями по организации внутренних процессов не может идти даже и речи.
Следует ещё раз подчеркнуть, что без чёткого понимания ожидаемого эффекта от применения измерительных комплексов на производстве будет очень сложно получить поддержку руководства для их внедрения.
Введение Признание в промышленности координатная измерительная техника получила с момента её появления. Она применима в различных областях производства: ведь размеры и отклонения формы и расположения поверхностей деталей могут быть определены на КИМ. По результатам исследований зарубежных учёных [84] до 75% общего числа геометрических параметров деталей может быть определено с помощью координатной измерительной техники.
В первые десятилетия развития ИВК внимание разработчиков было сконцентрировано на конструкции, математических основах ПО, системах управления машиной и стандартизации базовых методов выполнения измерений. Позднее работы сместились в сторону совершенствования методов контроля геометрических параметров, интеграции измерительно-вычислительных систем в технологические процессы, определения точности выполняемых координатных измерений. Новая фаза в развитии ИВК привела к новым требованиям в отношении и производителей промышленной продукции, и пользователей координатной измерительной техники, а также к адаптации промышленности под современные возможности информационных технологий. Стандарты качества на промышленные продукты возникают и изменяются за очень короткие временные циклы, приводя к тому, что подготовка, обновление и освоение новых методов контроля качества должны быть полностью интегрированы в поток данных, начиная от конструирования (CAD) и заканчивая изготовлением (CAM), контролем готовой продукции (CAQ) и обслуживанием.
14 Введение Координатная измерительная техника сегодня используется в процессах обмена данными на всех вышеперечисленных этапах автоматизации производства. Когда встаёт вопрос о такой интеграции, сам процесс измерения играет уже не главную роль. Из-за постоянно возрастающего объёма связей между различными этапами производственного процесса технология промышленных измерений должна также обмениваться всё большим количеством информации с другими этапами. На современном уровне развития технологии эта задача может быть решена различными способами (рис. 1.0 на стр. 15, адаптировано из [103]).
Входными данными для процесса координатных измерений является информация о номинальной форме изделия. Эта информация должна быть задана в форме, понимаемой компьютером, в виде CAD-модели. Для использования её в процессе измерения необходимо, чтобы данные были переданы в метрологическое программное обеспечение для создания программы измерения.
При классических подходах, до компьютерно-автоматизированной передачи данных, в качестве исходных данных использовался напечатанный чертёж, который служил основой для программирования измерений. Обычно программирование выполнялось непосредственно на измерительной машине с применением модели или образца изготовленной детали.
В настоящее время, при наличии CAD-модели детали в электронном формате, программа измерения может быть практически всегда полностью составлена вне измерительной машины. Тем самым достигается экономия машинного времени, так как можно использовать измерительную машину для контроля других деталей по уже созданным программам измерений.
Для передачи CAD-модели в метрологическое программное обеспечение часто используются следующие форматы данных, стандартизованные национальными или международными организациями:
IGES (Initial Graphics Exchange Specication);
VDA-FS (Verband der deutschen Automobilindustrie Flchena schnittstelle);
SAT/SAB (Standard ACIS Text/Binary);
SET (Standard d’Excange et de Transfer);
STEP (Standard for the Exchange of Product Model Data [68]).
Рис. 1.0. Интеграция технологии измерений на разных этапах производства 16 Введение Например, в немецкой промышленности наиболее широкое распространение получили форматы IGES и VDA-FS. Формат SET используется в Европейской аэрокосмической промышленности, хотя сейчас становится всё более востребованным формат STEP. Следует отметить, что из вышеназванных форматов поддерживают хранение и передачу допусков на размеры только IGES, STEP и SET, но, как правило, такая функция не реализована в ПО, экспортирующем CAD-модели в эти форматы, поскольку на практике реализуется только часть данных стандартов.
Для эффективной передачи данных о форме изделия из CADсистемы необходимо, чтобы эти данные удовлетворяли следующим критериям: имели масштаб 1:1 и единицы измерения, соответствующие единицам измерения, принятым на КИМ; содержали систему координат, связанную с деталью и воспроизводимую на КИМ, а также правильную информацию об ориентации поверхностей детали (направление нормалей к поверхностям). Если эти условия не выполняются, то необходимо будет отдельно обрабатывать CAD-модель таким образом, чтобы обеспечить вышеперечисленные требования.
Если процесс измерения требует компьютерной симуляции, например, для поверки отсутствия столкновений при выполнении измерений в режиме ЧПУ, необходимо использовать данные, полученные из САПР. Большинство систем выполняют симуляцию прогона измерения путём графического представления измерительной машины, её рабочих органов и измеряемой детали. Обязательным требованием для этого является наличие трёхмерной модели детали1.
Для эффективного анализа столкновений необходимо, чтобы в симуляции принимали участие все детали, расположенные на столе машины (крепёжные приспособления, устройства загрузки и т.п.).
Если столкновение было определено, то прогон измерения должен быть исправлен вручную. Некоторые системы уже позволяют частично делать автоматическую коррекцию перемещений КИМ для избежания столкновений с деталью путём задания так называемых плоскостей безопасности.
Связь между метрологическим программным обеспечением и КИМ на сегодняшний день осуществляется с помощью специфичных для каждого производителя интерфейсов. Совершенствование контрллеров КИМ, повышение доли использования стандартных Существуют новые методы, не требующие CAD-модели, например [106], но на момент публикации книги они ещё не вошли в широкое практическое применение.
сетевых технологий и запросы потребителей об унификации ПО для координатных измерительных систем различных производителей всё это ведёт к разработке драйверов КИМ, т.е. метрологическое ПО взаимодействует с КИМ через драйвер. В качестве аналогии этой концепции может быть приведена связь офисного программного обеспечения для редактирования текстов с принтером посредством драйвера принтера. Для работы с интерфейсом такого драйвера необходимо, чтобы он был стандартизован. В настоящее время широко известен такой проект, как I++ DME [89, 51], который применяется в том числе и для автоматизации измерений [42].
Широко распространён драйвер CMM-OS, разрабатываемый фирмой Carl Zeiss и применяемый на их КИМ. Для взаимодействия метрологического программного обеспечения с CMM-OS используется отдельный порт сетевого протокола TCP/IP. После запуска CMM-OS между ним и метрологическим программным обеспечением устанавливается TCP/IP-соединение, по которому программное обеспечение может передавать команды управления для КИМ и получать подтверждения выполнения этих команд. Так CMM-OS позволяет изолировать конкретную аппаратную реализацию КИМ от программного обеспечения.
В тексте введения использован термин контроль, под которым понимается соответствие объекта некоторым требованиям. Исходя из терминологии контроля качества слово контроль описывает задачу измерения деталей и проверку соответствия одной или нескольких их характеристик требованиям конструкторской документации [7]. Контроль геометрической формы деталей обычно основан на результатах измерений: они сравниваются с установленными величинами допусков соответствующих параметров в конструкторской документации.
Для определения соответствия геометрических параметров детали конструкторским значениям в ИВК должна передаваться информация о номинальной форме изделия. Эти данные, как правило, подготавливаются в различных САПР. Они необходимы, чтобы обеспечить возможность координатных измерений.
Результаты такого сравнения либо непосредственно отображаются средствами метрологического программного обеспечения, либо передаются для обработки с помощью других пакетов прикладных программ. Здесь важную роль играют механизмы и стандарты пеВведение редачи данных, обеспечивающие взаимосвязь вышеупомянутых систем.
Базовая задача координатного контроля может быть сформулирована как сравнение измеренных данных с номинальными и представление результатов в текстово-визуальной форме. Обычно эта задача выполняется внутри метрологического программного обеспечения самой КИМ, но часто могут применяться и внешние программы (например, для расчёта статистических характеристик и т.п.). Для передачи результатов измерения во внешние программы можно использовать текстовые форматы данных (ASCII). Для передачи уже готовых отчётов можно воспользоваться различными графическими форматами, например, форматами хранения растровых изображений (BMP, JPEG, TIFF), а также PDF или PostScript для передачи протокола как готового текстово-графического документа. При использовании текстового формата ASCII возможна передача внутренней информации из метрологического программного обеспечения во внешнее прикладное программное обеспечение.
Кроме вышеназванных, поддерживаемых практически повсеместно форматов, многие производители программного обеспечения для координатно-измерительной техники используют ещё два формата экспорта данных: DMIS и Q-DAS. Эти форматы обеспечивают передачу результатов измерений и статистической информации.
Теоретические основы В данной части рассмотрены общие теоретические основы обработки результатов координатных измерений и работе с координатно-измерительными машинами, а также математические понятия, которые необходимы для понимания различных алгоритмов обработки координат точек, применяемых в современной координатной метрологии.
Глава Алгебра Основой координатных измерений является обработка координат отдельных точек детали. Для понимания методов обработки координат необходимо владеть методами аналитической геометрии в пространстве, некоторыми разделами функционального анализа, численных методов и математической статистики. Требуемые математические знания, как правило, неизвестны студентам и инженерам, обучавшимся по технологическим направлениям высшего образования. В данной главе собраны некоторые математические понятия, которые используются в координатных измерениях при обработке координат отдельных точек. В конце второй главы дан обзор литературы, на которой основан представленный материал, и прочтение которой рекомендуется читателям, желающим познакомиться с предметом более широко.
1.1. Кортежи Определение 1.1.1. (Кортеж.) N-кортежем называется упорядоченная конечная последовательность из n элементов.
Кортежи отличаются от множеств тем, что могут содержать одинаковый элемент несколько раз, элементы имеют определённый порядок, и их количество всегда конечно. Далее мы будем называть кортежем любую последовательность нескольких разнородных неименованных элементов.
22 Глава 1. Алгебра Понятие группы является математической абстракцией определённой алгебраической структуры, часто встречающейся при решении различных алгоритмических задач. Введение абстрактного понятия обусловлено тем, что легче одновременно исследовать все математические системы с общей структурой, чем изучать каждую из них в отдельности.
Определение 1.2.1. (Группа.) Группой G называется множество элементов с определённой на нём операцией2, которая удовлетворяет следующим условиям:
замкнутость, т.е. для любой пары a, b G результат операции c = a b G;
ассоциативность, т.е. для любых элементов из этого множества a (b c) = (a b) c;
существование единицы, т.е. существует такой элемент обратимость, т.е. для любого a G существует обратный Группу можно представить в виде 2-кортежа (G, +). Если группа G содержит конечное число элементов, то она называется конечной группой. Число элементов в конечной группе называется её порядком.
В некоторых группах может выполняться условие a b = b a.
Такое свойство группы называется коммутативностью, а группы, обладающие таким свойством, называются абелевыми группами.
Кольцом является абелева группа, снабжённая дополнительной операцией.
Определение 1.2.2. (Кольцо.) Кольцом R называется множество с двумя определёнными над ним операциями: первая называется сложением (обозначается +); вторая называется Здесь имеется в виду не обычная операция умножения, а любая абстрактная операция над какими-либо элементами, обозначенная символом.
умножением (обозначается ·, но часто опускается); которое удовлетворяет следующим условиям:
относительно сложения множество R является абелевой группой;
замкнутость, т.е. произведение ab R для любых a, b R;
ассоциативность по умножению, т.е. для любых элементов из этого множества a(bc) = (ab)c;
дистрибутивность, т.е. a(b + c) = ab + ac и ( b + c ) a = Кольцо можно представить в виде 3-кортежа (R, +, ·). Относительно умножения кольцо не обязательно должно быть коммутативно. Кольцо, в котором выполняется условие ab = ba для всех a, b R, называется коммутативным кольцом.
Более сильной математической конструкцией является поле. Если абелевой группой является множество, в котором можно складывать и вычитать, а кольцо множество, в котором можно складывать, вычитать и умножать, то полем называется множество, в котором можно складывать, вычитать, умножать и делить.
Определение 1.2.3. (Поле.) Полем F называется множество с двумя операциями: сложением и умножением, которое удовлетворяет следующим условиям:
относительно сложения F является абелевой группой;
F замкнуто относительно умножения и множество ненулевых элементов образует абелеву группу по умножению;
дистрибутивность, т.е. условие (a + b)c = ac + bc выполняется для всех a, b, c F.
Единичный элемент относительно сложения принято называть нулём и обозначать 0. Аддитивный обратный элемент к элементу a принято обозначать a. Единичный элемент относительно умножения принято называть единицей и обозначать 1. Мультипликативный обратный элемент к элементу a принято обозначать a1.
Под вычитанием a b понимается операция a + (b). Под делением a/b понимается операция b1 a.
24 Глава 1. Алгебра 1.3. Векторные пространства Используя определения, данные в предыдущих параграфах можно определить векторы и операции над ними.
Определение 1.3.1. (Вектор.) Для заданного поля F упорядоченная последовательность элементов (v0, v1,..., vn1 ) поля F называется вектором длины n над полем F.
При таком определении вектор является частным случаем кортежа, все элементы которого имеют один тип.
Определение 1.3.2. (Векторное пространство.) Векторным (линейным) пространством над полем F называется множество всех векторов длины n вместе с двумя заданными на нём операциями сложением векторов и умножением на скаляр.
При рассмотрении векторных пространств элементы поля F, над которым строятся векторы, называются скалярами. Векторные пространства являются предметом изучения линейной алгебры.
Определение 1.3.3. (Линейная комбинация.) Конечная сумма i i xi называется линейной комбинацией элементов xi с коэффициентами i. Линейная комбинация называется нетривиальной, если хотя бы один из её коэффициентов i отличен от Определение 1.3.4. (Линейная независимость.) Элементы xi называются линейно зависимыми, если существует их нетривиальная линейная комбинация, равная нулю. В противном случае эти элементы называются линейно независимыми.
Определение 1.3.5. (Базис.) Базисом векторного пространства называется множество векторов, таких, что любой вектор пространства может быть представлен в виде их конечной линейной комбинации, и при этом базисные вектора являются линейно независимыми.
Определение 1.3.6. (Размерность.) Размерностью векторного пространства называется мощность множества базисных векторов.
При этом мощность множества базисных векторов не зависит от выбора базисных векторов. Векторное пространство называется конечномерным, если оно имеет конечный базис, и бесконечномерным, если не имеет конечного базиса.
Представление вектора в виде конечной линейной комбинации базисных векторов называется разложением вектора по базису.
1.4. Аффинные пространства Аффинное пространство используют в координатных измерениях по той причине, что в трёхмерном случае аффинное евклидово пространство является естественной моделью окружающего нас пространства, а также пространством элементарной геометрии при выбранной единице длины. Аффинное пространство является обобщением аффинных свойств евклидова пространства. Оно во многом схоже с векторным пространством, но, в отличие от последнего, точки в аффинном пространстве являются равноправными, т.е. в аффинном пространстве нет понятия нулевой точки или начала отсчёта.
Использование аффинного евклидова пространства R3 позволяет нам воспользоваться таким инструментарием, как векторная алгебра и аналитическая геометрия в этом пространстве.
26 Глава 1. Алгебра 1.5. Аффинные преобразования координат Пусть E R3, тогда вектор E можно разложить по базису векторного пространства R3 следующим образом:
где O R3 – начало координат; (e1, e2, e3 ) – базис векторного пространства R3. Вещественные числа x1, x2, x3 называют аффинными координатами точки E.
Если заданы две системы координат, координаты точки в которых представлены как x и x, то аффинное преобразование между ними состоит из линейного преобразования и параллельного переноса:
где A – обратимая матрица; b – вектор параллельного переноса.
В этом смысле аффинное преобразование в R3 это такое преобразование, при котором любая прямая переходит в прямую.
Для представления аффинных преобразований в линейной алгебре используется умножение матриц. Аффинное преобразование на плоскости можно записать как Аффинное преобразование в пространстве можно записать в виде Например, при вращении точки с координатами x y вокруг начала координат на угол новые координаты точки можно вычислить по формулам Эти формулы можно записать3 в виде преобразования (1.1):
1.6. Однородные координаты точки Если в трёхмерном пространстве задана точка с координатами x1, x2, x3, то однородными координатами этой точки будет называться любая четвёрка одновременно не равных нулю чисел h1, h2, h3, h4, для которых выполняются условия На практике вместо записи x1, x2, x3, x4 чаще используется запись x, y, z, h. Такие координаты обладают следующим свойством: при умножении вектора x y z h на любое ненулевое вещественное число определяемая ими точка не меняется. При этом исходная тройка чисел всегда представима в виде четвёрки x, y, z, 1.
Применение однородных координат является более удобным, чем непосредственное использование преобразования (1.2), поскольку позволяет любое n-мерное аффинное преобразование представлять в виде (n + 1)-мерного линейного преобразования. Например, для трёхмерного случая Переход от однородных координат обратно к координатной тройке x, y, z выполняется с использованием соотношения (1.3).
Любое аффинное преобразование в трёхмерном пространстве может быть представлено в виде суперпозиции вращений, растяжений, отражений и параллельных переносов. Выпишем матрицы этих преобразований [41]:
Здесь и далее вектор-столбец будет записываться как вектор-строка, поскольку однозначно получается из неё транспонированием.
28 Глава 1. Алгебра матрица вращения вокруг оси X на угол матрица вращения вокруг оси Y на угол матрица вращения вокруг оси Z на угол матрица растяжения-сжатия с коэффициентами растяжениясжатия,, вдоль осей X, Y, Z матрица отражения относительно плоскости XY матрица отражения относительно плоскости YZ матрица отражения относительно плоскости ZX матрица параллельного переноса на вектор µ Построение матрицы любого сложного аффинного преобразования выполняется путём последовательного умножения нескольких матриц, приведённых выше.
1.7. Свёртки Свёртка функций это операция в функциональном анализе.
Пусть f(t) и g(t) две функции вещественной переменной. Тогда их свёрткой (f g)(t) называется функция Свертка позволяет рассчитать сигнал s(t) на выходе линейного фильтра с импульсной характеристикой g(t) при входном сигнале f(t). В координатных измерениях дискретные свёртки применяются для цифровой фильтрации результатов измерений.
Свёртки обладают следующими свойствами:
коммутативность f g = g f;
ассоциативность f (g h) = (f g) h;
дистрибутивность f (g + h) = (f g) + (f h);
ассоциативность умножения на скаляр a(fg) = (af)g = f(ag).
30 Глава 1. Алгебра Дискретная свёртка определена как В дискретном случае различают два вида сверток: линейную (или апериодическую) и циклическую. Циклическую свертку еще часто называют круговой или периодической.
1.7.1. Линейная свёртка Пусть имеется два дискретных сигнала: a(n), n = 0... N 1; и b(n), n = 0... M 1. В общем случае длины сигналов N и M могут отличаться. Линейной сверткой сигналов a(n) и b(n) называется дискретный сигнал вида Для вычисления линейной свертки сигналы a(n) и b(n) сдвигают относительно друг друга, почленно перемножают и складывают.
При этом предполагается, что a(n) = 0 при n < 0 и n > N, а также 1.7.2. Циклическая свёртка В случае циклической свертки предполагается, что дискретные сигналы a(n) и b(n) имеют одинаковый период N. Свёрткой таких сигналов a(n) и b(n) называется сигнал вида Результат циклической свертки также имеет длину отсчетов.
1.8. Взвешенные суммы Средним арифметическим взвешенным для набора вещественных чисел x1,..., xn с соответствующими вещественными весами w1,..., wn называется величина В случае, когда веса нормализованы, т.е. их сумма равна 1, выражение (1.4) сводится к взвешенной сумме вида 1.9. Фильтры Фильтры используются для анализа отдельных компонентов рельефа поверхности детали: круглости, волнистости или шероховатости. Например, если необходимо получить отдельно характеристики круглости, удалив из неё волнистость и шероховатость [33]. Таким образом фильтры позволяют повысить точность измерений. Наиболее подробную информацию о фильтрыции можно найти в группе стандартов ISO/TS 16610.
Фильтры в метрологии принято разделять на четыре группы:
линейные;
морфологические;
сегментирующие;
робастные.
Линейные фильтры Линейные фильтры наиболее часто используются в координатной метрологии. Линейный фильтр для каждой точки поверхности вычисляет новую точку в виде среднего арифметического взвешенного точек в окресности исходной. Приведём импульсные передаточные функции наиболее распространённых линейных фильтров.
32 Глава 1. Алгебра 2RC-фильтр (ISO 3274). Первыми фильтрами, применявшимися при измерении геометрии поверхностей, были аналоговые фильтры, построенные в виде электрической схемы, состоящей из резистора и конденсатора (RC-фильтры, рис. 1.1).
Позднее их объединили в цепь (2RC-фильтр). Сейчас используется цифровое вычисление 2RC-фильтра:
RC RC RC
Фильтр Гаусса (ISO 11562).Сплайн-фильтр (ISO/DTS 16610). В настоящее время является промышленным стандартом в области измерения круглости. Это цифровой фазокорректированный фильтр, который преодолевает недостатки фильтра Гаусса. Как и фильтр Гаусса, сплайн-фильтр имеет коэффициент передачи равный 0.5 на длинне волны отсечки где c – длина волны отсечки шага.
Применение линейных фильтров в основном касается сканирующих координатно-измерительных машин. При небольшом количестве измеренных точек достоверное применение фильтра будет непрактично либо вообще невозможно.
Морфологические фильтры Морфологические фильтры предназначены для извлечения отдельных компонент изображения, например, для его представления в виде границ, остовов и выпуклых оболочек. Основными морфологическими фильтрами являются дилатация (расширение) и эрозия (сужение).
Дилатация изображения f по примитиву b обозначается f b и определяется как где Db и Df – области определения изображений b и f.
Аналогично эрозия изображения f по примитиву b обозначается f b и определяется как Существует ещё две примитивные морфологические операции:
раскрытие и закрытие. Раскрытие изображения f по примитиву b обозначается f b и определяется равенством Другими словами, раскрытие изображения f по примитиву b строится как эрозия f по b, результат которой затем подвергается дилатации по b.
Закрытие изображения f по примитиву b обозначается f • b и определяется как Закрытие удаляет выступы изображения небольшой ширины и сглаживает контуры объекта. Раскрытие также проявляет тенденцию к сглаживанию участков контуров, но, в отличие от раскрытия, 34 Глава 1. Алгебра заполняет узкие разрывы и длинные углубления малой ширины, а также промежутки контура.
Морфологические фильтры широко применяются в системах измерения текстуры поверхности, результаты измерения на которых представлены в виде двумерных изображений (на оптических микроскопах и системах с CCD-камерами) или карт высот (например, на сканирующих зондовых микроскопах) [95]. Кроме обычных морфологических фильтров существует множество специальных, придуманных для различных измерительных задач микроскопии.
Сегментирующие фильтры Сегментация это процесс разделения цифрового изображения в компьютерном зрении на отдельные объекты. Результатом сегментации является множество объектов или контуров, выделенных из исходного изображения. Наиболее типичные практические примеры применения сегментирующих фильтров:
обработка медицинских изображений (обнаружение опухолей, определение объёмов тканей и т.п.);
выделение объектов на спутниковых снимках;
распознавание лиц;
распознавание отпечатков пальцев и другие подобные задачи компьютерного зрения.
К наиболее простым сегментирующим фильтрам, относятся итеративные методы, основанные на кластеризации. Базовый алгоритм сегментирования множества объектов в k кластеров:
1. Произвольно выбрать k центров кластеров.
2. Поместить каждый объект в кластер, центр которого ближе всего к этому объекту.
3. Заново вычислить центры кластеров, усреднив расположение всех объектов в каждом из них.
4. Повторить алгоритм с шага 2 до обеспечения нужного значения В качестве расстояния между объектами часто берётся сумма квадратов отклонений между центром кластера и центром объекта (например, пиксела). Существуют и другие алгоритмы сегментации, но они специфичны для различных задач и их рассмотрение выходит за рамки данной книги.
С появлением измерительно-вычислительных комплексов, позволяющих сканировать большие массивы точек на измеряемом объекте, возникает необходимость применения сегментирующих фильтров в метрологии, а системы машинного зрения становятся неотъемлемой частью общего плана автоматизации промышленных предприятий [31]. Особенно актуально это в измерительных системах на основе устройств компьютерной томографии4.
1.10. Удаление выбросов Точка называется выбросом, если она находится дальше чем определённое расстояние от присоединённого элемента5. Расстояние обычно измеряют по кратности среднеквадратическому отклонению всех точек, по которым построен присоединённый элемент, т.е.
где di – расстояние от i-й точки до поверхности присоединённого элемента; – среднеквадратическое отклонение; k – коэффициент определения границы выбросов; o – граница выбросов. На практике часто пользуются правилом трёх сигм (3) и принимают коэффициент k равным 3.
Фактически выбросами являются отдельные точки, которые значительно отклоняются от поверхности правильной геометрической формы, построенной по всем измеренным точкам. Такие отлонения могут быть вызваны локальными дефектами или загрязнением измеряемой поверхности и приводят к значительным отклонениям при расчёте присоединённых геометрических элементов. При появлении Например, Carl Zeiss Metrotom и Metris XT.
Здесь и далее имеется в виду присоединенный полный элемент по ГОСТ 31254полный элемент правильной формы, присоединенный (совмещенный) к выявленному полному элементу при соблюдении согласованных условий.
36 Глава 1. Алгебра таких отклонений целесообразно очистить измеряемую поверхность и выполнить повторное измерение. Однако при обработке уже измеренных координат точек выполнить повторное измерение не всегда возможно практически. Такие локальные дефекты исключаются при аналитической обработке, используя удаление выбросов, чтобы уменьшить их влияние на результат измерений.
Глава Геометрия 2.1. Криволинейные системы координат Криволинейными координатами в евклидовом пространстве являются координаты, полученные преобразованием из декартовых координат таким образом, что оси координат не являются прямыми линиями.
Примерами криволинейных систем координат, широко применяемых в координатной метрологии, являются полярная, сферическая и цилиндрическая системы координат. При анализе специфических измерительных задач возможно применение и других криволинейных систем координат.
2.1.1. Полярная система координат Полярная система координат является двумерной системой координат, определяемой началом координат O и лучём L, называемым полярной осью. В полярной системе координат координаты точки задаются парой (, ), где 0 – расстояние от начала координат до точки (полярный радиус);
[0; 2] – угол между полярной осью и отрезком, соединяющим начало координат и данную точку (полярный Переход из полярных координат в декартовы определяется соотношениями 38 Глава 2. Геометрия Переход из декартовых координат в полярные определяется соотношениями Полярная система координат удобна при измерении элементов, расположенных на плоскости и симметричных относительно точки или оси, перпендикулярной этой плоскости.
2.1.2. Сферическая система координат Сферическая система координат является трёхмерной системой координат, определяемой началом координат O и осями Z и X. В сферической системе координат координаты точки задаются тройкой (,, ), где 0 – расстояние от начала координат до точки (полярный радиус);
[0; 2] – угол между осью X и отрезком, соединяющим начало координат и данную точку (зенит);
[0; ] – угол между осью Z и отрезком, соединяющим начало координат и данную точку (азимут).
Переход из сферических координат в декартовы определяется соотношениями Переход из декартовых координат в сферические определяется соотношениями Сферические координаты широко применяются при измерении отклонений формы изделий типа шар, эллипсоид и подобных им, когда результат представим в виде отклонения радиуса для указанного направления. Некоторые измерительные приборы (теодолиты, тахеометры, радары и т.п.) работают в сферической системе координат.
2.1.3. Цилиндрическая система координат Цилиндрическая система координат является трёхмерной системой координат, определяемой началом координат O и осями Z и X.
В цилиндрической системе координат координаты точки задаются тройкой (,, h), где 0 – расстояние от оси Z до точки (полярный радиус);
[0; 2] – угол между осью X и проекцией отрезка, соединяющего начало координат и данную точку, на плоскость XY Z.
Переход из цилиндрических координат в декартовы определяется соотношениями Переход из декартовых координат в цилиндрические определяется соотношениями Цилиндрические координаты удобны при измерении поверхностей, симметричных относительно какой-либо оси.
2.2. Преобразование Хафа Различные методы компьютерного зрения и распознавания изображений достаточно давно используются в координатных измерениях. Широко известным методом распознавания плоских шаблонов на изображании является преобразование Хафа (Hough transformation) [66]. В исходном варианте этот метод был предназначен для распознавания отрезков на оцифрованном изображении (в патенте [66] в качестве примера приводится распознавание трэков элементарных частиц). Для распознавания геометрических элементов на исходном изображении можно осуществить переход из пространства исходного изображения (пикселов) в пространство параметров геометрического элемента. Базис пространства параметров в общем виде определяется количеством параметров и их семантикой, которые зависят от 40 Глава 2. Геометрия типа конкретного искомого элемента (прямая, окружность, цилиндр Например [52], для параметрического задания прямой на плоскости необходимо рассмотреть два параметра ( – направление нормали к прямой; – расстояние от начала координат). Тогда точка в двумерных координатах пространства параметров и будет определять прямую на плоскости, соответствующую уравнению в полярных координатах Если [0, ), тогда любой прямой на картинной плоскости xy будет соответствовать единственная точка на плоскости параметров Предположим [52], что дано N точек с координатами (xi, yi ) и необходимо определить множество прямых, на которых они лежат.
Преобразуем точки в пространство параметров :
Очевидно, что кривые, построенные по уравнению (2.1) для точек, лежащих на одной прямой, будут иметь общую точку пересечения. Эта точка на плоскости с координатами (0, 0 ) будет определять прямую, проходящую через исходные точки. Приведём некоторые интересные свойства описанного преобразования точкапрямая [52]:
точке на картинной плоскости соответствует синусоидальная кривая на плоскости параметров;
точке на плоскости параметров соответствует прямая на картинной плоскости;
точкам, лежащим на одной прямой на картинной плоскости, соответствует множество синусоидальных кривых на плоскости параметров, пересекающихся в одной точке;
точкам, лежащим на одной синусоидальной кривой на плоскости параметров, соответствуют прямые на картинной плоскости, пересекающиеся в одной точке.
Для численного решения задачи распознавания прямых применяется дискретизация параметров на двумерной сетке. Каждая ячейка сетки является аккумулятором, т.е. для каждой точки (xi, yi ) исходного изображения кривая, определяемая уравнением (2.1), увеличивает на единицу значение аккумулятора ячеек сетки, через которые она проходит. После этого ищутся максимальные аккумулированные значения. Если численное значение аккумулятора ячейки сетки равно k, то это значит, что ровно k точек исходного изображения лежат на данной прямой (с учётом ошибки дискретизации).
Выбрая N ячеек сетки с максимальными значениями, можно определить N прямых, на которых лежит максимальное количество точек исходного изображения. Сравнив их с координатами точек на исходном изображении можно определить начало и конец отрезка, лежащего на найденной прямой.
Рекомендуемая литература Изложенный в первых двух главах материал носит справочный характер и предназначен для облегчения понимания математических приёмов, используемых далее в этой книге.
Для углублённого знакомства с пространствами и координатами следует обратиться к учебному пособию профессора СПбГУ Л.К. Бабаджанянца и др. [1]. С аффинными преобразованиями и построениями в пространстве можно ознакомиться по книге Е.В. Шикина и А.В. Борескова [41]. Фундаментальный материал по математическим основам машинной графики и систем автоматизированного проектирования можно найти в книге Д. Роджерса и др. [29]. Настольным пособием инженера по аналитической геометрии на плоскости и в пространстве послужит справочник М.Я. Выгодского [3].
Глава Геометрические допуски Геометрические допуски необходимы для определения допустимого отклонения от точного размера, формы, взаимного расположения и ориентации конструктивных элементов детали.
Традиционный (классический) метод задания геометрических допусков указание допусков для каждого линейного и углового размера конструктивного элемента. Если это требование выполняется, то деталь признаётся годной. Такой подход фактически не делает различий между размером и допуском6, но позволяет предельно упростить процесс задания допусков и даёт возможность контроля универсальными средствами измерения: микрометром, штангенциркулем, индикатором. Однако это часто ведёт к неэффективным инспекционным требованиям наподобие квадратных полей допуска для локализации отверстий, которые могут привести к выбраковке годных деталей. К недостаткам такого подхода также относятся: ограниченные возможности задания взаимного расположения элементов, недостаточная степень абстракции для совместимости с современными системами САПР и САПП.
В ГОСТ 25346-89 дано определение Поле допуска - поле, ограниченное наибольшим и наименьшим размерами и определяемое величиной допуска и его положения относительно номинального размера.... При таком определении невозможно задать какие-либо допуски отдельно от размеров (т.е. обязательно должен быть размер, и только потом можно указать допуск). Причём один допуск будет соответствовать только одному размеру. Это и следует понимать как эквивалентность между размером и допуском, поскольку последний жёстко привязан к характеризуемому им размеру. В противоположность, геометрические допускм (т.е. допуски формы и расположения) позволяют задавать широкий спектр допусков отдельно от размеров, в зависимости от конструкторских требований к геометрии детали.
44 Глава 3. Геометрические допуски Допуски формы и расположения это способ задания геометрических параметров деталей для обеспечения их сборки и совместной работы. Задание формы необходимо не только для выполнения функциональных требований (собираемость и работоспособность), но и для технологичности изготовления детали, её соответствия предписаниям и эстетичного внешнего вида [56]. Поскольку ни один производственный процесс не может обеспечить изготовления идеальных деталей, то конструктору необходимо указать, в какой области допустимо отклонение геометрических параметров. Эта область называется полем допуска.
3.1. Развитие геометрических допусков Один из первых подходов, альтернативных классическому, предложил Тагучи [97]: любое отклонение от идеальной геометрии детали является потерей функциональной ценности детали. Пределы отклонения должны определяться исходя из того, что при определённой величине отклонения деталь более не является работоспособной. Тагучи рассматривал величину геометрических отклонений деталей от номинальной геометрии как непрерывную функцию, имеющую ненулевое значение даже в том случае, когда деталь находится в пределах допуска7.
В работе [88] предложена математическая формулировка для полей допусков. Согласно этой формулировке поле допуска это область, ограниченная идеальной геометрией, смещённой относительно номинальной геометрии. Для вычисления смещённых поверхностей в дальнейшем был разработан ряд методов. В частности, подход, предложенный Линном [77] и Розеньяком [92], хорошо подходит при работе в САПР твёрдотельного моделирования, а метод Роджерса [91] для САПР, работающих с граничными поверхностями.
В работе [54] предложен расчётный метод для определения соответствия изготовленной детали заданным полям допусков. Предложенный подход сводится к построению поля допуска для всей детали и проверке, лежит ли измеренная граница реальной детали полностью внутри построенного поля допуска. Обзор существующих методов задания допусков можно найти в [71]. Развитие аналитических В отличие от ступенчатой функции классической интерпретации допусков, которая принимает нулевое значение, если деталь находится в допуске.
методов контроля велось и в нашей стране, например, ещё в работах Н.Н. Маркова [22, 23] в конце 70-х и 80-х годов XX века.
В дальнейшем Фармер [55] предложил несколько критериев для оценки теорий допусков. Эти критерии могут использоваться как для оценки существующих теорий, так и для разработки новых. По критериям Фармера, теория допусков применима, если позволяет конструкторм задавать и анализировать размеры и допуски для обеспечения функциональных требований конструкции;
ясно и эффективно передаёт конструкторскую информацию;
соблюдает принцип единства баз;
позволяет выполнять изготовление деталей самыми современными методами;
позволяет применять результаты измерений при контроле деталей для коррекции процесса изготовления деталей.
В августе 1988 года [56] в американской промышленности встал вопрос о корректности применения КИМ для контроля деталей машиностроения. Это было связано с тем, что различные алгоритмы обработки данных давали различные результаты при одном и том же способе измерений. Эта проблема получила название кризис КИМ [56]. Было установлено, что в результате расхождения в алгоритмах, а также из-за ошибок в программном обеспечении расхождение результатов в некоторых случаях достигало 50% и оказывало значительное влияние на отбраковку годных деталей и приёмку бракованных. Хопп и Фенг [56] к причинам такого положения относят следующие факторы:
неверные интерпретации ISO 11018 конструкторами и контролирующими инженерами;
отсутствие общепринятой практики координатных измерений (выбор стратегии измерений);
низкое качество программного обеспечения.
Соответствует российскому ГОСТ 24642-81.
46 Глава 3. Геометрические допуски Последующая совместная работа учёных, производителей программного обеспечения и пользователей координатноизмерительной техники привела к стандартизации используемых определений и алгоритмов для обеспечения надлежащего качества продукции.
3.2. Допуски формы и расположения Современные теории задания допусков GD&T разрабатывались с целью преодоления ограничений классической интерпретации. Они основываются на двух принципах: принципе предела максимума материала9 и принципе независимости. Принцип предела максимума материала требует, чтобы была задана ограничивающая поверхность идеальной формы10, внутри которой полностью помещается любая годная деталь. Принцип независимости требует, чтобы было явное различие между заданием допусков размеров и допусков формы, т.е.
задание допусков на размеры должно быть выполнено без какихлибо ссылок на допуски формы или расположения. Последние, при необходимости, должны быть указаны отдельно. Российский стандарт ГОСТ Р 50056-92 [6] был разработан с учётом принципа предела максимума материала.
Такие способы задания допусков формы и расположения используются для определения функциональных требований к конструктивным элементам, а не пределов для отдельных размеров. В результате один геометрический допуск часто относится к двум или более размерам одновременно. Например, позиционный допуск для отверстия может оказывать влияние на четыре размера: два линейных размера, определяющих расположение оси отверстия на детали, и два угловых размера, определяющих наклон оси.
3.3. Алгоритмы анализа результатов измерений К алгоритмам анализа результатов измерений относятся прежде всего алгоритмы построения присоединённых элементов по мноТакже известного как принцип Тейлора.
Предельно действующий контур согласно ГОСТ Р 50056-92 [6].
жеству измеренных точек, так называемые методы редукции [56].
Целью применения данных алгоритмов является извлечение из множества точек различных геометрических элементов (прямая, плоскость, окружность, эллипс, циллиндр, сфера, конус, NURBSповерхность и т.д.), по которым можно определять характеристики геометрии измеренной детали.
Рассмотрим наиболее распространённые методы построения присоединённых элементов. В общем виде задача построения присоединённого элемента по множеству измеренных точек сводится к нахождению значений некоторого n-кортежа b, количество компонентов которого и их семантика зависят от типа элемента. Тогда любой геометрический элемент можно представить в виде функции (, b ).
При изменении функция задаёт различные точки, принадлежаu щие присоединённому элементу. При изменении элементов кортежа b меняются форма и расположение присоединённого элемента.
В этом случае задача извлечения присоединённого элемента может быть определена как минимизация некоторой функции L относительно b :
В качестве функции L применяют различные критерии. При поиске соответствия двух множеств точек на плоскости наиболее распространены следующие критерии:
минимизация максимального отклонения минимизация полной суммы квадратов отклонений Преобразование между двумя трёхмерными декартовыми системами координат можно представить как движение твёрдого тела, которое можно разложить на вращение и параллельный перенос. При 48 Глава 3. Геометрические допуски выполнении пространственных измерений вращение имеет три степени свободы (вокруг каждой из трёх осей) и параллельный перенос имеет три степени свободы (вдоль каждой из осей). Дополнительного использования трёх масштабных коэффициентов при контроле позиционных допусков не требуется, поэтому система содержит шесть степеней свободы. Две точки в пространстве дают шесть ограничивающих условий, что достаточно для выполнения расчёта. При измерении на плоскости вращение имеет одну степень свободы, а параллельный перенос две. Следовательно, для плоской системы, с тремя степенями свободы достаточно двух точек на плоскости, накладывающих четыре ограничивающих условия.
При использование большего числа точек (когда число ограничивающих условий больше числа степеней свободы) мы не сможем найти аффинное преобразование координат, которое будет однозначно отображать измеренные точки в номинальные11. Вместо этого мы можем использовать один из обозначенных выше критериев для расчёта оптимального преобразования.
В ГОСТ Р 53089-2008 дана следующая формулировка: Многонаправленный позиционный допуск для группы отверстий без указания базы, заданный как циллиндрическое поле, подразумевает наилучшую посадку (плоские вращение и перемещение).
Под плоским вращением и перемещением понимают жёсткое движение системы координат (аффинное преобразование), при котором преобразование координат выражается как где – радиус-вектор исходной точки – центра отверстия (полученra ной с координатно-измерительного прибора); – угол поворота; t – вектор перемещения; R (, ) – векторная функция, поворачиваюra Поскольку векторная функция T (,, t ) определяет, как два множества точек, номинальных и измеренных, совмещаются между Поскольку измеренные координаты содержат погрешность измерений.
собой, удобно называть её математической моделью посадки. Далее для краткости мы будем называть вышеприведённую функцию посадкой.
3.4.1. Практическая реализация За численный критерий оптимальности выбора посадки часто принимают либо минимальное значение суммы квадратов отклонений [21], либо минимальное значение максимального отклонения измеренного положения каждого из отверстий12 от их номинального положения. Существуют и другие способы расчёта отклонений [87], но они или не соответствуют стандартам, или не могут быть непосредственно применены к расчёту сложных допусков. Выбор критерия минимизации следует проводить в зависимости от поставленной измерительной задачи.
Рассмотрим реализацию расчёта с критерием минимизации суммы квадратов отклонений (метод наименьших квадратов), так как результаты, полученные этим методом, потребуются в качестве начальных значений для расчёта с критерием минимизации максимального отклонения. Важной работой, в которой сформулирована задача поиска преобразования между двумя множествами точек, является книга [40]. Решение этой задачи в замкнутой форме представлено в статье [64], в которой рассматривается объёмный случай применительно к фотограмметрии. Мы же будем рассматривать только проекции точек на плоскость и используем данный метод для выполнения расчёта по результатам плоских координатных измерений. В отличие от применённых для трёхмерного случая в [64] единичных кватернионов зададим плоское вращение с помощью ортогональной матрицы 2 2.
В случае метода наименьших квадратов [100] условие оптимальности выбора посадки будет иметь вид где F(, t ) – сумма квадратов отклонений отверстий, подлежащая минимизации; N – количество точек; – номинальный радиусrn Здесь и далее под словом отверстие следует понимать отверстие из группы отверстий без указанной базы.
50 Глава 3. Геометрические допуски точки центра отверстия.
Как было показано в [16], основная трудность на пути решения задачи это то, что функция F(, t ) является функцией трёх вещественных переменных. Прежде чем выполнять практический расчёт, было бы удобно уменьшить количество её аргументов.
Определение 3.4.1. (Центроид.) Центроидом (геометрическим центром, барицентром) плоской фигуры называется точка пересечения всех прямых, которые делят исходную фигуру на части одинакового момента вокруг этих прямых. Центроид конечного множества точек вычисляется как C = N N, где – радиус-вектор i-й точки.
Хорн предложил [64] ввести новые системы координат для каждого из множеств точек, такие, что центроиды каждого множества точек будут приняты за начало соответствующей системы координат. Тогда можно воспользоваться приведённой ниже теоремой:
Теорема 3.4.1. (Хорн [64].) При минимуме F(, t ) центроиды множеств точек (i) и (i) совпадают.
Доказательство [65]: примем совмещенные центроиды множеств за начало системы координат S:
Заметим также, что С учётом (3.1) можно переписать условие (3.2) в виде где t = t Cn + R (Ca, ). Тогда сумма в уравнении (3.4), после возведения слагаемых в квадрат, может быть записана как С учётом (3.3) сумма в центре равна нулю. Слагаемое N t 2 постоянно и не может быть отрицательным, поэтому для минимизации (3.2) достаточно выполнить минимизацию суммы:
Это означает, что угол поворота и вектор переноса t являются независимыми величинами. Таким образом в системе координат S, в которой центроиды обоих множеств точек совпадают, искомое значение перемещения равно нулю. Для перехода в эту систему координат, нужно осуществить параллельный перенос измеренных точек на вектор Ca, а номинальных точек на вектор Cn.
Воспользовавшись данным результатом и приняв новые координаты точек в системе координат S:
сведём функцию F(, t ) к функции одной переменной 52 Глава 3. Геометрические допуски Векторная функция R (, ) представляет собой аффинное преra образование поворота на плоскости вокруг начала координат и легко выражается в матричном виде как Подставив данное выражение в (3.5), окончательно получим Для минимизации F() применяют алгоритмы численной минимизации [2].
Рассмотрим более подробно дальнейший расчёт. Для практических вычислений удобно разложить полученные выше общие векторные формулы на отдельные компоненты x и y, а также, помня, что скалярный квадрат вектора равен квадрату его длины, переписать F() в виде системы функций:
В качестве исходных данных при расчёте позиционных отклонений потребуется формула для вычисления производной dF() и наd чальное значение угла, отличное от нуля.
Для угла, следуя рекомендации [80], примем значение, равное единице. Производная Получение формул частных производных D и x (,i) В таком виде удобно использовать численные методы оптимизации для минимизации функции F() [38], например, алгоритм Левенберга Маркардта [21, 80]. Возможно применение и других численных методов, равно как и использование вместо производной dF()d конечной разности, где величина выбирается в зависимости от конкретного используемого алгоритма и требуемой точности вычислений.
После численной минимизации F() получаем значение параметра, при котором функция принимает своё минимальное значение (M ). Можно использовать полученное значение M для вычисления отклонений каждого отдельного отверстия Li от своего номинального положения. Отклонение для i-го отверстия В дальнейшем нам понадобится значение максимального из найденных отклонений Li, поэтому введём для него явное обозначение Поскольку на чертеже величины позиционных допусков, как правило, указываются в диаметральном выражении, необходимо удвоить значение отклонения:
Сравнив полученные значения Ldi с величиной позиционного допуска LT, указанного на чертеже детали, можно определить соответствие детали требованиям чертежа.
3.4.2. Минимизация суммы квадратов отклонений Следует понимать, что для данного расчёта необходимо получить как номинальные, так и измеренные координаты отверстий 54 Глава 3. Геометрические допуски в каких-либо двух прямоугольных системах координат. Для номинальных значений такой системой координат может служить система координат, принятая на чертеже детали (если номинальные значения на чертеже заданы в прямоугольных координатах), либо новая прямоугольная система координат13, в которую необходимо перевести номинальные значения перед использованием в данном расчёте.
Для измеренных значений целесообразно принять прямоугольную систему координат, полученную при измерении координат точек на координатно-измерительном приборе.
При использовании минимума суммы квадратов отклонений для расчёта позиционных отклонений может возникнуть ситуация, когда значения позиционных отклонений некоторых из отверстий будут превосходить значение позиционного допуска LT, хотя сопрягаемые детали, несмотря на это, могут быть собраны без натягов. Рассмотрим пример:
Имеется группа из четырёх отверстий, расположенных линейно с номинальными координатами 0.0, 0.5, 1.0 и 2.0 мм.
В результате измерения были получены координаты отверстий, равные 0.0, 0.4, 1.1 и 3.0 мм. Величина позиционного допуска в радиальном выражении равна 0.6 мм. Определить возможность сборки деталей14.
Воспользуемся расчётом, представленным в предыдущих параграфах. Поскольку отверстия расположены на одной линии, то задача сводится к одному измерению и вращение в решении участия не принимает. Чтобы найти смещение системы координат, необходимо Если номинальные значения на чертеже заданы в полярных координатах или каким-либо другим образом.
Позиционные отклонения для группы отверстий без указанной базы представлены в соответствии с ГОСТ Р 53089-2008 Основные нормы взаимозаменяемости.
Характеристики изделий геометрические. Установление позиционных допусков.
В частности, по ГОСТ Р 53089-2008 позиционные допуски могут быть установлены для точки (например, центра окружности или сферы). В данном примере сделан такой выбор расчёта, чтобы на простом численном примере показать сущность данного подхода. Рассмотрение позиционных допусков на сами отверстия (т.е. принятие в расчёт их выявленного диаметра) значительно усложнит вычислительную задачу, не раскрыв при этом никаких дополнительных принципов её решения.
вычислить центроиды двух множеств точек:
В новой системе отсчёта точки будут иметь координаты для номинальных точек: 0.875, 0.375, 0.125 и 1.125 мм;
для измеренных точек: 1.125, 0.725, 0.025 и 1.875 мм.
Тогда позиционные отклонения равны 0.25, 0.35, 0.15 и 0.75 мм.
Поскольку позиционные отклонения превосходят значение позиционного допуска, то можно сделать вывод, что деталь следует забраковать. Это неправильно. Легко убедиться в том, что после сдвига системы координат измеренных точек влево на 0.15 мм все четыре значения позиционных отклонений будут лежать в пределах позиционного допуска15.
Полученный результат говорит о том, что расчёт по методу наименьших квадратов не принимает во внимание задачу сборки деталей. То есть расчёт таким способом не пропустит заведомо бракованные детали, но в некоторых случаях он будет приводить к выбраковке годных деталей. Рассмотрим другой критерий оптимизации, который решает данную проблему.
3.4.3. Обеспечение решения задачи сборки Ключевым моментом является то, что лучше отказаться от принятия результатов минимизации F(, t ) и полученных после неё отклонений в качестве окончательного итога вычислений. Вместо этого в качестве критерия оптимальности посадки принять критерий минимизации максимального отклонения [101] или, более формально, рассматривать задачу нахождения таких параметров и t для При сдвиге влево на 0.15 мм координаты измеренных точек станут равными 1.275, 0.875, 0.175 и 1.725, а позиционные отклонения будут равны 0.4 мм, 0.5 мм, 0.3 мм и 0.6 мм.
56 Глава 3. Геометрические допуски посадки T ( (i),, t ), при которых наибольшее отклонение отверra будет иметь минимальную величину. То есть При этом, если Lmaxmin L2T, требования позиционного допуска будут выполнены, а если Lmaxmin > L2T, собрать детали без натяга невозможно, так как исходя из (3.8) не существует величины Lmax, которая была бы меньше Lmaxmin при каких-либо и t.
Данная задача является более сложной, чем решение по МНК, поскольку, помимо того что функция Lmax (, t ) является функцией трёх вещественных переменных17, она не является непрерывной на своей области определения, а значит, мы не можем построить матрицу Якоби для алгоритма Левенберга Маркардта или другого градиентного метода численной оптимизации. Для минимизации этой функции мы воспользовались алгоритмом ветвей и границ (Branch and bound) [60], который значительно более медленный (NPполный), но не требует дополнительных исходных данных о минимизируемой функции Lmax (, t ), в том числе аналитического представления её производных. Для определения начальных значений поиска воспользуемся результатами, полученными при расчёте по МНК в начале раздела.
Важно отметить, что фактически не требуется оптимизировать Lmax (, t ) при t 2. Значение t, обеспечивающее сборку деталей, не может лежать дальше чем LМНК (см. уравнение (3.7) на стр. 53) от найденного по МНК значения t, равного нулю в системе Существуют и другие критерии, например предложенный в [32], но их применение ещё не вошло в общепринятую практику и выходит за рамки учебного пособия.
Угол поворота и смещения вдоль осей x и y.
координат S. Благодаря этому мы можем сузить границы поиска до квадратной области O; + O, где При проведении всех вычислений в системе координат S, определённой в начале раздела, уравнение (3.8) может быть записано в виде Если полученное по формуле (3.9) значение Lmaxmin не превосходит величины позиционного допуска в радиальном выражении для отверстий, то сборка деталей обеспечивается.
Для исходных данных, приведённых в примере на стр. 54, величина минимума максимального отклонения Lmaxmin будет равна 0.552 мм, а отклонения всех отверстий при найденных = 0 и t = (0.198; 0) составят 0.448 мм, 0.548 мм, 0.348 мм, 0.552 мм. Таким образом, максимальное отклонение находится в пределах величины позиционного допуска 0.6 мм.
Рекомендуемая литература На представленных в данной главе численных примерах показано, какое внимание необходимо уделять выбору различных методов анализа и обработки результатов измерений, от которых будет зависеть адекватность контроля деталей и принятие решений по его результатам. Современное программное обеспечение позволяет реализовать многие из этих методов, но оно не подскажет инженеру рациональность использования того или иного метода в различных ситуациях, поэтому для того, чтобы сделать осознанный выбор, специалисту необходимо понимать сущность различных алгоритмов обработки координатных измренений.
Для подробного ознакомления с предметом нелинейной оптимизации можно обратиться к книгам [39, 4, 9]. Обзор нелинейной оптимизации методом наименьших квадратов можно найти в работе [50].
Подробное описание алгоритма Левенберга Маркардта можно найти в работе [80].
Глава Точность координатных измерений Различные координатно-измерительные машины в мировом машиностроении применяются достаточно давно: одни из них способны выполнять измерения крупногабаритных деталей, другие предназначены для сверхточных лабораторных измерений деталей малой массы и размера иобеспечивают при этом микрометрическую точность измерений. Под данной точностной характеристикой КИМ обычно понимают только величину ошибки MPEE (Maximum Permissible Error), которая определена в группе стандартов EN ISO и имеет вид где L – длина измеряемого объекта, мм; A, K – постоянные, характеризующие КИМ.
Так, например, для машины Carl Zeiss PRISMO 10 S-ACC данная величина MPEE = 1.7 + 350 мкм.
4.1. Проблема прослеживаемости координатных измерений Прослеживаемость свойство эталона единицы величины или средства измерений, заключающееся в документально подтвержденном установлении их связи с государственным первичным эталоном соответствующей единицы величины посредством сличения эталонов единиц величин, поверки, калибровки средств измерений [37].
60 Глава 4. Точность координатных измерений В соответствии с требованиями Российских и международных стандартов, результат измерений, помимо измеренного значения, должен содержать неопределённость измерений [25]. Получение достоверного значения неопределённости в координатной метрологии является достаточно сложной задачей. Это связано с тем, что КИМ являются очень гибким инструментом, на который влияет большое количество факторов.
Согласно международному Руководству по выражению неопределённости измерений [62] необходимо, чтобы любая измерительная задача имела математическую модель, которая определяет зависимость измеряемой величины от входных величин. Имея данную модель, можно получить распределение вероятностей для измеряемой величины. Стандартное отклонение этого распределения может быть использовано в качестве неопределённости результата измерений. Как показали Кокс и другие [13], в большинстве практических случаев не приходится рассматривать эти распределения вероятностей в явной форме, а достаточно знать их математическое ожидание и стандартное отклонение.
4.2. Моделирование методом Монте-Карло Для решения этой задачи используется моделирование методом Монте-Карло [69], а сама процедура получила название виртуальная координатно-измерительная машина [99]. Таким методом пользуются аккредитованные калибровочные лаборатории в Германии, Великобритании и в других странах [98] для поддержания прослеживаемости результатов координатных измерений, поэтому в данной работе для численного расчёта неопределённости использован метод Монте-Карло.
Моделирование методом Монте-Карло предполагает, что для входных данных известен закон случайного распределения. На практике часто принимают нормальное распределение, однако могут быть обработаны исходные данные, подчиняющиеся и другим законам. Для входных данных согласно выбранному закону распределения генерируется случайная величина (моделирующая неопределённость входных данных), затем для неё выполняется расчёт результирующих данных. Чтобы определить распределение результата расчёта, этот процесс повторяется много раз. Критерием остановки может служить стабилизация значения бегущего среднего, которое будет принято за результат измерения, а его стандартное отклонение за стандартную неопределённость (по определению [62]).
4.3. Виртуальная КИМ В соответствии с [62] в большенстве случаев измеряемая величина Y не определяется непосредственно, а вычисляется из N других величин X1, X2,..., XN связанных функциональной зависимостью: Y = = f(X1, X2,..., XN ).
Стандартная неопределённость функции f может быть определена как Функция f соответствует методу измерения и обработки результатов. В зависимости от того, каким образом вычисляется неопределённость, значения X1, X2,..., XN можно разделить на два типа [62]:
Тип A метод вычисления неопределённости основан на статистических наблюдениях ряда измерений.
Тип B метод вычисления неопределённости не основан на статистических наблюдениях ряда измерений (например, предыдущие измерительные данные, спицификации производителя, справочники и т.п.).
Большинство координатно-измерительных машин фиксируют координаты (x, y, z) центра щупа, поэтому точностные характеристики самой КИМ можно привести к неопределённости измерения координат точек (x, y, z) [85].
При численном моделировании неопределённостей часто делают следующие допущения:
отклонения координат точек представлены в сферической системы координат в виде полярного радиуса r и полярных углов 62 Глава 4. Точность координатных измерений величина отклонения радиуса случайна, независима, имеет математическое ожидание, равное нулю, и стандартное отклонение ;
величины углов случайны, независимы и равномерно распределены в области [; +];
стандартная неопределённость < 104 для современных Рекомендуемая литература Русский перевод Руководства по выражению неопределённости измерений выполнен ВНИИМ [30] и подготовлены рекомендации по его применению [27].
Краткий обзор актуальных проблем оценки неопределённости измерений можно найти в [5].
Обзор проблемы точности измерений на КИМ можно найти в [20].
Для детального изучения вопроса анализа неопределённости рекомендуется обратиться к [35] и далее к [62]18 и его приложению [69].
Оценку влияния отклонений формы циллиндрических элементов на точность их центрирования можно найти в [23].
Существует перевод на русский язык, выполненный при ВНИИМ им.
Д.И.Менделеева [30].
Практическая работа с ПО Calypso В данной части рассмотрены прикладные аспекты работы на координатно-измерительных машинах под управлением программного обеспечения Calypso. Авторы не ставят целью повторить руководство пользователя, поэтому предполагается, что читатель уже знаком с базовыми возможностями программного обеспечения Calypso и умеет самостоятельно выполнять простые измерения. Основное внимание уделено малодокументированным возможностям, таким как функции параметрического программирования PCM, и взаимодействию с другими программами. На конкретных примерах показаны возможности применения этих функций к решению измерительных задач.
Глава Автоматизация измерений Современные измерительные технологии должны быть точными, быстрыми, автоматизированными и тесно интегрированными с другими технологическими операциями. При выполнении измерений в машиностроении часто необходимо измерять детали, различающиеся только типоразмером или другими незначительными признаками в конструкции. При разработке плана контроля на КИМ каждое такое различие требует создания индивидуального плана контроля.
Применение параметрического программирования для выполнения измерений позволяет решить широкий спектр задач автоматизации измерений и снизить количество необходимых планов контроля для всей номенклатуры деталей. В качестве примера рассмотрена система параметрического программирования Calypso PCM, разработанная фирмой Carl Zeiss IMT GmbH. Данные материалы можно использовать и с другими измерительными системами, поддерживающими какой-либо императивный язык программирования.
5.1. Параметрическое программирование Сущность параметрических измерений заключается в том, что каждый измеряемый элемент, отличающийся от одной измеряемой детали к другой, определяется как параметр, значение которого задаётся оператором. При выполнении измерений данное значение используется в составленной ранее программе PCM и служит для определения действий КИМ.
Один из способов разработки параметризованных планов контроля и PCM-программы начать с обычного непараметризованного 66 Глава 5. Автоматизация измерений плана контроля для какой-либо конкретной детали. В таком плане контроля те значения, которые различны для деталей, задаются как PCM-параметры. Это позволит применять один план контроля как для деталей различных типоразмеров, так и для деталей, имеющих различия в конструкции. PCM является языком программирования, разработанным для взаимодействия оператора с КИМ. Кроме самой параметризации планов контроля с его помощью можно выполнять и ряд других задач:
интерактивно спрашивать у оператора данные для их последующего использования во время ЧПУ-измерений;
централизованно определять и изменять одинаковые значения, используемые в различных местах плана контроля;
снимать ограничения при программировании условий и циклов, задаваемых при использовании только полей ввода в окнах диалогов;
напрямую управлять перемещениями КИМ;
организовывать доступ к результатам измерений.
Все эти функции можно применять как отдельно, так и в совокупности. Calypso можно использовать и без PCM, но параметрическое программирование даёт мощные возможности для упрощения и автоматизации создания процесса измерения.
5.1.1. Основы параметризации в Calypso PCM В Calypso весь код PCM, как правило, разделён на множество небольших PCM-программ, которые могут выполняться в различные моменты времени. PCM-код можно указывать в нескольких местах:
входные и выходные параметры для каждого геометрического элемента, характеристики или всего плана контроля ( input parameters и output parameters );
параметры при загрузке файла ( start parameters );
условия или циклы для каждой характеристики;
входные и выходные параметры для каждого условия и цикла.
Порядок выполнения отдельных PCM-программ будет определяться тем, в каком порядке задано вычисление характеристик. Для всего плана контроля выполнение PCM-программ проходит в следующем порядке:
1. Входные параметры плана контроля.
2. Для каждой характеристики (в порядке списка характеристик):
условия и циклы (в порядке ввода);
входные параметры характеристики;
вычисление характеристики;
выходные параметры характеристики.
3. Для каждого обрабатываемого геометрического элемента:
входные параметры элемента;
обработка или измерение элемента;
выходные параметры элемента.
4. Для каждого выполняемого условия или цикла:
входные параметры условия или цикла;
проверка условия или выполнение тела цикла;
выходные параметры условия или цикла (если условие вызвало остановку измерения, то выходные параметры не вычисляются).
5. Выходные параметры плана контроля.
5.1.2. Параметризация планов контроля В Calypso PCM существует четыре типа переменных: число, точка, вектор и строка (подробнее см. [94]). Кроме этого существуют массивы, состоящие из элементов данных типов. Явного определения типа переменной (как в строго типизированных языках Pascal 68 Глава 5. Автоматизация измерений или C/C++) не требуется. Тип каждой переменной определяется непосредственно во время присвоения ей значения. То же самое справедливо и для элементов массива, тип которых может быть различным для каждого элемента. То есть корректна следующая серия присвоений:
Рассмотрим несложный пример параметризации плана контроля для группы деталей. Номинальные размеры, которые не меняются от одной детали к другой, задаются как постоянные величины, а те, которые меняются, как переменные. На рис.5.1 приведены эскизы двух сходных по конструкции деталей. Различия деталей заключаются в значениях диаметра и расположения отверстия, а также толщины пластины (величины D, L, и S). В плане контроля можно определить переменные, значения которых будут присвоены перед началом измерения. Тексты PCM-программ для двух различных деталей рис.5.1a и 5.1b приведены в табл. 5.1.
Таким образом, определив всего три параметра, можно использовать один план контроля для измерения этих двух деталей. Описание команд Calypso PCM, использованных в данной работе, можно найти в Приложении 2.
5.1.3. Условия и циклы. Управление перемещением Помимо задания циклов с помощью диалоговых окон в плане контроля, можно определять циклы непосредственно с помощью языка PCM, например:
В PCM возможны бесконечные циклы, что приведёт к зависанию Calypso и потере несохранённых изменений плана контроля. Перед запуском измерений необходимо сохранить план контроля, чтобы этого избежать.
Таблица 5.1. Значения PCM-параметров для деталей на рис. 5. В процессе измерения может потребоваться, чтобы КИМ переместилась в заданную оператором точку. Это можно сделать, использовав опцию CMM Position в закладке Strategy. Данный метод нельзя применить во время выполнения PCM-программы. Для управления перемещением КИМ с помощью PCM существует команда: positionRS(x, y, z, "Alignment") перемещение текущего щупа в точку с координатами x, y, z в указанном выравнивании.
В качестве примера рассмотрим приведённую ниже программу.
Для её работы необходимо создать выравнивание19 с именем Alignment1, совпадающее с системой координат машины (т.е. пустое выравнивание).
RadiusX = RadiusY = Под термином выравнивание (англ. alignment) следует понимать базирование детали на КИМ, т.е. аффинное преобразование из системы координат КИМ в систему координат детали.
70 Глава 5. Автоматизация измерений CenterY = Во время работы программы КИМ будет двигаться по ломаной линии, состоящей из 20 сегментов и вписанной в эллиптический цилиндр с полуосями 250 мм и 750 мм.
Помимо передачи результатов измерений во внешние программы при помощи текстовых файлов, существуют и другие способы, поддерживаемые Calypso. В частности, рассмотрим использование библиотеки CalypsoInterface.dll для автоматической загрузки результатов измерений в таблицу Microsoft Excel с помощью программы на Visual Basic [75]. Для этого в параметрах плана контроля (measurement plan parameters) необходимо написать следующий код:
openSocket ( ) closeSocket () Далее необходимо написать программу на Visual Basic, которая, используя CalypsoInterface.dll, могла бы получить доступ к данным.
В программе на Visual Basic можно получить доступ к результатам, использовав технологию COM:
Set Calypso = CreateObject ( "CalypsoInterface. Calypso" ) Calypso. HostName = IpA ddre ss I f Calypso. ConnectCalypso 7 Then MsgBox( "Нет связи с Calypso" ) MsgBox( "Ошибка №" & Calypso. ErrNo & " " & Calypso. ErrName ) Set R e s u l t V e c t o r = Calypso. GetActualXYZ ( "Point1" ) В переменной ResultVector будет измеренное значение элемента с именем Point1 из Calypso. Таким образом, можно получать значения как геометрических элементов, так и характеристик и использовать их для дальнейших расчётов.
5.1.4. Генератор точек Рассмотрим использование генератора точек для создания кривой, пригодной к ощупыванию. В качестве примера создадим профиль плоского эллиптического шаблона. Параметрические уравнения эллипса, расположенного в плоскости XY, имеют вид [3] где A – полуось эллипса, лежащая вдоль оси X, мм; B – полуось эллипса, лежащая вдоль оси Y, мм; t – параметр, принимающий значения от 1 до 360. Компоненты нормали к данному эллипсу Записав вышеприведённые уравнения с использованием синтаксиса языка PCM, получим формулу point( A*cos(index), B*sin(index), 0, -A*cos(index), -B*sin(index), 0 ) После подстановки численных значений для A и B (в нашем примере принято A = 5, B = 4) данное выражение можно непосредственно использовать для создания кривой в Calypso. Воспользуемся генератором точек, вызываемым через пункт меню Parameter Data (рис. 5.2a) выпадающего меню Nominal Data в свойствах геометрического элемента Curve.
Для этого необходимо задать значения Start index и End index, равными соответственно 1 и 360. Окончательно диалог генератора точек будет иметь вид рис. 5.2b.
Сгенерированные значения точек касания и нормалей для данного эллипса представлены на рис. 5.3. Поскольку помимо координат точек были сгенерированы и вектора нормалей, то после задания параметров сканирования (скорости, числа точек и прочих параметров из диалогового окна Strategy) можно приступать к измерению криволинейного шаблона. Аналогичным образом можно подготавливать измерения любых плоских или объёмных кривых, заданных аналитически.
72 Глава 5. Автоматизация измерений 5.2. Интеграция внешних программ В данном разделе предлагаются практические методы, позволяющие интегрировать самостоятельно разработанные программы, предназначенные для решения конкретных измерительных задач, с метрологическим программным обеспечением Calypso. Описанный подход позволяет как передавать результаты измерений во внешние модули, так и получать результаты вычислений из внешних модулей для формирования окончательного отчёта внутри Calypso. Методы просты в реализации и могут быть широко использованы для решения самых разнообразных прикладных задач на КИМ, для автоматизации процесса измерений или там, где стандартной функциональности ПО КИМ недостаточно [15].
Для локального обмена данными между приложениями в операционной системе Windows существует множество способов [34], среди них: сообщения, сокеты, технология COM, разделяемая память, файлы на диске и др. С точки зрения языка программирования Calypso PCM наиболее доступным способом межпроцессного взаимодействия являются файлы, поскольку язык PCM содержит целый ряд команд для работы с файлами, позволяющих как записывать текстовые файлы, так и читать из них значения переменных.
Принцип взаимодействия с внешним приложением через файл заключается в том, что из Calypso при помощи языка PCM создаётся текстовый файл, в который записываются все входные данные, необходимые для внешней программы. После этого с помощью одной из трёх вышеприведённых функций запускается внешняя программа, которая считывает содержимое файла и выполняет необходимые вычисления. Далее внешняя программа записывает результаты своей работы в выходной файл, который считывается Calypso при помощи Перечни функций работы с файлами (рис. 5.4a) и системных комманд для запуска внешних приложений (рис. 5.4b) представлены в Приложении 2.
5.2.1. Реализация взаимодействия через файл Предположим, что требуется вычислить координаты теоретической точки на плоскости, являющиеся суммой координат трёх измеИнтеграция внешних программ ренных точек20. Для этого необходимо записать в файл координаты трёх измеренных точек, написать внешнюю программу, выполняющую расчёт и сохраняющую результаты расчёта в файл, вызвать её из Calypso, а затем прочитать результаты расчёта из Calypso и вывести их в окончательный отчёт.
Запись XY-координат трёх точек в файл можно осуществить с помощью следующего фрагмента кода PCM:
Результат ввода его в Calypso показан на рис. 5.5. После выполнения этого PCM-кода в файле C:\TempFile.param построчно будут записаны координаты точек в следующем виде (числа взяты для примера):
Внешняя программа, выполняющая считывание этого файла и расчёт средней точки, написана на языке программирования Паскаль [36] и выглядит следующим образом:
Program PCMInteractionDemonstration ;
Владеющие PCM-программированием заметят, что эту задачу легко можно решить и в Calypso без необходимости написания внешнего приложения. На данном простом примере достаточно удобно показать сущность метода, не прибегая к описанию какой-либо сложной метрологической задачи.
74 Глава 5. Автоматизация измерений Откомпилированный исполняемый модуль с программой21 поместим в файл C:\Sum.exe и напишем следующий PCM-код для его выполнения и загрузки результатов:
systemCallWithWait ( "C: \Sum. exe" ) readPCMFile ( "C: \ Result. param" ) В результате выполнения данной внешней программы временный файл C:\Result.param будет содержать (для вышеприведённых исходных данных) следующие строки:
После выполнения команды readPCMFile("C:\Result.param") в Calypso появятся переменные Xc и Yc, значения которых будут прочитаны из этого файла. Эти переменные можно использовать в качестве координат созданного теоретического элемента (используя возможность Formula) для вывода в отчёт. Описанным образом можно выполнять любые необходимые вычисления, используя результаты измерения в качестве входных данных.
Можно использовать бесплатный компилятор Free Pascal Compiler, http:// www.freepascal.org.
5.2.2. Считывание значений характеристик из табличного файла Calypso При включённой опции Table File (рис. 5.6a и 5.6b), после выполнения ЧПУ-прогона измерений Calypso создаёт файл с расширением.txt, в котором содержатся значения всех измеренных характеристик из плана контроля.
В этом файле после первой строки, содержащей заголовок, идут характеристики. Под каждую характеристику выделена отдельная строка. Различные поля в строке разделены между собой символами табуляции. Назначение полей следующее (в порядке слева направо):
PlanID название плана контроля;
PartNB номер детали;
ID имя характеристики;
Type тип характеристики;
IDSymbol код символа характеристики, предназначенный для выбора пиктограммы характеристики в Calypso;
Actual действительное значение характеристики (результат измерения);
Nominal номинальное значение характеристики;
UpperTol величина верхней границы поля допуска;
LowerTol величина нижней границы поля допуска;
Deviation отклонение от номинального значения;
Exceed величина выхода за поле допуска;
FeatureID название геометрического элемента, к которому относится характеристика;
FeatureSigma среднеквадратичное отклонение формы геометрического элемента;
Comment текстовый комментарий;
LinkMode режим связи;
MMC режим зависимых допусков;
76 Глава 5. Автоматизация измерений UserUpperTol пользовательская величина верхней границы поля допуска;
UserLowerTol пользовательская величина нижней границы поля допуска;
FFTPhi для внутреннего использования Calypso;
FFTPhiUnit для внутреннего использования Calypso;
GroupName имя группы, в которую входит характеристика.
Для считывания этого файла можно воспользоваться библиотекой на языке Паскаль (Приложение 1, стр. 136) (написана для компилятора Free Pascal Compiler). Данная библиотека полезна при необходимости оформления многочисленных однообразных сложных отчётов на основе результатов измерений. Например, решена задача заполнения отчётов по результатам измерения. Было необходимо для каждой из более чем тридцати измеряемых деталей вставить в заранее разработанную форму отчёта все результаты измерений.
Для этого была написана внешняя программа, которая считывала из файла характеристик все необходимые значения. Далее она генерировала заполненный отчёт в формате TEX [12], который с помощью системы MiKTEX22 [79] переводился в формат документов PDF. От ручного заполнения отчётов удалось полностью отказаться.
5.3. Измерение деталей с перебазированием Достаточно часто требуется выполнить на КИМ контроль параметров деталей, для измерения которых необходимо ощупывание поверхностей детали, недоступных при одном установе, или измерение деталей, габариты которых выходят за диапазон измерения КИМ.
Для решения этой задачи необходимо использовать геометрические параметры, полученные при одном установе [24] (одна система координат), совместно с геометрическими параметрами, полученными при другом установе детали (т.е. перевести их в новую систему координат). Математическая модель данной операции была подробно представлена Коксом и Форбсом [48], однако в силу своей общности и, как следствие, сложности она не нашла широкого применения в промышленности, за исключением метрологических лабораторий, http://www.miktex.org.
выполняющих единичные эксперименты. Программное обеспечение Calypso не содержит встроенной функциональности для обеспечения автоматического решения этой задачи. Рассмотрим два подхода, позволяющие это сделать.
Пусть имеется деталь с четырьмя отверстиями, центры которых расположены на одной прямой (рис. 5.7).
Необходимо измерить расстояния от центра первого отверстия до центра каждого из последующих трёх отверстий, приняв во внимание, что диапазон измерения доступной КИМ вдоль самой длинной оси Y равен 1500 мм, в связи с этим измерить деталь за один установ невозможно.
5.3.1. Ручная реализация перебазирования Для решения поставленной задачи достаточно получить координаты центров всех отверстий в одной системе координат. Для выравнивания в качестве spatial rotation используется плоскость детали (соответствующая плоскости эскиза на рис. 5.7). В качестве начала координат используется центр отверстия 2, а в качестве planar rotation используется центр отверстия 3. Таким образом, система координат будет иметь следующий вид (рис. 5.8):
ось X проходит через центры отверстий 2 и 3;
ось Z перпендикулярна плоскости эскиза;
ось Y перпендикулярна двум предыдущим осям;
начало координат находится в центре отверстия 2.
Саму деталь расположим в рабочем объёме машины так, чтобы можно было выполнить ощупывание отверстий 1, 2 и 3. Так как диапазон измерения вдоль оси Y составляет 1500 мм, это можно сделать.
Таким образом мы выполняем измерения первых трёх отверстий в режиме ЧПУ. Для исключения измерения четвёртого отверстия во время прогона ЧПУ достаточно выделить только элементы, относящиеся к первым трём окружностям (группы BaseAlignment и Position1 на рис. 5.9), и перед началом прогона указать режим измерения только выбранных элементов: Current Selection. После этого необходимо проделать ручную часть работы и записать координаты измеренного центра отверстия 1 в журнал. Они нам потребуются позднее.
78 Глава 5. Автоматизация измерений Таким образом, всё подготовлено для выполнения операции перебазирования и измерения координат центра четвёртого отверстия.