Title: NavLab - a Generic Simulation and Post-processing Tool for NavigationDescriptive info: .. Home.. NavLab users.. Publications.. Video.. Screenshots.. Contact.. Welcome to NavLab.. net.. NavLab (Navigation Laboratory) is a generic tool for navigation developed by.. FFI.. (Norwegian Defence Research Establishment).. This.. paper.. (.. html-version.. ) published in European Journal of Navigation, November 2004, describes the tool in more detail.. NavLab Usage.. Chapter 4 in the.. NavLab paper.. describes the details of the following areas of use:.. Navigation system research and development.. Simulation and analysis of a given navigation system.. Teaching navigation theory.. Decision basis for navigation sensor selection/purchase.. Decision basis for mission planning.. Post-processing of real navigation data.. For a real-time navigation solution, see the.. HAIN.. product from Kongsberg Maritime, which is running the algorithms from NavLab in real-time.. Tuning of real-time and post-processing navigation systems.. Sensor evaluation.. Improving sensor calibration.. Examples of usage.. For usage number 6 in the list above, NavLab is typically used to find the exact position and orientation of a mapping vehicle to position the map.. NavLab has positioned ... in our time.. Due to difficult topography, the project has extreme accuracy requirements for the seabed maps and underwater installations.. Aerial Imaging.. NEO.. has developed an Airborne Spectral Imager.. The picture shows line imager data before and after positioning with NavLab.. (Click to enlarge).. Medgaz.. is a gas pipeline for from Beni Saf, in the Algerian coast, to Almería, in the Spanish coast.. Medgaz will supply natural gas to the European market.. The Worlds Largest AUV Survey (West Nile Delta).. The prestigious.. West Nile Delta project.. has.. succesfully surveyed.. more than 7,000 survey line kilometres in water depths between 150m and 2000m, and is the largest survey ever undertaken by Autonomous Underwater Vehicle (AUV).. Links.. HUGIN.. Kongsberg maritime.. NavLab at Kongsberg Maritime.. Vehicles navigated with NavLab.. AUVs.. ROVs.. Ships.. Aircraft.. Helicopters.. Trolley on underwater rail.. Car with four high precision GNSS receivers and three IMUs.. Contact:.. Info.. |.. Sales to the non-maritime market.. (handled by.. AR-Lab.. ) |.. Sales to the maritime market..

Title: Demonstration of large positional drift and some basic navigation principlesDescriptive info: Demonstration of large positional drift and some basic navigation principles.. To make navigation errors visible, a scenario giving a large positional drift is simulated in NavLab.. However, after only one position measurement, the errors leading to the drift are estimated, leading to a very low drift for the rest of the mission.. What is shown?.. The white line with the HUGIN model is the true position.. The green line with the transparent HUGIN model is the real-time estimated position.. The green ellipse is the 3 sigma covariance ellipse of the position estimation error.. Simulated sensors:.. IMU: Honeywell HG1700.. DVL: RDI Workhorse Navigator 300 kHz.. Position measurements: HiPAP acoustic positioning system from Kongsberg Maritime.. Compass: Leica magnetic compass (assumed magnetic deviation is 5 degrees).. Pressure sensor: Pharoscientific Digiquartz (FS = 3000 m).. Large positional drift due to:.. 10 deg initial heading uncertainty.. Large magnetic compass error (5 degrees).. In addition the IMU (1 deg/h) is only gyrocompassing with an accuracy of 7.. 6 degrees (at the 60 degrees latitude used in the simulation).. No ... the use of optimal smoothing in NavLab would remove almost all drift, also in the start of the mission (smoothed solution is not shown in the video).. What happens?.. With the large initial heading error, the position error grows rapidly.. The change of pitch gives a slight observability of the heading error.. This results in low positional cross track drift during the descent and ripples in the position estimate (due to the combination of observability and a large uncertainty).. Why an optimal real-time estimate inevitably has jumps is discussed in the.. , last bullet at page 4 (Section 3.. 2).. After the descent HUGIN continues horizontally, and the position error increases further.. Then a position measurement is received, indicated by a red flash of the HUGIN-models.. The position measurement makes the estimate jump towards the true trajectory, and makes the error ellipse very small (not visible in the video).. The position measurement makes the errors that lead to the drift observable, and the drift is thus small for the rest of the mission..

