Apply Small Perturbations to Simscape Multibody Rotational/Translational States for Model Linearization

3 ビュー (過去 30 日間)
I want to linearize a nonlinear aircraft model i made using Simscape Multibody. To do so, i considered the 'linearize'-command from the Control Design Toolbox to be useful. To recieve the entries of the A,B,C and D matrices relating to selected states (Euler-angles, rotational rates, velocities...) i want to set linear analysis points with the 'linio'-command ('inputs' & 'outputs'). The relevant part of the model consists of a world frame connected to body frame by a 6-DOF-Joint. With the 'Transform Sensor' it is possible to place analysis points for sensing state perturbations. However, i have not found a possibility to apply perturbations to a Simscape frame to manipulate e.g. pitch angle or pitch rate.
The documentation suggests that analysis points only can be applied to Simulink signals but even with a Simulink-PS Converter i only can use external forces (wich are proportional to the body accelerations only) to manipulate the body/frame. Furthermore the 6-DOF-Joint does not allow to specify Motion Inputs for the spherical primitive, thus this is not an option either. I can and will work with operating points/simulation snapshots later on, however, i can not use 'trim' command because the aircraft is an ornithopter and has no steady states.
How do i apply perturbations in translational and rotational states to a body or frame, respectively?

採用された回答

sloppydisk
sloppydisk 2018 年 6 月 7 日
You can specify motion to the 6-DOF joint by going to actuation and setting the force to be automatically computed and the motion to be specified by input.
  3 件のコメント
sloppydisk
sloppydisk 2018 年 6 月 7 日
Ah sorry, I misread. In that case you can use the bushing joint instead, it has three rotational primitives.
Philipp Hansmann
Philipp Hansmann 2018 年 7 月 7 日
Sorry for the late answer. I tried different approaches but none of them were really satisfying.
Anyway, Bushing joint was a good idea.
Unfortunately, if i choose 'Provided by input' i have to define a trajectory for my body because the forces acting on the body will not be computed automatically of course. So, i could define a trajectory by recording the body's movement in one simulation and just copy the trajectory for my linearization run. In this case, however, it is still not possible to add a perturbation to e.g. the x-position because 1.: i technically cant find out how to perturb a signal build with the signal builder and 2.: if i define a position vs time signal, i implicitly define the velocity and acceleration, thus i can't add a perturbation to these states independently (same with the Euler angles and so on).

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTrimming and Linearization についてさらに検索

タグ

製品


リリース

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by