Моделирование и оптимизация кинематики пространственных механизмов в среде AutoCAD
«Русская Промышленная Компания» продолжает публикацию материалов международной конференции «САПР и ГИС ЭКСПО’2002», посвященных опыту внедрения программных продуктов и решений на предприятиях России и стран СНГ. В этом номере вы сможете ознакомиться с двумя статьями, одна из которых посвящена созданию проекта системы для моделирования и оптимизации кинематики широкого класса пространственных рычажных механизмов, а во второй обобщается опыт, накопленный на кафедре проектирования вертолетов МАИ в области использования компьютерных CAD/CAM/CAE-технологий на различных этапах проектирования вертолета Ми-60 МАИ.
Введение
Пространственные рычажные механизмы (ПРМ) являются важной составляющей современной техники и производственных технологий. Известными примерами ПРМ являются шасси, механизация крыла и механизмы управления самолетов, роботы-манипуляторы последовательной и параллельной структуры (в том числе платформы Стюарта) и др. Конструирование перечисленных технических объектов осуществляется сегодня с использованием CAD-систем. Проектирование кинематики ПРМ отличается высокой геометрической сложностью и определяет качество конечного продукта, стоимость его изготовления и эксплуатации. Тем не менее сегодня приходится констатировать отсутствие достойного массового средства для автоматизации геометрического проектирования кинематики ПРМ.
В 70-80-е годы, в период активного развития рабочих станций и их применения для проектирования изделий машиностроения, компания Mechanical Dynamics, Inc. (MDI) разработала систему для динамического и кинематического анализа пространственных механизмов ADAMS. К настоящему времени эта система получила признание специалистов и вошла в серию продуктов фирмы MacNeal-Schwendler Corporation (MSC), предлагающей на мировом рынке комплексные компьютерные технологии автоматизации инженерных исследований, но осталась очень дорогой и недоступной для массового применения.
В 1998 году компания MDI, также под эгидой MSC, разработала продукт MSC.Dynamic Designer. Он предназначен для кинематического и динамического анализа механизмов в CAD-системах, обеспечивающих трехмерное параметрическое моделирование. Сегодня MSC.Dynamic Designer может применяться в Autodesk Mechanical Desktop, AutoCAD/Mechanical, SolidWorks и Solid Edge. Планируется, что в ближайшее время Dynamic Designer можно будет использовать также с системами Autodesk Inventor и CATIA. Этот продукт поставляется в трех комплектациях по цене от 360 до 7500 долл. Существенным ограничением для применения Dynamic Designer с той или иной CAD-системой является требование параметрического моделирования анализируемых объектов, из-за которого продукт пока не используется в среде самых массовых CAD-систем, таких как AutoCAD и КОМПАС. Аналогичные возможности предоставляет отечественная разработка T-FLEX/Эйлер, применяемая с системой параметрического моделирования T-FLEX CAD 3D.
Системы, специально ориентированные не на анализ, а на геометрическое проектирование кинематики ПРМ, были созданы в России в 80-е годы. Это была автономная система с версиями для ЕС и СМ ЭВМ, в которой были представлены методы синтеза плоских и пространственных механизмов, вычисление критериев проектирования, а также моделирование траекторий и поверхностей, порождаемых движением. Усеченная версия системы для MS-DOS до сих пор применяется для проектирования ПРМ.
Достойным сегодняшнего рынка программ решением было бы создание массовой системы проектирования кинематики ПРМ, способной работать в качестве приложения с любой CAD-системой и обеспечивающей при этом оптимизацию проекта по кинематическим критериям.
Проектное решение системы
В ходе работы в данном направлении создан проект системы Kinematics-SM («Кинематика-ПМ») для моделирования кинематики широкого класса пространственных рычажных механизмов, проектируемых в CAD-среде. Система состоит из ядра, обеспечивающего кинематический анализ (расчет перемещений и относительных положений элементов кинематической схемы механизма) ПРМ, и интерактивной оболочки, осуществляющей связь с ядром в CAD-среде. Ядро обеспечивает кинематический анализ широкого класса ПРМ, включая популярные структуры платформы Стюарта, и не зависит от CAD-среды. CAD-среда обеспечивает визуализацию рассчитанных ядром перемещений пространственного механизма. В качестве CAD-среды выбран AutoCAD.
Оптимизация проектируемого ПРМ должна осуществляться на основе критериев проектирования кинематики, являющихся результатом анализа всей совокупности положений (траектории) ПРМ. Для оптимизации кинематики ПРМ в реальном времени необходима высокая скорость вычисления критериев проектирования. Для этого ядро системы строится на высокоэффективных алгоритмах решения задачи о положениях структурных групп ПРМ.
По причине конечной ориентации системы Kinematics-SM на оптимизацию главным критерием при выборе способа ее реализации было высокое быстродействие. Поэтому для реализации системы выбрана ее непосредственная программная интеграция с AutoCAD путем включения в AutoCad программного модуля системы, написанного в виде динамически подключаемой библиотеки (DLL). Такая интеграция позволяет системе Kinematics-SM как внешнему приложению создавать собственные команды, встраивать их в текстовое и пиктографическое меню AutoCAD, а также создавать и использовать свои специальные объекты, которые будут отображаться средствами AutoCAD.
Модуль системы создан в Microsoft Visual C++ 6.0 с использованием специальных библиотек ObjectARX. Набор библиотек ObjectARX является свободно распространяемым, его можно найти на сайте компании Autodesk по адресу: http://www.autodesk.com/. ObjectARX предоставляет объектно-ориентированный C++-интерфейс для доступа к внутренним объектам и методам системы AutoCAD с целью расширения ее возможностей. Вновь создаваемые ObjectARX-объекты фактически не отличимы от встроенных объектов AutoCAD. Приложение ObjectARX — это динамически загружаемая библиотека (DLL), использующая адресное пространство AutoCAD и посылающая ему прямые функциональные запросы.
Библиотеки ObjectARX предоставляют разработчику следующие возможности:
- доступ к базе данных элементов AutoCAD;
- интерактивное взаимодействие с графическим редактором AutoCAD;
- создание графического интерфейса пользователя при применении Microsoft Foundation Classes (MFC);
- поддержка многодокументного интерфейса (MDI);
- создание собственных классов.
В результате пользовательский графический интерфейс Kinematics-SM и интерфейс ядра системы с объектами AutoCAD построены с помощью библиотеки ObjectARX.
В качестве объектной основы ядра системы построена информационная модель ПРМ и его движения, независимая от CAD-среды. Реализован язык экспорта (см. листинг) и внешнего хранения информационной модели, а также экспорт траекторий точек во внешний файл.
Визуализация движения механизма, состоящего из твердотельных звеньев, с закраской по Гуро, осуществляется средствами AutoCAD в реальном времени.
Пользовательский интерфейс
Вход в систему осуществляется по команде KinLoad. После входа на экране появляется главное окно системы (рис. 1). Через него обеспечивается ввод в графическом диалоге и отображение информации: о кинематических парах и пространственных координатах (из модели AutoCAD) точек и направлений их осей; о звеньях и структурных группах механизма, то есть о его кинематической схеме.
Схема организована в виде дерева, что позволяет компактно и наглядно представить весь механизм в целом. Корневыми узлами данного дерева являются наименования структурных единиц механизма, а подчиненными ветвями — конкретные элементы, входящие в состав механизма. Для задания и редактирования параметров любого выбранного элемента структуры механизма открывается независимое вспомогательное окно. При этом элемент, выбранный в дереве, выделяется серым цветом. Все параметры, видимые в окне, можно отредактировать, и изменения немедленно, без подтверждения, вносятся в информационную модель механизма.
Система снабжена также контекстным меню (рис. 2), в котором собраны все доступные в системе команды. Это меню вызывается при нажатии правой кнопки мыши на левом поле главного окна.
Процедура описания механизма начинается с определения на CAD-модели кинематических пар и звеньев механизма. При добавлении по контекстному меню новой кинематической пары необходимо задать ее название, тип и указать центр пары, а также вторую точку, лежащую на положительной полуоси и задающую направление пары. В системе предусмотрены все семь типов пар, встречающихся в ПРМ. Задать центр пары и точку, лежащую на оси, можно непосредственно координатами, занося их в соответствующие текстовые окна или считывая координаты точки с модели в среде AutoCAD. При втором варианте задания точек диалог добавления новой пары к системе скрывается и перед пользователем остается только чертеж.
При этом для пользователя доступны все типы привязок для более точного задания координат, а также команды для изменения отображения модели механизма.
При добавлении звена (рис. 3) необходимо:
- задать его наименование;
- выбрать фрагмент модели из AutoCAD, который будет ассоциироваться с данным звеном;
- выбрать две пары, которыми данное звено присоединяется к другим звеньям.
При выборе фрагмента модели AutoCAD системе передается уникальный идентификатор, который используется при преобразованиях звена.
Затем определяется структура механизма в терминах: стойка, входное звено и группа. Переход от одного описания к другому также происходит через контекстное меню. Стойка определяется двумя парами, выбираемыми из списка ранее заданных пар. При определении нового входного звена необходимо:
- задать его наименование;
- выбрать звено механизма, назначаемое входным (присоединенное);
- задать тип движения (прямолинейное или вращательное);
- указать две точки, определяющие ось поворота или начальное и конечное положение прямолинейного движения;
- задать начальное и конечное значения угла поворота.
Присоединенное звено выбирается из списка, в котором указаны все звенья, определенные в системе.
При добавлении новой группы задается ее наименование и тип и указываются все входящие в нее пары. Пары при этом выбираются из списка, в котором приведены все ранее определенные в механизме кинематические пары. При неправильном выборе пару можно удалить из списка входящих в группу пар.
Команда «Добавить график» позволяет задать функции положения (расстояния; плечи действующих сил; углы поворота, складывания, качания и т.д.), графики которых хочет получить конструктор для точной характеристики движения механизма. Текущее положение механизма отображается на графике подвижной вертикальной линией.
До команды «Движение» следует выполнить команду «Экспорт» и сохранить модель во внешнем файле. При дальнейшем исследовании этого же механизма можно воспользоваться командой «Импорт». Команда «Движение» приводит описанный механизм в заданное движение. Главное окно при этом исчезает до окончания процедуры воспроизведения движения.
Команда «Оптимизация» позволяет исследовать поведение min, max или max-min одной из функций относительного положения элементов схемы механизма при изменении направления оси одной из кинематических пар. Изменение направления оси производится посредством ее поворота вокруг оси вращения, заданной двумя точками (рис. 4). Оптимальное направление оси выбирается пользователем по результатам исследования.
Угол поворота оси пары отсчитывается от ее исходного положения. Задается начальное и конечное значения угла поворота и шаг изменения угла. Конкретная функция относительного положения для вычисления критерия оптимизации выбирается из списка ранее определенных функций. Зависимость критерия оптимизации от выбранного параметра оптимизации может показываться как в виде графика, так и в виде таблицы (рис. 5).
Указав любую точку в таблице или на графике, пользователь может просмотреть для нее движение и получить новые графики функций относительного положения (рис. 6).
Команда «Экспорт положений точек» позволяет сохранить все положения (траектории) точек механизма в текстовом файле, из которого их легко импортировать в различные прикладные программы для документирования.
Команда «Выход» выгружает приложение из памяти компьютера.
Заключение
С помощью системы Kinematics-SM в среде AutoCAD решены задачи кинематического анализа для ряда различных пространственных механизмов. В экспериментальном порядке было опробовано и показало хорошие результаты решение задач однопараметрической оптимизации при поиске оптимальных направлений осей кинематических пар. В качестве среды могут использоваться и любые другие CAD-системы. При переносе Kinematics-SM в другие среды интерактивная оболочка системы должна быть адаптирована под конкретную CAD-среду. Проект Kinematics-SM может в дальнейшем претендовать на роль массовой системы для геометрического проектирования кинематики ПРМ.