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

3 views (last 30 days)
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?

Accepted Answer

sloppydisk
sloppydisk on 7 Jun 2018
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 Comments
Philipp Hansmann
Philipp Hansmann on 7 Jul 2018
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).

Sign in to comment.

More Answers (0)

Categories

Find more on Trimming and Linearization in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!