Three-axis Inertial Measurement Unit
Implement three-axis inertial measurement unit (IMU)
Libraries:
Aerospace Blockset /
GNC /
Navigation
Description
The Three-Axis Inertial Measurement Unit block implements an inertial measurement unit (IMU) containing a three-axis accelerometer and a three-axis gyroscope.
For a description of the equations and application of errors, see Three-axis Accelerometer and Three-axis Gyroscope.
The Three-axis Inertial Measurement Unit block icon displays the input and output units selected from the Units parameter.
Examples
Lightweight Airplane Design
Address the technical and process challenges of aircraft design using the design of a lightweight aircraft.
Limitations
Vibropendulous error, hysteresis affects, anisoelastic bias, and anisoinertial bias are not accounted for in this block.
This block is not intended to model the internal dynamics of different forms of the instrument.
Ports
Input
Actual accelerations in body-fixed axes, specified as a three-element vector, in the units specified in the Units parameter.
Data Types: double
Angular rates in body-fixed axes, specified as a three-element vector, in radians per second.
Data Types: double
Angular accelerations in body-fixed axes, specified as a three-element vector, in radians per second squared.
Data Types: double
Location of the center of gravity, specified as a three-element vector, in the units specified in the Units parameter.
Data Types: double
Gravity in body axis, specified as a three-element vector, in the units specified in the Units parameter.
Data Types: double
Output
Measured accelerations from the accelerometer, returned as a three-element vector, in the units specified in the Units parameter.
Data Types: double
Measured angular rates from the gyroscope, returned as a three-element vector, in radians per second.
Data Types: double
Parameters
Input and output units, specified as:
Units | Acceleration | Length |
---|---|---|
Metric (MKS)
| Meters per second squared | Meters |
English (British Imperial)
| Feet per second squared | Feet |
Programmatic Use
Block Parameter:
units |
Type: character vector |
Values: 'Metric
(MKS)' | 'English' |
Default: 'Metric
(MKS)' |
The location of the IMU, which is also the accelerometer group location, is measured from the zero datum (typically the nose) to aft, to the right of the vertical centerline, and above the horizontal centerline. This measurement reference is the same for the center of gravity input. The units are in the units specified in the Units parameter.
Programmatic Use
Block Parameter:
imu |
Type: character vector |
Values: three-element vector |
Default: '[0 0
0]' |
Update rate of the accelerometer and gyroscope, specified as a double scalar, in seconds. An update rate of 0 creates a continuous accelerometer and continuous gyroscope. If the Noise on check box is selected and the update rate is 0, the block updates the noise at a rate of 0.1.
Tip
If you:
Update this parameter value to 0 (continuous)
Configure a fixed-step solver for the model
you must also select the Automatically handle rate transition for data transfer check box in the Solver pane. This check box enables the software to handle rate transitions correctly.
Programmatic Use
Block Parameter: i_Ts |
Type: character vector |
Values: double scalar |
Default:
'0' |
To apply second-order dynamics to acceleration readings, select this check box.
Programmatic Use
Block Parameter:
dtype_a |
Type: character vector |
Values: 'on'
| 'off' |
Default:
'on' |
Natural frequency of the accelerometer, specified as a double scalar, in radians per second.
Dependencies
To enable this parameter, select Second order dynamics for accelerometer.
Programmatic Use
Block Parameter:
w_a |
Type: character vector |
Values: double scalar |
Default:
'190' |
Damping ratio of the accelerometer, specified as a double scalar, with no dimensions.
Dependencies
To enable this parameter, select Second order dynamics for accelerometer.
Programmatic Use
Block Parameter:
z_a |
Type: character vector |
Values: double scalar |
Default:
'0.707' |
Scale factors and cross-coupling, specified as a 3-by-3 matrix, to skew the accelerometer from body axes and to scale accelerations along body axes.
Programmatic Use
Block Parameter:
a_sf_cc |
Type: character vector |
Values: 3-by-3 matrix |
Default: '[1 0 0; 0 1
0; 0 0 1]' |
Long-term biases along the accelerometer axes, specified as a three-element vector, in the units specified in the Units parameter.
Programmatic Use
Block Parameter:
a_bias |
Type: character vector |
Values: three-element vector |
Default: '[0 0
0]' |
Three minimum values and three maximum values of acceleration in each of accelerometer axes, specified as a six-element vector, in units specified in the Units parameter.
Programmatic Use
Block Parameter:
a_sat |
Type: character vector |
Values: six-element vector |
Default: '[-inf -inf
-inf inf inf inf]' |
To apply second-order dynamics to gyroscope readings, select this check box.
Programmatic Use
Block Parameter:
dtype_g |
Type: character vector |
Values: 'on'
| 'off' |
Default:
'on' |
Natural frequency of the gyroscope, specified as a double scalar, in radians per second.
Dependencies
To enable this parameter, select Second-order dynamics for gyro.
Programmatic Use
Block Parameter:
w_g |
Type: character vector |
Values: double scalar |
Default:
'190' |
Damping ratio of the gyroscope, specified as a double scalar.
Dependencies
To enable this parameter, select Second-order dynamics for gyro.
Programmatic Use
Block Parameter:
z_g |
Type: character vector |
Values: double scalar |
Default:
'0.707' |
Gyroscope scale factors and cross-coupling, specified as a 3-by-3 matrix, to skew the gyroscope from body axes and to scale angular rates along body axes.
Programmatic Use
Block Parameter:
g_sf_cc |
Type: character vector |
Values: 3-by-3 matrix |
Default: '[1 0 0; 0 1
0; 0 0 1]' |
Long-term biases along the gyroscope axes, specified a three-element vector, in radians per second.
Programmatic Use
Block Parameter:
g_bias |
Type: character vector |
Values: three-element vector |
Default: '[0 0
0]' |
Maximum change in rates due to linear acceleration, specified as a three-element vector, in radians per second per g-unit.
Programmatic Use
Block Parameter:
g_sens |
Type: character vector |
Values: three-element vector |
Default: '[0 0
0]' |
Three minimum values and three maximum values of angular rates in each of the gyroscope axes, specified as a six-element vector, in radians per second.
Programmatic Use
Block Parameter:
g_sat |
Type: character vector |
Values: six-element vector |
Default: '[-inf -inf
-inf inf inf inf]' |
To apply white noise to acceleration and gyroscope readings, select this check box.
Programmatic Use
Block Parameter: i_rand |
Type: character vector |
Values: 'on'
| 'off' |
Default:
'on' |
Scalar seeds for the Gaussian noise generator for each axis of the accelerometer and gyroscope, specified as a six-element vector.
Dependencies
To enable this parameter, select Noise on.
Programmatic Use
Block Parameter: i_seeds |
Type: character vector |
Values: six-element vector |
Default: '[23093 23094
23095 23096 23097 23098]' |
Height of the power spectral density (PSD) of the white noise for each axis of the accelerometer and gyroscope, specified as a six-element vector, in:
(m/s2)/Hz when Units is set to
Metric (MKS)
(ft/s2)/Hz when Units is set to
English
Dependencies
To enable this parameter, select Noise on.
Programmatic Use
Block Parameter: i_pow |
Type: character vector |
Values: six-element vector |
Default: '[0.001 0.001
0.001 0.0001 0.0001 0.0001]' |
References
[1] Rogers, R. M., Applied Mathematics in Integrated Navigation Systems, AIAA Education Series, 2000.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)