Title: NavLab - ScreenshotsDescriptive info: Images from NavLab.. NavLab can plot a range of figures containing numerical summaries and many different 2D and 3D plots with a total of more than 500 graphs.. This figure shows am example trajectory simulated with NavLab.. The black line is the programmed trajectory.. The blue crosses are the simulated position measurements.. This second figure shows recorded data from the HUGIN 1000 AUV.. The blue crosses are again position measurements.. The figure shows how the real-time Kalman Filter (green line) is affected by the position measurement outlier, while the smoothed result (red line) is not..

Title: NavLab paperDescriptive info: This is an auto-generated html version of.. this pdf.. Use.. acrobat reader.. to view this version with better layout.. NavLab, a Generic Simulation and Post-processing Tool for Navigation.. Kenneth Gade.. Norwegian Defence Research Establishment (FFI).. Abstract.. The ambition of getting one common tool for a great variety of navigation tasks was the background for the development of NavLab.. (Navigation Laboratory).. The main emphasis during the development has been a solid theoretical foundation with a stringent mathematical representation to ensure that statistical optimality is maintained throughout the entire system.. NavLab is implemented in Matlab, and consists of a simulator and an estimator.. ·.. Simulations are carried out by specifying a trajectory for the vehicle, and the available types of sensors.. The output is a set of simulated sensor measurements.. The estimator is a flexible aided inertial navigation system, which makes optimal Kalman filtered and smoothed estimates of position, attitude and velocity based on the available set of measurements.. The measurements can be either from the simulator or from real sensors of a vehicle.. This structure makes NavLab useful for a wide range of navigation applications, including research and development, analysis, real data post-processing and as a decision basis for sensor purchase and mission planning.. NavLab has been used extensively for mass-production of accurate navigation results (having post-processed more than 5000 hours of real data in four continents).. Vehicles navigated by NavLab include autonomous underwater vehicles (AUVs), remote operated vehicles (ROVs), ships and aircraft.. 1.. Introduction.. For many navigation related activities it is very useful to have one common software tool.. The tool should cover applications such as.. navigation system research and development, analysis and real data post-processing.. With a long tradition of developing navigation systems, The.. Norwegian Defence Research Establishment.. (FFI) started development of such a tool in 1998.. The result is NavLab (Navigation Laboratory), a powerful and versatile tool that serves a variety of navigation purposes.. For the long-term success of this tool, a strong focus on a solid theoretical foundation and a flexible structure has been crucial.. 1.. NavLab’s theoretical foundation.. The most significant feature of NavLab is its solid theoretical foundation.. NavLab is a result of an innovative research process to establish a completely general theoretical basis for navigation and for implementation of navigation systems.. The development has led to the following contributions:.. A new stringent and unified system for notation and mathematical representation.. A unified design and implementation of algorithms and aiding techniques for the Kalman filter, where statistical optimality is maintained throughout the entire system.. Elimination of numerical problems by.. -.. Deducing and implementing exact formulas (rather than approximations).. Using only nonsingular representations.. Controlling accumulation of the computer’s inherent round-off errors.. Articles reporting the above work will be published, but currently the most relevant report available is.. [1].. 2.. A flexible structure.. The main structure of NavLab is shown in.. Figure.. NavLab’s different components can be used alone or together, allowing a variety of applications.. A list of usages is given in Section.. 4.. NavLab main structure.. Note: The colors used in the figure correspond to the colors of the graphs generated by the different parts of NavLab (blue is the measurement, red is the smoothed estimate etc).. The simulator can simulate artificial measurements from a chosen scenario.. The estimator will, based on the available set of measurements from either the simulator or from sensors of a real vehicle, make the best possible estimates of position, attitude, velocity and sensor errors.. The simulator and estimator are described in more detail in Sections.. 2.. and.. 3.. In addition to the simulator and estimator, NavLab includes:.. A pre-processing tool (Preproc), which is used to handle real measurements (by removing outliers, compensating for lever arms and misaligned sensors, converting measurements to the correct format etc).. An export tool, which creates files for exporting to other programs (containing the estimated position, attitude and velocity).. shows the NavLab program modules.. Different modules are used in different cases.. Typical examples are:.. Simulations.. : Simulator.. ®.. Estimator.. Post-processing of real data.. : Preproc.. Estimator.. Export.. T.. he modules interface each other via files of a specified format (see.. [2].. ), or via memory to save time.. NavLab program modules.. Simulator.. The trajectory simulator can simulate any vehicle trajectory specified by the user.. In addition, the user specifies a set of available sensors and their characteristics.. Based on the specified trajectory and sensor characteristics, the sensor simulators calculate a set of artificial sensor measurements.. Trajectory simulator.. The coordinate systems.. I.. (Inertial),.. E.. (Earth),.. L.. (Local) and.. B.. (Body) are simulated (see.. for definitions).. All relevant positions, orientations, linear and angular velocities, accelerations and forces describing the trajectory are calculated.. Features:.. Any trajectory in the vicinity of the Earth can be simulated (with unlimited complexity).. All vehicle attitudes can be simulated without singularities.. All possible vehicle positions relative to the Earth can be simulated without singularities.. Includes all Coriolis and centripetal effects due to the rotating Earth and own movement over the Earth curvature.. Includes WGS-84 gravity model and elliptic Earth model.. Trajectories are specified in the trajectory simulator by first giving the initial position, attitude and velocity, and then specifying changes in attitude and velocity as a function of time.. When developing a trajectory simulator, the actual mathematical quantities that are used to describe these changes must be selected carefully, to ensure that it is simple for the user to express a trajectory that follows the Earth ellipsoid in both position and attitude.. Selecting the mathematical quantities.. actually makes this just as simple for the user as it would have been if the surface of the Earth were planar.. Thus if no changes in these quantities are specified, the vehicle will travel around the Earth at constant depth/height if the initial velocity was horizontal.. shows an example trajectory from the simulator.. This trajectory is simply specified by two periods of constant change in attitude (angular velocity about z,.. deg/s) and two periods of constant change in velocity (deceleration/acceleration in z,.. m/s.. Using a plugin for NavLab, it is also possible to specify the trajectory by giving a dynamical model of the vehicle and then marking 3D waypoints in a map, see.. [3].. Earth plot from NavLab.. Black circle: Starting point.. Black line: True trajectory (from the trajectory simulator).. Blue crosses: Simulated position measurements.. Sensor simulators.. The most significant error types, such as w.. hite-noise,.. c.. olored noise and scale factor error.. are included in the sensor simulators, and any other types can also be added.. The magnitude, time-constants and other parameters that describe the different errors are user selectable, and can be given as fixed values or as functions of time.. The sensor simulators can produce measurements at any user-specified time.. This can be specified as a constant rate during the entire simulation, different rates in different intervals, or each single time of measurement can be specified in a time-series.. shows position measurements with one period of high rate, and also periods of low and zero rate.. The main purpose of the estimator is to estimate a vehicle’s position, attitude and velocity.. This is done by combining all available knowledge such as sensor measurements and mathematical models of the sensor errors.. The optimal (given certain assumptions) method of combining this knowledge is by means of a Kalman filter.. (see.. [4].. for details).. Thus, if the model used in the Kalman filter is correct, all information is used optimally, and no better estimates can be made.. An example illustrating this is the concept of gyrocompassing, i.. e.. finding north by inspecting the direction of the Earth’s angular velocity, measured by the gyros.. Gyrocompasses are manufactured containing gyros, accelerometers and dedicated algorithms for this purpose.. When the same sensors are available for the estimator, it will gyrocompass optimally as a natural part of its estimation procedure.. The main structure of the estimator is given in.. Measurements from the IMU.. (Inertial Measurement Unit) are integrated by the navigation equations (see Section.. ) to calculate position, attitude and velocity.. Each time-step where a measurement from any of the aiding sensors is available, it will be compared to the corresponding quantity from the navigation equations, and the difference is sent as a measurement to the Kalman filter.. Note that each of the sensors shown in.. are general and can represent different types, e.. g.. NavLab has used different types of position measurements, including range measurements to a known position (.. see.. [5].. or.. [6].. for examples of different sensor types that have been integrated).. he navigation equations and optimal smoothing are described in Sections.. Estimator main structure.. (simplified).. The sensors shown can be either simulated or real.. (INS: Inertial Navigation System).. The estimator accepts arbitrary time-series of measurements from all sensors.. Along with each single sensor measurement, new sensor parameters can be specified, describing that particular measurement, hence describing a varying quality.. Zero velocity update (ZUPT) and depth/height measurements are included in the same Kalman filter in an optimal manner.. The horizontal position measurements are nonsingular (i.. with maximum accuracy also near/at the poles).. Iterated Extended Kalman filter is used to improve the performance in cases of significant nonlinearities.. Navigation Equations.. The navigation equations calculate position, attitude and velocity based on the IMU measurements, as shown in.. Nonsingular for all positions and attitudes.. Foucault wander azimuth.. Direction cosine matrix attitude update.. Numeric drift control.. WGS-84 gravity model and elliptic Earth model.. Trapezoid updates to prevent systematic errors from the forward or backward Euler methods.. Optimal Smoothing.. The Kalman filter is the optimal estimator at time.. t.. , when measurements before and including.. are used, thus it is well suited for real-time estimation.. However, if measurements after.. are also available (which is the case for post-processing, see Section.. ), it is possible to make a better estimator at time.. , by using these additional measurements.. The best possible algorithm, utilizing all measurements both before and after.. , is called.. optimal smoothing.. This algorithm is effectively doubling the set of relevant measurements for each estimate, since the.. next x.. seconds of measurements are normally just as important as the.. previous x.. seconds.. A symmetrical interval of past and future measurements prevents a systematical delay in the estimates, which is unavoidable in real-time estimators.. Another limitation of an optimal real-time estimator (Kalman filter) is its inability to deliver estimates that are in accordance with the process model.. At each time-step such estimators make a prediction (that is in accordance with the process model), but when a new measurement arrives, it is weighed against the prediction to give a new updated estimate.. Unexpected.. measurements thus lead to jumps in the estimates that are not in accordance with the process model (e.. an unexpected velocity measurement leads to a jump in the velocity estimate that corresponds to an acceleration that is too large according to the process model).. Since no measurements are unexpected for the smoothing algorithm, this problem is eliminated, and the smoothed estimate is always in accordance with the process model (hence the name “smoothing”).. 5.. shows an example of position estimation uncertainty (1.. s.. ) in the Kalman filter and in the optimal smoothing.. Position measurements are unavailable in an interval of 2 hours, and in this period the Kalman filter estimation uncertainty grows, before dropping instantly when position measurements become available at the end.. The smoothing algorithm ... recorded sensor data can be navigated, and currently AUVs, ROVs, ships and aircraft have been navigated with NavLab.. Practical usage.. NavLab is written in the mathematical programming language Matlab.. [9].. , but it can also be compiled to a Windows application (exe file).. Post-processing of a recorded data set with 3-5 Hz Kalman filter update rate and 100 Hz IMU data, is approximately 15 times faster than real-time, when using a 3 GHz Pentium 4 processor.. The user interface can vary from “Scientific”, where all parameters and steps are fully controllable, to “One-click”.. [10].. where all processes are automated.. In Scientific mode, a general multi-menu based plot function is used after a simulation or estimation.. This function plots a range of figures containing numerical summaries and many different 2D and 3D plots with a total of more than 500 graphs, for results analysis.. The plot function is also programmable to show only a predefined subset of plots for users wanting just a simplified summary of the results.. The very simplest output is used in the One-click mode, where a green/red light at the end of the estimation indicates if the data was OK or not.. Verification of estimator performance.. Verification of the estimator performance has been a crucial part of the NavLab development.. Both the Kalman filter and the optimal smoothing calculate an expected uncertainty for their estimates, which is the theoretically optimal accuracy obtainable for the given scenario.. When using a correct model in the estimator, the actual estimation error should be as small as the theoretical uncertainty limit.. A correct model can be used when the measurements are from the simulator, but since the real world has infinite complexity, it is impossible to use a completely correct model in the estimator when using real data.. In cases where the model used by the estimator differs from the model generating the measurements, the actual estimation error will be larger than the theoretical limit.. The most challenging part of the estimator development is to keep its error as close as possible to the theoretical limit in cases of modeling errors (and nonlinearities).. To minimize the loss of accuracy, a very careful design and implementation of all parts of the estimator is vital.. In this section it is demonstrated that it is possible to achieve a performance close to the optimal under a range of different non-ideal conditions.. Verifying performance using the simulator.. The simulator, having a more complex nonlinear system model than the estimator, is an effective tool for verifying the estimator performance.. Any scenario can be tested and different modeling errors can be used.. After running the estimator, the plot function will calculate and plot the true estimation error and compare it with the theoretical estimation uncertainty (also.. Monte Carlo.. simulations can be run to determine the statistics of the error).. Thorough and extensive testing of the estimator since 1999 by different research groups, testing a variety of scenarios, has proven the estimator to be very robust and to give close to optimal performance in all scenarios.. Verifying performance using real data.. The ultimate test of the estimator is to use real data from a representative mission, where the trajectory and all sensor errors are (by definition) totally realistic.. The challenge with real runs is that it is more difficult to investigate the estimation errors, since the true trajectory is unknown.. However, some possibilities do exist, and these are discussed in the following.. Redundant sensors.. A significant sensor measurement can be made unavailable for the navigation system, and later be used as a reference.. For instance, a surface ship might follow a submerged AUV, continually measuring its position using DGPS+USBL, but not sending the measurements to the AUV.. The AUV, typically using an IMU, a depth sensor, a DVL and in some cases a compass, will have a drift in position that after a while will be significantly larger than the uncertainty in the DGPS+USBL position measurements.. Hence the estimation error is observable and is compared with the theoretical uncertainty.. All such tests have documented a very high estimator performance, that was in accordance with the theoretical uncertainty, see.. [11].. Verifying the positioning by means of mapped objects.. For a seabed mapping vehicle, an accurate positioning of the final map is essential, and estimates of the vehicle’s 6 degrees of freedom (position and attitude) are used to position the bathymetric data.. Estimation errors in vehicle position will be directly translated to errors in the map position, while the effect of attitude errors will depend on the geometry between the vehicle and a given patch of the seafloor.. A crucial test of the entire navigation system is to verify the position accuracy in the final maps.. In such tests, all available aiding sensors are used so that the maximum accuracy is evaluated.. Customers buying HUGIN and NavLab for detailed seabed mapping have had a strong focus on position accuracy of the maps and have thus run navigation performance trials as part of the customer acceptance tests.. These trials determine if the real-life performance of the estimator match the accuracy that was predicted in NavLab simulations before the vehicle was built.. The standard method is to map the same object at the seafloor several times, comparing the position estimate of each individual object observation.. Errors that are uncorrelated between each passing will be visible, as the object will be positioned differently in each observation.. Correlated errors are typically following the AUV or a ship giving DGPS+USBL measurements (e.. timing problems, systematic velocity error and misaligned acoustic positioning transducer).. Hence, to also reveal these errors, different headings are used for the AUV and ship for each passing (“wagon wheel pattern”, as shown in.. 7.. shows maps from HUGIN 3000 in an accuracy test carried out by the HUGIN customer C C Technologies at 1300 m water depth in the.. Gulf of Mexico.. in October 2000.. 11 different headings were used (5 of the lines were mapped in opposite directions) when mapping the object (a wellhead), to maximize the visibility of any correlated errors following the AUV or ship.. The positions of the wellhead observations when using NavLab smoothing are shown in.. , obtaining an accuracy of 1.. 2 m and 1.. 7 m (1.. ) north and east (even with a large unmodeled DVL error present, see Section.. The theoretical estimation uncertainty in the smoothed position was about 1.. , north and east) during the passings.. 60 m from the wellhead, but within the swath width, another object (natural feature) was also visible in the data.. Since the object is 60 m off the center of the maps, a somewhat higher uncertainty is expected due to the AUV heading uncertainty (and also due to the increased mapping sonar uncertainty), and indeed this object had a distribution of 1.. 3 m north and 1.. 9 m east.. A wellhead is mapped repeatedly with different headings to evaluate the positioning accuracy of the final map.. The mapped positions of the wellhead (at 1300 m depth) using NavLab smoothing.. The test shown is the only test where a large unmodeled sensor error was present.. After this test many similar navigation accuracy evaluations have been carried out by different HUGIN customers, with other vehicles and navigation sensors.. The accuracy has been tested down to a depth of 2200 m (obtaining 2.. 3 m and 3.. 3 m accuracy in north and east), and in general the tests have proven exceptionally good estimator accuracy, even slightly better than the anticipated theoretical uncertainty limit.. The reason for this is a combination of the navigation sensors performing somewhat better than their specifications and the estimator producing close to optimal estimates.. Conclusions.. NavLab is a powerful and versatile tool with.. usage ranging from research and development by scientists and academics, to mass production of high-accuracy maps by commercial companies (having post-processed more than 5000 hours of data from around the world).. Even when a real-time navigation system is available, it is often beneficial to post-process the data with NavLab:.. The navigation results, i.. estimates of position, attitude and velocity, will be more accurate and smooth (no jumps in the data).. The navigation results will be more reliable (any critical sensor errors are detected).. Even in cases of sensor degradation or failure, accurate navigation can often be obtained (no need for a new mission).. This is due to the increased robustness of smoothing and the possibility to rerun the data.. Lower quality navigation sensors might be used, while still obtaining satisfactory navigational accuracy.. The most significant feature of NavLab is its theoretical foundation, where statistical optimality is maintained throughout the entire system.. This has been repeatedly demonstrated through extensive performance verifications, both with simulations and real missions.. These tests have proven very high estimator performance, close to the theoretical optimum.. Acknowledgements.. The author wishes to thank the rest of the Navigation Group at FFI, Bjorn Jalving in particular, for significant contributions to the development of NavLab.. Also thanks to Bjorn Jalving, Kongsberg Maritime and HUGIN customers for organizing, carrying out and reporting a range of different tests of the navigation system accuracy.. References.. Gade, K (1997): Integrering av treghetsnavigasjon i en autonom undervannsfarkost (in Norwegian), FFI/RAPPORT-97/03179.. Gade, K (2003): NavLab - Overview and User Guide November 2003, FFI/RAPPORT-2003/02128.. Svartveit, K and Berglund, E (2003): NavLab Plugin: Waypoint editor, FFI (to be published).. Minkler, G and Minkler, J (1993): Theory and Application of Kalman Filtering, Magellan Book Company.. Jalving, B, Gade, K, Hagen, O K and Vestgard, K (2003): A Toolbox of Aiding Techniques for the HUGIN AUV Integrated Inertial Navigation System.. Proceedings from Oceans 2003, September 22-26,.. San Diego.. ,.. USA.. Jalving, B, Bovio, E and Gade, K (2003): Integrated inertial navigation systems for AUVs for REA applications.. Proceedings from MREP 2003, NATO SACLANT Undersea Research Centre, May 2003,.. Italy.. Hagen, P E, Størkersen, N and Vestgård, K (2003): The HUGIN AUVs - multi-role.. capability for challenging underwater survey operations.. EEZ.. International, Summer 2003.. The HUGIN AUV Programme homepage:.. www.. ffi.. no/hugin.. Mathworks homepage:.. mathworks.. com.. Svartveit, K (2004): NavLab One-Click.. , FFI (to be published).. Jalving, B, Gade, K, Svartveit, K, Willumsen, A and Sorhagen, R (2004): DVL Velocity Aiding in the HUGIN 1000 Integrated Inertial Navigation System.. Proceedings from ADCPs in Action 2004, June 3-4, Nice.. , France.. is the angular velocity of the body,.. , relative to.. , where.. is a local system with zero angular velocity relative to Earth about its vertical axis (see.. for more details).. is the velocity of.. relative to Earth, differentiated in the.. system.. If future measurements are available, a better estimator exists, see Section.. All measurements that are not exactly equal to the predicted value are unexpected, which in practice means every measurement.. Outliers of this magnitude will by default be automatically removed in NavLab by a wild-point detection algorithm, but is left here for demonstration.. in accordance with the Kalman filter model.. According to the model, the probability of an error of this magnitude in one measurement is only about 10.. -16.. , and in this trial all measurements had this error!.. For instance a surface vehicle measuring the AUV position by means of DGPS+USBL.. A full set of measurements is not transmitted to the AUV in real time, but is available for use in NavLab after the mission..

Original link path: /NavLab%20paper%20-%20No%20layout.htm Open archive