1. Field of Invention
The present invention relates to Modeling, Design, Analysis, Simulation, and Evaluation (MDASE) aspects of gyrocompassing in relation to Far-Target Location (FTL) systems. FTL systems provide an extensive support for many joint operations and efforts, which are critical for a variety of government uses. For instance, they provide a solid foundation for many military joint operations. The basic principle of gyrocompassing is based on the measurement of the earth's angular velocity vector and the local gravity force vector. The US Army needs a suite of effective Modeling, Analysis, Simulation, and Evaluation tools for the design, development, implementation and validation of the gyrocompass based azimuth and attitude determination modules for the FTL systems.
2. Description of Related Arts
There is a need for high accuracy azimuth information for man-portable Far-Target Location (FTL) systems. The largest source of Target Location Error (TLE) in the existing FTL systems is in “azimuth”. Target azimuth in today's man-portable target locator systems is determined using an embedded Digital Magnetic Compass (DMC). Though current DMCs provide better than 1° accuracy (<17.8 mils) in a benign environment, the accuracy in a tactical field environment is somewhat less due to the errors caused by nearby magnetic disturbances (e.g. vehicles, buildings, power lines, etc.) and local variations in the Earth's geo-magnetic field. In addition, DMCs require cumbersome calibration procedures.
Night Vision & Electronic Sensors Directorate is investing in component technologies for JETS via the Target Location & Designation System (TLDS) Advanced Technology Objective (ATO) number D.CER.2008.03. There is an intent-to-feed technology into the TLDS ATO, which in turn, will feed JETS. Accurate target azimuth (±1 mil) gyrocompass (GC)-IMU performance shall be achieved within 3 minutes of turn-on/initialization. The size, weight, and power of the objective GC-IMU module is to be made suitable for man-portable and/or hand-held FTL systems (<16 cubic inches, <2 pounds, and <3 watts respectively). Along with the technical parameters, GC-IMU setup and initialization procedures are to be evaluated against the constraints of the forward observer's mission. The GC-IMU module enables man-portable FTL systems (JETS) to achieve the ±1 mil target azimuth error required to “call-for-fire” when employing precision guided weapons. The specific intent is to research and demonstrate precision GC-IMU technology for the express purpose of eventual integration into a man-portable and/or hand-held FTL system (e.g. JETS).
The disclosed methods are to address the need for more accurate targeting information by determining the azimuth and vertical angle of the target by providing an azimuth accuracy of ±4 mils Probable Error (PE) threshold requirement (T) and ±1 mils PE objective requirement (O) between 60° north and south latitude. Likewise, the technical approach is to provide a vertical angle accuracy of ±4 mils PE (T) and ±1 mils PE (O) between 60° north and south latitude. The temporal stability of the accuracy is to be maintained for more than thirty (30) minutes (T)/more than sixty (60) minutes (O) after initialization. The approach requires no systematic system reinitialization (to maintain accuracy) within this time frame. The compensation, calibration and initialization methods are to be performed internally and without the use of an external computer. The accuracy is to be met while installed on a tripod and is to maintain required accuracy for the system under deterministic motion (sinking of the tripod) and random vibrations (due to wind). The technical approach is to provide for necessary Figure of Merit (FOM) on the azimuth angle and other angle outputs to indicate the quality of the angle estimates with 95% confidence. The proposed approach is to provide the required accuracy stated above within an initialization time of less than 240 sec (T)/90 sec (O) of the powering of the module. The technology demonstrator is to weigh less than 2 lbs (T)/0.2 lbs (O) and have volume of no more than 35 in3 (T)/0.25 in3 (O). The proposed approach is to provide required accuracy under the slew rate of 30 deg/sec (T)/360 deg/sec (O). The proposed approach is to provide required azimuth accuracy under the following orientation range: Pitch of ±500 mils (T)/±800 mils (O) and Bank of ±270 mils (T)/±500 mils (O). The proposed approach input power requirements are not to exceed 5 W (T)/3 W (O). The operating environment is to be from −40° C. to +70° C. The technical approach is required to meet the accuracy requirement after a shock of 40 g/11 ms. The technical approach is to meet the above requirements when integrated into a targeting system in a tripod mounted (T) or handheld (O) mode of operation. The technical approach is to meet the accuracy requirements in all weather conditions. The technical approach performance is not to degrade when electronically jammed or magnetic interfered. The technical approach is to meet the above requirements when operated under the battlefield environment (including but not limited to operations under trees, in forest, in urban canyon, nearby tanks, HMMWVs, buildings, and in the back of a pick-up truck).
In regard to gyrocompassing accuracy considerations critical gyrocompassing sensor parameters are the accelerometer and gyroscope bias errors and the gyro angle random walk (ARW) errors. The accelerometer and gyro bias leads to azimuth error:
where L=latitude, φ=misalignments error in (N)orth, (E)ast, and (D)own, δωE=gyro error (bias)−in the NED coordinate frame, δaE=accelerometer error (bias) in the NED coordinate frame, Ω=earth's angular rate and g=gravity.
The gyro angle random walk versus the azimuth error is given by:
where n=random walk in degrees per square root hour, L=latitude, ta=averaging time and Ω=earth's rate.
The above relations show that to achieve an azimuth accuracy at 45° latitude within 90 sec of turn-on with an azimuth error bound of ˜4 mil the accelerometer bias must be 4 mG, the gyro bias instability 0.04°/hr and the Gyro Angle Random Walk (ARW) 0.004°/sq-rt hr. If the azimuth error bound is reduced to ˜1 mil the accelerometer bias must be 1 mG, the gyro bias instability 0.01°/hr and the Gyro Angle Random Walk (ARW) 0.001°/sq-rt hr.
Additional sensor parameters affecting gyrocompassing accuracy are error sources such as acceleration rate, scale factor errors, axis-misalignments, turn-on repeatability, turn-on bias stability, non-linearity, thermal effects etc. The combined impact of the error sources on gyrocompassing performance is not fully understood. The optimal trajectory and the optimal filtering have immense impact on the gyrocompassing performance. The trade study between the sensor error parameters versus the choice of system architecture needs to be modeled and understood. Additional considerations involve the impact of motion on the gyrocompass performance. Man-Portable applications are typically stationary which further constrains gyro performance. It is also noted that de-coupling and estimation of errors is easier in a high-dynamic application.
The interaction of error sources and their impact on the ultimate gyrocompassing accuracy are highly nonlinear and not possible to effect analytically. Thus, there is an essential need for a gyrocompassing simulation system that allows detailed parametric gyrocompassing performance evaluation based on error sources considered either in isolation or in any desired combination configuration.
The invention is advantageous in that it provides a gyrocompassing simulation system and method thereof, wherein the gyrocompassing simulation system allows detailed parametric gyrocompassing performance evaluation based on error sources considered either in isolation or in any desired combination configuration.
The realization of gyrocompassing design and accuracy goals requires inertial sensor analysis and modeling tools, gyro and accelerometer models, gyrocompassing processing algorithms and models for both handheld and tripod units, and system and sensor calibration procedures. The GMSS is a modularized software system which has four major components: the 6DOF Motion Simulator, the IMU Sensor Simulator, the Gyrocompass System and Calibration Process Simulator, and the Gyrocompass System Evaluation and Analysis Module. Each module has one Windows-based GUI as user interface for simulation components selection and parameter setting. The modular architecture of GMSS makes it very flexible for programming and testing. And, the component-based software development technology greatly eases system extension and maintenance. The hardware/software from American GNC Corporation's (AGNC) Azimuth and Attitude Accuracy Enhancing Method and System™ (SAAAEMS) is used as a reference for modeling and simulation fidelity validation and verification of the Gyrocompass Modeling and Simulation System™ (GMSS). The SAAAEMS System is also utilized to realize the gyrocompass processing/algorithm simulation functions and calibration functions. Furthermore, the existing software of the AGNC-2000RTIS IMU REALTIME SIMULATOR (RTIS) realizes motion generation and IMU simulation functions for GMSS. RTGIS accommodates the requirements for MDASE and is designed to circumvent the need to repeatedly execute field tests. RTIS simulates various guidance, navigation and control models, improves the design by executing multiple simulations and comparisons of the simulation results, permits analysis of the modeled and designed structure for grading and further improvements, and evaluates system performance in order to prevent expending resources in field testing.
GMSS is designed to provide a detailed simulation and evaluation tool for various gyrocompass systems designs. GMSS has a set of models and parameters for several commonly used IMUs. The system evaluation and analysis module is used to obtain the system accuracy under the current system setting and display and present simulation results in proper visualization format. By carrying out test sessions under controlled conditions, the user is able to evaluate the performance of a certain system design under the predefined conditions and/or to reveal the relationships between the system performance and any factors of interest. The different combinations of the controllable conditions and factors in GMSS provide a powerful evaluation and analysis tool for the design and development of gyrocompass systems. The system calibration simulation mode of GMSS yields a very convenient and powerful tool for the evaluation of the different calibration procedures designs for gyrocompass systems.
Currently there is no dedicated MDASE tool for the gyrocompass systems. The generic simulation and evaluation tools are often too complicated for user interface or do not have a real system model library for the user to choose. The simulation and evaluation tools currently used in the industrial and military sectors are usually large, rack mounted, and high cost equipment for special weapon system tests and often designed to support specific navigation system products. Thus, there is quite an urgent need for both the military and industrial sectors to have a suite of software systems or special devices supporting the design, test, and evaluation of gyrocompass systems because the gyrocompass principle and methods are in fact used in many systems. GMSS is a powerful, low cost, multi-functional, user friendly, high fidelity, flexible, and computation-effective test, simulation and evaluation tool for generic gyrocompass systems, INS, and FTL systems. By adopting GMSS, we can therefore greatly expedite the design and development of the FTL systems. GMSS, as a test, simulation and evaluation tool for generic gyrocompass systems and other pointing and navigation systems has high military and commercial applications potential. As a generic test and simulation tool GMSS can be easily augmented to simulate other inertial systems, such as north finders, strapdown INS, integrated GPS/INS systems, pointing systems, and other attitude systems.
According to the present invention, the foregoing and other objects and advantages are attained by a gyrocompass modeling and simulation (GMSS) system for a gyrocompass, comprising:
a 6DOF motion simulator;
an IMU sensor simulator which comprises a real-time sensor data acquisition and modeling tools;
a gyrocompass system and calibration process simulator;
a gyrocompass system evaluation and analysis module; and
means for providing an accumulative communication stream interlinking the motion sensor, the IMU sensor simulator, the gyrocompass system and calibration process simulator and the gyrocompass system evaluation and analysis module.
In accordance with another aspect of the invention, the present invention provides a gyrocompass modeling and simulation GMSS method, including the steps:
(a) generating 6DOF angular and linear motion data through the 6DOF motion generator;
(b) sending said 6DOF angular and linear motion data to the IMU sensor simulator through the accumulative communication stream;
(c) generating IMU output data by the IMU sensor simulator;
(d) sending the IMU output data to the gyrocompass simulator through accumulative communication stream;
(e) producing attitude data by the gyrocompass simulator with an assigned gyrocompass model;
(f) sending said attitude data to the gyrocompass system evaluation and analysis module through the accumulative communication stream; and
(g) comparing said attitude data produced by the gyrocompass simulator with ideal attitude data generated by the 6DOF motion generator to evaluate the performance of the gyrocompass under specified IMU errors and motion conditions.
Still further objects and advantages will become apparent from a consideration of the ensuing description and drawings.
These and other objectives, features, and advantages of the present invention will become apparent from the following detailed description, the accompanying drawings, and the appended claims.
To facilitate the GMSS implementation, an existing software of AGNC-2000RTIS IMU REALTIME SIMULATOR of the applicant is utilized to realize motion generation and IMU simulation functions of GMSS. The simulators can be used as either an off-line tool or as a real-time simulation tool. The existing AGNC software is used for the gyrocompass system modeling as far as possible. It can be called as a type of real-code-in-the-loop simulation. Specifically, an existing software of the applicant, AGNC's SAAAEMS System, is also utilized to realize the gyrocompass processing/algorithm simulation functions and calibration functions of GMSS. The Gyrocompass System Evaluation and Analysis Module are used to obtain the system accuracy under the current system setting and display and present simulation results in proper visualization format.
The Sensor Testing and Modeling Tools comprise a suite of generic statistical analysis software, including Allan Variance and PSD analysis tools. From collected data from a real IMU, the Sensor Testing and Modeling Tools obtain sensor model parameters which can be saved to the sensor model library for simulation use, or the raw sensor data used directly for hardware/sensors-in-the-loop simulation. For hardware/sensors-in-the-loop simulation, in the IMU simulator, raw sensor data can be used alone or mixed with simulated IMU motion data for moving base testing, if the real IMU unit can not or is not convenient to move.
The dashed line between the 6DOF Base Motion Simulator and the System Evaluation and Analysis module means the gyrocompass evaluation is based on comparison between the simulated base/unit attitude and the gyrocompass estimated values. In GMSS, the simulated motion data are already contained in the simulation data stream.
The applicant provided or user designed filters and estimators are used in the Gyrocompass Model and Calibration Simulator. The Optimal Estimator/Controller Design Tool is not part of GMSS but a connection to GMSS is provided for use with existing design tools to expedite the simulation testing for different filters and estimators.
A realization of the GMSS is based on AGNC Windows/PC platform products of the applicant, but can be portable to other platforms, for it is written in high level language and tools. Each module has one Windows-based GUI as user interface for simulation components selection and parameter setting. The motion and IMU sensor simulators based on the AGNC-2000RTIS IMU REALTIME SIMULATOR of the applicant has user interface windows 6DOF motion editor and for IMU sensor type selection and parameter setting.
The gyrocompass system simulator has user interface windows to select the gyrocompass system structure (tripod unit or handheld unit, etc.), estimator and controller. The system evaluation and analysis module has a user interface window for displaying and presenting simulation results in the proper visualization format. GMSS can also be connected to other systems, such as Sensor Testing and Modeling Tools and Optimal Estimator/Controller Design Tool to make use of sensor model data and system design results.
The modular architecture of GMSS makes it very flexible for programming and testing. And, the component-based software development technology greatly eases system extension and maintenance. The software modules: the motion and IMU sensor simulator, the gyrocompass system simulator, and the system evaluation and analysis module, can be installed and run in the same computer or in three or two different computers.
Sometimes if the host computer/PC's computation power is limited, but a real-time or hardware-in-the-loop simulation is still be wanted to perform and the simulation task of each module to different computers can be distributed.
Referring to
The operational process of the GMSS system comprises the following major steps:
(a) Generating 6DOF angular and linear motion data of the unit/carrier by the 6DOF motion generator 1, wherein this major step (a) comprises a series of sub-steps which are described in the corresponding sections hereinafter;
(b) Sending the 6DOF angular and linear motion data to the IMU simulator 2 through the accumulative communication stream;
(c) Generating IMU output data by the IMU simulator 2, wherein this major step (c) comprises a series of sub-steps which are described in the corresponding sections hereinafter;
(d) Sending the IMU output data to the gyrocompass simulator 3 through the accumulative communication stream;
(e) Producing attitude data by the gyrocompass simulator 3 using the assigned gyrocompass model; this major step comprises a series of sub-steps which are described in the corresponding section of this invention;
(f) Sending the attitude data to the gyrocompass evaluation module 4 through the accumulative communication stream; and
(g) Comparing the gyrocompass simulator 3 produced attitude data with the ideal attitude data generated by the 6DOF motion generator 1 to evaluate the performance of the gyrocompass under the specified IMU errors and motion conditions.
The GMSS is a modularized software system which has four major components. Thus, a communication approach for the GMSS has to be devised for inter-module data communication.
A communication protocol is defined for the inter-module interfacing in GMSS. Even when the four software modules are installed and run on the same computer, they are still realized as independent software modules. This architecture design greatly eases the software development, testing and maintenance. The communication protocols of GMSS have a time-tagged IP-type data packed structure.
According to the defined communication protocols, each GMSS module knows how to generate, receive, decode, and regenerate the data stream for the next GMSS module. Thus, if the GMSS modules are run on different computers, they are easily and naturally linked by a LAN.
The GMSS data stream flows between the GMSS modules. Synchronization and data buffering mechanisms is provided for the inter-module communication. The 6DOF Motion Simulator module generates the initial data stream, which is shown in the following Table 1-1.
The GMSS status indicates if GMSS intends to simulate a normal navigation process or to simulate a calibration process.
Using the data stream from the 6DOF Motion Simulator, the IMU sensor simulator generates IMU data according to the defined IMU models, which are added to the received GMSS data stream and re-sent to the gyrocompass system simulator module. The IMU data contain all of the defined IMU error sources.
Table 1-2 below is the data stream output by the IMU sensor simulator.
The sensor temperature is included to simulate sensor temperature induced error and to simulate the compensation process in the gyrocompass system simulator.
The GMSS data stream is then fed to the gyrocompass system simulator module. According to the GMSS status, the gyrocompass system simulator runs the gyrocompass processing or the system calibration processing. The outputs of the gyrocompass system simulator are the estimated unit/base attitude and azimuth and/or identified sensor biases and scale factors. Again the simulator outputs are added to the GMSS data stream and passed to the system evaluation and analysis module. Table 1-3 below is the data stream output by the Gyrocompass Simulator.
In the system evaluation and analysis module, the GMSS data stream contains all the necessary information of the whole simulation system. The system evaluation and analysis module records the time history of the GMSS data stream, compares the corresponding data items, and runs a suite of defined algorithms to obtain the gyrocompass system performance criteria. The system evaluation and analysis module also displays and presents the GMSS data stream in a proper visual format for the GMSS user. Because the GMSS data stream is time tagged and generated in an incremental form, the modules of GMSS can be run in different ways: in real-time or in batch/off-line. It also provides an easy extension for use as real-time or hardware-in-the-loop simulation and/or real-code-in-the-loop simulation.
6DOF Motion Simulator
In GMSS, the 6DOF Motion Simulator provides inputs for the IMU simulator and a real reference for evaluation of the gyrocompass system performance. In principle, for GMSS, the 6DOF Motion Simulator needs to generate 3D acceleration, 3D angular velocity, and angular position (attitude). Theoretically, there are two approaches for the 6DOF motion simulation: (i) only following kinematic constraints, or (ii) following both kinematic and dynamic constraints. In a practical system, however, the dynamic motion characteristics can affect gyrocompass system motion interference characteristics and sensor dynamic errors. Therefore, in order to enhance the simulation system fidelity, the dynamic motion of the (mechanical) unit/base is modeled.
A detailed mechanical motion of the unit can be quite complicated to simulate. For example, let us examine a gyrocompass unit mounted on a tripod. The unit's motion is constrained by the tripod gimbals and it is affected by forces and torques from the user, the gravitational force, base motion and vibration, random wind force, and other interferences. If also modeling the elastic characteristics of the base/tripod structure, the motion model can become more complicated.
In a practical simulation system, the dynamic mechanical motion model is retained, but it has been simplified. This practice does not significantly affect the simulation fidelity, for the approximate mechanical motion and interference characteristics of the unit/base have been kept. The following simplifications are incorporated in the 6DOF Motion Simulator:
With proper GUI and tools, the 6DOF Motion Simulator module simulates the followings:
Referring to
Referring to
In order to ease the operation of the 6DOF Motion Simulator, we have a library of typical motions saved in the format of motion script files for the user to select. The user can also change the parameters of the motion processes. Examples of typical motion processes in the library can include:
(i) A typical target acquisition process: the unit moves from an initial direction to pointing to the first target, then to the second and the third targets. The user can set the target number, target angular positions, and unit moving angular speeds.
(ii) The user can select to add unit/base vibration to the motion. The vibration includes angular and translational/linear vibration. The user can set the vibration parameters, such as amplitude and frequency.
(iii) The user can select to add unit/base acceleration disturbance to the motion. The acceleration disturbance is a major interference or error source to the gyrocompass. The user can set the disturbance parameters.
(iv) The user can select to add unit/base random angular and translational/linear disturbance to the motion. This is used to simulate interference caused by random external forces or torques, such as wind or base random trembling.
(v) A typical onsite calibration is also simulated to evaluate the calibration functions embedded in the gyrocompass. A GMSS status indicator is used in the GMSS data stream for this purpose.
In addition to the typical motion library, the 6DOF Motion Simulator also provides a motion editor to the user through the Motion Simulator window (GUI). The user can write a script file to describe the piecewise ω(t) and A(t) time functions (or θ(t) and V(t) time functions) and the 6DOF Motion Simulator translates it and uses it for motion generation. A simple syntax is defined for the motion editor.
With proper GUI and tools, the 6DOF Motion Simulator module can simulate:
(i) any power spectral density (PSD) related to vibrations;
(ii) tripod sinking motion; and
(iii) trajectory for any 3-D motion including single axis or multiple axis rotations.
The 6DOF Motion Simulator has a Motion and Disturbance Editor/User Interface for generic motion generation. The 6DOF Motion Simulator is tested and verified by comparing to real data collected from field tests and/or through numerical analysis.
The major function of the gyrocompass is to provide accurate elevation and azimuth angle measurements for a handheld or tripod-mounted target location system. When the gyrocompass unit is rigidly mounted on or embedded into a target location system, the measurement of the elevation and azimuth angles is equivalent to the attitude (including azimuth) determination of the gyrocompass unit (a rigid body).
The gyrocompass attitude is mathematically expressed in three sets of parameters: i.e. Euler angles, direction cosine matrix (DCM), and quaternions (P). The Euler angles express the body (unit, B frame) attitude with respective to the local geographical coordinate system (N frame) with 3 parameters. Similarly, the DCM expresses the attitude with 9 parameters and the quaternions do the same with 4 parameters.
The Euler angles expression has only 3 parameters. If the elevation/pitch angle is limited to (−90, +90) degrees, Euler angles in the GMSS data stream can be used for Unit/base attitude and azimuth. In the gyrocompass system, if any of the 3 attitude expressions is obtained, the other expressions can be calculated as well. However, the Euler angle attitude expression is not efficient for processing since it will induce a lot of trigonometric functions computation and it has a singular point at θy=±90 degrees. Thus, in the system processing the attitude is often expressed in the form of a direction cosine matrix (DCM) or quaternions. The DCM Cnb determines the B frame attitude with respect to the N frame and it is the transformation/rotation matrix between the B and N frames.
The relationship between the DCM and the Euler angles is represented by the following equation:
The quaternions yield another attitude expression between the B frame with respective to the N frame. Since they have only 4 parameters and no singular point, they are often used for attitude updating computation. The attitude updating algorithm is much more efficient than the other attitude expression methods. The relationship between the Euler angles and the quaternions is determined by the following equations:
cx=cos(0.5*θx);
sx=sin(0.5*θx);
cy=cos(0.5*θy);
sy=sin(0.5*θy);
cz=cos(0.5*θz);
sz=sin(0.5*θz);
p0=cx*cy*cz+sx*sy*sz;
p1=−sz*sy*cx+sx*cz*cy;
p2=sy*cz*cx+sx*sz*cy;
p3=sz*cy*cx−sx*sy*cz;
where p0, p1, p2, p3 are the elements of the corresponding quaternions.
The relationship between the quaternions and the DCM, Cnb, is determined by the following equations:
C11=2*(q·p0*q·p0+q·p1*q·p1)−1;
C12=2*(q·p1*q·p2+q·p0*q·p3);
C13=2*(q·p1*q·p3−q·p0*q·p2);
C21=2*(q·p1*q·p2−q·p0*q·p3);
C22=2*(q·p0*q·p0+q·p2*q·p2)−1;
C23=2*(q·p2*q·p3+q·p0*q·p1);
C31=2*(q·p1*q·p3+q·p0*q·p2);
C32=2*(q·p2*q·p3−q·p0*q·p1);
C33=2*(q·p0*q·p0+q·p3*q·p3)−1.
The relationship between the DCM and the Euler angles is determined by the following equations, if no singularity occurs:
θx=arctg(C23/C33);
θy=arcsin(−C13);
θz=arctg(C12/C11);
where θz is the roll angle; θy is the pitch angle; and θz is the heading angle.
In the 6DOF Motion Simulator (in fact for any rigid body motion), the unit/base angular velocity ω and the unit/base attitude and azimuth θ, or Cnb, or P, are related by a kinematic constraint equation:
Similarly, the translational motion vectors for the unit/base acceleration A and the unit/base velocity V are related by another kinematic constraint equation in the earth frame or in the navigation frame but ignore the effect of the earth's shape:
In a real system, the unit/base angular velocity ω is caused by the external torques exerted on the unit/base rigid body; the unit/base acceleration A is caused by the external forces exerted on the rigid unit/base body. Therefore, in principle, the motion of the unit/base must also follow the dynamic constraints, which are expressed by the equations:
where [I] is the moment of inertia matrix of the unit/base rigid body; M is the mass of the unit/base rigid body; T is the total external torques vector, F total external forces vector.
From the software point of view, every GMSS component consists of two parts: the GUI/windows for user interface and the background program for simulation processing/computation. Every GMSS component has at least one or two GUI/windows. The functions of the GUI/windows include:
(i) Control the execution and operation of the simulator component.
(ii) Configure the simulator structure through software switches and connectors.
(iii) Provide parameter setting of the simulator component.
(iv) Provide data display and visualization of the simulator variables for the user.
A GUI/window can comprise one or several child windows or dialogs to simplify the design and provide a clean user interface appearance.
In the GMSS system, many reusable components (or controls in software design terms) are used, for example:
Therefore, in the present invention, a suite of common reusable components is described for the GMSS software programming.
The 6DOF motion simulator user interface has one master window and one or two dialog windows. The following is a brief description of the layout of the master GUI/window:
For program testing purposes, the GUI/Windows is devised using Windows Presentation Foundation (WPF) tools. These programming tools greatly ease programming and the upgrade of the GUI software.
For the 6DOF Motion Simulator, the relationship between the GUI/windows and the background processing simulation program is depicted in
Referring to
(a) receiving motion command from the user from the selected joystick or keyboard through the I/O interface 1.1;
(b) reading the specified 6DOF parameters from the GUI window module 1.8;
(c) sending the combined motion command and the specified 6DOF parameters to the translational motion controller 1.3;
(d) generating the control command by translational motion controller 1.3 using motion command and feedback states from the motion simulator outputs;
(e) generating the stochastic force signal by the stochastic process generator 1.7;
(f) combining the control command with the stochastic force signal by translational motion controller 1.3 to generate the total force signal;
(g) producing the acceleration data using the total force signal by mass module 1.4;
(h) producing the velocity data using the acceleration data by integral module 1.5;
(i) producing the position data using the velocity data by integral module 1.6; and
(j) sending the produced the acceleration data, the velocity data, and the position data to the IMU simulator module 2.
In the 6DOF simulation model, the user controlled inputs go into the simulator as the input of the motion controller. The 6DOF motion controller generates the forces and torques to drive the dynamic model, to control the 3 angular rates/velocities and 3 translational velocities (of the simulated gyrocompass unit). The noise and vibration inputs go directly to the 6DOF dynamic model.
The operation of the 6DOF Motion Simulator is programmed as follows:
In addition to waveform/oscilloscope type display, GMSS may also use instrument types of display or even 3D animation type display to provide rich visual appearance for the 6DOF simulator and other GMSS components.
In GMSS, in order to enhance the simulation system fidelity, the dynamic motion of the (mechanical) unit/base is also modeled. The 6DOF motion of the unit is a motion controlled by the user. This controlled motion is simulated by a simple closed-loop motion controller. In the software realization of the 6DOF simulator, the GUI/windows control all aspects of the 6DOF Motion Simulator: inputs selection, parameter setting, and output display selection.
The user controlled inputs, from keyboard, joystick, or script file, control the intended 6DOF motion. The noise or vibration inputs represent the random force or torque exerted on the dynamic motion model. The angular motion and the translational motion of the unit are independent. Thus, the two motions are controlled by the two independent force controller and torque controller, respectively.
The configuration of the 3D translational motion is quite straightforward, as the three channels of the control system can be considered independent. But the 3D angular motion channels of the unit/base can not be considered independent. In fact, both the dynamical and kinematic models of the 3D angular motion can be coupled between the three channels/axes.
Considering the unit/base as a rigid body, the angular dynamic motion is described by the so-called Euler Equations:
{dot over (H)}=[Ib]{dot over (ω)}+ω×H=Mb
where ω is the angular velocity of the rigid body with respect to the ground or local navigation frame N (that is ω=ωbnb); H is the angular relative momentum of the rigid body and
H=[Ib]ω
where [Ib] is the inertia matrix of the rigid body with respect to the body frame; Mb is the torque exerted on the rigid body.
The Euler Equations in component form are:
Ix{dot over (ω)}x+(Iz−Iy)ωzωy=Mx
Iy{dot over (ω)}y+(Ix−Iz)ωxωz=My
Iz{dot over (ω)}z+(Iy−Ix)ωyωx=Mz
where Ix, Iy, Iz, are the moments of inertia of the rigid body with respect to the axes of the body frame. It is assumed that the rigid body is symmetric with respect to the body axes.
Using the angular velocity (ω=ωbnb), we proceed to calculate the attitude of the rigid body (unit/base) with respect to the local navigation frame N. In practice, there are three major representations for the attitude (angular position) of a rigid body, Euler angles, direction cosine matrix (DCM), and quaternions. In principle, there are three types of kinematic models used to obtain each of the three attitude representations from the angular velocity ωbnb, respectively.
The Kinematic model represented in Euler angles is represented by the following equation:
where:
The Kinematic model represented in DCM is:
The Kinematic model represented in quaternions is:
The Euler angles express the body attitude with 3 parameters. The DCM expresses the attitude with 9 parameters, and the quaternions do the same thing with 4 parameters. However, the Euler angle attitude expression is not efficient for the attitude update processing since it will induce a lot of trigonometric functions computation and it has a singular point at θy=±90 degrees. Thus, in the attitude update processing the attitude is often expressed in the form of a DCM or quaternions.
In the GMSS, we use quaternions for attitude update processing for their efficiency. The DCM must also be used for frame transformation. In practice, however, the attitude expression of Euler angles is more intuitive and user-friendly. In the dynamical model, if the Mb is directly controlled by the torque generator, the three Euler angles control are coupled. In order to control the three Euler angles separately or independently, the torques for Euler angles control must be transformed to the body frame by a virtual gimbals transfer matrix, like in an actual two or three-axis gimbals system, as depicted in
The use of Euler angles will introduce a singular point at pitch θy=±90 degrees. In practical software realization, if we limit the range of the pitch angle to a safe range, such as to [−85, 85] degrees, the singularity can be avoided and the simulation accuracy can be retained at a certain level.
For translational motion modeling we consider the unit as a free rigid body. The mechanical constraints and gravitational force are removed. Then, the 3D translational/linear motion of the unit is described by Newton's law:
a={dot over (v)}=f/m
where v is the velocity vector; m is the mass of the unit.
The 6DOF motion simulator simulates the motion of the unit which is controlled by the user. This controlled motion is simulated by a simple closed-loop motion controller. The angular motion and the translational motion of the unit are assumed independent. Thus, the two kinds of motions are controlled by the two independent force controller and torque controller, respectively.
The configuration of the 3D translational motion is quite straightforward, as the three channels of the control system can be considered independent. But the 3D angular motion channels of the unit/base can not be considered independent. In fact, both the dynamical and kinematic models of the 3D angular motion can be coupled between the three channels/axes.
The first step for the 3D angular motion simulation is to solve the Euler Equations [Ib]{dot over (ω)}+ω×H=Mb. The establishment of the GMSS foundation classes has made programming of the simulation algorithms very simple and elegant, like writing a mathematical equation in vector form. The Euler Equations in a standard form are:
{dot over (ω)}=[Ib]−1(Mb−ω×([Ib]ω))=F(ω,Mb)
The digital solution of the Euler Equations can be obtained by many numerical methods. In GMSS programming, we realized and compared two methods, the Euler method and the 4th order Runge-Kutta method.
The solution by the Euler method is expressed as:
where T is the sample period. The solution by the 4th order Runge-Kutta method is expressed as:
K1=F(ω(n),Mb(n))
K2=F(ω(n)+0.5*T*K1,Mb(n))
K3=F(ω(n)+0.5*T*K2,Mb(n))
K4=F(ω(n)+T*K3,Mb(n))
ω(n+1)=(ω(n)+T*(K1+2*K2+2*K3+K4)/6
Using the angular velocity (ω=ωbnb), the attitude of the rigid body (unit/base) with respect to the local navigation frame N can be obtained. In the GMSS, we use quaternions for attitude update processing because of their efficiency. The kinematic model represented in quaternions is:
There are many numerical solution methods for the quaternions equation to obtain the attitude update. In GMSS, we use the conventional quaternions transformation matrix method for attitude update:
q(n+1)=Cq(Δθx,Δθy,Δθz)q(n)
where Cq(Δθx, Δθy, Δθz) is the 4×4 quaternions transformation matrix; Δθx, Δθy, Δθz are angle increments over the period T; and
Δθx=ωx*T
Δθy=ωy*T
Δθz=ωz*T
In this method, it is assumed that the angular acceleration during the period T is negligible. In practical use, if the motion dynamics are not very high and T is small enough, the attitude update error can be negligible. For a high dynamics simulation, we can use a more accurate series expansion for the transformation matrix expression and/or use more accurate attitude update methods, such as coning algorithms.
From the quaternion q(n), the DCM and Euler angles can be obtained. In the dynamic control model {dot over (ω)}=F(ω, Mb), the control input Mb can control the angular velocity (ω=ωbnb) expressed in the body frame directly, but it can not control the Euler angles directly and separately. In practice, however, the attitude expression of the Euler angles is more intuitive and user-friendly. In the dynamical model, if the Mb is directly controlled by the torque generator, the three Euler angles control is coupled. In order to control the three Euler angles separately or independently, the torques for Euler angles control must be transformed to the body frame by a virtual gimbals transfer matrix, as in an actual two or three-axis gimbals system. A simple and straightforward method is:
The total torque is then projected onto the body frame as the Mb.
In vector form:
{right arrow over (M)}b={right arrow over (M)}h+{right arrow over (M)}p+{right arrow over (M)}r
Projected to and expressed in the body frame:
where the frames 1 and 2 are two intermediate frames for Euler angles definition; Cm (θx, θy) is the transformation matrix for the torque vector.
The transformation matrix also links the angular velocity ω=ωbnb and angular rates of the three Euler angles:
Using the torque transformation Mb=Cm(θx, θy)Mθ, the torque Mθ is able to control the Euler angles separately with its torque components. There is coupling between the three Euler angle channels, but every Euler angle is controllable separately. And, if the closed-loop control method is used, the coupling between the channels can be eliminated. Because the coupling is now regarded as interference to a control channel, its interference effect can be removed by the controller since the interference is inside the closed loop control.
The realization of the attitude controllers is also straightforward. Since the rigid body has very little damping in its dynamic model, as the simplest control method, we use PD controllers for the attitude closed-loop control. Expressed in vector form, the controller algorithm is:
where Kd is the damping coefficient; Kθ is the proportional control coefficient; θ is the Euler angle vector; {dot over (θ)} is the Euler angle rate vector; θcomm is the commanded input Euler angle vector from the user input module.
The use of Euler angles will introduce a singular point at pitch θy=±90 degrees. In practical software realization, if we limit the range of the pitch angle to a safe range, the singularity can be avoided.
Referring to
(a) receiving motion command from the user from the selected the joystick, the keyboard, or the selected script file through the I/O interface 1.1;
(b) reading the specified 6DOF parameters from the GUI window module 1.8;
(c) sending the combined motion command and the specified 6DOF parameters to the angular motion controller 1.9;
(d) generating the control command by angular motion controller 1.9 using motion command and feedback states from the angular motion simulator outputs;
(e) generating the stochastic torque signal by the stochastic process generator 1.12;
(f) combining the control command with the stochastic torque signal by angular motion controller 1.9 to generate the total torque signal;
(g) producing the angular acceleration data using the total torque signal by rigid body dynamic model 1.10;
(h) producing the angular velocity data using the torque data and 3D Euler rigid body dynamic model 1.10;
(i) converting the angular velocity data in body frame to Euler angle form angular velocity data by module 1.10 for control Euler angular rate;
(j) producing the angle data using the angular velocity data and quaternion attitude updating equations by kinematical constraints module 1.11;
(k) converting the angular position in quaternion form to Euler angle form by kinematical constraints module 1.11 for control Euler position; and
(l) sending the produced angular velocity data, and the angle data to the IMU simulator module 2 and evaluation module 4.
Using a joystick or other user interface device to directly control the 6DOF motion generation in real-time can greatly ease the operation of the GMSS. The user can quickly produce any kind of 6DOF motion for the simulation session. We have selected a joystick for the user-controlled 6DOF motion generation.
The joystick is a standard USB human interface device (HID). In the Windows OS, the application can not access the PC hardware/devices directly, but must do so through the device drivers. For a standard USB HID device, the Windows will identify it when it is plugged into the PC. Windows provides a set of standard generic drivers for the USB HID devices and provides a suite of APIs for the user to build a specific device driver and communication interface. In the GMSS software, based on HID framework, the joystick device driver programs are coded and tested to connect the joystick to the 6DOF motion generator program module.
When the GMSS application software is started, the joystick device driver programs will find the joystick device and establish a communication link with it. The joystick driver programs include the following functions:
The joystick driver programs and decoder programs are incorporated into the 6DOF motion generation programs. Two types of user-in-the-loop control modes are used for the 6DOF motion generator: angle control mode and angular rate control mode, as depicted in
Three software modules: 6DOF simulation processing module, joystick device driver module, and 6DOF GUI module, are combined together to form a complete user-in-the-loop control 6DOF motion generator. The GUI and joystick modules provide the user a richer visual experience and more flexible control over the GMSS process.
The GUI of the 6DOF motion generator also serves as the master GUI of the whole GMSS software system. It has several menus, such as “IMU Simu”, “IMU Para”, and “Gyrocompass Simu” etc., to launch separate window GUIs for other simulation modules of the GMSS system. The GUI of the 6DOF motion generator also includes:
To provide an intuitive user control interface, the angular control of the 6DOF motion generator is based on three Euler angles. In the rate mode the input is interpreted as required Euler angle change rates, while in the angle mode as required Euler angle values.
A set of .net based Queue data structures is used for communication buffering and it also provides a simple and reliable inter-module synchronization mechanism. A Queue is a first-in-first-out buffer. The 6DOF motion generator data is put into a set of queues and the IMU simulator fetches input data from the queues. The synchronization mechanism is realized as follows: if the queues are empty the IMU simulator must wait for the 6DOF motion generator. If we set a maximum limit for the Queue count, when the maximum limit is reached the 6DOF motion generator must wait for the data to be fetched from the queues.
The GUI of the 6DOF motion generator also includes:
The default command source selection is a user manual input through text boxes. This command makes it easier to get more accurate control than with a joystick, for example to control the 6DOF simulator at a constant angular rate or direct to a specific angular position.
The attached 6DOF control mode is added to accommodate structure dominated vibration and stochastic base/unit motion. When the unit is a free rigid body, the rate mode or angle mode can be selected for simulation control, such as when it is hand held. If the unit is attached to a structure, such as to a larger test table or to a tripod, it is not a free rigid body any longer and its motion can not be described directly by rigid body Euler Equations. Instead, the motion of the unit is dominated by the motion of the structure.
The 6DOF simulation parameters include:
All the 6DOF simulation parameters can be displayed at any time by clicking on the button “Display/Check 6DOF Parameters”, as shown in
Referring to
The functions of the “Reset/Restart” button include:
Referring to
(1) High accuracy dynamic and kinematical model based 6DOF motion simulation.
(2) Three motion control modes: angle, rate and attached, to simulate different types of base motion.
(3) User controlled start and stop/resume function.
(4) User controlled re-start function to clear all the system states and put all states to default values.
(5) Auto stop function for user programmed simulation session control.
(6) User-in-the-loop quasi-real-time 6DOF motion control method is supported. The user can issue 6DOF commands with joystick, keyboard, and/or mouse.
(7) Three real-time data waveform display canvases/oscilloscopes which can choose most of the inputs, outputs, and internal variables of the 6DOF simulator for view and display.
(8) One data waveform display canvas/oscilloscope which is used as a buffer to store and display the selected variable for analysis. This display canvas/oscilloscope is auto scaled and also used by the stochastic analysis tools for displaying analysis results.
(9) A 6DOF (or 6 channels) signal composer for the user to set and produce different types of composed stochastic signals for 6DOF random motion simulation.
(10) Display and check of all 6DOF simulator parameters in a text block.
(11) User setting of all 6DOF simulator parameters through a dialog window.
(12) Three real-time data digital displays which can choose most of the inputs, outputs, and internal variables of the 6DOF simulator for view and display.
(13) Enable/disable control of the 6DOF stochastic signals.
(14) User magnitude control of the 6DOF stochastic signals.
(15) Dedicated real-time data digital displays of the latitude. (The velocities and accelerations can be displayed by three waveform display canvases/oscilloscopes and three real-time data digital displays).
Using the simulation time and any other event/message between the GMSS components as a reference, it is easier to realize automated simulation control and synchronization of the whole GMSS system. A simulation session may have several steps and procedures and we also need to simulate some special events in a targeting session. For example, a gyrocompass may be put on a table or rock for initial alignment and then put on a tripod for target tracking, and then carried by a user to another location, etc.
As part of the session control functions, the automatic simulation stop function is also added to the GMSS. The simulation stop is set in 6DOF GUI with a “Stop Time” text box. Synchronized by the simulation time variable, the whole GMSS simulation is under control and stopped at the specified time. The event simulation inside the GMSS components can also be synchronized by referring to the simulation time.
As a special 6DOF base/unit motion simulation scenario, a tripod sinking kinematics model is created. For this scenario, the 6DOF simulator is in the “attached” mode and a set of user configurable parameters is used in the sinking kinematics model to accommodate different types/sizes of structure and motion.
As depicted in the figure, the sinking can cause several angular and linear motions to the unit/body frame. Generally, they can be consider equivalently as a small, slow changing (ultra-low frequency) base angular motion in the gyro outputs and as a small, slow changing base acceleration disturbance in the accelerometer outputs. Because of their ultra-low frequency characteristics, it is challenging to filter them out.
For coarse alignment, the base acceleration disturbance will increase the level attitude errors; base angular motion will increase the heading error. In fine alignment, since the mathematical platform is established, the base angular motion can be isolated/removed. But the base acceleration disturbance can not be easily removed or compensated; it can cause level attitude errors and, more significantly, can cause heading error and increase the fine alignment time. According to basic principles related to the steady state accuracy of gyrocompassing, the attitude and heading/azimuth angle errors can be approximately estimated as:
Δφx,y≈(∇+Aeq)/g
Δφz≈(ε/Ω cos φ)+tgφ(∇+Aeq)/g
where,
Historically, performing gyrocompassing on a moving base has been a challenge for the initial alignment of many INS applications. For example, initial alignment of an INS on a ship at harbor, or on an aircraft, during boarding of personnel or loading of cargos. The base/vessel will undergo slow motion similar to the sinking of a tripod. Thus, our GMSS can be used to simulate and investigate not only tripod sinking effects but also other base motion effects on gyrocompassing for many other applications.
IMU Sensor Simulator
As depicted in
The GMSS includes a suite of Sensor Testing and Modeling Tools to provide hardware/sensors-in-the-loop simulation and modeling functions. Integrated with the IMU Sensor Simulator, the Testing and Modeling Tools are also used for fidelity evaluation and verification of the Sensor Simulator.
The IMU Sensor Simulator includes the following components:
Through the Sensor and Parameters Selection GUI/window, the user is able to emulate: Any Allan Variance Curve including quantization noise, angle random walk (ARW), correlated noise, sinusoidal noise, bias instability and rate random walk (RRW). The Sensor Selection and Parameters User Interface is able to accept inputs in terms of:
The fidelity of the IMU Sensor Simulator is tested and verified by statistical analysis and compared to real IMU data which are collected and processed by the Sensor Testing and Modeling Tools. Rich experience of the AGNC-2000RTIS IMU REALTIME SIMULATOR is embedded in the patent for navigation system simulation and inertial sensor simulation.
IMU Measurement Models
Referring to
Gyro Measurement Model
Gyros in the IMU measure the angular velocity of the IMU with respect to the inertial coordinate frame expressed in the base/unit body coordinate system (denoted by B). Written in vector form, the ideal gyro outputs can be expressed as follows
where ωnbn is the angular velocity of the base/unit relative to the N frame. ωenn is the base/unit angular velocity induced by linear velocity because of the earth's shape. ωien is the earth rate expressed in the N frame. Cnb is the direction cosine matrix of the body (B) coordinate system with respect to the N frame. ωenn is related to the base/unit linear velocity and position and earth model parameters. For the gyrocompass simulation in this project, since the position and the earth shape's have very small effect to the gyrocompass processing, the simulation of ωenn can be simplified or ignored.
Accelerometer Measurement Model
Accelerometers in the IMU measure the specific force caused by the motion of the base/unit. The specific force consists of the gravitational acceleration and the base/unit acceleration with respect to the inertial space:
ai=g+f
The acceleration with respect to the inertial space, ai, can be expressed in the N system as
ain={dot over (V)}n+(ωenn+2ωien)×Vn+ωien×(ωien×R)
Defining G=g−ωien×(ωien×R) we have
fn=−G+{dot over (V)}n+(ωenn+2ωien)×Vn
and the outputs of the accelerometers can be written as
In the above equation, G is the gravity model expressed in the N frame. In most inertial navigation systems, the direction of G is assumed to be identical with the zn axis of the N frame.
Gyro Error Model
An ideal gyro measures the angular rate of the base with respect to inertial space along its sensitive axis. The output of the ideal gyro is proportional to the input angular rate:
ωout=Kgωib
But in practice, the output of the gyro also contains a variety of errors. In general the static model of the gyro output can be given by
ωout=Kgωib+ε
where ε is the generalized gyro drift. There are at least three single degree-of-freedom gyros in an IMU. Their sensitive axes are aligned along three orthogonal directions, denoted x, y, and z.
Accelerometer Error Model
The generic error model of the accelerometer is similar to that of the gyro. The ideal accelerometer measures the specific force of the device motion with respect to inertial space in its sensitive axis direction and thus the output of the accelerometer is proportional to the specific force:
fout=Kafib=Ka(−Gib+Aib)
where G is the gravitational acceleration and A is the acceleration caused by the motion of the base. But in practice, the output of the accelerometer also contains a variety of errors. In general the static model of the accelerometer can be given by
fout=Kafib+∇
where ∇ is the generalized accelerometer bias error.
The IMU Sensor Simulator receives motion data from the 6DOF motion trajectory simulator and generates IMU output data according to the IMU measurement models and error models defined by the user. The user interface (GUI) consists of several menus that enable the user to select and modify the configuration and parameters of the IMU simulation process. The user can fully define the error model of the gyros and accelerometers in the IMU. The error model can be selected from a predefined IMU product library or the user can set every error parameter via the error model menus.
An important feature of the sensor database/library is that it can be modified or edited by the user. That is, the user can input new products into the database, or delete a product, or modify the parameters of a product. The parameters of a product in the database can be displayed to the user for verification or modification. In the IMU simulator, in addition to a generic error model, a suite of special models are provided to meet the high fidelity simulation requirements.
Through the Sensor Selection and Parameters User Interface, the user is able to emulate: Any Allan Variance Curve including quantization noise, angle random walk (ARW), correlated noise, sinusoidal noise, bias instability and rate random walk (RRW). The Sensor Selection and Parameters User Interface is able to accept inputs in terms of:
The fidelity of the IMU Sensor Simulator is tested and verified by statistical analysis and compared to real IMU data. AGNC has rich experience in navigation system simulation and inertial sensor simulation. In this patent application, we utilize the existing AGNC-2000RTIS IMU REALTIME SIMULATOR to realize both motion generation and IMU simulation functions.
When the IMU Simulator GUI window is launched, all the system status is in the default values and the IMU simulator is not started. Click button “Start Simu” to start the IMU simulation processing. By default, the IMU is an ideal model, no error. Use the combo box to select a predefined IMU model and use the button “Load the Selected Para” to load the IMU error parameters into the IMU simulator. The user can change any of the parameters in the text boxes and the change will be automatically enabled immediately. The user can load an IMU model from a predefined library or input and/or change the parameters in real-time, as required. The “Clear IMU Err” button is used to set all errors to 0 and obtain an ideal IMU.
The basic IMU error components include bias, angle random walk, and velocity random walk. IMU error models are also able to accommodate more types of sensor errors, such as:
Pink noise or bias stability noise;
Red noise or rate random walk noise;
Temperature induced errors;
Sensor axis misalignment, and etc.
Referring to
(a) receiving 6DOF motion data from the 6DOF motion simulator 1;
(b) receiving IMU error parameters 2.3 from the IMU GUI widow 2.5, or from the IMU error model library 2.4;
(c) producing ideal IMU output data using the corresponding IMU measurement model 2.1 and the 6DOF motion data;
(d) generating IMU motion-related error using the corresponding IMU error model 2.2 parameters and the 6DOF motion data; these error items include scale factor errors, sensor axis misalignment errors, and sensor dynamic errors, etc.;
(e) generating IMU stochastic errors using the corresponding IMU error model 2.2 parameters and the stochastic signal generators; these error items include white noise, random walk, quantization error, bias instability error, etc.;
(f) generating IMU temperature induced errors using the corresponding IMU error model 2.2 parameters;
(g) generating IMU periodic (oscillating or vibration) errors using the corresponding IMU 2.2 error model parameters;
(h) combining the ideal IMU output data and the all generated IMU error items to produce IMU output data; and
(i) sending the produced IMU output data to gyrocompass simulator 3 through the communication link stream.
IMU Sensor Error Models in Vector Form
Considering the sensor axis misalignment error, the generic IMU models are represented by the following equations which are used in the GMSS for IMU simulation.
Gyro errors and simulation model:
where
The random component of the gyro error can be further expressed as a sum of several stochastic (noise) signals:
εrandom=εQuan+εARW+εBins+εRRW
where
Similarly, the accelerometer errors and simulation model are represented by:
where
Similarly, the random component of the accelerometer error can be further expressed as a sum of several stochastic (noise) signals:
∇random=∇Quan+∇VRW+∇Bins+∇AARW
where
It is simulated by integration of white noise.
From the above vector/matrix equations for IMU sensor error models we can see that it needs about 27 parameters to represent 3 gyros and 3 accelerometers error models, respectively. Totally, we need about 54 parameters in GMSS software to represent an IMU error model.
In the IMU simulator software, the user can (i) load an IMU model from a predefined library; (ii) input and/or change the parameters in real-time, as required, wherein the “Clear IMU Err” button is used to set all errors to 0 and obtain an ideal IMU; and (iii) save the user changed IMU model to the library for later use.
Only parts of the IMU parameters are represented in the GUI. To save the GUI area of the IMU simulator, the whole 54 parameters IMU model are operated by the user via a separate dialog window.
Referring to
(1) Three real-time data waveform display canvases/oscilloscopes which can choose most of the inputs, outputs, and internal variables of the IMU simulator for view and display.
(2) One data waveform display canvas/oscilloscope which is used as a buffer to store and display the selected variable for analysis. These display canvases/oscilloscopes is auto scaled and also used by the stochastic analysis tools for displaying analysis results.
(3) A multi-channels signal composer for the user to set and produce different types of composed stochastic signals for IMU stochastic error simulation.
(4) Display and change of IMU stochastic parameters in the main IMU window.
(5) User setting of all other IMU parameters through a dialog window.
(6) Three real-time data digital displays which can choose most of the inputs, outputs, and internal variables of the IMU simulator for view and display.
(7) Enable/disable control of the IMU errors.
The IMU parameters which can be set by the user include:
As shown in
The GMSS also includes functions for hardware/sensors-in-the-loop simulation, real sensor data acquisition and modeling, and even real-time hardware/sensors-in-the-loop simulation. The hardware/sensors-in-the-loop simulation and modeling functions of the GMSS are provided by the following components:
With the hardware/sensors-in-the-loop simulation functions, the IMU data fed to the gyrocompass simulator are of three types:
Gyrocompass Simulator Module
The Gyrocompass Simulator Module is the core for the GMSS system which is based on SAAAEMS.
In principle, the real algorithms and programs in any real gyrocompass can be utilized in the simulator. GMSS based on SAAAEMS is a suite of innovative gyrocompassing methods, implemented on a standard or simplified strapdown INS or an inertial measurement unit (IMU), as a gyrocompass or an azimuth and vertical angle measurement system. Gyrocompass and its technical concept (often called gyrocompassing) are not new, but in GMSS a suite of innovative system approaches, test and calibration methods, and signal processing algorithms are invented which make it a unique and outstanding gyrocompass system realization. The basic principle of gyrocompassing is based on the measurement of the earth's angular velocity vector and the local gravity force vector. In a platform gyrocompass system or a platform INS, the platform is stabilized by a gyro based closed-loop control system. By leveling a stabilized platform using the accelerometer outputs, the true heading of the platform can be obtained from the required command to the platform x and y axes, in order to cancel the effect of the earth's angular velocity. Equivalently, the earth's angular velocity is measured by the gyros on the leveled platform. In a strapdown inertial measurement system, as in a strap-down inertial navigation system (SINS) or the GMSS system, the inertial sensors are rigidly mounted onto the host system to measure the carrier motion directly. That is, rate gyros are used to measure the carrier angular velocity and accelerometers are used to measure the specific force (caused by carrier acceleration and gravity).
The GMSS system approach is based on measurement of the earth's angular velocity and local gravity. On the earth, measuring two physical vectors, the earth's angular velocity Ω and local gravity G, in a frame, such as in a sensor frame B, can determine the relative attitude between B and the local navigation frame, N, since the components of Ω and G in the N frame are known. In principle 2D measurements are adequate for gyrocompassing on a stationary base. The third component can be reconstructed under certain conditions.
In principle, a static and direct gyrocompassing (calculation) approach can use sensor outputs to obtain full attitude and true azimuth of the sensor unit (frame B). But in a practical system, this approach will be affected by base motion and sensor errors. A static direct gyrocompassing can only be effected on a stationary base. Motion disturbance and sensor errors must be small enough, or the base motion will affect system accuracy. For a tripod based application motion disturbance could be relatively small but still needs to be considered and processed. For practical handheld applications, because the base motion is a normal state and can be significant, a dynamic gyrocompassing approach must be used for motion isolation and sensor errors must be compensated as well. Therefore, in the GMSS system approach, the processing for the base motion and sensor errors is of fundamental importance for system performance.
In the GMSS system, gyrocompassing is used to determine the initial attitude of the IMU frame (it is in fact the GMSS unit's Body frame, called B frame) with respect to the navigation frame (N frame, the local geographic frame, adopted as the NED coordinate system). The mechanization of the INS is implemented in the navigation coordinate system (N). That is, the navigation solutions or parameters of the INS are referred to the N frame. The N frame is located at a point on the earth's surface. In order to define the N frame, a standard symmetric ellipsoid must be introduced. In the GMSS unit, the WGS-84 is adopted as the reference ellipsoid. Three Euler angles between the Navigation and the Body frame determine the body's attitude. They are the roll, pitch and heading angles.
The gyrocompassing realization for a strapdown inertial system in GMSS is based on the direct measurement of the local gravity vector G and the earth's angular velocity vector Ω in the sensor frame B. The physical (or mathematical) meaning of gyrocompassing is now even more obvious. That is, by measuring two constant physical vectors (G and Ω) in two frames (N and B) the relative angular position between these two frames is determined. A more basic law behind this method is that the attitude of a rigid body (or a frame) can be fully determined by two fixed vectors (or straight lines) in the rigid body, as long as these two vectors are not identical in direction. This poses a limitation for the gyrocompassing application: the two physical vectors G and Ω must not be identical in direction. At the earth's poles G and Ω will be identical in direction and thus the gyrocompassing approach will fail and in a practical system the accuracy of the gyrocompass will deteriorate in the polar areas. The measurements of the local gravity vector G and the earth's angular velocity vector Ω in the B frame are carried out by gyros and accelerometers. In the N frame, however, the G and Ω vectors are known, as long as the local latitude is known (in practice, the latitude can be calculated from the outputs of gyros and accelerometers).
Considering an ideal situation of two ideal sensors and the GMSS unit is stationary on the ground, the G and Ω vectors expressed in the N frame are known. In the B frame, the G and Ω vectors are measured by the gyros and accelerometers respectively. The Direction Cosine Matrix (DCM) determines the B frame attitude with respect to the N frame. Thus, from the gyro and accelerometer outputs, the DCM, Cnb, is obtained, and then the unit's elevation and azimuth angles are determined. There is redundancy in the gyro and accelerometer measurements. A third gyro and a third accelerometer are not necessary for the realization of a gyrocompassing approach. From the prior knowledge of the gravity G and earth rate Ω, and the two sensor measurements, the third sensor measurement can be estimated. In principle, the 2 DOF sensor measurements of vectors G and Ω are adequate for realization of a strapdown gyrocompass.
A major function of the GMSS is to provide accurate elevation and azimuth angle measurements for a handheld or tripod-mounted pointing system. When the GMSS unit is rigidly mounted on or embedded into a pointing system, the measurement of the elevation and azimuth angles is equivalent to the attitude (including azimuth) determination of the GMSS unit (a rigid body). The GMSS attitude is mathematically expressed in three sets of parameters: Euler angles, direction cosine matrix (DCM), and quaternion. In the GMSS system, if any of the 3 attitude expressions is obtained, the other expressions can be calculated as well. The Euler angle attitude expression is not efficient for the system processing since it induces a lot of trigonometric functions computations and also has a singular point. Thus, the attitude is often expressed in the form of a direction cosine matrix (DCM) or quaternions. The quaternions yield another attitude expression between the B frame with respect to the N frame. Since the quaternions have only four parameters and no singular point, they are often used for attitude updating computation. The attitude updating algorithm is much more efficient than the other attitude expression methods.
In principle, there is a direct calculation from the sensor outputs to the unit's attitude. This is called a static processing approach, which is a straightforward application of the gyrocompassing principle. In a practical gyrocompass system, this static approach can not be used to calculate the unit's attitude angles because most times the assumed ideal conditions are not fulfilled. For example, in a real system, the sensors always have different kinds of errors and the gyrocompass unit may be in angular motion in order to track a moving target or point to a different target successively. In the direct calculation of the unit's attitude from the sensor outputs, the sensor errors and base motion interference will cause error to the calculation. In order to obtain a reasonably good attitude calculation, the sensor errors and base motion interference must be small enough compared to the useful components in the sensor outputs. Even with accurate enough sensors, the direct static approach is still unable to avoid interference caused by the base motion.
The angular motion restriction (|ωbnb|<<Ω=15.04106864 deg/hr=0.0417 deg/sec) is impractical for a real application. A very small angular motion will cause substantial attitude estimation errors. Often, a real or usable pointing system must undergo rotational motion in order to track a moving target or point to different targets successively. The translation acceleration motion restriction (|ab|<<g=9.796527 m/sec2) may be a little easier for a pointing system to satisfy, because the gyrocompass unit itself does not make intentional translation accelerations. But the angular motion of the unit still causes translation acceleration for an accelerometer, as long as the sensor sensitivity center is not on the rotation base (carrier center). Therefore, there is a need for use of a kind of dynamic gyrocompassing approach which is able to eliminate the effects of base motion interference or reduce it to an acceptable level. The GMSS dynamic gyrocompassing processing algorithms thus incorporate: (i) base motion disturbance/interference-isolation and/or compensation (the base motion disturbance includes angular motion interference and translational acceleration interference) and (ii) sensor errors-calibration and/or compensation (the sensor errors include deterministic errors and random errors).
In a gimbaled gyrocompass or a platform INS, the angular velocity interference is isolated by gyro stabilization capability. In the strapdown gyrocompass, the angular velocity interference can be compensated in principle, because the accelerometers also contain the (redundant) angular information by sensing the gravity vector. In the GMSS approach a mathematical platform is introduced, and the base angular motion can be isolated, like a gyro-stabilized gimbaled platform. Thus, the gyrocompassing can be performed even during a base slew or rotation. In practice, the base angular motion is usually accompanied by linear (translational) acceleration, which will interfere with the gyrocompassing. To eliminate the acceleration interference, the accelerometer feedback control can be cut off from the gyrocompassing loop when motion is detected. Then the gyrocompassing actually becomes an inertial AHRS system which is tracking the angular moving base and meanwhile with the earth rate compensated.
The attitude updating command is constructed as:
ωc=−ωbnn1−[Φ]Ωn−εn1+ωc1
The gyrocompass attitude error model is:
In the above equation, εn1 is the generalized gyro error resolved in the mathematical platform frame N1.
This system dynamic error model reveals the relationship between the control command ωc1 and the Cbn(t) estimate error φ. It indicates that ωc1 can directly control the error φ. Re-written in component form, it becomes:
{dot over (φ)}x=−Ω sin φφy+ωc1x−εxn1
{dot over (φ)}y=Ω sin φφx+Ω cos φφz+ωc1y−εyn1
{dot over (φ)}z=−Ω cos φφy+ωc1z−εzn1
In order to control the error and let it converge to 0 (φ→0), the error φ must be measured or observed. This is the basis for a closed-loop (feedback) control system.
In a gyrocompass system, gyros and accelerometers are the only information source, and the observation of the error φ has to be obtained from them. In practice, there are always sensor errors and most time base motion interference. For a target location system used for moving target tracking, the gyro outputs can not be used for observation construction. The gyro outputs are used for angular motion tracking, instead (construction of command ωc). Only the accelerometer outputs can be used for φ estimation. The accelerometer outputs based system error observation model is:
Δfox=gφy+axn1+∇xn1
Δfox=−gφx+ayn1+∇yn1
where axn1, ayn1 are the base (unit) linear/translational accelerations interference; ∇xn1, ∇yn1 are the generalized accelerometer errors resolved in the N1 frame.
A linear time-unvarying system model for the gyrocompass processing is:
{dot over (φ)}=[Ωn]φ−εn1+ωc1 system error dynamic model
Δfox=gφy+axn1+∇xn1
Δfox=−gφx+ayn1+∇yn1 system observation model.
Based on this model, we are able to utilize a series of advanced system control and estimation approaches, such as Kalman filtering, optimal estimation, stochastic system control, etc.
There are different types of strapdown IMU based gyrocompass systems. In this patent application, the Gyrocompass Simulator Module can simulate the following types of gyrocompass simulators:
The gyrocompassing processing algorithms and models for both handheld and tripod units, and system and sensor calibration procedures in the applicant's SAAAEMS system are utilized for realization of the gyrocompass system and calibration process simulator in GMSS. With the user definable 6DOF motion simulator and IMU simulator, the gyrocompass simulation is able to emulate not just the gyrocompassing function but also the attitude error variations when subjected to other motions—such as a soldier walking into a building, etc. The gyrocompass simulation is able to test various kinds of optimal filtering techniques for gyrocompassing—including a Kalman Filter or any other Bayesian estimator.
Referring to
(a) receiving the IMU output data from the IMU simulator module 2, which include the simulated gyro output data and the simulated accelerometer output data;
(b) estimating an approximation of gyrocompass attitude using the IMU output data and the selected coarse initialization/alignment algorithms 3.1;
(c) initializing the gyrocompass attitude quaternion in module 3.3 and the DCM representation with the estimated coarse alignment attitude;
(d) converting the gyro input from the body frame to the mathematical platform frame by module 3.6 using the current DCM;
(e) forming the attitude updating command in module 3.2 using the converted gyro input and the current gyrocompass control output (for first iteration its initial zero value);
(f) updating the gyrocompass attitude in module 3.3 using the updating command and the quaternion attitude updating algorithms to get the quaternion representation of the gyrocompass attitude;
(g) converting the quaternion representation of the gyrocompass attitude into the DCM representation of the gyrocompass attitude by module 3.4;
(h) converting the DCM representation of the gyrocompass attitude into the Euler angle representation of the gyrocompass attitude by module 3.5, as the system output to the user;
(i) converting the accelerometer output data from the body frame to the mathematical platform frame by module 3.8 using the current DCM;
(j) producing an estimation of the gyrocompass attitude error using the user selected estimator or Kalman filter 3.9 and the converted accelerometer output data;
(k) generating attitude control command using the user selected optimal or adaptive controller 3.10 and the estimated attitude error;
(l) feeding back the generated attitude control command to the updating command generator 3.2 to form the next attitude updating command; and
(m) going back to step (d) and the process will iterated until the simulation is stopped by the user.
The gyrocompass simulator is realized and advanced estimator and filters are added. The gyrocompass simulator functions include:
We can intentionally add initial errors to the gyrocompass. If selecting the open loop mode, the error is kept constant, but can be observed through accelerometer outputs resolved in the virtual platform. In the open loop mode both angular and linear motion can not affect the gyrocompass, but initial errors and sensor errors can.
The gyrocompass simulator functions include a coarse initial alignment module. When the gyrocompass unit is stationary, this module can get an initial attitude and heading, and also local latitude. This method is very sensitive to both acceleration disturbances and angular disturbances. In addition, IMU sensor errors also cause estimate errors. Motion and/or IMU sensor error detection methods are used to aid the coarse initial alignment.
In the dynamic gyrocompass simulator module, a mathematical (or virtual) platform is established to isolate the angular motion of the base and provide a set of linear gyrocompass error models for structure and use by the estimators and (Kalman and or adaptive) filters. Based on the linear gyrocompass error models, we can perform many tests to verify the correctness of the programs and investigate the characteristics of the gyrocompass.
In the gyrocompass simulator, a so-called mathematical (virtual) platform is introduced, which is “stabilized” and “converges” to the N frame, and thus the angular velocity interference is compensated/isolated, as depicted in
The establishment of a mathematical platform also provides inertial attitude estimation which can purely depend on gyro measurements in a short period. Accelerometer data is used to correct the accumulated vertical attitude error caused by gyro error. The transformed accelerometer outputs in the N1 frame are used as the error measurements. This gyrocompassing error system model is fully controllable and observable (when the system is not at the earth's poles).
If used on a moving base, the transformed gyro outputs can not be directly used as error measurements. Thus, angular motion interference does not appear in the error model. This means the base angular motion interference is isolated or compensated by the mathematical platform.
To verify the correctness of the software of the gyrocompass simulation, as an example, GMSS uses a simple control method for the gyrocompass processing by using the classic feedback control method. Since it is similar to a platform INS, the traditional INS gyrocompassing control algorithms can be readily used. Usually, the classic feedback control method includes two parts:
The X and Y channels are controlled by feeding back the low-pass filtered Δfox and Δfoy with a proper scale factor. The Z channel is controlled by a simple proportional feedback of ωc1y.
According to the equation {dot over (φ)}y=Ω sin φφx+Ω cos φφz+ωc1y−εyn1, after the X and Y channels are in the steady state, it is approximately true that:
0=Ω cos φφz+ωc1y−εyn1
or
ωc1y=−Ω cos φφz+εyn1
That is, the steady state ωc1y contains the information of the azimuth error φz. We can use ωc1y to estimate the azimuth error or use it to control the azimuth error φz to zero (under ideal condition).
In the tests, ωc1y can also be used to determine the operation status of the closed-loop control gyrocompass system, for example to detect base acceleration disturbance and to determine if the X and Y channels are in steady state.
In practice, however, ωc1y is affected by gyro drift, gyro noise, accelerometer noise, and base acceleration disturbance. Thus, optimal estimation and stochastic control methods are expected to work better than simple classic control methods.
According to basic principles related to the steady state accuracy of gyrocompassing, the vertical and azimuth angle errors can be approximately estimated as:
where,
After verification of the simulation model, our next goal is to use the Kalman Filter for gyrocompass processing. Written in standard linear system form, the gyrocompass error model is expressed as:
The dimensions of the system can be augmented by modeling of sensor errors. Based on this model, we are able to utilize a series of advanced system control and estimation approaches. The optimal stochastic control method includes two parts: a Kalman filter for optimal estimate of the error state, and an optimal linear state feedback controller to drive the error states to converge to zero (or practically to a small value determined by uncompensated sensor errors), as depicted in
The advantages of the optimal stochastic control method include: a full use of the system information, better dynamic performance, higher accuracy and computerized design procedure. But it needs accurate system and error models, uses a complex algorithm, and induces a heavy computation load, especially when the error states are augmented to a higher dimension.
Referring to
(1) User control simulation process by selection of estimator and controller;
(2) A coarse initial alignment module.
(3) Motion and/or IMU sensor error detection methods are used to aid the coarse initial alignment.
(4) In the dynamic gyrocompass simulator module, a mathematical (or virtual) platform is established to isolate the angular motion of the base and provide a set of linear gyrocompass error models for construction of the optimal estimators or (Kalman and/or adaptive) filters.
(5) Based on the linear gyrocompass error models, we can perform many tests to verify the correctness of the programs and investigate the characteristics of the gyrocompass.
(6) Then use the optimal estimators or (Kalman and/or adaptive) filters for fine gyrocompassing process.
(7) User definition of the parameters of the Kalman filter and controller through a dedicated dialog window.
As shown in
More parameters can be added with the augmentation of the filter.
GMSS constitutes an innovative gyrocompassing system encompassed by a suite of system approaches, test and calibration methods and signal processing algorithms. The GMSS innovative gyrocompassing method can be implemented on a standard or simplified strapdown inertial navigation system (INS) as a gyrocompass or azimuth and vertical angle measurement system. In practical use, the system works in two modes: (i) the gyrocompassing mode used for system initialization and re-calibration when the GMSS unit is stationary or aiming at a stationary target and (ii) the inertial AHRS mode used to provide azimuth and attitude of the targeting system unit when the system is in motion or is tracking a moving target. Intelligent algorithms detect and determine the system motion state and automatically switch the GMSS system between the two working modes, accordingly.
In principle, the algorithms and programs of any gyrocompass can be utilized in the simulator. Though a real gyrocompass is usually implemented in an embedded computer system, often using microcontroller or DSP, its computation programs are usually written in a high level language, such as C/C++. The SAAAEMS system programs are written in C/C++/C#, so that the gyrocompass simulator and calibration procedures in the embedded gyrocompass computer can be utilized with the GMSS system computer.
From the viewpoint of programming, there are two major aspects for the GMSS software, user interface for display and simulation control and background data processing. The C# language and .net framework provide a powerful development environment for object-oriented and component-based realization of the GMSS software system. For the user interface, a suite of reusable modules/components/controls is devised. For the background data processing, a suite of foundation classes is devised.
The foundation classes are used to represent fundamental mathematical objects in the GMSS and to realize most of the basic data processing and computations for the simulation system. Examples of fundamental mathematical objects include:
The C# language allows the programmer to realize user-defined classes and to overload operators for defining operations on the class-produced objects and operations between different types of objects produced by different classes. In the realization of an algorithm, the classes are then used to create mathematical objects. Because of operator overloading, the program sentences will look like regular mathematical equations. This leads to a very simple and elegant programming style and increases coding efficiency. And, because most of the computations are defined inside classes, it facilitates code reusability and maintainability. More classes can be defined and used according to the programming and computation requirements.
In GMSS, some function modules are needed in several or more than one places, such as the real time (or quasi real time) waveform display module used in every GMSS component to let the user to check and view the selected data variables and simulation results. In programming practice, it is more efficient to make this user interface module a separate and reusable module. The following is a list of reusable modules used in the GMSS software. These modules are reusable and they greatly enhance the modularization, maintainability, and reliability of the simulation system.
The system user interface is used to select different predefined gyrocompass systems and their configuration. External optimal estimator/controller design tools may be employed for design of gyrocompass controllers, filters, and estimators. There are different types of strapdown IMU based gyrocompass systems.
Gyrocompass System Evaluation and Analysis Module
The system evaluation and analysis module is used to obtain the system accuracy under the current system setting and display and present simulation results in proper visualization format. It has three parts:
The system evaluation and analysis module will record the time history of the GMSS data stream. The data storage module automatically records the GMSS data stream in a file at every test session. The saved data files are then used for Error analysis and Data display.
The Error analysis model compares the corresponding data items, and runs a suite of defined algorithms to obtain the gyrocompass system performance criteria. The User interface and Data display module has a user interface window for displaying the GMSS data stream and presenting simulation results in the proper visualization format for the GMSS user.
The GMSS has a Display and Data Presentation User Interface which enable us to have customer buy-in on any human interfaces—Be it display of system performance or input of parameters. Though the Display and Data Presentation User Interface the user is able to pull up any subsystem state values as well (For example covariance and state variable performance of a Kalman Filter).
In the system evaluation and analysis module, the GMSS data stream contains all the needed information of the whole simulation system. Comparing the 6DOF motion simulator generated unit/base attitude and azimuth with the gyrocompass simulator generated estimated attitude and azimuth, the system evaluation and analysis module obtains three time sequences to represent the gyrocompass system errors:
Using these error functions of time as the inputs, the system evaluation and analysis module has a set of analysis and statistical algorithms to calculate the error parameters, such as:
In a practical gyrocompass system, the system performance and accuracy represented by the above error parameters are affected by many factors, such as sensor errors, the efficiency of system algorithms, and base motion disturbance or vibration. In a practical gyrocompass system, these factors often can not be separately controlled, but in GMSS they can be easily separated and controlled to investigate their individual effects to the system performance. By repeatedly carrying out test sessions under controlled conditions, the user is able to evaluate the performance of a certain system design under the predefined conditions and/or to reveal the relationships between the system performance and any factors of interest, such as:
The different combinations of the controllable conditions and factors in GMSS provide a powerful evaluation and analysis tool for the design and development of the gyrocompass systems.
If GMSS is in the system calibration simulation mode, the system evaluation and analysis module compares the real (predefined) gyro and accelerometer biases and scale factors with the identified parameters to evaluate the performance of the gyrocompass's calibration procedure and algorithms, such as:
The system calibration simulation mode of GMSS provides a very convenient and powerful tool for the evaluation of the different calibration procedures design for the gyrocompass systems.
After GMSS is completed and its components are tested and verified, a natural question is whether the simulation is a correct and accurate simulation of the real gyrocompass system. That is, the fidelity of GMSS must be validated and verified before it can be delivered to the user. The applicant, AGNC, has rich experience in the simulation system fidelity validation and verification. In this patent application, several convenient and effective approaches are used for the GMSS fidelity tests. The SAAAEMS system is used for modeling and simulation fidelity validation and verification of GMSS.
First, a whole GMSS system integrity and consistency test is performed. For this test, all sensor errors are set to zero and an ideal gyrocompass system is achieved. Theoretically, under this condition, the gyrocompass simulator generated estimated attitude and azimuth should be equal to the 6DOF motion simulator generated unit/base attitude and azimuth, under any base motion conditions. If there are errors, they should be very small, which is caused by the computation errors and dynamic errors when the motion changes are large.
If there are unexpected large errors, there must be some algorithm or program errors in the simulation system. After the algorithm or program errors are debugged and removed, different types of high dynamic angular and linear motions are simulated to verify the dynamic computation errors of the whole GMSS system. The dynamic computation error may be caused by a too low data sample rate, gyrocompass algorithm errors, and inadequate accuracy of discrete computation algorithms. Usually the total computation error of any verified variable is controlled to under 10−4 of the variable's maximum range.
After the whole GMSS integrity and consistence test is passed, the GMSS's modules are tested separately and/or together for its fidelity verification. That is, to verify if GMSS is a close or accurate simulation of the real system it intends to simulate.
The fidelity of the 6DOF simulation is verified by checking if the simulated data follow the designed kinematic and dynamic constrains. The motion simulation uses integration to realize the kinematic and dynamic constrains. A simple verification method is to use a reverse differentiating method. For example, differentiate the simulated angle to get the angular velocity to see if it is equal to the simulated angular velocity; differentiate the simulated velocity to get the acceleration to see if it is equal to the simulated acceleration, etc. Proper coordinate transformations is used if the vectors are presented in different frames.
Theoretically, the fidelity of the IMU simulator is determined by comparing the data of the IMU simulator with the data of a real IMU that the IMU simulator intends to simulate. In practice, we often do not have a real IMU we intend to simulate, but a set of IMU specification parameters which is provided by the IMU sensor manufacturers to characterize the real IMU.
The fidelity of the IMU simulator is mainly determined by its error simulation models, since the measurement simulation model is the same and is deterministic for all types of the IMU inertial sensors, if the approximation and computation errors can be ignored. The IMU error simulation models have two parts, deterministic error models and stochastic error models. The deterministic part of the error models (such as g-related gyro drift and sensor misalignment) of the IMU sensors is obtained through a calibration procedure and thus the deterministic errors are compensated in the gyrocompass system.
The fidelity of the IMU stochastic error models can be verified by comparing the statistical parameters and/or by a system level hardware-in-the-loop simulation. If we have the real IMU unit we intend to simulate available, such as the IMU (DTG and accelerometers) we use in the SAAAEMS system, we use the inertial sensor test, analysis and modeling tools, such as Allan Variance tool and PSD tool, to obtain the sensor stochastic model parameters. And, using the sensor model parameters, the IMU simulator is constructed with IMU simulation approaches in GMSS. We then use the constructed IMU simulator to produce the IMU data stream and the simulated IMU data are saved and analyzed by the same inertial sensor analysis and modeling tools used to process the real IMU sensors. The fidelity of the IMU simulator can be evaluated and verified by comparing the real IMU's model parameters and the simulated IMU's model parameters.
Another IMU simulator verification method is a so-called hardware-in-the-loop simulation method. At a stationary state, we acquire and save the data from a real IMU unit and then feed them into the gyrocompass simulator (real-time or off-line) and using the GMSS's evaluation and analysis module we get a set of gyrocompass accuracy parameters corresponding to the real IMU unit. We then use the IMU simulator to drive the gyrocompass simulator and get another set of gyrocompass accuracy parameters corresponding to the simulator IMU unit. In principle, if the IMU simulator is an accurate simulation of the real IMU unit, the above two sets of gyrocompass accuracy parameters should be the same or very close. This is a system level verification of the sensor model fidelity.
If we do not have a real IMU we intend to simulate, but a set of manufacturer IMU specification parameters, we use these sensor parameters to construct the IMU simulation and the simulated data are analyzed by the inertial sensor analysis and modeling tools to get a set of sensor model parameters. The obtained sensor model parameters should be the same or close to the IMU specification parameters. Here we assume that our inertial sensor analysis and modeling tools use the same analysis algorithm as the manufacturer.
The fidelity of the gyrocompass simulator and calibration procedure simulator can be mostly verified by the whole GMSS system integrity and consistency test described previously in this section. The algorithms and programs in the real gyrocompass system are utilized in the simulator. Because the gyrocompass algorithms and programs have been tested and verified in the real embedded computer system, the validation of the gyrocompass simulator is mainly to debug the error caused by program porting process.
The establishment of an accurate and useful GMSS and its components includes two parts: verification and validation.
Validation is based on verification. First, the intended design is correctly realized, and then we determine if the intended design is an accurate simulation of a real system. Verification involves the correct realization of the intended design. It has much to do with the correct programming design of the intended algorithms and models. Thus, the verification of the GMSS and its components is investigated in more detail, when we perform the software programming.
GMSS is used to simulate the behavior of a real or specific gyrocompass system. GMSS can perform test and evaluation which could be costly or difficult if we do them on a real gyrocompass system. For example, we can use GMSS to investigate a single error inducing factor's effect (such as the base acceleration interference) on the gyrocompass accuracy. For a real gyrocompass system testing, usually the gyrocompass accuracy is the total effect of several error inducing factors which can not be easily separated. For example, for design and testing of a gyrocompass estimator and controller, the user can easily perform a series of testing to examine the GMSS performance under different sensor parameters and different operating conditions (base motion conditions). Doing this kind of test on a real gyrocompass system is usually costly and inconvenient. With a GMSS, a user can see every detail of the gyrocompass and can investigate any of its properties through a simulation procedure.
As presented and discussed here, not only does the GMSS configuration include the IMU simulator and the gyrocompass algorithm simulator, which essentially form a gyrocompass system, but it also includes a 6DOF motion simulator and a system evaluation and analysis module. That is, the GMSS is in fact a simulation of the gyrocompass test and evaluation system and procedure, not only an individual gyrocompass by itself. A 6DOF motion simulator is required to excite the IMU and gyrocompass algorithms and a test and evaluation module is required for system performance analysis.
Therefore, the GMSS verification and validation are to determine if it is an accurate representation of a real or specific gyrocompass system and its testing procedure. Let us examine the test approaches of a real gyrocompass system.
The test platform approach usually can not generate base/carrier acceleration conditions, which are key error inducing factors for the gyrocompass. Then, a vehicle testing approach is used, as depicted in
In order to build a GMSS of high fidelity, all the error inducing factors of the gyrocompass should be accurately represented in the simulation.
If we assume that the verification of the GMSS is performed and this means its simulation programs correctly and accurately represent a gyrocompass model we intend to simulate, then the GMSS processing or algorithm itself is not an error inducing factor, but the intended/actual gyrocompass design quality or performance can affect the whole simulated gyrocompass system accuracy. For example, a good estimator and controller design can reduce the gyrocompass sensitivity to motion interference; for example, an auto calibration algorithm can reduce the bias drift effect, etc.
Corresponding to a real gyrocompass system and its testing procedure, a simulation of them—our GMSS, is analyzed to identify its fidelity determining factors or the gyrocompass error inducing factors, as depicted in
Referring to
(a) producing reference 6DOF motion data using the 6DOF motion simulator 1;
(b) sending the reference 6DOF motion data to both IMU simulator 2 and gyrocompass evaluation module 4;
(c) generating IMU output using IMU simulator 2 with selected error parameters and the reference 6DOF motion data;
(d) producing gyrocompass attitude data using the selected gyrocompass simulator 3 algorithms and the IMU output; and
(e) comparing the gyrocompass attitude with the reference 6DOF motion data to get gyrocompass performance specification data using the gyrocompass evaluation module 4.
In the GMSS we need to construct several types of stochastic/random signal generators according to signal representation by a PSD or an AV function. In practice, for a given PSD or AV function, the construction of a stochastic/random signal generator may not be unique, and we must verify that the constructed generator really produces the expected signal. Using the GMSS's sensor testing and modeling tools, we can perform the verification task, since in the tool suite there are PSD and AV analysis and modeling programs.
For verification of the signal generator based on the PSD, the generated time series signal is fed into the PSD analysis and modeling tool. The PSD analysis and modeling tool then produces an estimated re-obtained PSD function. This re-obtained PSD function should be the same as or close to the given PSD function, if the signal generator is correctly constructed.
Similarly, for verification of the signal generator based on Allan Variance (AV), the generated time series signal is fed into the AV analysis and modeling tool. The AV analysis and modeling tool then produces an estimated re-obtained AV function. This re-obtained AV function should be the same as or close to the given AV function, if the signal generator is correctly constructed.
If we have the real IMU, we can obtain an even more accurate simulation by using the hardware/sensors-in-the-loop simulation and modeling functions of the GMSS. The three approaches of the hardware/sensors-in-the-loop simulation include:
Referring to
(1) A GUI/Window 4.1 for raw data display and storage control. This user interface is used to display the selected simulation data from the other GMSS modules. It also selects the simulated data variables the user wants to store for analysis.
(2) Simulation data storage module 4.2. A library module used to save and retrieve the selected simulation data variables.
(3) A module 4.3 for data processing, analysis, and performance evaluation. This module performs stochastic data processing to obtain a set of parameterized gyrocompass performance and specifications.
(4) A GUI/Window 4.4 for data processing control and presentation/visualization. It selects the type of data processing to perform and presents the system error variables with the statistical analysis results.
Stochastic Signals Analysis Tools in GMSS
The accuracy of the gyrocompass is affected by many factors in a practical system, such as:
The gyro errors are the key factor for gyrocompass accuracy. The gyro errors can be further classified as deterministic (motion related or temperature related) errors and stochastic errors. The stochastic gyro angular rate errors are usually modeled as several components:
In analysis, the stochastic processes/errors are modeled and described by their power spectrum density (PSD) functions or plots. But in engineering practice, as a frequency domain method, the PSD is not as convenient for characterizing the stochastic processes in specification parameters. Therefore, the Allan Variance (AV) method is commonly used for its simplicity and efficiency. As a time domain method, the AV method is simple as an algorithm and using its plot different stochastic components can be identified and specified. Both PSD and AV methods are used in the GMSS system for either error modeling or verification of the stochastic signal generators.
The stochastic signal generation and verification methods in GMSS are depicted in
In the GMSS, the bias instability shaping filter is a little bit complicated. Usually a higher order low pass filter is used to produce the 1/f (or 1/ω) shape of the output PSD in a given frequency range, such as 0.01 Hz to 100 Hz. Theoretically, the energy of pink noise or red noise is infinite around zero frequency, so it is not a good representation of a real error component around this singular point. We can say that bias instability is modeled by the PSD shape of 1/f in a certain frequency range. This is also true for the RRW case, red noise.
As depicted in
To facilitate the analysis in the simulation system, we created a suite of stochastic data/signal analysis tools for the GMSS. These tools have been added to every component module of the GMSS. These tools share a common GUI window, as depicted in
The analysis tools include the signal time waveform display tool, Allan Variance analysis tool, distribution analysis tool, DFT analysis tool, inverse DFT analysis tool, PSD analysis tool, auto-correlation analysis tool, PSD integral tool, and generic statistical analysis tool.
As shown in
Click the button “Set DAQ Number/Re-Acq Data” to start or restart the data acquisition. The text box next to the button is used to set the number of the data to acquire. The text block next to the text box is used to indicate the evolution of the data acquisition. When the data acquisition is finished, we can call an analysis tool to perform a selected operation on the acquired data.
Different analysis tools are called by clicking on a corresponding button. The results are then displayed on the canvas (sub-window) of the analysis tool. The updated analysis tools can be divided into three types: time-domain tools, frequency domain tools, and auxiliary verification tools. The frequency domain tools are all based on the DFT analysis functions.
The time-domain tools include:
The frequency domain tools include:
The auxiliary verification tools include:
One skilled in the art will understand that the embodiment of the present invention as shown in the drawings and described above is exemplary only and not intended to be limiting.
It will thus be seen that the objects of the present invention have been fully and effectively accomplished. It embodiments have been shown and described for the purposes of illustrating the functional and structural principles of the present invention and is subject to change without departure from such principles. Therefore, this invention includes all modifications encompassed within the spirit and scope of the following claims.
This is a non-provisional application of a provisional application having an application number of 61/279,136 and a filing date of Oct. 15, 2009.
This invention was made with Government support under Contract No. W909MY-09-C-0020 awarded by the Component Technology Branch, U.S. Army, RDECOM, CERDEC, Night Vision & Electronic Sensors Directorate. The Government has certain rights in the invention.
Number | Name | Date | Kind |
---|---|---|---|
6234799 | Lin | May 2001 | B1 |
6298318 | Lin | Oct 2001 | B1 |
6735523 | Lin et al. | May 2004 | B1 |
8005635 | Lin | Aug 2011 | B2 |
8311757 | Lin | Nov 2012 | B2 |
Entry |
---|
Egeland, “A Gyrocompass for Maritime Applications Based upon Multivariable Control Theory”, Modeling, Identification and Control, vol. 5, No. 4, 1984, pp. 179-195. |
Christou, “Evaluation of Mathematical Models for Gyrocompass Behaviour: Error Modelling and Applications”, MSCE thesis, Department of Surveying Engineering, University of New Brunswick, Apr. 1983, 195 pages. |
Number | Date | Country | |
---|---|---|---|
20110093250 A1 | Apr 2011 | US |
Number | Date | Country | |
---|---|---|---|
61279136 | Oct 2009 | US |