Этот пример показывает, как применить несколько ограничений точки на кривой к одному телу. Пример основан на частичной модели откидной створки самолета, которая расширяет и отрекается путем поездки на кривых дорожках. Вы завершаете модель путем добавления ограничений точки на кривой между двумя точками на откидной створке и кривых дорожки откидной створки. Данные показывают результаты визуализации модели откидной створки, если это завершено.
В командной строке MATLAB® введите smdoc_poc_flap_start
. Программное обеспечение Simscape™ Multibody™ открывает модель блока откидной створки. Сохраните модель с другим именем в удобной папке так, чтобы вы непреднамеренно не перезаписывали модель.
Модель пропускает ключевые строки связи и параметры блоков и еще не моделирует. Три твердо связанных блока, названные Ребрами, Кожей, и Фитилями, представляют тело откидной створки. Блок Planar Joint соединяет это тело с мировым кадром с тремя степенями свободы — одна вращательная и два переводных.
Откидная створка в этой неограниченной точке. В этом состоянии степени свободы откидной створки - обеспеченные блоком Planar Joint. Откидная створка свободна вращаться о z - ось, перевести вдоль x - ось и перевести вдоль y - ось. Анимированные данные показывают эти движения. На оси кадра наносят цветную маркировку, с красным обозначением x, зеленым y и синим z. z - точки оси из экрана не видимы в фигуре.
Ограничения точки на кривой связывают первоначально независимые движения откидной створки так, чтобы любое из этих движений было достаточно, чтобы полностью определить траекторию откидной створки. Например, в полностью ограниченной откидной створке, переводе вдоль x - ось определяет также перевод вдоль y - оси и вращения вокруг z - ось. Анимированные данные показывают ограниченное движение, что вы получаете в конце этого примера.
В диалоговом окне блока Ribs Solid расширьте узел Frames и нажмите кнопку. Интерфейс создания кадра открывается. Вы используете этот интерфейс, чтобы создать новый кадр и установить его положение и ориентацию относительно стереометрии.
В панели визуализации увеличьте масштаб главного фрагмента откидной створки и выберите главную поверхность самого правого цилиндрического выступа, как показано в фигуре. Панель визуализации подсвечивает выбранную поверхность и показывает ее вектор нормали.
В области Frame Origin интерфейса создания кадра кликните по переключателю Based on Geometric Feature и затем кнопке Use Selected Feature. Кадр перемещается в центр выбранной поверхности.
Нажмите кнопку Save, чтобы добавить новый кадр в тело. Блок представляет новый порт, F1, соответствуя новому кадру. Можно переименовать кадр что-либо, что вы хотите, но в этом примере достаточно имя по умолчанию.
Повторите шаги 1-4, чтобы создать второй кадр с источником в главной поверхности крайнего левого цилиндрического выступа, как показано в фигуре. Блок представляет новый порт, F2, соответствуя новому кадру.
Соедините порт кадра каждого блока Spline к блоку World Frame. Эта связь гарантирует, что ограничительные кривые, заданные в блоках Сплайна, разрешены в Мировом кадре. Определениями кривой являются в настоящее время значения по умолчанию блока. Вы позже изменяете эти значения по умолчанию, чтобы получить разумную траекторию откидной створки.
Соедините порты кадра Точки на Ограничительных блоках Кривой к портам кадра, что вы добавили к блоку Ribs Solid (F1 и F2). Источники этих кадров являются точками, что вы ограничиваете в этом примере.
Соедините порты геометрии блоков Сплайна к портам геометрии Точки на Ограничительных блоках Кривой как показано в фигуре. Строки связи геометрии идентифицируют определения сплайновой кривой как кривые, чтобы ограничить.
Откройте Model Explorer и, в панели Model Hierarchy, расширьте smdoc_poc_cam_start> узел Model Workspace. Model Explorer позволяет вам задать переменные рабочей области так, чтобы можно было сослаться на них в параметрах диалогового окна блока.
В панели 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];
В диалоговом окне каждого блока Spline задайте перечисленные в таблице параметры. Параметр Interpolation Points задан с точки зрения переменных MATLAB от рабочего пространства модели. Гарантируйте, что этот параметр находится в модулях mm
. Параметр Color задан как нормированное соответствие вектора RGB легкому оттенку красного цвета.
Блок | Interpolation Points | Graphic> Visual Properties + Color |
---|---|---|
Сплайн – верхний | upperTrack | [0.8, 0, 0] |
Сплайн – ниже | lowerTrack | [0.8, 0, 0] |
Обновите блок-схему, например, путем выбора Simulation> Update Diagram из панели меню Simulink®. Mechanics Explorer открывается статической визуализацией модели в ее начальной настройке. Данные показывают сплайновые кривые, когда они появляются в Mechanics Explorer со скрытыми телами. Можно скрыть тело путем выбора его узла в области просмотра в виде дерева и выбора Hide This.
Моделируйте модель. Mechanics Explorer показывает динамическую визуализацию блока откидной створки. Движение откидной створки теперь ограничивается так, чтобы источники кадров, которые вы создавали всегда, легли на кривые, которые вы задали. Переключитесь между стандартными представлениями Mechanics Explorer или вращайте, панорамируйте, и изменение масштаба, чтобы лучше исследовать откидную створку и ее движение.
Чтобы открыть полную версию модели блока откидной створки, в подсказке команды MATLAB, вводят smdoc_poc_flap
.