В этом примере показано, как применить несколько ограничений точки на кривой к одному телу. Пример основан на частичной модели закрылка самолета, который выдвигается и убирается при движении по изогнутым путям. Модель завершается добавлением зависимостей точка-на-кривой между двумя точками на створке и кривыми дорожки створки. На рисунке показаны результаты визуализации модели закрылка после ее завершения.

В командной строке MATLAB ® введитеsmdoc_poc_flap_start. Программа Simscape™ Multibody™ открывает модель сборки заслонки. Сохраните модель с другим именем в удобной папке, чтобы случайно не перезаписать модель.
В модели отсутствуют ключевые линии соединения и параметры блока, и она еще не моделируется. Три жестко соединенных блока с именами «Ребра», «Кожа» и «Фитили» представляют тело лоскута. Блок Planar Joint соединяет это тело с мировой рамой с тремя степенями свободы - одной вращательной и двумя поступательными.

Створка в этом месте не ограничена. В этом состоянии степенями свободы закрылка являются степени свободы, обеспечиваемые блоком плоского соединения. Клапан может свободно вращаться вокруг оси Z, перемещаться вдоль оси X и перемещаться вдоль оси Y. На анимированном рисунке показаны эти движения. Оси кадра имеют цветовую кодировку с красным цветом, обозначающим x, зеленый y и синий z. Точки оси Z вне экрана не видны на рисунке.

Ограничения точки на кривой соединяют первоначально независимые движения клапана так, что любое из этих движений является достаточным для полного определения траектории клапана. Например, в полностью ограниченном клапане перемещение вдоль оси X также определяет перемещение вдоль оси Y и вращение вокруг оси Z. Анимированный рисунок показывает движение с зависимостью, полученное в конце этого примера.

В диалоговом окне «Твердотельный блок файла ребер» разверните узел «Рамки» и нажмите
кнопку. Откроется интерфейс создания фрейма. Этот интерфейс используется для создания нового каркаса и задания его положения и ориентации относительно твердотельной геометрии.
На панели визуализации увеличьте изображение верхней части клапана и выберите верхнюю поверхность крайнего правого цилиндрического выступа, как показано на рисунке. Панель визуализации подсвечивает выбранную поверхность и отображает ее вектор нормали.

В области Начало кадра (Frame Origin) интерфейса создания кадра установите переключатель На основе геометрического элемента (Based on Geometric Feature), а затем нажмите кнопку Использовать выбранную функцию (Use Selected Feature). Рамка перемещается к центру выбранной поверхности.
Нажмите кнопку «Сохранить», чтобы добавить новую рамку к телу. Блок открывает новый порт F1, соответствующий новому кадру. Можно переименовать фрейм любым способом, но в этом примере достаточно имени по умолчанию.
Повторите шаги 1-4, чтобы создать вторую раму с началом координат на верхней поверхности крайнего левого цилиндрического выступа, как показано на рисунке. Блок открывает новый порт F2, соответствующий новому кадру.

Подключите порт рамы каждого блока сплайна к блоку мировой рамы. Это соединение обеспечивает разрешение кривых зависимостей, указанных в блоках сплайна, в рамке «Мир». Определения кривых в настоящее время являются параметрами блока по умолчанию. Позже эти значения по умолчанию будут изменены для получения разумной траектории закрылка.
Подключите порты рамы блоков зависимости «Точка на кривой» к портам рамы, добавленным в блок твердого тела файла ребер (F1 и F2). Исходными точками этих кадров являются точки, на которые наложена зависимость в данном примере.
Соедините порты геометрии блоков сплайна с портами геометрии блоков зависимости «Точка на кривой», как показано на рисунке. Линии геометрических соединений определяют сплайновые кривые как кривые для наложения зависимостей.

Откройте Обозреватель моделей и на панели Иерархия моделей разверните узел smdoc_poc_cam_start > Рабочее пространство модели. Обозреватель моделей позволяет определять переменные рабочего пространства так, чтобы можно было ссылаться на них в параметрах диалогового окна блока.
На панели Рабочее пространство модели (Model Workspace) Обозревателя моделей (Model Explorer) задайте для параметра Источник данных (Data source) значение MATLAB Code. Появляется редактируемое поле с еще неполными определениями переменных:
theta = linspace(4*pi/12,pi/8,4)'; lowerTrack = []; upperTrack = [];
lowerTrack и upperTrack - кривые зависимостей нижней и верхней дорожек створок. Переменная theta - диапазон углов, используемый при определении кривой нижней дорожки. Завершите lowerTrack и upperTrack путем указания нескольких точек на кривых, как показано в следующем фрагменте кода. Чтобы применить изменения к модели, нажмите кнопку Повторно инициализировать из источника (Reinitialize from Source). Новые части кода показаны синим цветом.
theta = linspace(4*pi/12,pi/8,4)'; lowerTrack = [350 0; (640+100*cos(theta)) (130*sin(theta)-210)]; upperTrack = [50 50; 550 100];
В диалоговом окне каждого блока сплайна задайте параметры, перечисленные в таблице. Параметр Точки интерполяции (Interpolation Points) определяется в терминах переменных MATLAB из рабочего пространства модели. Убедитесь, что этот параметр находится в единицах mm. Параметр Color определяется как нормализованный вектор RGB, соответствующий светлому оттенку красного цвета.
| Блок | Точки интерполяции | «Графика» > «Визуальные свойства» + «Цвет» |
|---|---|---|
| Сплайн - верхний | upperTrack | [0.8, 0, 0] |
| Сплайн - нижний | lowerTrack | [0.8, 0, 0] |
Обновите блок-схему. На вкладке Моделирование (Modeling) щелкните Обновить модель (Update Model). Откроется Mechanics Explorer со статической визуализацией модели в ее начальной конфигурации. На рисунке показаны сплайновые кривые, которые отображаются в обозревателе Mechanics со скрытыми телами. Тело можно скрыть, выбрав его узел на панели древовидного представления и выбрав Скрыть это (Hide This).

Моделирование модели. Mechanics Explorer показывает динамическую визуализацию сборки заслонки. Теперь движение клапана ограничено так, что исходные точки созданных вами рамок всегда лежат на заданных кривых. Переключитесь между стандартными видами Mechanics Explorer или выполните поворот, панорамирование и зумирование, чтобы лучше исследовать клапан и его движение.

Для открытия полной версии модели сборки заслонки в командной строке MATLAB введите smdoc_poc_flap.