The information symbol points to important information within the manual.
The warning symbol points to crucial information or actions that should be followed to avoid
reduced performance or damage to the navigation module.
Email: support@vectornav.com
Phone: +1.512.772.3615
VectorNav Technical Documentation
In addition to our product-specific technical data sheets, the following manuals are available to assist
VectorNav customers in product design and development.
VN-100 User Manual: The user manual provides a high-level overview of product specific
information for each of our inertial sensors. Further detailed information regarding hardware
integration and application specific use can be found in the separate documentation listed
below.
Hardware Integration Manual: This manual provides hardware design instructions and
recommendations on how to integrate our inertial sensors into your product.
Application Notes: This set of documents provides a more detailed overview of how to utilize
many different features and capabilities offered by our products, designed to enhance
performance and usability in a wide range of application-specific scenarios.
Document Symbols
The following symbols are used to highlight important information within the manual:
Technical Support
Our website provides a large repository of technical information regarding our navigation sensors. A list
of the available documents can be found at the following address:
http://www.vectornav.com/support
If you have technical problems or cannot find the information that you need in the provided documents,
please contact our support team by email or phone. Our engineering team is committed to providing the
required support necessary to ensure that you are successful with the design, integration, and operation
of our embedded navigation sensors.
The VN-100 is a miniature surface mount high-performance Inertial Measurement Unit (IMU) and Attitude
Heading Reference System (AHRS). Incorporating the latest solid-state MEMS sensor technology, the VN100 combines a set of 3-axis accelerometers, 3-axis gyroscopes, 3-axis magnetometers, a barometric
pressure sensor and a 32-bit processor. The VN-100 is considered both an IMU in that it can output
acceleration, angular rate, and magnetic measurements along the X, Y, & Z axes of the sensor as well as
an AHRS in that it can output filtered attitude estimates of the sensor with respect to a local coordinate
frame.
1.2 Factory Calibration
MEMS inertial sensors are subject to several common sources of error: bias, scale factor, misalignments,
temperature dependencies, and gyro g-sensitivity. All VN-100 sensors undergo a rigorous calibration
process at the VectorNav factory to minimize these error sources. Compensation parameters calculated
during these calibrations are stored on each individual sensor and digitally applied to the real-time
measurements.
Thermal Calibration – this option extends the calibration process over multiple temperatures to
ensure performance specifications are met over the full operating temperature range of -40 C to
+85 C.
1.3 Operation Overview
The VN-100 has a built-in microcontroller that runs a quaternion based Extended Kalman Filter (EKF),
which provides estimates of both the attitude of the sensor as well as the real-time gyro biases. VectorNav
uses a quaternion based attitude filter because it is continuous over a full 360 degree range of motion
such that there are no limitations on the angles it can compute. However, the VN-100 also has a built-in
capability to output yaw, pitch, and roll angles from the VN-100, in which the sensor automatically
converts from quaternions to the desired attitude parameter. Outputs from the VN-100 include:
Attitude:
o Yaw, Pitch, & Roll
o Quaternions
o Direction Cosine Matrix
Angular Rates:
o Bias-Compensated
o Calibrated X, Y, & Z Gyro Measurements
Acceleration:
o Calibrated X, Y, & Z Measurements
Magnetic:
o Calibrated X, Y, & Z Measurements
Barometric Pressure
The VN-100 EKF relies on comparing measurements from the onboard inertial sensors to two reference
vectors in calculating the attitude estimates: gravity down and magnetic North. Measurements from the
UM001 5
three-axis accelerometer are compared to the expected magnitude and direction of gravity in determining
The VN-100 Kalman Filter is based on the assumption that the accelerometer measurements should only
be measuring gravity down. If the sensor is subject to dynamic motion that induces accelerations, the
pitch and roll estimates will be subject to increased errors. These measurements can be accounted and
compensated for by using the VN-100 Velocity Aiding Feature (See Section 10 for more information).
The VN-100 filter relies on comparing the onboard magnetic measurements to Earth’s background
magnetic field in determining its heading angle. Common objects such as batteries, electronics, cars,
rebar in concrete, and other ferrous materials can bias and distort the background magnetic field leading
to increased errors. These measurements can be accounted and compensated for by using the VN-100
Hard/Soft Iron Algorithms (See Section 9 for more information).
VectorNav has developed a suite of tools called the Vector Processing Engine (VPE™), which are builtinto the VN-100 and minimize the effects of these disturbances; however, it is not possible to obtain
absolute heading accuracies better than 2 degrees over any extended period of time when relying on
magnetometer measurements.
the pitch and roll angles while measurements from the three-axis magnetometer are compared to the
expected magnitude and direction of Earth’s background magnetic field in determining the heading angle
(i.e. yaw angle with respect to Magnetic North).
The VN-100 EKF also integrates measurements from the three-axis gyroscopes to provide faster and
smoother attitude estimates as well as angular rate measurements. Gyroscopes of all kinds are subject
to bias instabilities, in which the zero readings of the gyro will drift over time to due to inherent noise
properties of the gyro itself. The VN-100 EKF uses the accelerometer and magnetometer measurements
to continuously estimate the gyro bias, such that the report angular rates are compensated for this drift.
1.4 Packaging Options
The VN-100 is available in two different configurations; a 30-pin surface mount package (VN-100 SMD)
and an aluminum encased module (VN-100 Rugged). The VN-100 surface mount package is well suited
for customers looking to integrate the VN-100 sensor at the electronics level while the VN-100 Rugged
provides a precision enclosure with mounting tabs and alignment holes for a more off-the-shelf solution.
6 UM001
1.4.1 Surface-Mount Package
For embedded applications, the VN-100 is available in a
miniature surface-mount package.
Features
Small Size: 22 x 24 x 3 mm
Single Power Supply: 3.2 to 5.5 V
Communication Interface: Serial TTL & SPI
Low Power Requirement: < 105 mW @ 3.3V
The VN-100 Rugged consists of the VN-100 sensor installed
and calibrated in a robust precision aluminum enclosure.
Features
Precision aluminum enclosure
Locking 10-pin connector
Mounting tabs with alignment holes
Compact Size: 36 x 33 x 9 mm
Single Power Supply: 4.5 to 5.5 V
Communication Interface: Serial RS-232 & TTL
The VN-100 Development Kit provides the VN-100
surface-mount sensor installed onto a small PCB,
providing easy access to all of the features and pins on
the VN-100. Communication with the VN-100 is
provided by USB and RS-232 serial communication
ports. A 30-pin header provides easy access to each of
the critical pins. The VN-100 Development Kit also
includes all of the necessary cabling, documentation,
and support software.
Features
Pre-installed VN-100 Sensor
Onboard USB->Serial converter
Onboard TTL->RS-232 converter
30-pin 0.1” header for access to VN-100 pins
Power supply jack – 5V (Can be powered from
USB)
1.4.2 Rugged Package
1.4.3 Surface Mount Development Kit
UM001 7
Board Size: 76 x 76 x 14 mm
1.4.4 VN-100 Rugged Development Kit
The VN-100 Rugged Development Kit includes the
VN-100 Rugged sensor along with all of the
necessary cabling required for operation. Two
cables are provided in each Development Kit: one
custom cable for RS-232 communication and a
second custom cable with a built in USB converter.
The Development Kit also includes all of the relevant
documentation and support software.
Features
VN-100 Rugged Sensor
10 ft RS-232 cable
10 ft USB connector cable
Cable Connection Tool
CD w/Software Development Kit
User Manual, Quick Start Guide &
Documentation
Carrying Case
VN-100 Options
Item Code
Sensor Packaging
Calibration Option
Product Type
VN-100S
Surface Mount Device
Standard at 25C
IMU/AHRS
VN-100T
Surface Mount Device
Thermal -40C to +85C
IMU/AHRS
VN-100S-DEV
Surface Mount Development Kit
Standard at 25C
IMU/AHRS
VN-100T-DEV
Surface Mount Development Kit
Thermal -40C to +85C
IMU/AHRS
VN-100S-CR
Rugged Module
Standard at 25C
IMU/AHRS
VN-100T-CR
Rugged Module
Thermal -40C to +85C
IMU/AHRS
VN-100S-CR-DEV
Rugged Development Kit
Standard at 25C
IMU/AHRS
VN-100T-CR-DEV
Rugged Development Kit
Thermal -40C to +85C
IMU/AHRS
VN-C100-0310
VN-100 Rugged USB Adapter Cable
N/A
Cable
VN-C100-0410
VN-100 Rugged Serial Adapter Cable
N/A
Cable
1.5 VN-100 Product Codes
8 UM001
2 Specifications
2.1VN-100 Surface-Mount Sensor (SMD) Electrical
Pin assignments (top down view)
UM001 9
VN-100 SMD Pin Assignments
Pin
Pin Name
Type
Description
1
GND
Supply
Ground.
2
GND
Supply
Ground.
3
GND
Supply
Ground.
4
GND
Supply
Ground.
5
TX2
Output
Serial UART #2 data output. (sensor)
6
RX2
Input
Serial UART #2 data input. (sensor)
7
RESTORE
Input
Normally used to zero (tare) the attitude. To tare, pulse high for at least 1 μs.
During power on or device reset, holding this pin high will cause the module to
restore the default factory settings.
As a result, the pin cannot be used for tare until at least 5 ms after a
power on or reset.
Internally held low with 10k resistor.
8
RESV
N/A
Reserved for internal use. Do not connect.
9
SYNC_OUT
Output
Time synchronization output signal.
10
VIN
Supply
3.2 - 5.5 V input.
11
ENABLE
Input
Leave high for normal operation. Pull low to enter sleep mode. Internally pulled
high with pull-up resistor.
12
TX1
Output
Serial UART #1 data output. (sensor)
13
RX1
Input
Serial UART #1 data input. (sensor)
14
RESV
N/A
Reserved for internal use. Do not connect.
15
RESV
N/A
Reserved for internal use. Do not connect.
16
SPI_SCK
Input
SPI clock.
17
SPI_MOSI
Input
SPI input.
18
GND
Supply
Ground.
19
SPI_MISO
Output
SPI output.
20
RESV
N/A
Reserved for internal use. Do not connect.
21
NRST
Input
Microcontroller reset line. Pull low for > 20 μs to reset MCU. Internally pulled
high with 10k.
22
SYNC_IN
Input
Time synchronization input signal.
23
SPI_CS
Input
SPI slave select.
24
RESV
N/A
Reserved for internal use. Do not connect.
25
RESV
N/A
Reserved for internal use. Do not connect.
26
RESV
N/A
Reserved for internal use. Do not connect.
26
RESV
N/A
Reserved for internal use. Do not connect.
28
GND
Supply
Ground.
29
RESV
N/A
Reserved for internal use. Do not connect.
30
GND
Supply
Ground.
10 UM001
2.1.1 VN-100 SMD Power Supply
Specification
Min
Typical
Max
Input low level voltage
-0.5 V
0.8 V
Input high level voltage
2 V 5.5 V
Output low voltage
0 V 0.4 V
Output high voltage
2.4 V
3.0 V
Specification
Min
Typical
Max
Input low level voltage
-0.5 V
0.8 V
Input high level voltage
2 V 5.5 V
Output low voltage
0 V 0.4 V
Output high voltage
2.4 V
3.0 V
Clock Frequency
8 MHz
16 MHz
Close Rise/Fall Time
8 ns
Specification
Min
Typical
Max
Input low level voltage
-0.5 V
0.8 V
Input high level voltage
2 V 5.5 V
Weak pull-up equivalent resistor
30 kΩ
40 kΩ
50 kΩ
NRST pulse width
20 μs
Specification
Min
Typical
Max
Input low level voltage
-0.5 V
0.8 V
Input high level voltage
2 V 5.5 V
Pulse Width
100 ns
Specification
Min
Typical
Max
Output low voltage
0 V 0.4 V
Output high voltage
2.4 V
3.0 V
Output high to low fall time
125 ns
Output low to high rise time
125 ns
Output Frequency
1 Hz
1 kHz
The minimum operating supply voltage is 3.2V and the absolute maximum is 5.5V.
2.1.2 VN-100 SMD Serial (UART) Interface
The serial interface on the VN-100 operates with 3V TTL logic.
Serial I/O Specifications
2.1.3VN-100 SMD Serial Peripheral Interface (SPI)
Serial I/O Specifications
2.1.4VN-100 SMD Reset, SyncIn/Out, and Other General I/O Pins
NRST Specifications
SyncIn Specifications
SyncOut Specifications
UM001 11
2.2VN-100 Rugged Electrical
Pin
Pin Name
Description
1
VCC
+4.5V to +5.5V
2
TX1
RS-232 voltage levels data output from the sensor. (Serial UART #1)
3
RX1
RS-232 voltage levels data input to the sensor. (Serial UART #1)
4
SYNC_OUT
Output signal used for synchronization purposes. Software configurable
to pulse when ADC, IMU, or attitude measurements are available.
5
GND
Ground
6
TARE/RESTORE
Input signal used to zero the attitude of the sensor. If high at reset, the
device will restore to factory default state. Internally held low with 10k
resistor.
7
SYNC_IN
Input signal for synchronization purposes. Software configurable to
either synchronize the measurements or the output with an external
device.
8
TX2_TTL
Serial UART #2 data output from the device at TTL voltage level (3V).
9
RX2_TTL
Serial UART #2 data into the device at TTL voltage level (3V).
10
RESV
This pin should be left unconnected.
VN-100 Rugged Pin Assignments
VN-100 Rugged External Connector
12 UM001
2.2.1VN-100 Rugged Power Supply
Specification
Min
Typical
Max
Input low level voltage
-25 V
Input high level voltage
25 V
Output low voltage
-5.0 V
-5.4 V
Output high voltage
5.0 V
5.5 V
Output resistance
300 Ω
10 MΩ
Data rate
1 Mbps
Pulse slew
300 ns
Specification
Min
Typical
Max
Input low level voltage
-0.5 V
0.8 V
Input high level voltage
2 V 5.5 V
Weak pull-up equivalent resistor
30 kΩ
40 kΩ
50 kΩ
NRST pulse width
20 μs
Specification
Min
Typical
Max
Input low level voltage
-0.5V
0.8V
Input high level voltage
2V 5.5V
Pulse Width
100 ns
Specification
Min
Typical
Max
Output low voltage
0 V 0.4 V
Output high voltage
2.4 V
3.0 V
Output high to low fall time
125 ns
Output low to high rise time
125 ns
Output Frequency
1 Hz
1 kHz
The power supply input for the VN-100 Rugged is 4.5 to 5.5 V DC.
2.2.2 VN-100 Rugged Serial UART Interface
Serial I/O Specifications
2.2.3VN-100 Rugged Reset, SyncIn/Out, and Other General I/O Pins
NRST Specifications
SyncIn Specifications
SyncOut Specifications
UM001 13
2.3 VN-100 Surface-Mount Sensor (SMD) Dimensions
* Measurements are in inches
2.4 VN-100 Rugged Dimensions
14 UM001
2.4.1Rugged Connector Type
Specification
Min
Max
Input Voltage
-0.3 V
5.5 V
Operating Temperature
-40 C
85 C
Storage Temperature
-40 C
85 C
Specification
Min
Max
Input Voltage
-0.3 V
5.5 V
Operating Temperature
-40 C
85 C
Storage Temperature
-40 C
85 C
The main connector used on the VN-100 Rugged is a 10-pin Harwin M80-5001042. The mating connector
used on the cable assemblies provided by VectorNav for use with the VN-100 Rugged is a Harwin M80-
4861005.
2.5 Absolute Maximum Ratings
SMD Absolute Maximum Ratings
Rugged Absolute Maximum Ratings
2.6 Sensor Coordinate System
2.6.1 Sensor Coordinate Frame
The VN-100 uses a right-handed coordinate system. A positive yaw angle is defined as a positive righthanded rotation around the Z-axis. A positive pitch angle is defined as a positive right-handed rotation
around the Y-axis. A positive roll angle is defined as a positive right-handed rotation around the X-axis.
The axes direction with respect to the VN-100 module is shown in the figure below.
VN-100 Coordinate System
UM001 15
2.6.2 North-East-Down Frame
The VN-100 velocity estimates can be output in the North-East-Down (NED) coordinate frame defined as
follows (NX, NY, NZ):
Right-handed, Cartesian, non-inertial, geodetic frame with origin located at the surface of Earth
(WGS84 ellipsoid);
Positive X-axis points towards North, tangent to WGS84 ellipsoid;
Positive Y-axis points towards East, tangent to WGS84 ellipsoid;
Positive Z-axis points down into the ground completing the right-handed system.
16 UM001
3 VN-100 Software Architecture
IMU
Downsamples
IMU sensors to
800 Hz
Applies Factory
Calibration
Applies User
Calibration
Applies User
Reference
Frame Rotation
Applies User
Low-Pass
Filtering
Applies Onboard
Calibration
Timestamps
Measurements
NavState
Calculates
orientation at
400Hz
Computes delta
angles
Computes delta
velocity
NavFilter
Vector
Processing
Engine
AHRS Kalman
Filter
Hard/Soft Iron
Estimator
World Magnetic
Model
World Gravity
Model
Comm
Interface
Serial ASCII
Serial Binary
SPI
Serial Command
Prompt
The software architecture internal to the VN-100 includes four separate subsystems. These subsystems
are the IMU, the NavState, the NavFilter, and the Communication Interface. The high-level functions
performed by these subsystems are outlined below. This chapter describes these functions performed by
these subsystems in more detail and describes which of the various measurement outputs originate from
each of these corresponding subsystems.
VN-100 Software Architecture
3.1 IMU Subsystem
The IMU subsystem runs at the highest system rate, described from this point forward as the IMU Rate
(defaults to 800 Hz). It is responsible for collecting the raw IMU measurements, applying a factory, user,
and dynamic calibration to these measurements, and optionally filtering the individual sensor
measurements for output. The coning and sculling integrals also are calculated by the IMU subsystem at
the full IMU Rate. The IMU subsystem is also responsible for time stamping the IMU measurements to
internal system time, and relative to the SyncIn signal.
UM001 17
3.1.1Magnetometer
Raw
Magnetometer
Data
Factory
Calibration
External
Magnetometer
Data
User
Magnetometer
Compensation
(Register 23)
User Reference
Frame Rotation
(Register 26)
User Low-Pass
Filtering
(Uncompensated)
(Register 85)
Onboard Hard/
Soft Iron
Compensation
(Register 44+47)
Uncompensated
Magnetometer
(uncompMag)
Compensated
Magnetometer
(magBody)
User Low-Pass
Filtering
(Compensated)
(Register 85)
Raw
Accelerometer
Data
Factory
Calibration
User
Accelerometer
Compensation
(Register 25)
User Reference
Frame Rotation
(Register 26)
User Low-Pass
Filtering
(Uncompensated)
(Register 85)
Uncompensated
Accelerometer
(uncompAccel)
Compensated
Accelerometer
(accelBody)
User Low-Pass
Filtering
(Compensated)
(Register 85)
Accelerometer
Filter Bias
Compensation
Raw Gyro Data
Factory
Calibration
User Gyro
Compensation
(Register 84)
User Reference
Frame Rotation
(Register 26)
User Low-Pass
Filtering
(Uncompensated)
(Register 85)
Gyro Filter Bias
Compensation
Uncompensated
Angular Rate
(uncompGyro)
Compensated
Angular Rate
(angularRate)
User Low-Pass
Filtering
(Compensated)
(Register 85)
3.1.2 Accelerometer
Magnetometer IMU Measurements
Accelerometer IMU Measurements
3.1.3 Gyro
3.1.4 Raw IMU Measurements
The raw IMU measurements are collected from the internal MEMS at the highest rate available for each
individual sensor. For the gyro and accelerometer, the measurements are down-sampled to the IMU Rate.
3.1.5 Factory Calibration
Each VN-100 sensor is tested at the factory at multiple known angular rates, accelerations, and magnetic
field strengths to determine each sensor’s unique bias, scale factor, axis alignment, and temperature
dependence. The calibration coefficients required to remove these unwanted errors are permanently
stored in flash memory on each sensor. At the IMU Rate, these calibration coefficients are applied to the
raw IMU measurements, to correct for and remove these known measurement errors. For thermally
calibrated units the onboard temperature sensor is used to remove the measurement temperature
dependence. The output of the factory calibration stage is referred to as the calibrated (but uncompensated) IMU measurements.
18 UM001
Gyro IMU Measurements
3.1.6 User Calibration
A write settings and reset command must be issued after setting the Reference Frame Rotation Register
before coordinate transformation will be applied.
The VN-100 provides the user with the ability to apply a separate user calibration to remove additional
bias, scale factor, and axis misalignments. The user calibration is applied after the factory calibration, and
can be used to optionally fine tune the calibration for each of the individual sensors. The user calibration
is optional and in most cases not required for normal operation.
3.1.7 User Reference Frame Rotation
The user reference frame rotation provides the user with the ability to apply a rigid body rotation to each
of the sensor outputs. This can be used to transform the coordinate system of the onboard sensors into
any other coordinate frame of the user’s choice. Since this transformation is applied to the IMU
measurements prior to their use in the onboard attitude estimation algorithms, applying a user reference
frame rotation will not only change the output coordinates for the IMU measurements, it will also change
the IMU body frame for all subsequent attitude estimation calculations.
3.1.8 User Low-Pass Filtering
The VN-100 also provides a means (see Register 85) to apply low-pass filtering to the output compensated
IMU measurements. It is important to note that the user low-pass filtering only applies to the output
compensated IMU measurements. All onboard Kalman filters in the NavFilter subsystem always use the
unfiltered IMU measurements after the User Reference Frame Rotation (Register 26) has been applied.
As such the onboard Kalman filtering will not be affected by the user low-pass filter settings. The user
low-pass filtering can be used to down-sample the output IMU measurements to ensure that information
is not lost when the IMU measurements are sampled by the user at a lower rate than the internal IMU
Rate.
3.1.9 Timestamp Measurements
All onboard measurements captured by the IMU subsystem are time stamped relative to several internal
timing events. These events include the monotonically increasing system time (time since startup), the
time since the last SyncIn event, and the time since the last GPS PPS pulse. These timestamps are recorded
with microsecond resolution and ~10 microsecond accuracy relative to the onboard temperature
compensated crystal oscillator. The onboard oscillator has a timing accuracy of ~20ppm over the
temperature range of -40C to 80C.
3.1.10 Coning & Sculling
The IMU subsystem is also responsible for computing and accumulating the coning and sculling integrals.
These integrals track the delta angle and delta velocity accumulated from one time step to another. The
coning and sculling integrals are reset each time the delta angle and/or delta velocity are outputted
(asynchronously) or polled from the delta theta and velocity register (Register 80). Between output and
polling events, the coning and sculling integration are performed by the IMU subsystem at the IMU Rate.
UM001 19
3.2NavState Subsystem
NavState Outputs
Attitude
(Yaw, Pitch, Roll, Quaternion, DCM)
Position
(LLA, ECEF)
Velocity
(NED, ECEF, Body)
Delta Angle (Available at full IMU rate)
Delta Velocity (Available at full IMU rate)
NavFilter Outputs
Attitude Uncertainty
Position & Velocity Uncertainty
Gyro & Accel Filter Biases
Mag & Accel Disturbance Estimation
Onboard Magnetic Hard & Soft Iron Estimation
World Magnetic & Gravity Model
The NavState subsystem generates a continuous reliable stream of low-latency, low-jitter state outputs
at a rate fixed to the IMU sample rate. The state outputs include any output such as attitude, position,
and velocity, which are not directly measureable by the IMU and hence must be estimated by the onboard
Kalman filters. The NavState runs immediately after, and in sync with the IMU subsystem, at a rate
divisible into the IMU Rate. This rate is referred to as the NavState Rate (default 800 Hz). The NavState
decouples the rate at which the state outputs are made available to the user from the rate at which they
are being estimated by the onboard Kalman filters. This is very important for many applications which
depend on low-latency, low-jitter attitude, position, and velocity measurements as inputs to their control
loops. The NavState guarantees the output of new updated state information at a rate fixed to the IMU
Rate with very low latency and output jitter. The NavState also provides the ability for the VN-100 to
output estimated states at rates faster than the rate of the onboard Kalman filters, which may be affected
by system load and input measurements availability.
3.2.1 NavState Measurements
The measurements shown below are calculated by the NavState subsystem and are made available at the
NavState Rate (default 800 Hz).
3.3 NavFilter Subsystem
The NavFilter subsystem consists of the INS Kalman filter, the Vector Processing Engine (VPE), and its
collection of other Kalman filters and calculations that run at a lower rate than the NavState. Most high
level states such as the estimated attitude, position, and velocity are passed from the NavFilter to the
NavState, and as such are made available to the user at the NavState rate. There are a handful of outputs
however that will only update at the rate of the NavFilter, some of which are listed below.
3.3.1 INS Kalman Filter
The INS Kalman filter consists of an Extended Kalman filter which nominally runs at the NavFilter rate
(default 200 Hz). The INS Kalman filter uses the accelerometer, gyro, GPS, and (at startup) the
magnetometer to simultaneously estimate the full quaternion based attitude solution, the position and
20 UM001
velocity, as well as the time varying gyro, accelerometer, and barometric pressure sensor biases. The
output of the INS Kalman filter is passed to the NavState, allowing for the attitude, position, and velocity
to be made available at the higher fixed rate of the NavState.
3.3.2 Vector Processing Engine
The Vector Processing Engine (VPE) is a collection of sophisticated algorithms which provide real-time
monitoring and simultaneous estimation of the attitude as well as the uncertainty of the input
measurements used by the attitude estimation algorithm. By estimating its own input measurement
uncertainty the VPE is capable of providing significantly improved performance when compared to
traditional statically tuned Kalman Filters. The estimated measurement uncertainty is used to in real-time
adaptively tune the onboard Kalman filters. This adaptive tuning eliminates the need in most cases for
the user to perform any custom filter tuning for different applications.
3.3.3 AHRS Kalman Filter
The AHRS Kalman filter consists of an EKF which nominally runs at the NavFilter Rate (default 200 Hz). The
AHRS Kalman filter simultaneously estimates the full quaternion based attitude as well as the time varying
gyro bias. The quaternion based attitude estimation eliminates any potential gimbal lock issues incurred
at high pitch angles, which can be problematic for Euler-angle based AHRS algorithms. The real-time
estimation of the gyro bias allows for the removal of small perturbations in the gyro bias which occur over
time due to random walk.
3.3.4 Hard/Soft Iron Estimator
The NavFilter subsystem also includes a separate EKF which provides real-time estimation of the local
magnetic hard and soft iron distortions. Hard and soft iron distortions are local magnetic field distortions
created by nearby ferrous material which moves with the sensor (attached to the same vehicle or rigidbody as the sensor). These ferrous materials distort the direction and magnitude of the local measured
magnetic field, thus negatively impacting the ability of an AHRS to reliably and accurately estimate
heading based on the magnetometer measurements. To remove the unwanted effect of these materials,
a hard & soft iron calibration needs to be performed which requires rotating the sensor around in multiple
circles while collecting magnetic data for off-line calculation of the magnetic hard & soft iron calibration
coefficients. This calibration can be very time consuming, and might not be possible for some applications.
The onboard hard/soft iron estimator runs in the background without requiring any user intervention. For
many applications this simplifies the process for the end user, and allows for operation in environments
where the hard/soft iron may change slowly over time. While the onboard hard/soft iron estimator runs
in the background by default, it can be turned off by the user if desired in the Magnetic Calibration Control
Register.
3.3.5 World Magnetic Model
The world magnetic model (WMM) is a large spatial-scale representation of the Earth’s magnetic field.
The internal model used on the VN-100 is consistent with the current WMM2016 model which consist of
a spherical-harmonic expansion of the magnetic potential of the geomagnetic field generated in the
Earth’s core. By default the world magnetic model on the VN-100 is turned off, allowing the user to
directly set the reference magnetic field strength. Alternatively the world magnetic model can be
manually used to calculate the magnetic field strength for a given latitude, longitude, altitude, and date
which is then subsequently used as the fixed magnetic field reference strength. Control of the world
magnetic model is performed using the Reference Vector Configuration Register.
UM001 21
3.3.6 World Gravity Model
The world gravity model (WGM) is a large spatial-scale representation of the Earth’s gravity potential as a
function of position on the globe. The internal model used on the VN-100 is consistent with the Earth
Gravity Model (EGM96), which consist of a spherical-harmonic expansion of the Earth’s geopotential. By
default the world gravity model on the VN-100 is turned off, allowing the user to directly set the reference
gravity vector. Control of the world gravity model is performed using the Reference Vector Configuration
Register.
3.4 Vector Processing Engine
The Vector Processing Engine (VPE) is a collection of sophisticated algorithms which provide real-time
monitoring and simultaneous estimation of the attitude as well as the uncertainty of the input
measurements used by the attitude estimation algorithm. By estimating its own input measurement
uncertainty the VPE is capable of providing significantly improved performance when compared to a
traditional statically tuned EKF AHRS attitude estimation algorithm. The estimated measurement
uncertainty is used too in real-time at the NavFilter rate (default 200 Hz) adaptively tune the attitude
estimation Kalman filter. This adaptive tuning eliminates the need in most cases for the user to perform
any custom filter tuning for different applications. It also provides extremely good disturbance rejection
capabilities, enabling the VN-100 in most cases to reliably estimate attitude even in the presence of
vibration, short-term accelerations, and some forms of magnetic disturbances.
3.4.1 Adaptive Filtering
The VPE employs adaptive filtering techniques to significantly reduce the effect of high frequency
disturbances in both magnetic and acceleration. Prior to entering the attitude filter, the magnetic and
acceleration measurements are digitally filtered to reduce high frequency components typically caused
by electromagnetic interference and vibration. The level of filtering applied to the inputs is dynamically
altered by the VPE in real-time. The VPE calculates the minimal amount of digital filtering required in order
to achieve specified orientation accuracy and stability requirements. By applying only the minimal amount
of filtering necessary, the VPE reduces the amount of delay added to the input signals. For applications
that have very strict latency requirements, the VPE provides the ability to limit the amount of adaptive
filtering performed on each of the input signals.
3.4.2 Adaptive Tuning
Kalman filters employ coefficients that specify the uncertainty in the input measurements which are
typically used as “tuning parameters” to adjust the behavior of the filter. Normally these tuning
parameters have to be adjusted by the engineer to provide adequate performance for a given application.
This tuning process can be ad-hoc, time consuming, and application dependent. The VPE employs adaptive
tuning logic which provides on-line estimation of the uncertainty of each of the input signals during
operation. This uncertainty is then applied directly to the onboard attitude estimation Kalman filter to
correctly account for the uncertainty of the inputs. The adaptive tuning reduces the need for manual filter
tuning.
3.4.3 VPE Heading Modes
The VectorNav VPU provides three separate heading modes. Each mode controls how the VPE interprets
the magnetic measurements to estimate the heading angle. The three modes are described in detail in
the following sections.
22 UM001
Absolute Heading Mode
If a magnetic disturbance occurs due to an event controlled by the user, such as the switching on/off of
an electric motor, an absolute heading can still be maintained if the device is notified of the presence
of the disturbance.
To correctly track an absolute heading you will need to ensure that the hard/soft iron distortions remains
well characterized.
In Absolute Heading Mode the VPE will assume that the principal long-term DC component of the
measured magnetic field is directly related to the earth’s magnetic field. As such only short term magnetic
disturbances will be tuned out. This mode is ideal for applications that are free from low frequency (less
than ~ 1Hz) magnetic disturbances and/or require tracking of an absolute heading. Since this mode
assumes that the Earth's magnetic field is the only long-term magnetic field present, it cannot handle
constant long-term magnetic disturbances which are of the same order of magnitude as the Earth's
magnetic field and cannot be compensated for by performing a hard/soft iron calibration. From the
sensor's perspective a constant long-term magnetic disturbance will be indistinguishable from the
contribution due to the Earth's magnetic field, and as such if present it will inevitably result in a loss of
heading accuracy.
Absolute Heading Mode Advantages
Provides short-term magnetic disturbance rejection while maintaining absolute tracking of the
heading relative to the fixed Earth.
Absolute Heading Mode Disadvantages
If the magnetic field changes direction relative to the fixed Earth, then its direction will need to
be updated using the reference vector register in order to maintain an accurate heading
reference.
Hard/Soft iron distortions that are not properly accounted for will induce heading errors
proportional to the magnitude of the hard/soft iron distortion. In some cases this could be as high
as 30-40 degrees.
Relative Heading Mode
In Relative Heading mode the VPE makes no assumptions as to the long term stability of the magnetic
field present. In this mode the VPE will attempt to extract what information it reasonably can from the
magnetic measurements in order to maintain an accurate estimate of the gyro bias. The VPE will
constantly monitor the stability of the magnetic field and when it sees that its direction is reasonably
stable, the VPE will maintain a stable heading estimate. Over long periods of time under conditions where
the magnetic field direction changes frequently, in Relative Heading mode it is possible for the VN-100 to
accumulate some error in its reported heading relative to true North. In this mode the VPE will not attempt
to correct for this accumulated heading error.
Relative Heading mode does not assume that the Earth's magnetic field is the only long-term magnetic
field present. As such this mode is capable of handling a much wider range of magnetic field disturbances
while still maintaining a stable attitude solution. Relative Heading mode should be used in situations
where the most important requirement is for the attitude sensor is to maintain a stable attitude solution
UM001 23
which minimizes the effect of gyro drift while maintaining a stable and accurate pitch and roll solution.
Use the Relative Heading mode for applications where the stability of the estimated heading is more
important than the long-term accuracy relative to true magnetic North. In general, the Relative Heading
mode provides better magnetic disturbance rejection that the Absolute Heading mode.
Since the Relative Heading mode assumes that other magnetic disturbances can be present which are
indistinguishable from the Earth's field, Relative Heading mode cannot always ensure that the calculated
heading is always referenced to Earth's magnetic north.
Relative Heading Mode Advantages
Capable of handling short-term and long-term magnetic interference.
Can handle significant errors in the hard/soft iron while still maintaining a stable heading and gyro
bias estimate.
Relative Heading Mode Disadvantages
Unable to maintain heading estimate relative to true North in environments with frequent long-
term magnetic field disturbances.
Indoor Heading Mode
The Indoor Heading mode was designed to meet the needs of applications that require the enhanced
magnetic disturbance rejection capability of the Relative Heading mode, yet desire to maintain an
absolute heading reference over long periods of time. The Indoor Heading mode extends upon the
capabilities of the Relative Heading mode by making certain assumptions as to the origin of the measured
magnetic fields consistent with typical indoor environments.
In any environment the measured magnetic field in 3D space is actually the combination of the Earth’s
magnetic field plus the contribution of other local magnetic fields created by nearby objects containing
ferromagnetic materials. For indoor environments this becomes problematic due to the potential close
proximity to objects such as metal desk and chairs, speakers, rebar in the concrete floor, and other items
which either distort or produce their own magnetic field. The strength of these local magnetic fields are
position dependent, and if the strength is on the same order of magnitude as that of the Earth’s magnetic
field, directly trusting the magnetic measurements to determine heading can lead to inaccurate heading
estimates.
While in Indoor Heading mode the VPE inspects the magnetic measurements over long periods of time,
performing several different tests on each measurement to quantify the likelihood that the measured
field is free of the influence of any position dependent local magnetic fields which would distort the
magnetic field direction. Using this probability the VPE then estimates the most likely direction of the
Earth’s magnetic field and uses this information to correct for the heading error while the device is in
motion.
Indoor Heading Mode Advantages
Capable of handling short-term and long-term magnetic interference
Can handle significant errors in the hard/soft iron while still maintaining a stable heading and
gyro bias estimate.
Capable of maintaining an accurate absolute heading over extended periods of time.
24 UM001
Indoor Heading Mode Disadvantages
Capabilities
Absolute
Heading
Relative
Heading
Indoor
Mode
Capabilities
Handle high frequency magnetic
disturbances greater than 1Hz?
Yes
Yes
Yes
Handle high frequency magnetic
disturbances greater than 1Hz?
Handle constant disturbances lasting
less than a few seconds?
Yes
Yes
Yes
Handle constant disturbances
lasting less than a few seconds?
Handle constant disturbances lasting
longer than a few seconds?
No
Yes
Yes
Handle constant disturbances
lasting longer than a few seconds?
Measurement repeatability may be worse than Relative Mode during periods when the VPE
corrects for known errors in absolute heading.
Overview of Heading Modes
A summary of the different types of disturbances handled by each magnetic mode is summarized in the
table below.
3.4.4 VPE Adaptive Filtering and Tuning Settings
The VPE actively employs both adaptive filtering and adaptive tuning techniques to enhance performance
in conditions of dynamic motion and magnetic and acceleration disturbances. The VPE provides the ability
to modify the amount of adaptive filtering and tuning applied on both the magnetometer and the
accelerometer. In many cases the VPE can be used as is without any need to adjust these settings. For
some applications higher performance can be obtained by adjusting the amount of adaptive filtering and
tuning performed on the inputs. For both the magnetometer and the accelerometer the following settings
are provided.
Static Measurement Uncertainty
The static gain adjusts the level of uncertainty associated with either the magnetic or acceleration
measurement when no disturbances are present. The level of uncertainty associated with the
measurement will directly influence the accuracy of the estimated attitude solution. The level of
uncertainty in the measurement will also determine how quickly the attitude filter will correct for errors
in the attitude when they are observed. The lower the uncertainty, the quicker it will correct for observed
errors.
This parameter can be adjusted from 0 to 10.
Zero places no confidence (or infinite uncertainty) in the sensor, thus eliminating its effect on
the attitude solution.
Ten places full confidence (minimal uncertainty) in the sensor and assume that its measurements
are always 100% correct.
Adaptive Tuning Gain
The adaptive tuning stage of the VPE monitors both the magnetic and acceleration measurements over
an extended period of time to estimate the time-varying level of uncertainty in the measurement. The
adaptive tuning gain directly scales either up or down this calculated uncertainty.
This parameter can be adjusted from 0 to 10.
UM001 25
The minimum value of zero turns off all adaptive tuning.
It is important to note that the ability to update the firmware using the onboard bootloader is only
supported on the serial port 1 interface. It is highly recommended that if serial port 1 is not used for
normal operation, a means of accessing it is designed into the product to support future firmware
updates.
The maximum value of 10 applies several times the estimated level of uncertainty.
Adaptive Filtering Gain
The adaptive filtering stage of the VPE monitors both the magnetic and acceleration measurements to
determine if large amplitude high frequency disturbances are present. If so then a variable level of filtering
is applied to the inputs in order to reduce the amplitude of the disturbance down to acceptable levels
prior to inputting the measurement into the attitude filter. The advantage of the adaptive filtering is that
it can improve accuracy and eliminate jitter in the output attitude when large amplitude AC disturbances
are present. The disadvantage to filtering is that it will inherently add some delay to the input
measurement. The adaptive filtering gain adjusts the maximum allowed AC disturbance amplitude for the
measurement prior to entering the attitude filter. The larger the allowed disturbance, the less filtering
that will be applied. The smaller the allowed disturbance, the more filtering will be applied.
This parameter can be adjusted from 0 to 10.
The minimum value of zero turns off all adaptive filtering.
The maximum value of 10 will apply maximum filtering.
Keep in mind that regardless of this setting, the adaptive filtering stage will apply only the minimal amount
of filtering necessary to get the job done. As such this parameter provides you with the ability to set the
maximum amount of delay that you are willing to accept in the input measurement.
3.5 Communication Interface
The VN-100 provides two separate communication interfaces on two separate serial ports.
3.5.1 Serial Interface
The serial interface consists of two physically separate bi-directional UARTs. Each UART supports baud
rates from 9600 bps up to a maximum of 921600 bps.
The rugged version includes an onboard TTL to RS-232 level shifter, thus at the 10-pin connector one serial
port is offered with RS-232 voltages levels (Serial 1), while the other serial port (Serial 2) remains at 3V
TTL logic levels.
3.5.2 SPI Interface
The SPI interface consists of a standard 4-wire synchronous serial data link which is capable of high data
rates up to 16 Mbps. The VN-100 operates as slave on the bus enabled by the master using the slave
select (SPI_CS) line. See the Basic Communication chapter for more information on the operation of the
SPI interface.
26 UM001
3.6 Communication Protocol
$VNRRG,8*4B
$VNRRG,08,-114.314,+000.058,-001.773*5F
The VN-100 utilizes a simple command based communication protocol for the serial interface. An ASCII
protocol is used for command and register polling, and an optional binary interface is provided for
streaming high speed real-time sensor measurements.
3.6.1 Serial ASCII
On the serial interface a full ASCII protocol provides support for all commands, and register polling. The
ASCII protocol is very similar to the widely used NMEA 0183 protocol supported by most GPS receivers,
and consists of comma delimited parameters printed in human readable text. Below is an example
command request and response on the VN-100 used to poll the attitude (Yaw Pitch Roll Register in the
Attitude subsystem) using the ASCII protocol.
Example Serial Request
Example Serial Response
At the end of this user manual each software subsystem is documented providing a list of all the
commands and registers suported by the subsystem on the VN-100. For each command and register an
example ASCII response is given to demonstrating the ASCII formatting.
3.6.2 Serial Binary
The serial interface offers support for streaming sensor measurements from the sensor at fixed rates using
user configurable binary output packets. These binary output packets provide a low-overhead means of
streaming high-speed sensor measurements from the device minimizing both the required bandwidth and
the necessary overhead required to parse the incoming measurements for the host system.
3.6.3 Serial Command Prompt
A simple command prompt is also provided on the serial interface, which provides support for advanced
device configuration and diagnostics. The serial command prompt is an optional feature that is designed
to provide more detailed diagnostic view of overall system performance than is possible using normal
command & register structure. It is strictly intended to be used by a human operator, who can type
commands to the device using a simple serial terminal, and is not designed to be used programmatically.
Each software subsystem described in the software module chapters provides information on the
diagnostic commands supported by the serial command prompt at the end of each subsystem section.
3.7 System Error Codes
In the event of an error, the VN-100 will output $VNERR, followed by an error code. The possible error
codes are listed in the table below with a description of the error.
UM001 27
Error Codes
Error Name
Code
Description
Hard Fault
1
If this error occurs, then the firmware on the VN-100 has experienced a
hard fault exception. To recover from this error the processor will force
a restart, and a discontinuity will occur in the serial output. The
processor will restart within 50 ms of a hard fault error.
Serial Buffer Overflow
2
The processor’s serial input buffer has experienced an overflow. The
processor has a 256 character input buffer.
Invalid Checksum
3
The checksum for the received command was invalid.
Invalid Command
4
The user has requested an invalid command.
Not Enough Parameters
5
The user did not supply the minimum number of required parameters
for the requested command.
Too Many Parameters
6
The user supplied too many parameters for the requested command.
Invalid Parameter
7
The user supplied a parameter for the requested command which was
invalid.
Invalid Register
8
An invalid register was specified.
Unauthorized Access
9
The user does not have permission to write to this register.
Watchdog Reset
10
A watchdog reset has occurred. In the event of a non-recoverable error
the internal watchdog will reset the processor within 50 ms of the error.
Output Buffer Overflow
11
The output buffer has experienced an overflow. The processor has a
2048 character output buffer.
Insufficient Baud Rate
12
The baud rate is not high enough to support the requested
asynchronous data output at the requested data rate.
Error Buffer Overflow
255
An overflow event has occurred on the system error buffer.
28 UM001
3.8 Checksum / CRC
// Calculates the 8-bit checksum for the given byte sequence.
unsigned char calculateChecksum(unsigned char data[], unsigned int length)
{
unsigned int i;
unsigned char cksum = 0;
for(i=0; i<length; i++){
cksum ^= data[i];
}
return cksum;
}
The serial interface provides the option for either an 8-bit checksum or a 16-bit CRC. In the event neither
the checksum nor the CRC is needed, both can be turned off by the user. Refer to the Communication
Protocol Control Register for details on disabling the checksum/CRC.
3.8.1 Checksum Bypass
When communicating with the sensor using a serial terminal, the checksum calculation can be bypassed
by replacing the hexadecimal digits in the checksum with uppercase X characters. This works for both the
8-bit and 16-bit checksum. An example command to read register 1 is shown below using the checksum
bypass feature.
$VNRRG,1*XX
3.8.2 8-bit Checksum
The 8-bit checksum is an XOR of all bytes between, but not including, the dollar sign ($) and asterisk (*).
All comma delimiters are included in the checksum calculation. The resultant checksum is an 8-bit number
and is represented in the command as two hexadecimal characters. The C function snippet below
calculates the correct checksum.
Example C Code
UM001 29
3.8.3 16-bit CRC
// Calculates the 16-bit CRC for the given ASCII or binary message.
unsigned short calculateCRC(unsigned char data[], unsigned int length)
For cases where the 8-bit checksum doesn't provide enough error detection, a full 16-bit CRC is available.
The VN-100 uses the CRC16-CCITT algorithm. The resultant CRC is a 16-bit number and is represented in
the command as four hexadecimal characters. The C function snippet below calculates the correct CRC.
Example C Code
30 UM001
Loading...
+ 84 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.