Documentation |
Utility that converts a discontinuous bounded angle into a continuous unbounded angle
The Continuous Angle block converts a measured angle signal restricted to the semiopen interval (-180^{o}, +180^{o}] degrees or (-π,+π] radians to a continuous, unbounded angle not restricted to any interval. This block requires the angle and the angular velocity as input signals. The continuous, unbounded angle is the output signal.
Caution Each Continuous Angle block in a model adds a normal Simulink^{®} state to the model. Use this block with caution if you are trimming or linearizing your model. The Continuous Angle block does not add any mechanical states to your model. |
The Joint Sensor block outputs the absolute rotational measurement of revolute motion as a bounded angle in the interval (-180^{o}, +180^{o}] degrees or (-π,+π] radians. Motion that crosses the boundaries of this interval causes discontinuities in the measured angle, from +180^{o} to -180^{o} or vice versa. Use the Continuous Angle block if you want to convert this restricted angular measurement to an unbounded measurement.
The tutorial Model and Simulate a Closed-Loop Machine produces this angular motion output for the Revolute3 and Revolute 2 joints:
The Revolute3 angle is restricted to the interval (-180^{o}, +180^{o}], so values passing either limit of this interval are mapped to the opposite end of the interval. The Revolute2 angle is not restricted, but instead touches genuine turning points in its motion.
After passing the angles and angular velocities through Continuous Angle blocks, the Revolute3 angular motion appears different:
Revolute3's motion is unchanged, but its angle is now continuous, with no interval restriction. Revolute2's angle is unchanged.
See Trimming Mechanical Models and Linearizing Mechanical Models for more information about states.