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

linearizeSimscape MultibodySimulink Control Design

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?

Best Answer

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.
Related Question