exponenta event banner

viewSolution

Открытие окна «Просмотр решателя кинематики» для визуализации решения «Решатель кинематики»

Синтаксис

Описание

viewSolution(ks) открывает окно Просмотр решателя кинематики (Kinematics Solver Viewer) для визуализации механизма, соответствующего последнему решению, вычисленному с помощью solve для функции KinematicsSolver объект ks.

Примечание

  • Ошибка возникает, если solve функция не была вызвана перед вызовом viewSolution функция.

  • Если statusFlag соответствует последнему вызову для решения -3, состояние, возвращаемое решателем, не является кинематически осуществимым. В этом случае механизм, визуализированный в средстве просмотра, физически не реализуется.

Окно Просмотр решателя кинематики (Kinematics Solver Viewer) показано на следующем рисунке. Эта панель обеспечивает визуальную обратную связь относительно анализируемого механизма. Нажмите кнопку Обновить визуализацию (Update Visualization) или нажмите F5 для просмотра механизма, соответствующего последнему решению ks. Используйте средство просмотра для просмотра механизма с различных точек зрения путем выбора стандартного вида или поворота, панорамирования и масштабирования механизма. Чтобы открыть контекстное меню, щелкните окно правой кнопкой мыши. Это меню содержит дополнительные опции, позволяющие изменить цвет фона, разбить окно визуализации на несколько фрагментов и изменить соглашение о представлении с помощью параметра по умолчанию + Z up (XY Top).

Окно просмотра решателя кинематики

Примеры

свернуть все

Создайте объект KinematicsSolver для модели sm_double_pendulum.

mdl = 'sm_double_pendulum';
open_system(mdl);
ks = simscape.multibody.KinematicsSolver(mdl);

Перечислите все переменные позиции соединения.

jointPositionVariables(ks)
ans =
2×4 table

    ID        JointType                  BlockPath              Unit 
 _________ ________________ ___________________________________ _____

 "j1.Rz.q" "Revolute Joint" "sm_double_pendulum/Lower Revolute" "deg"
 "j2.Rz.q" "Revolute Joint" "sm_double_pendulum/Upper Revolute" "deg"

В качестве целевых переменных назначьте верхний и нижний углы поворота соединения.

targetIDs = ["j1.Rz.q";"j2.Rz.q"];
addTargetVariables(ks,targetIDs);

Решите проблему кинематики вперед с заданными углами соединения.

targets = [90,0];
outputVec = solve(ks,targets);

Откройте средство просмотра решателей кинематики.

viewSolution(ks);

Нажмите кнопку Вид спереди, чтобы просмотреть решение.

Закройте средство просмотра.

closeViewer(ks);

Входные аргументы

свернуть все

A KinematicsSolver объект является представлением модели Simscape Multibody, используемой для кинематического анализа.

Пример: ks = simscape.multibody.KinematicsSolver ('sm _ double _ pendulum')

Типы данных: KinematicsSolver object

См. также

| |

Представлен в R2020a