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 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 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 CenterFile Exchange에서 Trimming and Linearization에 대해 자세히 알아보기


Community Treasure Hunt

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

Start Hunting!

Translated by