Home

VN-100 User Manual - VectorNav Technologies

image

Contents

1. 4 C 0 1 float 8 C 0 2 float 12 C 1 0 float 16 C 1 1 float 20 C 1 2 float 24 C 2 0 float 28 C 2 1 float 32 C 2 2 float 36 B O float 40 B 1 float 44 B 2 float This register contains twelve values representing the gyro compensation parameters The gyro measurements are compensated for changes in bias gain and axis alignment that can occur during the installation of the chip on the customer s board using the following model Under normal circumstances this register can be left in its factory default state In the event that there are significant changes to the gyro bias gain and axis alignment during installation or during the life of the part these registers allow for further compensation Note that this gyro compensation is separate from the compensation that occurs during the calibration process at the factory Setting this register to the default state of an identity matrix and zero offset will not eliminate the gyro gain bias and axis alignment that occur during factory calibration These registers only need to be changed from their default values in the event that changes in bias gain and axis alignment have occurred at some point between the times the chip was calibrated at the factory and when it is used in the field eee GZ B2 The variables GX GY GZ mu are components of the measured angular rate The GX GY GZ comp variables are the new acceleration measurements outputted after compen
2. Embedded Navigation Solutions VN 100 User Manual VectorNav Technologies 10501 Markison Road Dallas Texas 75238 United States of America Firmware v2 0 0 0 Document Revision 2 02 Contact Info Phone 1 512 772 3615 Email support vectornav com AA Website www vectornav com VN 100 User Manual UMOO01 Document Information Title VN 100 User Manual Subtitle Inertial Navigation Modules Document Type User Manual Document Number UMO01 v2 02 Document Status Released 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 e 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 e Hardware Integration Manual This manual provides hardware design instructions and recommendations on how to integrate our inertial sensors into your product e 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 inform
3. SPI Read Register Example Floating Point Registers SPI Example Transaction Read Register 8 Yaw Pitch Roll Response Packet Payload Request Packet Cmd Argl Empty Empty MOS 01 08 00 00 Cmd Argl Empty Empty Clock in enough bytes to read register 12 bytes for Reg 8 r r r P r r r r r r r r r r 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 MISO Empty Cmd Argi ErriD 100 us gt Empty Cmd Argl ErriD Yaw 161 69768 Pitch 1 2750288 Roll 0 60307616 Response to previous request 00 01 08 00 9B B2 21 c3 i 25 34 A3 3F i 33 63 1A 3F 4 bytes eee Le em eae oe ee eee ene The above examples show a transaction involving reading a register with floating point values In this case Register 8 is read which contains the sensor attitude Yaw Pitch amp Roll The floating point values are stored as 32 bit IEEE floating point numbers in little endian byte order 4 VN 100 User Manual 30 129 VN 100 User Manual UMOO01 SPI Write Settings Command Example SPI Example Transaction Write Settings Command Request Packet Header Response Packet Header Cmd Argl Empty Empty Cmd Argl Empty Empty MOS 03 00 00 00 00 00 00 00 Ar l Ar l MISO Empty Cmd g1 ErriD lt 100 ps gt Empty Cmd g1 ErriD Response to previous request 00 03 00 00 4 bytes 4 bytes cs The above example shows an example transaction that consists of issuing a write settings command to the VN 100 The differ
4. With the SerialCount field set to one of the non zero values the same asynchronous message would appear instead as PVNYV PR FUL e071 O00 62769 002 026 11162704 29 When the SerialCount field is enabled the counter will always be appended to the end of the message just prior to the checksum The counter will be preceded by the T character to distinguish it from the status field Table 32 SerialCount Field Mode Value Description NONE 0 OFF SYNCIN COUNT 1 Syncin Counter SYNCIN_ TIME 2 Syncin Time SYNCOUT COUNT 3 SyncOut Counter SerialStatus The SerialStatus field provides a means of tracking real time status information pertaining to the overall state of the sensor measurements and onboard filtering algorithm As with the SerialCount a typical serial asynchronous message would appear as the following PNNYPR t010 071 000 278 002 026760 With the SerialStatus field set to one of the non zero values the same asynchronous message would appear instead as PVNXYPR 7010 07 1 7000 2 8 002 026 S00007 18 When the SerialStatus field is enabled the status will always be appended to the end of the message just prior to the checksum If both the SerialCount and SerialStatus are enabled then the SerialStatus will be displayed first The counter will be preceded by the S character to distinguish it from the counter field The status consists of 4 hexadecimal characters Table 33 SerialStatus Value Description 0 OF
5. 0 VelocityX float m s Velocity in the X Axis measured in the sensor frame 4 VelocityY float m s Velocity in the Y Axis measured in the sensor frame 8 VelocityZ float m s Velocity in the Z Axis measured in the sensor frame For Mode 1 body measurement mode the VN 100 will compute the vector length of the provided 3D velocity vector and use this for velocity compensation If you have a scalar measurement you can set only the X axis and set the Y amp Z to zero t VN 100 User Manual 122 129 VN 100 User Manual UMO01 10 5 Factory Defaults Settings Name Default Factory Value Velocity Compensation Control 1 0 1 0 01 t VN 100 User Manual 123 129 VN 100 User Manual UMOO01 11 World Magnetic amp Gravity Module 11 1 Configuration Registers 11 1 1 Magnetic and Gravity Reference Vectors Magnetic and Gravity Reference Vectors Register ID 21 Firmware 1 0 0 0 Access Read Write Comment Magnetic and gravity reference vectors Size Bytes 24 Example Command SVNWRG 21 1 0 1 8 0 0 9 79375 56 Offset Name Format Unit Description 0 MagRefx float Gauss X Axis Magnetic Reference 4 MagRefY float Gauss Y Axis Magnetic Reference 8 MagRefZ float Gauss Z Axis Magnetic Reference 12 AccRefxX float m s X Axis Gravity Reference 16 AccRefY float m s Y Axis Gravity Reference 20 AccRefZ float m s Z Axis Gravity Reference This register contains the reference vectors for the magnetic and gravitational fields as used by the onboard f
6. 116 120 121 122 123 124 124 126 127 4 129 VN 100 User Manual UMOO01 1 Introduction 1 1 Product Description 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 VN 100 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 amp 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 VN 100 and digitally applied to the real time measurements VN 100 sensors are available with two calibration options e Standard Calibration single temperature point calibration at 25C which typically holds performance specifications when operating in an environment with a temperature range of 15C to 35C e Thermal Calibratio
7. 27 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 4 VN 100 User Manual 10 129 VN 100 User Manual UMO01 2 1 1 VN 100 SMD Power Supply 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 Table 3 Serial I O Specifications Min Typical___ Max Input low level voltage 0 5 V 0 8 V Input high level voltage 2V 5 5 V Output low voltage OV 0 4V Output high voltage 2 4V 3 0V 2 1 3 VN 100 SMD Serial Peripheral Interface SPI Table 4 Serial I O Specifications Min Typical Max Input low level voltage 0 5 V 0 8 V Input high level voltage 2V 5 5 V Output low voltage OV 0 4V Output high voltage 2 4V 3 0V Clock Frequency 8 MHz 16 MHz Close Rise Fall Time 8 ns 2 1 4 VN 100 SMD Reset Syncin Out and Other General I O Pins Table 5 NRST Specifications Min Typical Max Input low level voltage 0 5 V 0 8 V Input high level voltage 2V 5 5 V Weak pull up equivalent resistor 30 kQ 40 KQ 50 kQ NRST pulse width 20 us Table 6 Syncin Specifications Min Typical Max Input low level voltage 0 5 V 0 8 V Input high level voltage 2V 5 5 V Pulse Width 100 ns Table 7 SyncOut Specifications TE Output low voltage OV 0 4V Output high voltage 2 4V 3 0V Output high to low fall time 125 ns Output
8. or changes in bias gain and axis alignment have occurred at some point between the times the chip was calibrated at the factory and when it is used in the field pes gg MZ B2 The variables MX MY MZ are components of the measured magnetic field The X Y Z variables are the new magnetic field measurements outputted after compensation for hard soft iron effects All twelve numbers are represented by single precision floating points COO C01 C02 C10 C11 C12 C20 C21 C22 4 VN 100 User Manual 83 129 VN 100 User Manual UMOO01 7 2 2 Acceleration Compensation Accelerometer Compensation Register ID 25 Firmware 1 0 0 0 Access Read Write Allows the accelerometer to be further compensated for scale factor misalignment and Pomme bias errors Size Bytes 48 Example Command SVNRRG 25 1 0 0 0 1 0 0 0 1 0 0 0 75 Offset Name Format Unit Description 0 C 0 0 float 4 C 0 1 float 8 C 0 2 float 12 C 1 0 float 16 C 1 1 float 20 C 1 2 float 24 C 2 0 float 28 C 2 1 float 32 C 2 2 float 36 B O float 40 B 1 float 44 B 2 float This register contains twelve values representing the accelerometer compensation parameters The accelerometer measurements are compensated for changes in bias gain and axis alignment that can occur during the installation of the chip on the customer s board using the following model Under normal circumstances this register can be left in its factory defaul
9. 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 which is 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 at a rate referred to as the NavState Rate default 400Hz The NavState decouples the rate at 4 VN 100 User Manual 19 129 VN 100 User Manual UMOO01 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 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 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 400 Hz NavState Outputs Attitude Yaw Pitch Roll Quaternion DCM Delta Angle Delta Velocity 3 3 NavFilter Subsystem The NavFilter subsystem consists of the Vec
10. the Relative Heading mode provides better magnetic disturbance rejection that the Absolute Heading mode Relative Heading Mode Advantages e Capable of handling short term and long term magnetic interference e Can handle significant errors in the hard soft iron while still maintaining a stable heading and gyro bias estimate Relative Heading Mode Disadvantages e Unable to maintain heading estimate relative to true North in environments with frequent long term magnetic field disturbances 4 VN 100 User Manual 22 129 VN 100 User Manual UMOO01 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 d
11. ws YS xk x m iee eene ta 70 000 TO O00 PIO Scale t1 042 t1 042 XK S Se af a a kx US US WS aS x X Kaaa Pa e a e KeS xk x KAK K kx aS KK kkk SS KKK SSS SS kx ek ws as 4 VN 100 User Manual UMO001 114 129 UMO001 VN 100 User Manual 9 4 4 PlotOutput lng jllowou ome HSI Estimator Magnetic Output Plot a Calibrarec XY 4 5 5 4 5 5 5 5 5 5 5 5 5 55 5 5 5 5 5 5 5 5 Us Ts us oS xK x xK x x x K xK K xK XK x XK K xK IS aS xK x xK XK ae a aR a ge us a8 xK xX w 9S oS 4S us aS xK x K TK K xK x xK K xK ws x o WS IR a5 K xK K x is oS xK xK et ae ee a OK x l l x x xX x l x r KK l US IS x l l l x l l l x l l xK ai l l x x l l ys US xX xX x l x l x x x l x l l l xX xK l x l xK xK x l l x l x x l US o l x l x x l x l x l K as x l x l x x l x l l xX K as l l k I x l l l x l x l l l l xX xK xK x x l WS aS ws l l KAK l xK KK x wo K r x l l l l l l l l l x x x x x x x x xK x x x x x x x x x x k x
12. 0 0 1 0 0 0 Gyro Compensation 1 0 0 0 1 0 0 0 1 0 0 0 Reference Frame Rotation 1 0 0 0 1 0 0 0 1 IMU Filtering Configuration 0 4 4 4 0 0 3 3 3 0 Delta Theta and Delta Velocity 0 0 0 0 0 Configuration t VN 100 User Manual 90 129 VN 100 User Manual UMOO01 7 4 Command Prompt The command prompt provides a fast and simple means of configuring and monitoring the status of the sensor by typing commands to the unit using the serial port 7 4 1 List Available Commands Commands for the System subsystem can be accessed by typing in imu at the command prompt To view all available commands type imu Below is a view of a terminal window showing a list of the available commands imu Imu Module Commands Command Description Imu specific information such as serial number and firmware version Current Imu measurement and run time statistics 7 4 2 IMU Info imu info Imu Inco rcmacLon Magnetometer HSI Settings Register 44 Mode Using Onboard Magnetometer User HSI Calibration Register 23 FOL OC AOS COI aC SOC soe Oe ONO ON ek Ce AO OC ROO Oe FOO000 FO00 000 01 000 00 000 Magnetometer Onboard HSI Calibration Register 47 FOIL OOO tre COG FOO 00 O Coe FOO LOCO AOL OOG FOO OCO Oe 000 TOO 000 OC 2000 Se COCO S002 000 Accelerometer User Calibration Register 25 OILS OO S00 SONG SOTO IOC Oh COG SOO O00 400 FO 000 EOC 000 00 000 00 000 01 000 00 000 Sensor Self Test perf
13. 4 OutputGroup uint16 Selects which output groups are active in the message The number of OutputFields in this message should equal the number of active bits in the OutputGroup 6 OutputField 1 uint16 Active output fields for the first active group 4 2 N OutputField N uint16 Active output fields for the Nth active group Comment 2 RateDivisor uint16 ey See section 5 2 for information on the format for the Groups and Group Fields The size of this register is variable depending upon the number of group fields present When writing to this register you must provide the same number of group fields as there are bits active in the group byte If this condition is not met the unit will respond with an invalid parameter error code on a write register attempt The maximum size of a binary packet must not exceed 600 bytes If you attempt to specify an output 7 group and output fields for a packet with a length greater than 600 bytes including the header and CRC you will receive an invalid parameter error when writing to this register 4 VN 100 User Manual 75 129 VN 100 User Manual UMOO01 6 2 13 Binary Output Register 3 Register ID 77 Firmware v1 0 0 0 Access Read Write This register allows the user to construct a custom binary output message that contains a collection of desired estimated states and sensor measurements Size Bytes 6 22 Example Response SVNRRG 77 0 0 00 5F Offset Name Format Unit Description 0 Asy
14. 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 4 VN 100 User Manual 6 129 VN 100 User Manual UMOO01 1 4 Packaging Options The VN 100 is available in two different configurations a 30 pin surface mount device VN 100 SMD and an aluminum encased module VN 100 Rugged The VN 100 surface mount device 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 1 4 1 Surface Mount Package For embedded applications the VN 100 is available ina miniature surface mount package Features e Small Size 22 x24x3 mm e Single Power Supply 3 2 to 5 5 V e Communication Interface Serial TTL amp SPI e Low Power Requirement lt 185 mW 3 3V 1 4 2 Rugged Package The VN 100 Rugged consists of the VN 100 sensor installed and calibrated in a robust precision aluminum enclosure Features e Precision aluminum enclosure e Locking
15. Pass eer Compensated Filtering Accelerometer Compensated E Register 85 y 3 1 3 Gyro Low P User SH ae Uncompensated Filtering Angular Rate Uncompensated hincompGyre Register 85 pe pane User Gyro User Reference Raw Gyro Data aap m m Compensation gt Frame Rotation Register 84 Register 26 User Low Pass R Compensated Filtering Gyro Filter Bias gt Angular Rate Compensated Compensation EA Register 85 amp 3 1 4 Raw IMU Measurements The raw IMU measurements are collected from the internal inertial MEMS sensors 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 These calibration coefficients are applied to the raw IMU measurements at the IMU Rate to correct for these known errors For thermally calibrated units the onboard temperature sensor is used to remove the measurement s temperature dependence The output of the factory calibration stage are referred to as the calibrated but un compensated IMU measurements 4 VN 100 User Man
16. The estimated angular rate measured in rad s The angular rates are compensated by the onboard filter bias estimates The angular rate is expressed in the body frame This is equivalent to the AngularRate field in group 3 AngularRate Byte offset 0 1 2 3 4 5 6 7 8 9 10 un Type float 5 4 6 Accel The estimated acceleration in the body frame given in m s 2 This acceleration is equivalent to the specific force in the body frame as measured by the accelerometer and thus includes gravity This is equivalent to the Accel field in group 3 Accel pyte Offset 0 1 2 3 4 s 6 7 8 9 40 a Type float 5 4 7 Imu The uncompensated IMU angular rate and acceleration measurements The angular rate is given in rad s and the acceleration is given in m s 2 These measurements correspond to the calibrated angular rate and acceleration measurements straight from the IMU The measurements have not been 4 VN 100 User Manual 45 129 VN 100 User Manual UMO01 corrected for bias offset by the onboard AHRS Kalman filter These are equivalent to the UncompGyro and UncompAccel fields in group 3 Imu Byte Offset o 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 47 48 19 20 21 22 23 Type float 5 4 8 MagPres The compensated magnetic temperature and pressure measurements from the IMU The magnetic measurement is given in Gauss and has been corrected for hard soft iron corrections if enabled The temperatu
17. The quaternion provides a redundant nonsingular attitude representation that is well suited for describing arbitrary large rotations The quaternion is a non dimensional 4x1 unit vector with the fourth value as the scalar term The fields of this register are represented with fixed point precision for the serial protocol and 32 bit floating point precision for the SPI protocol This is a read only register All filtering and other mathematical operations performed by the VN 100 are performed using quaternions The quaternion used by the VN 100 has the following form lo N So Nn NIS N n WwW Cx Where e fe is the principal axis and V is the principal angle ez You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNQTN header t VN 100 User Manual 96 129 VN 100 User Manual UMO01 8 2 3 Yaw Pitch Roll Magnetic Acceleration and Angular Rates Yaw Pitch Roll Magnetic Acceleration and Angular Rates RegisterID 27 Async Header YMR Access Read Only Comment Attitude solution magnetic acceleration and compensated angular rates Size Bytes 48 Example Response SVNRRG 27 006 380 000 023 001 953 1 0640 0 2531 3 0614 00 005 00 344 09 758 0 001222 0 000450 0 001218 4F Offset Name Format Unit Description 0 Yaw float deg Calculated attitude heading angle in
18. a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNYIA header This register contains the true measured acceleration The accelerometer measures both acceleration and the effect of static gravity in the body frame This register contains the true acceleration which does not contain gravity and should measure O when the device is stationary The true acceleration provided in this register is measured in the inertial frame This means that an up down movement will always appear as an acceleration in the Z axis on this register regardless of the orientation of the VN 100 t VN 100 User Manual 104 129 VN 100 User Manual UMO001 8 3 Configuration Registers 8 3 1 VPE Basic Control Register ID 35 Firmware v1 0 0 0 Access Read Write Provides control over various features relating to the onboard attitude filtering Comment l algorithm Size Bytes 4 Example Response SVNRRG 35 1 3 1 1 77 Offset Name Format Unit Description O Enable uint8 Enable Disable the Vector Processing Engine VPE 1 HeadingMode uint8 Heading mode used by the VPE 2 FilteringMode uint8 Filtering Mode used by the VPE 3 TuningMode uint8 Tuning Mode used by the VPE Table 43 Enable Value State 0 DISABLE 1 ENABLE Table 44 HeadingMode _ Mode 2 Absolute Heading Relative Heading Indoor Heading Table 45 Filtering Mode Value Mode 0
19. are recalculated for the new position 8 Year float year The reference date expressed as a decimal year Used for both the magnetic and gravity models 12 A byte padding 16 Latitude double deg The reference latitude position in degrees 24 Longitude double deg The reference longitude position in degrees 32 Altitude double m The reference altitude above the reference ellipsoid in meters This register allows configuration of the onboard spherical harmonic models used to calculate the local magnetic and gravitational reference values Having accurate magnetic reference values improves the accuracy of heading when using the magnetometer and accounts for magnetic declination The VN 100 currently includes the EGM96 gravitational model and the WMM2010 magnetic model The models are upgradable to allow updating to future models when available The magnetic and gravity models can be individually enabled or disabled using the UseMagModel and UseGravityModel parameters respectively When disabled the corresponding values set by the user in the Reference Vector register see Section 15 1 1 will be used instead of values calculated by the onboard model The VN 100 starts up with the user configured reference vector values Shortly after startup and if the models are enabled the location and time set in this register will be used to update the reference vectors 4 VN 100 User Manual 125 129 VN 100 User Manual UMO01 11 2 Factory Def
20. as four hexadecimal characters The C function snippet below calculates the correct CRC Example C Code Calculates the 16 bit CRC for the given ASCII or binary message unsigned short callcullareeRe unsigned char datall unsigned Int length unsigned int 1 unsigned short cre 0 for i O i lengtin i Cre nsigned Charl cre gt 13 l ern lt lt a Gre datalil ere unsigned char cre amp Oxf 4 Cisse eee GrG lt lt 12 Cre amp O lt 0 lt lt 5 2e cecurn Eres 4 VN 100 User Manual 34 129 VN 100 User Manual UMOO01 5 User Configurable Binary Output Messages The VN 100 supports up to 3 separate user configurable binary output messages available on the serial interface Each message can be configured by the user to contain any of the available output measurement types from the IMU NavState NavFilter or the GPS subsystems The device can be configured to asynchronously output each message at a fixed rate based upon a divisor of the IMU internal sampling rate IMU Rate 5 1 Available Output Types All real time measurements either measured or estimated by the VN 100 are available using the user output messages The different output types are organized into 3 separate output groups as shown below Figure 11 Binary Outputs eTimeStartup eStatus eStatus eTimeSynclin eUncompMag eYawPitchRoll eYawPitchRoll eUncompAccel eQuaternion eQuaternion eUncompAngul
21. complex software protocol stack and is fairly straightforward to program against on embedded devices 4 2 1 SPI Hardware Requirements Four hardware lines are required to implement a SPI interface with the VN 100 a clock SPI_SCK two data lines SPI MOSI and SPI_MISO and a slave select pin SPI_CS The master is responsible for driving both the clock signal and the slave select lines The slave select line should be pulled low when the master wants to communicate with the slave If multiple slave devices are used on the same bus then each slave will have its own dedicated slave select line while sharing the clock and data lines The VN 100 will leave the SPI_MISO line in a high impedance state while the SPI_CS line is high enabling communication with other slave devices on the same SPI bus When the master is finished communicating with the slave the slave select line is pulled high The clock line should idle high when not in use The SPIl_MISO and SPI_MOSI pins should both transition between logic states on the falling edge of the SPI_SCK clock signal Data on both the SPI_MISO and SPI_MOSI should be sampled on the rising edge of the SPI_SCK line The VN 100 uses 3V digital logic for the SPI interface If you are interfacing with a 5V system it is recommended that you use a logic level translation circuit to ensure reliable communication 4 VN 100 User Manual 28 129 VN 100 User Manual UMO01 Figure 9 SPI Master Settings SPI Master
22. considered as a warranty covering the use in any manner whatsoever of such third party products or services or any intellectual property contained therein Information in this document supersedes and replaces all information previously supplied The VectorNav logo is a registered trademark of VectorNav Technologies LLC All other names are the property of their respective owners 2014 VectorNav Technologies LLC All rights reserved 4 VN 100 User Manual 129 129
23. degrees 4 Pitch float deg Calculated attitude pitch angle in degrees 8 Roll float deg Calculated attitude roll angle in degrees 12 MagxX float Gauss Compensated magnetometer measurement in x axis 16 MagY float Gauss Compensated magnetometer measurement in y axis 20 MagZ float Gauss Compensated magnetometer measurement in z axis 24 AccelX float m s Compensated accelerometer measurement in x axis 28 AccelY float m s Compensated accelerometer measurement in y axis 32 AccelZ float m s Compensated accelerometer measurement in z axis 36 GyroxX float rad s Compensated angular rate in x axis 40 GyroY float rad s Compensated angular rate in y axis 44 GyroZ float rad s Compensated angular rate in z axis You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNYMR header t VN 100 User Manual 97 129 VN 100 User Manual UMO01 8 2 4 Quaternion Magnetic Acceleration and Angular Rates Quaternion Magnetic Acceleration and Angular Rates Register ID 15 Async Header QMR Access Read Only Comment Attitude solution magnetic acceleration and compensated angular rates Size Bytes 52 Example Response SVNRRG 15 0 017057 0 000767 0 056534 0 998255 1 0670 0 2568 3 0696 00 019 00 320 09 802 0 002801 0 001186 0 001582 65 Offset Name Format Unit Description 0 Quat 0 flo
24. in this byte with no payload In the payload of the response packet the four bytes received correspond to the value of register 5 which in this case is 115200 As you can see from the example multi byte values are sent in little endian format with the least significant byte sent first OhO1C200 115200 SPI Write Register Example Below is an example of a write register transaction In this example the values of 1 2 1 1 are being written to the four fields in the VPE Control Register Register 35 SPI Example Transaction Write Register 35 VPE Basic Control Response Packet Payload Cmd Argl Empty Empty Empty payload 00 00 00 00 00 oo o0 00 Request Packet Payload Cmd Argl Empty Empty Field 1 Field 2 Field 3 Field 4 MOSI 02 23 00 00 Em Cmd Argl ErriD Don t Care MISO vi E Response to previous request Response to previous request 8 bytes _____________ In the case of writing to a register the values to be loaded into the register are in the payload of the request packet The payload of the response packet contains the contents of the register after the write register command has been processed In the case that no error occurred the payload of the response packet should be the same as the request Because of this it is sufficient to just clock in only four bytes on the response packet to verify that the write register took effect which is indicated by a zero error code
25. is appended to the end of the binary data packet The 16 bit CRC is identical to the one described above for the SerialChecksum Table 37 SPIChecksum Value Description 0 OFF 1 8 Bit Checksum 3 16 Bit CRC 4 VN 100 User Manual 72 129 VN 100 User Manual UMOO01 ErrorMode This field controls the type of action taken by the VN 100 when an error event occurs If the send error mode is enabled then a message similar to the one shown below will be sent on the serial bus when an error event occurs SVNERR OS 2 Regardless of the state of the ErrorMode the number of error events is always recorded and is made available in the SysErrors field of the Communication Protocol Status Register Table 38 ErrorMode Value Description 0 Ignore Error 1 Send Error 2 Send Error and set ADOR register to OFF Example Async Messages The following table shows example asynchronous messages with the AsyncCount and the AsyncStatus values appended to the end Example Type Message Async Message with SVNYPR 010 071 000 278 002 026 T1162704 2F AsyncCount Enabled Async Message with SVNYPR 010 071 000 278 002 026 SO000 1F AsyncStatus Enabled Async Message with SVNYPR 010 071 000 278 002 026 T1162704 S0000 50 AsyncCount and AsyncStatus Enabled t VN 100 User Manual 73 129 VN 100 User Manual UMOO01 6 2 11 Binary Output Register 1 Register ID 75 Firmware v1 0 0 0 Access Read Write This register allows the user to co
26. low to high rise time 125 ns Output Frequency 1 Hz 1 kHz 4 VN 100 User Manual 11 129 VN 100 User Manual UMOO01 2 2 VN 100 Rugged Electrical Table 8 VN 100 Rugged Pin Assignments Pin Pin Name Description 1 VCC 3 5V to 5 V 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 Figure 2 VN 100 Rugged External Connector 5 4 3 2 ft 4 VN 100 User Manual 12 129 VN 100 User Manual UMO001 2 2 1 VN 100 Rugged Power Supply 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 Table 9 Serial I O Specifications Min Typical Max Input low level voltage 25 V Input high level voltage 25V Output low vo
27. onboard conning and sculling integration performed onboard the sensor at the IMU sampling rate nominally 800Hz The delta time dtime is the time interval that the delta angle and velocities are integrated over The integration for the delta angles are reset each time the values are either polled or sent out due to a scheduled asynchronous ASCII or binary output Time is given in sections Delta angles are given in degrees DeltaTheta Fields Byte offset o Ja 2 a la s s 718 1o 10 m s 13 a0 s Type float 4 VN 100 User Manual 49 129 VN 100 User Manual UMOO01 5 5 8 DeltaV The delta velocity dvel is the delta velocity incurred due to motion since the last time the values were output by the device The delta velocities are calculated based upon the onboard conning and sculling integration performed onboard the sensor at the IMU sampling rate nominally 800Hz The integration for the delta velocities are reset each time the values are either polled or sent out due to a scheduled asynchronous ASCII or binary output Delta velocity is given in meters per second DeltaVel Fields Byteoftset 01 2 3 4 s 6 7 8 9 40 m Type float 5 5 9 Mag The IMU compensated magnetic field measured units of Gauss and given in the body frame This measurement is compensated by the static calibration individual factory calibration stored in flash the user compensation and the dynamic calibration from the onboard Hard Soft Iron
28. previous request 00 0i 05 00 00 C2 01 00 ere eae 8 bytes Cmd Argl Empty Empty MOS 01 05 00 00 isi Empty Cmd Argl ErriD The first packet is the request packet and consists of the master sending out the MOSI line a four byte header with no payload The first byte in the header has the command ID of 1 which corresponds to a read register request The second byte is the argument In the case of the read register command this corresponds to the register ID which in this case is register 5 The next two bytes are always zero in the header After this packet is sent the master should raise the slave select line SPI_CS and wait at least 50 microseconds before issuing the respond packet During this time the VN 100 will process the read 4 VN 100 User Manual 29 129 VN 100 User Manual UMOO01 register request and place the requested data in its SPI output buffer On the response packet the master should clock in N bytes of zeroes on the MOSI line where N is equal to 4 plus the size of the register being read which in this example is register 5 4 bytes The header for packets being received from the VN 100 has a different structure with the first byte always being zero The second and third byte in the header is the command ID and the argument register ID of the response The fourth byte in the header is the error code If an error occurred while attempting to service the request the VN 100 will issue a non zero error code
29. 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 they can be turned off by the user 4 4 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 SVNRRG 1 XX 44 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 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 1O i length acts cksum data i retum cksum t VN 100 User Manual 33 129 VN 100 User Manual UMOO01 4 4 3 16 bit CRC 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
30. the atmosphere relative to the ground wind speed In high wind conditions this can cause some increased error in the velocity aiding algorithm Speedometer For automotive applications the soeedometer measurement can be used to perform velocity aiding The speedometer measurement will provide the ground speed of the vehicle There will be some small loss due to fact that vertical speed is not included however the effect will be minimal GPS For most applications GPS provides an excellent source of velocity aiding for an AHRS lIt is recommended that you use a GPS receiver with at least a 5Hz update rate 10 1 1 Tuning for Higher Performance In most situations the default tuning parameters for the velocity compensation will provide adequate results without the need for manual adjustment In the event that you have a case where you need improved performance there are tuning parameters provided in the Velocity Compensation Control Register Register 50 that provide a means to adjust the behavior of the compensation algorithm Velocity Tuning The velocity tuning field in the Velocity Compensation Control Register Register 51 provides a means to adjust the uncertainty level used for the velocity measurement in the compensation estimation filter The default value is 0 1 A larger value places less trust in the velocity measurements while a smaller number will place more trust in the velocity measurement If your velocity measurement is noi
31. to be loaded with the transformation matrix that will transform measurements from the body reference frame of the VN 100 to the desired user frame of reference It is crucial that these two frames of reference be rigidly attached to each other All nine numbers are represented by single precision floating points Y C10 C11 C12 fr ex C01 C02 Lly C20 C21 C22 The reference frame rotation is performed on all vector measurements prior to entering the VPE Kalman filter As such changing this register while the attitude filter is running will lead to unexpected behavior in the VPE filter output To prevent this the register is cached on startup and changes will not take effect during runtime After setting the reference frame rotation register to its new value send a write settings command and then reset the VN 100 This will allow the VPE Kalman filter to startup with the newly set reference frame rotation 4 VN 100 User Manual 86 129 VN 100 User Manual UMOO01 7 2 5 IMU Filtering Configuration Register ID 85 Firmware v1 0 0 0 Access Read Write Comment Controls the level of filtering performed on the raw IMU measurements Size Bytes 15 Example Response SVNRRG 85 0 4 4 4 0 0 3 3 3 0 79 Offset Name Format Unit Description 0 MagWindowSize uint16 Number of previous measurements averaged for magnetic measurements 2 AccelWindowSize uint16 Number of previous measurements averaged for acceleration measurements 4 GyroW
32. x x x x x x xK xK x x x x x xK _ _ _ ee _ _ x or _ XK K x x x x x x x x x xK xK x SS _ _ _ _ _ _ ee _ _ x x x x x x x x x x x kK x x x x x x x x k x kk AAK 0 Oe 0 GAS TOT OOO F0 946 Plot Center Plot Scale 115 129 VN 100 User Manual VN 100 User Manual UMOO01 10 Velocity Aiding Velocity aiding provides a method to increase performance of an AHRS sensor for applications where the sensor is subjected to constant accelerations 10 1 Overview AHRS Fundamentals An Attitude Heading Reference System AHRS is a sensor system that estimates the attitude of a vehicle based upon the combined measurements provided by a 3 axis gyroscope accelerometer and magnetometer An AHRS sensor typically utilizes a Kalman filter to compute the 3D orientation of the vehicle based upon the vector measurements provided from the accelerometer and the magnetometer The accelerometer measures the effect of both gravity and any acceleration due to body motion The magnetometer measures the influence of both the earth s magnetic field and the influence of any nearby magnetic fields created by nearby ferromagnetic objects The gyroscope provides an accurate short term measurement of the relative change in the orientation of the sensor however it is not capable of providing a measurement of the orientation itself The absolute accuracy of the heading pitch and roll solutio
33. 00 User Manual 39 129 VN 100 User Manual UMOO01 5 3 Binary Output Message Format The binary output message packets on the serial interface consist of a simple message header payload and a 16 bit CRC An example packet is shown below for reference The header is variable length depending upon the number of groups active in the message Header Payload CRC Field Sync Groups Group Field 1 Group Field 2 Payload CRC Byte Offset 0 1 2 3 4 5 6 7 N N 1 N 2 Type u8 u8 u16 u16 Variable u16 5 3 1 Sync Byte The sync byte is the first byte in the header Its value will always be equal to OxFA 5 3 2 Groups The group consist of a single byte which determines which message groups have been selected The user can select from a wide assortment of different output types which are organized into 8 different groups The group byte acts as a bit field with each individual bit determining which binary groups are active for the given packet The various groups are shown below Name Bit Offset Description Output Group1 O Common Group Output Group3 2 IMU Group Output Group5 4 Attitude Group 5 3 3 Group Fields The group fields consist of N number of 16 bit bit fields that represent which output types have been selected in the active binary groups The number of group fields in the header will depend upon how many groups are active in the message The number of group fields present in the header will always be equal to
34. 1 OFF MODE 1 Table 46 Tuning Mode Value Mode 0 1 OFF MODE 1 VN 100 User Manual 105 129 VN 100 User Manual UMO01 8 3 2 VPE Magnetometer Basic Tuning Read Write Comment Provides basic control of the adaptive filtering and tuning for the magnetometer Size Bytes 36 Example Response SVNRRG 36 5 5 5 3 3 3 4 4 4 68 Offset Name Format Unit Description Base Magnetic Tuning X Axis 0 10 This sets the level of confidence placed in the magnetometer X 0 BaseTuningX float 0 10 axis when no disturbances are present A larger number provides better heading accuracy but with more sensitivity to magnetic interference Base Magnetic Tuning Y Axis 0 10 This sets the level of confidence placed in the magnetometer Y 4 BaseTuningY float 0 10 axis when no disturbances are present A larger number provides better heading accuracy but with more sensitivity to magnetic interference Base Magnetic Tuning Z Axis 0 10 This sets the level of confidence placed in the magnetometer Z 8 BaseTuningZ float 0 10 axis when no disturbances are present A larger number provides better heading accuracy but with more sensitivity to magnetic interference Register ID 36 Firmware v1 0 0 0 Access 12 AdaptiveTuningX float 0 10 Level of adaptive tuning for X Axis 16 AdaptiveTuningY float 0 10 Level of adaptive tuning for Y Axis 20 AdaptiveTuningZ float 0 10 Level of adaptive tuning for Z Axis 24 AdaptiveFilteringX float 0 10 Le
35. 10 pin connector e Mounting tabs with alignment holes e Compact Size 36 x 33 x 9 mm e Single Power Supply 4 5 to 5 5 V e Communication Interface Serial RS 232 amp TTL 1 4 3 Surface Mount Development Kit 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 e Pre installed VN 100 Sensor e Onboard USB gt Serial converter e Onboard TTL gt RS 232 converter 4 VN 100 User Manual 7 129 VN 100 User Manual UMO01 e 30 pin 0 1 header for access to VN 100 pins e Power supply jack 5V Can be powered from USB e Board Size 76 x 76x 14mm 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 e VN 100 Rugged Sensor e 10 ft RS 232 cable e 10 ft USB connector cable e Cable Connectio
36. C 1 0 float 16 C 1 1 float 20 C 1 2 float 24 C 2 0 float 28 C 2 1 float 32 C 2 2 float 36 B O float 40 B 1 float 44 B 2 float This register contains twelve values representing the calculated hard and soft iron compensation parameters The magnetic measurements are compensated for both hard and soft iron using the following model X MX BO Y MY B1 VA MZ B2 The variables MX MY MZ are components of the measured magnetic field The X Y Z variables are the new magnetic field measurements outputted after compensation for hard soft iron effects COO C01 C02 C10 C11 C12 C20 C21 C22 4 VN 100 User Manual 110 129 VN 100 User Manual UMO01 9 3 Factory Defaults Settings Name Default Factory Value Magnetometer Calibration Control 1 3 5 4 VN 100 User Manual 111 129 VN 100 User Manual UMOO01 9 4 Command Prompt The command prompt provides a fast and simple means of configuring and monitoring the status of the sensor by typing commands to the unit using the serial port 9 4 1 List Available Commands Commands for the System subsystem can be accessed by typing in hsi at the command prompt To view all available commands type hsi Below is a view of a terminal window showing a list of the available commands NSL Hard Sore Iron Estimacor Mocule Commands Command Description Estimator cotate Information and Configuration settinde Olot Iinput Piet
37. ENSOR A14 52 Offset Name Format Unit Description 0 Tag char User defined tag register Up to 20 bytes or characters Ifa string with more than 20 characters is given then the string will be truncated to the first 20 Only printable ASCII characters are allowed for the user tag register Allowable characters include any character in the hexadecimal range of 0x20 to Ox7E excluding 0x24 S Ox2C and Ox2A The use any other character will result in an invalid parameter error code returned This restriction is required to ensure that the value set in the user tag register remains accessible using both the SPI and serial ASCII protocols t VN 100 User Manual 60 129 VN 100 User Manual UMO01 6 2 2 Model Number Register Register ID 1 Firmware 1 0 0 0 Access Read Only Comment Model Number Size Bytes 24 Example Response SVNRRG O1 VN 100S SMD 7E Offset Name Format Unit Description 0 Product char Product name Max 24 characters Name t VN 100 User Manual 61 129 VN 100 User Manual UMO01 6 2 3 Hardware Revision Register Hardware Revision Register RegisterID 2 Firmware 1 0 0 0 Access Read Only Comment Hardware revision Size Bytes 4 Example Response SVNRRG O2 7 6A Offset Name Format Unit Description 0 Revision uint32 Hardware revision 4 VN 100 User Manual 62 129 VN 100 User Manual UMO01 6 2 4 Serial Number Register RegisterID 3 Firmware 1 0 0 0 Access Rea
38. F 1 VPE Status 4 VN 100 User Manual 71 129 VN 100 User Manual UMOO01 SPIiCount The SPICount field provides a means of appending a time or counter to the end of all SPI packets The values for each of these counters come directly from the Synchronization Status Register Table 34 SPIiCount Field Mode Value Description NONE 0 OFF SYNCIN COUNT 1 Syncin Counter SYNCIN_ TIME 2 Syncin Time SYNCOUT COUNT 3 SyncOut Counter SPiStatus The AsyncStatus field provides a means of tracking real time status information pertaining to the overall state of the sensor measurements and onboard filtering algorithm This information is very useful in situations where action must be taken when certain crucial events happen such as the detection of gyro saturation or magnetic interference Table 35 SPIStatus Value Description 0 OFF 1 VPE Status SerialChecksum This field controls the type of checksum used for the serial communications Normally the VN 100 uses an 8 bit checksum identical to the type used for normal GPS NMEA packets This form of checksum however offers only a limited means of error checking As an alternative a full 16 bit CRC CRC16 CCITT with polynomial 0x07 is also offered The 2 byte CRC value is printed using 4 hexadecimal digits Table 36 SerialChecksum Value Description 1 8 Bit Checksum 3 16 Bit CRC SPIChecksum This field controls the type of checksum used for the SPI communications The checksum
39. Hz Output frequency 4 Serial Port uint8 Optional The serial port to change the asynchronous data type frequency on If this parameter is not provided then the ADOF will be changed for the active serial port 1 Serial Port 1 2 Serial Port 2 Table 27 ADOR Data Rates Acceptable Data Rates Hz The serial port parameter in this register is optional If it is not provided the ADOF will be changed on the active serial port The response to this register will include the serial port parameter if the optional parameter is provided If the second parameter is not provided the response will not include this parameter t VN 100 User Manual 67 129 VN 100 User Manual UMO01 6 2 9 Synchronization Control Synchronization Control Register ID 32 Firmware v1 0 0 0 Access Read Write Contains parameters which allow the timing of the VN 100 to be synchronized with external devices Size Bytes 20 Example Response SVNRRG 32 3 0 0 0 3 0 0 500000 0 5B Comment Offset Name Format Unit Description 0 SynciInMode uint8 Input signal synchronization mode 1 SynclnEdge uint8 Input signal synchronization edge selection 2 SynclnSkipFactor uint16 Input signal trigger skip factor 4 RESERVED uint32 Reserved for future use Defaults to 0 8 SyncOutMode uint8 Output synchronization signal mode 9 SyncOutPolarity uint8 Output synchronization signal polarity 10 SyncOutSkipFactor uint16 Output synchronization sig
40. Mbps The VN 100 operates as slave on the bus enabled by the master using the slave select SPI_CS line See section 4 2 for more information on the operation of the SPI interface 4 VN 100 User Manual 26 129 VN 100 User Manual UMOO01 3 6 Communication Protocol The VN 100 utilizes a simple command based communication protocol for both the serial and SPI interfaces For the serial interface an ASCII protocol is used for command and register polling whereas the SPI interfaces utilizes a binary protocol Optionally the serial interface also provides support for streaming real time sensor measurements using binary output packets 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 register 8 using the ASCII protocol Figure 7 Example Serial Request SVNRRG 8 4B Figure 8 Example Serial Response SVNRRG O8 114 314 000 058 001 773 5F Section 6 provides a list of all commands and registers supported by each software 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 su
41. PROCESSING ENGINE 3 5 COMMUNICATION INTERFACE 3 6 COMMUNICATION PROTOCOL Basic Communication 4 1 SERIAL INTERFACE 4 2 SPI INTERFACE 4 3 SYSTEM ERROR CODES 4 4 CHECKSUM CRC User Configurable Binary Output Messages 5 1 AVAILABLE OUTPUT TYPES 5 2 CONFIGURING THE OUTPUT TYPES 5 3 BINARY OUTPUT MESSAGE FORMAT 5 4 BINARY GROUP 1 COMMON OUTPUTS 5 5 BINARY GROUP 3 IMU OUTPUTS 5 6 BINARY GROUP 5 ATTITUDE OUTPUTS 4 VN 100 User Manual UMO001 Ul O o nN wo a wm 12 14 15 15 16 17 17 19 20 20 26 27 28 28 28 32 33 35 35 35 40 44 48 52 3 129 VN 100 User Manual 6 System Module 6 1 COMMANDS 6 2 CONFIGURATION REGISTERS 6 3 STATUS REGISTERS 6 4 FACTORY DEFAULTS 6 5 COMMAND PROMPT 7 IMU Subsystem 7 1 IMU MEASUREMENT REGISTERS 7 2 IMU CONFIGURATION REGISTERS 7 3 FACTORY DEFAULTS 7 4 COMMAND PROMPT 8 Attitude Subsystem 8 1 COMMANDS 8 2 MEASUREMENT REGISTERS 8 3 CONFIGURATION REGISTERS 8 4 FACTORY DEFAULTS 9 Hard Soft Iron Estimator Subsystem 9 1 CONFIGURATION REGISTERS 9 2 STATUS REGISTERS 9 3 FACTORY DEFAULTS 9 4 COMMAND PROMPT 10 Velocity Aiding 10 1 OVERVIEW 10 2 CONFIGURATION REGISTERS 10 3 STATUS REGISTERS 10 4 INPUT MEASUREMENTS 10 5 FACTORY DEFAULTS 11 World Magnetic amp Gravity Module 11 1 CONFIGURATION REGISTERS 11 2 FACTORY DEFAULTS 11 3 COMMAND PROMPT 4 VN 100 User Manual UMO01 56 56 60 77 78 79 81 81 83 90 91 93 93 95 105 108 109 109 110 111 112 116
42. RS 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 4 6 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 that move with the sensor attached to the same vehicle or rigid body 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 amp 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 amp soft iron calibration coefficients This calibration can be very time consuming and might not be possible for some applications Also available on the VN 100 is an onboard hard soft iron estimator which 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 es
43. S 4 33 WAS aC 27 AL OO NON OOCR Since startup Axis Z O O O Z AX18S 04 159 F02 872 0 0560 Z Axis TOs oN 3 FOZ oo UI 05 37 Since startup Z AXIS 0 S17 OO g49 02013 Since startup Z AX S sO aLL 00 20100 a OCG 00 VN 100 User Manual UMO001 92 129 VN 100 User Manual UMOO01 8 Attitude Subsystem 8 1 Commands 8 1 1 Tare Command The Tare command will have the module zero out its current orientation The effect of this command in 2D magnetic mode will be to set only the yaw angle to zero In 3D heading mode the VN 100 will set the yaw pitch and roll angles to zero In 3D heading mode the VN 100 will also now measure yaw pitch and roll relative to the alignment of the respective Z Y and X axis in 3D space when the tare command was received Example Command Message UART Command SVNTAR 5F UART Response SVNTAR 5F SPI Command 8 bytes 05 00 00 00 shown as hex SPI Response 8 bytes 00 05 00 00 shown as hex U Avoid switching magnetic modes after issuing a tare command as this can lead to unpredictable behavior If you need to issue a tare command first set the magnetic mode next issue a write settings command and then reset the device After reset you can issue a tare command 8 1 2 Known Magnetic Disturbance Command This command is used to notify the VN 100 that a magnetic disturbance is present When the VN 100 receives this command it will tune out the magne
44. Serial UART 2 data output sensor 6 RX2 Input Serial UART 2 data input sensor 7 TARE Input Normally used to zero tare the attitude RESTORE To tare pulse high for at least 1 us During power on or device reset holding this pin high will cause the module to restore its default factory settings Asa 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 gt 20 us 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
45. Settings Slave Select Active Low Clock Polarity Idle High CPOL 1 Clock Phase Sample second clock edge CPHA 1 Data Format Most significant bit first MSB Byte Order Least significant byte first little endian 4 2 2 Software Requirements Communication with the VN 100 over SPI is conducted with multiple transactions A transaction for the purpose of this document is defined as a single operation such as reading or writing to a register on the VN 100 or issuing a command such as requesting a device reset A single transaction consists to two separate data packets sent to the VN 100 Each packet consists of a four byte header followed by a data payload The header for the packet differs depending upon whether it is a request packet or a response packet For each packet sent to the VN 100 the slave select line SPI_CS should be pulled low at the beginning of the packet and pulled high at the end Figure 10 Packet Headers 4 Byte Request Header MOSI Command ID Argument 0x00 0x00 4 Byte Response Header MISO 0x00 Command ID Argument 0x00 4 2 3 SPI Example Commands The sections that follow provided some example SPI transactions for the various types of commands available on the VN 100 SPI Read Register Example Below is an example of a single transaction with the VN 100 to read register 5 SPI Example Transaction Read Register 5 Serial Baud Rate Request Packet Response Packet 00 00 00 00 00 00 00 00 Response to
46. SyncOut trigger event has occurred This register can be used to index subsequent measurement outputs which is particularly useful when logging sensor data 8 SyncOutCount uint32 Writing zero to the SynclnCount or the SyncOutCount will reset the status counter Any other value other than zero will not have an effect The SynclnTime is read only and cannot be reset to zero 4 VN 100 User Manual 77 129 VN 100 User Manual UMO01 6 4 Factory Defaults User Tag NULL Empty string Serial Baud Rate 115200 Async Data Output Frequency 40 Hz Async Data Output Type 14 YPR Mag Accel Rates Synchronization Control 3 0 0 0 3 0 0 500000 0 Communication Protocol Control 0 0 0 0 1 0 1 Binary Output Register 1 0 0 0 Binary Output Register 2 0 0 0 Binary Output Register 3 0 0 0 4 VN 100 User Manual 78 129 VN 100 User Manual UMOO01 65 Command Prompt The command prompt provides a fast and simple means of configuring and monitoring the status of the sensor by typing commands to the unit using the serial port 6 5 1 List Available Commands Commands for the System subsystem can be accessed by typing in system at the command prompt To view all available commands type system Below is a view of a terminal window showing a list of the available commands system System Module Commands Command Description Device specific information such as serial number and firmware version Information on the communi
47. a 08 Note Figure above is enlarged to 2 1 scale Measurements are in inches 2 4 1 Rugged Connector Type The 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 Table 13 SMD Absolute Maximum Ratings Specification Min AEDS Input Voltage 0 3 V 5 5 V Operating Temperature 40 C 85 C Storage Temperature 40 C 85 C Table 14 Rugged Absolute Maximum Ratings Specification Min Max Input Voltage 0 3 V 5 5 V Operating Temperature 40 C 85 C Storage Temperature 40 C 85 C 4 VN 100 User Manual 15 129 VN 100 User Manual UMOO01 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 right handed 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 Figure 5 Figure 5 VN 100 Coordinate System Roll Roll Pitch Pitch 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 Ny Ny N2 e Right handed Cartesian non inertial geodetic frame
48. arRate e DCM eAngularRate eTemp eMagNed e Accel ePres eAccelNed elmu eDeltaTheta eLinearAccelBody eMagPres eDeltaVel eLinearAccelNed eDeltaTheta eMag eYprU e V PEStatus e Accel eSyncinCnt eAngularRate eSatFlags eRaw 5 2 Configuring the Output Types Configuration of the 3 output messages is performed using the User Output Configuration Registers Register 75 79 There are 3 separate configuration registers one for each available output message Section 5 2 3 describes in more detail the format for these registers In each of these configuration registers the user can select which output types they want the message to include by specifying the OutputGroup and the OutputFields parameters 4 VN 100 User Manual 35 129 VN 100 User Manual 5 2 1 OutputGroup UMO01 The OutputGroup parameter is a single byte where the bits select which output groups are active in the message The available output groups for the VN 100 are listed below Table 16 Binary Output Groups Name Bit Offset Output Group 1 O Output Group 3 2 Output Group 5 4 set to zero 5 2 2 OutputFields Description Common Group IMU Group Attitude Group Output groups 2 4 6 amp 7 are not used on the VN 100 The bits for these unused output groups must be The OutputFields is an array of 16 bit words with the array length equal to the number of active groups in the OutputGroup The OutputFields selects which output fields are active for each output grou
49. at Calculated attitude as quaternion 4 Quat 1 float Calculated attitude as quaternion 8 Quat 2 float Calculated attitude as quaternion 12 Quat 3 float Calculated attitude as quaternion Scalar component 16 MagX float Gauss Compensated magnetometer measurement in x axis 20 MagY float Gauss Compensated magnetometer measurement in y axis 24 MagZ float Gauss Compensated magnetometer measurement in z axis 28 AccelX float m s Compensated accelerometer measurement in x axis 32 AccelY float m s Compensated accelerometer measurement in y axis 36 AccelZ float m s Compensated accelerometer measurement in z axis 40 GyroxX float rad s Compensated angular rate in x axis 44 GyroY float rad s Compensated angular rate in y axis 48 GyroZ float rad s Compensated angular rate in z axis ey You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNQMR header t VN 100 User Manual 98 129 VN 100 User Manual UMO01 8 2 5 Magnetic Measurements Magnetic Measurements Register ID 17 Async Header MAG Access Read Only Comment Magnetometer measurements Size Bytes 12 Example Response SVNRRG 17 1 0647 0 2498 3 0628 66 Offset Name Format Unit Description O MagxX float Gauss Compensated magnetometer measurement in x axis 4 MagY float Gauss Compensated magnetometer measurement in y
50. ated 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 e This parameter can be adjusted from 0 to 10 e Zero places no confidence or infinite uncertainty in the sensor thus eliminating its effect on the attitude solution e 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 e This parameter can be adjusted from O0 to 10 e The minimum value of zero turns off all adaptive tuning e 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 t
51. ation stored in flash and the user compensation however it is not compensated by the onboard Hard Soft Iron estimator UncompMag Type float 5 5 3 UncompdAccel The IMU acceleration measured in units of m s42 given in the body frame This measurement is compensated by the static calibration individual factory calibration stored in flash however it is not compensated by any form of dynamic calibration UncompAccel accel 0 accel 1 accel 2 Byte offset olal2lala s s 7 e o 10 um Type float 4 VN 100 User Manual 48 129 VN 100 User Manual UMOO01 5 5 4 UncompGyro The IMU angular rate measured in units of rad s given in the body frame This measurement is compensated by the static calibration individual factory calibration stored in flash however it is not compensated by any dynamic calibration such as the bias compensation from the onboard AHRS Kalman filters UncompGyro gyro 0 gyro 2 Byte Offset 0 1 2 3 4 5 6 7 8 9 10 11 Type float 5 5 5 Temp The IMU temperature measured in units of Celsius Byte Offset Type 5 5 6 Pres The IMU pressure measured in kiloPascals This is an absolute pressure measurement Typical pressure at sea level would be around 100 kPa Byte Offset Type 5 5 7 DeltaTheta The delta theta dtheta is the delta rotation angles incurred due to rotation since the last time the values were output by the device The delta angles are calculated based upon the
52. ation within the manual U The information symbol points to important information within the manual Q The warning symbol points to crucial information or actions that should be followed to avoid reduced performance or damage to the navigation module 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 Technical Support Contact Info Email support vectornav com Phone 1 512 772 3615 4 VN 100 User Manual 2 129 VN 100 User Manual Table of Contents 1 Introduction 1 1 PRODUCT DESCRIPTION 1 2 FACTORY CALIBRATION 1 3 OPERATION OVERVIEW 1 4 PACKAGING OPTIONS 1 5 VN 100 PRODUCT CODES Specifications 2 1 VN 100 SURFACE MOUNT DEVICE SMD ELECTRICAL 2 2 VN 100 RUGGED ELECTRICAL 2 3 VN 100 SURFACE MOUNT DEVICE SMD DIMENSIONS 2 4 VN 100 RUGGED DIMENSIONS 2 5 ABSOLUTE MAXIMUM RATINGS 2 6 SENSOR COORDINATE SYSTEM VN 100 Software Architecture 3 1 IMU SUBSYSTEM 3 2 NAVSTATE SUBSYSTEM 3 3 NAVFILTER SUBSYSTEM 3 4 VECTOR
53. aults Settings Name Default Factory Value Magnetic and Gravity Reference Vectors 1 0 1 8 0 0 9 793746 Reference Vector Configuration 0 0 0 0 1000 0 0 0 0 t VN 100 User Manual 126 129 VN 100 User Manual UMOO01 11 3 Command Prompt The command prompt provides a fast and simple means of configuring and monitoring the status of the sensor by typing commands to the unit using the serial port 11 3 1 List Available Commands Commands for the System subsystem can be accessed by typing in refmodel at the command prompt To view all available commands type refmodel Below is a view of a terminal window showing a list of the available commands refmodel World Magnetic amp Gravity Reference Model Commands Command Description Information on the current available reference models Calculate the magnetic and gravity reference for a given position amp time 11 3 2 Info refmodel info World Magnetic amp Gravity Reference Model Information World Magnetic Model STATUS gt Present Name gt WMM2010 Order EL Model Start Date Oly AS Model Expiration Date 01 01 2015 World Gravity Model STATUS gt Present Name gt EGM96 Order eli Model Start Date veal Oly no 3G Model Expiration Date 01 01 2100 Magnetic and Gravity Reference Vectors Register 21 MagRefX oe 010 00 MagRefY 2 7 002000 MagRefZ tO Oe N GravityRefX 000 000 GravityRery 000000 GravityRefa 009 794 Reference Vector Config
54. axis 8 GyroZ float rad s Compensated angular rate in z axis You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNGYR header VN 100 User Manual 101 129 VN 100 User Manual UMO01 8 2 8 Magnetic Acceleration and Angular Rates Magnetic Acceleration and Angular Rates Register ID 20 Async Header MAR Access Read Only Comment Magnetic acceleration and compensated angular rates Size Bytes 36 Example Response SVNRRG 20 1 0684 0 2578 3 0649 00 005 00 341 09 780 0 000963 0 000840 0 000466 64 Offset Name Format Unit Description 0 MagX float Gauss Compensated magnetometer measurement in x axis 4 MagY float Gauss Compensated magnetometer measurement in y axis 8 MagZ float Gauss Compensated magnetometer measurement in z axis 12 AccelX float m s Compensated accelerometer measurement in x axis 16 AccelY float m s Compensated accelerometer measurement in y axis 20 AccelZ float m s Compensated accelerometer measurement in z axis 24 GyroX float rad s Compensated angular rate in x axis 28 GyroY float rad s Compensated angular rate in y axis 32 GyroZ float rad s Compensated angular rate in z axis You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register wil
55. axis 8 MagZ float Gauss Compensated magnetometer measurement in z axis ey You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNMAG header VN 100 User Manual 99 129 VN 100 User Manual UMO01 8 2 6 Acceleration Measurements Register ID 18 Async Header ACC Access Read Only Comment Acceleration measurements Size Bytes 12 Example Response SVNRRG 18 00 013 00 354 09 801 65 Offset Name Format Unit Description 2 A 0 AccelX float m s Compensated accelerometer measurement in x axis 2 4 AccelY float m s Compensated accelerometer measurement in y axis 2 8 AccelZ float m s Compensated accelerometer measurement in z axis You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNACC header t VN 100 User Manual 100 129 VN 100 User Manual UMO01 8 2 7 Angular Rate Measurements Angular Rate Measurements Register ID 19 Async Header GYR Access Read Only Comment Compensated angular rates Size Bytes 12 Example Response SVNRRG 19 0 002112 0 000362 0 000876 6C Offset Name Format Unit Description 0 GyroxX float rad s Compensated angular rate in x axis 4 GyroY float rad s Compensated angular rate in y
56. cation interfaces errors Overview of the logged system errors reset Perform a software reset on the unit save Save register settings to flash memory restore Restore register settings to their factory default state 6 5 2 System Info system info Hardware Produce Model YVN 1005 SMD Serial Number 100015800 MCU Serial Numoesrs 9134333659333 2470100250024 Hardware Revision 7 POrM Revision 970 Software Firmware Version Revision Build Number 6 5 3 System Comm system comm System Communication Interfaces Communicat lon Stars Serial Messages Parsed Spi Messages Parsed Max Serial RX Buffer Usage Max Serial TX Buffer Usage Max Spi RX Buffer Usage Max Spi TX Buffer Usage 4 VN 100 User Manual 79 129 VN 100 User Manual UMO01 Current Serial TX Bandwidth Usage 00 0 Current Serial 2 TX Bandwidth Usage 49 3 Max Serial 1 TX Bandwidth Usage 49 Max Serval 2 Ix Bandwidth Usage 50 Min Serial 1 TX Bandwidth Usage in Serial 2 TX Bandwidth Usage 6 5 4 System Errors system errors S Sipe Iicicoles Hard Fault Exceptions Serial Input Buffer Overflow Serial Output Buffer Overflow Serial Insufficient Bandwidth Invalid Checksums Invalid Commands LOUT Error TOO Few Parameters Input rror TOO Many ParemetTers Tnput Error Invalid Parameter Input Error Invalid Register TAPE rror Unauthorized Access BELOL Watchdog Reset O O O O 6 2 O O O O Zs O 6 5 5 System Re
57. convergence the more accurate the estimate of the hard soft iron solution A quicker convergence will provide a less accurate estimate of the hard soft iron parameters but for applications where the hard soft iron changes rapidly may provide a more accurate attitude estimate Range 1to5 1 Solution converges slowly over approximately 60 90 seconds 5 Solution converges rapidly over approximately 15 20 seconds Table 47 HSI_ Mode Field Mode Value Description HSI_OFF 0 Real time hard soft iron calibration algorithm is turned off HSI_RUN 1 Runs the real time hard soft iron calibration The algorithm will continue using its existing solution The algorithm can be started and stopped at any time by switching between the HSI_OFF and HSI_ RUN state HSI_ RESET 2 Resets the real time hard soft iron solution Table 48 HSI_ Output Field Mode Value Description NO ONBOARD 1 Onboard HSI is not applied to the magnetic measurements USE ONBOARD 3 Onboard HSI is applied to the magnetic measurements 4 VN 100 User Manual 109 129 VN 100 User Manual UMO01 9 2 Status Registers 9 2 1 Calculated Magnetometer Calibration Calculated Magnetometer Calibration Register ID 47 Firmware v1 0 0 0 Access Read Only Comment Calculated magnetometer calibration values Size Bytes 48 Example Response SVNRRG 46 1 0 0 0 1 0 0 0 1 0 0 0 70 Offset Name Format Unit Description 0 C 0 0 float 4 C 0 1 float 8 C 0 2 float 12
58. d Only Comment Serial Number Size Bytes 4 Example Response SVNRRG 03 0100015800 51 Offset Name Format Unit Description 0 SerialINum uint32 Serial Number 32 bit unsigned integer 4 VN 100 User Manual 63 129 VN 100 User Manual UMO01 6 2 5 Firmware Version Register Firmware Version Register RegisterID 4 Firmware 1 0 0 0 Access Read Only Comment Firmware version Size Bytes 4 Example Response SVNRRG 04 2 0 0 0 77 Offset Name Format Unit Description 0 Major uint8 Major release version of firmware Version 1 Minor uint8 Minor release version of firmware Version 2 Feature uint8 Feature release version of the firmware Version 3 HotFix uint8 Hot fix number Numbers above 100 are reserved for custom firmware versions 4 VN 100 User Manual 64 129 VN 100 User Manual UMO01 6 2 6 Serial Baud Rate Register Register ID 5 Firmware 1 0 0 0 Access Read Write Comment Serial baud rate Size Bytes 4 Example Command SVNWRG 05 115200 5D Offset Name Format Unit Description 0 Baud Rate uint32 Serial baud rate 4 Serial Port uint8 Optional The serial port to change the baud rate on If this parameter is not provided then the baud rate will be changed for the active serial port 1 Serial Port 1 2 Serial Port 2 Table 25 Baud Rate Settings Acceptable Baud Rates 9600 19200 38400 57600 115200 128000 230400 460800 921600 The serial port parameter in this register
59. d SVNCMD XX UART Response SVNCMD XX 4 VN 100 User Manual 58 129 VN 100 User Manual UMOO01 6 1 9 Asynchronous Output Pause Command This command allows the user to temporarily pause the asynchronous outputs on the given serial port When paused both the ASCII and the 3 binary asynchronous output messages will temporarily stop outputting from the device on the serial port for which this command is received The state of the asynchronous output register and the binary output configuration registers will not be changed when the asynchronous outputs are paused This command is useful when you want to send configuration commands to the VN 100 but do not want to deal with the additional overhead of having to parse a constant stream of asynchronous output messages while waiting for the response to your configuration commands It is also useful when you want to type commands to the device from a serial command prompt The below example commands demonstrate how to pause and resume asynchronous outputs Example Command Message Pause Async Outputs SVNASY O XX Resume Async Outputs SVNASY 1 XX t VN 100 User Manual 59 129 VN 100 User Manual UMO01 6 2 Configuration Registers 6 2 1 User Tag Register Register ID 0 Firmware 1 0 0 0 Access Read Write Comment User assigned tag register Any values can be assigned to this register They will be stored to flash upon issuing a write settings command Size Bytes 20 Example Response SVNRRG OO S
60. der t VN 100 User Manual 81 129 VN 100 User Manual UMOO01 7 1 2 Delta Theta and Delta Velocity Register ID 80 Async Header DTV Access Read Comment This register contains the output values of the onboard coning and sculling algorithm Size Bytes 28 Example Response SVNRRG 80 0 099998 000 005 000 069 000 125 000 004 000 032 001 000 64 Offset Name Format Unit Description 0 DeltaTime float sec Delta time for the integration interval 4 DeltaThetaX float deg Delta rotation vector component in the x axis 8 DeltaThetaY float deg Delta rotation vector component in the y axis 12 DeltaThetaZ float deg Delta rotation vector component in the z axis 16 DeltaVelocityX float m s Delta velocity vector component in the x axis 20 DeltaVelocityY float m s Delta velocity vector component in the y axis 24 DeltaVelocityZ float m s Delta velocity vector component in the z axis The Delta Theta and Delta Velocity register contains the computed outputs from the onboard coning and sculling algorithm The coning and sculling integrations are performed at the IMU sample rate nominally at 800Hz and reset when the register data is output If polling this register the values will represent the delta time angles and velocity since the register was last polled If the Delta Theta Velocity data is selected for asynchronous output via the Async Data Output Type register Register 6 type 30 the integrals will be reset each time the data is asy
61. e 0x420215A4 OX3FEBDF4D OXBE361AF6 0X41A42DBF OXA83A 32 521133 Yaw 1 8427521 Pitch 1 7783722e 1 Roll 20 522337 Temp t VN 100 User Manual 43 129 VN 100 User Manual UMOO01 5 4 Binary Group 1 Common Outputs Binary group 1 contains a wide assortment of commonly used data required for most applications All of the outputs found in group 1 are also present in the other groups In this sense group 1 is a subset of commonly used outputs from the other groups This simplifies the configuration of binary output messages for applications that only require access to the commonly used data found in group 1 For these applications you can hard code the group field to 1 and not worry about implemented support for the other binary groups Using group 1 for commonly used outputs also has the advantage of reducing the overall packet size since the packet length is dependent upon the number of binary groups active Table 19 Binary Group 1 Name Bit Offset Description TimeStartup O Time since startup Reserved 1 Reserved Not used on the VN 100 TimeSynclin 2 Time since last Syncin trigger YawPitchRoll 3 Estimated attitude as yaw pitch and roll angles Quaternion 4 Estimated attitude as a quaternion AngularRate 5 Compensated angular rate Reserved 6 Reserved Not used on VN 100 Reserved 7 Reserved Not used on VN 100 Accel 8 Estimated acceleration Body Imu 9 Calibrated uncompensated gyro and accelerometer measurement
62. e Relative Indoor TE Heading Heading Mode Handle high frequency magnetic Yes Yes Yes Handle high frequency magnetic disturbances greater than 1Hz disturbances greater than 1Hz Handle constant disturbances lasting Yes Yes Yes Handle constant disturbances lasting less than a few seconds less than a few seconds Handle constant disturbances lasting No Yes Yes Handle constant disturbances lasting longer than a few seconds longer than a few seconds 4 VN 100 User Manual 23 129 VN 100 User Manual UMOO01 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 estim
63. ecific to that register Refer to the appropriate register in Section 6 for this formatting If an invalid register is requested an error code will be returned The error code format is described in Section 4 3 Example Command Message UART Command SVNWRG 5 9600 60 UART Response SVNWRG 5 9600 60 SPI Command 02 05 00 00 80 25 00 00 shown as hex SPI Response 00 02 05 00 80 25 00 00 shown as hex t VN 100 User Manual 56 129 VN 100 User Manual UMOO01 6 1 3 Write Settings Command This command will write the current register settings into non volatile memory Once the settings are stored in non volatile Flash memory the VN 100 module can be power cycled or reset and the register will be reloaded from non volatile memory The module can always be reset to the factory settings by issuing the Restore Factory Settings command or by pulling pin 7 Tare Restore high during reset Example Command Message UART Command SVNWNV 57 UART Response SVNWNV 57 SPI Command 03 00 00 00 shown as hex SPI Response 00 03 00 00 shown as hex Due to limitations in the flash write speed the write settings command takes 500ms to complete Any commands that are sent to the sensor during this time will be responded to after the operation is complete 6 1 4 Restore Factory Settings Command This command will restore the VN 100 module s factory default settings and will reset the module There are no parameters for this command The module will
64. either serial port 1 Message is sent out serial port 1 at a fixed rate 2 Message is sent out serial port 2 at a fixed rate 3 Message is sent out both serial ports at a fixed rate 2 RateDivisor uint16 Sets the fixed rate at which the message is sent out the selected serial port s The number given is a divisor of the ImuRate which is nominally 800Hz For example to have the sensor output at 50Hz you would set the Divisor equal to 16 4 OutputGroup uint16 Selects which output groups are active in the message The number of OutputFields in this message should equal the number of active bits in the OutputGroup 6 OutputField 1 uint16 Active output fields for the first active group 4 2 N OutputField N uint16 Active output fields for the Nth active group Comment t VN 100 User Manual 37 129 VN 100 User Manual UMOO01 5 2 1 Example Case 1 Selecting outputs from only the Common Group For many applications you might be able to get by with only the output types available in the common group For these situations the configuration of the output message is simple Suppose only the following information shown below is desired Bit Group 1 Offset Common 0 TimeStartup 3 YawPitchRoll 5 AngularRate For this example we will assume that the data will be polled using serial port 2 at 50 Hz To configure this output message you would send the following command to the VN 100 SVNWRG 75 2 16 01 0029 XX Now le
65. ent commands accepted by the VN 100 are listed in Section 6 1Error Reference ource not found SPI Transaction Error Example SPI Example Transaction Error Response Attempt to Write to Read Only Register Request Packet iadi Argl Empty Empty MagxX 1 0 Magy 2 0 MagZ 3 0 12 00 00 00 00 80 p 00 00 oO 40 00 00 40 40 02 12 00 00 C Dont Care MMMM Em Cmd Argl ErriD Response to previous request Previous Packet Payload ________________ 00 02 12 08 parca ncn nn nnn nn nnn nn nnn nn nnn nance nnn 16 bytes 2 2 2 onan nn nnn nn nnn nn nnn nn nnn nnn 4 bytes Response Packet Cmd Argl Empty Empty The above example demonstrates what will happen when an error occurs during a transaction In this case the user attempted to write to a read only register The fourth byte of the response packet header shows an Error ID of 8 was returned which corresponds to an Invalid Register The different error codes are listed in Table 15 t VN 100 User Manual 31 129 VN 100 User Manual UMOO01 4 3 System Error Codes In the event of an error the VN 100 will output SVNERR followed by an error code The possible error codes are listed in the table below with a description of the error Table 15 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
66. er ID 23 Firmware 1 0 0 0 Access Read Write Comment Allows the magnetometer to be compensated for hard soft iron effects Size Bytes 48 Example Command SVNRRG 23 1 0 0 0 1 0 0 0 1 0 0 0 73 Offset Name Format Unit Description 0 C 0 0 float 4 C 0 1 float 8 C 0 2 float 12 C 1 0 float 16 C 1 1 float 20 C 1 2 float 24 C 2 0 float 28 C 2 1 float 32 C 2 2 float 36 B O float 40 B 1 float 44 B 2 float This register contains twelve values representing the hard and soft iron compensation parameters The magnetic measurements are compensated for both hard and soft iron using the following model Under normal circumstances this register can be left in its factory default state In the event that there are disturbances in the magnetic field due to hard or soft iron effects then these registers allow for further compensation These registers can also be used to compensate for significant changes to the magnetometer bias gain and axis alignment during installation Note that this magnetometer compensation is separate from the compensation that occurs during the calibration process at the factory Setting this register to the default state of an identity matrix and zero offset will not eliminate the magnetometer gain bias and axis alignment that occur during factory calibration These registers only need to be changed from their default values in the event that hard soft iron compensation needs to be performed
67. estimator Mag Byte Offset 0 1 2 3 4 5 6 7 8 9 10 m Type float 5 5 10 Accel The compensated acceleration measured in units of m s42 and given in the body frame This measurement is compensated by the static calibration individual factory calibration stored in flash and the user compensation This acceleration is equivalent to the specific force in the body frame as measured by the accelerometer and thus includes gravity Accel accel 0 accel 1 accel 2 Byte Offset o al2lalals s 7 elo 101m Type float 5 5 11 AngularRate The compensated angular rate measured in units of rad s and given in the body frame This measurement is compensated by the static calibration individual factor calibration stored in flash the user compensation and the dynamic bias compensation from the onboard VPE Kalman filter AngularRate Byte Offset 0 1 2 3 4 5 6 7 8 9 m Type float 4 VN 100 User Manual 50 129 VN 100 User Manual UMO01 5 5 12 SensSat This field provides flags identifying whether any of the measurements are currently saturated SensSat Byte Offset Poe ay Type Table 21 SensSat Bit Field Description Name Bit Offset Description MagxX 0 Magnetometer X axis is saturated Magy 1 Magnetometer Y axis is saturated MagZ 2 Magnetometer Z axis is saturated AccX 3 Accelerometer X axis is saturated AccY 4 Accelerometer Y axis is saturated AccZ 5 Accelerometer Z axis is saturated GyroxX 6 Gyr
68. eter measures both acceleration o and the effect of static gravity in the body frame This register contains the true acceleration which does not contain gravity and should measure O when the device is stationary 4 VN 100 User Manual 103 129 VN 100 User Manual UMOO01 8 2 10 Yaw Pitch Roll True Inertial Acceleration and Angular Rates Yaw Pitch Roll True Inertial Acceleration and Angular Rates Register ID 240 Async Header YIA Access Read Only Comment Attitude solution as yaw pitch roll and the inertial acceleration Size Bytes 36 Example Response SVNRRG 240 124 642 000 993 000 203 00 009 00 027 00 084 00 000479 00 000522 00 000076 5F Offset Name Format Unit Description 0 Yaw float deg Calculated attitude heading angle in degrees 4 Pitch float deg Calculated attitude pitch angle in degrees 8 Roll float deg Calculated attitude roll angle in degrees 12 mediae foa e Compensated acceleration estimate in the inertial NED X axis no gravity 16 ciara float m s Compensated acceleration estimate in the inertial NED Y axis no gravity i i in the i ial NED Z axis 30 meniace for male Compensated acceleration estimate in the inertia axis NO gravity 24 GyroxX float rad s Compensated angular rate in the body X axis 28 GyroY float rad s Compensated angular rate in the body Y axis 32 GyroZ float rad s Compensated angular rate in the body Z axis You can configure the device to output this register at
69. figure accurately depicts quality of attitude solution provided by three separate types of attitude estimators while operating in a coordinated turn The flight display on the far left represents the actual attitude which is derived from the flight simulator Moving from left to right are three separate types of attitude estimators shown in order based upon the accuracy of their derived solution The most accurate solution is proved by the Inertial Navigation System INS This type of estimator incorporates the position and velocity measurements from a GPS along with the accelerometer and gyroscope in an optimal fashion to simultaneously estimate attitude and the position and velocity of the vehicle It provides the most accurate attitude estimate since it makes no assumptions regarding the accelerometer measurements Measurement Sources for Velocity Aiding Below are three common sources used for velocity aiding Airspeed Sensor When an airspeed sensor is used for velocity aiding it is important to note which type of airspeed is being used Since the airspeed input is being used by the AHRS to estimate the centripical acceleration the airspeed used should be ideally close to the actual speed relative to the fixed earth Normally airspeed sensors measure the speed of the aircraft relative to the atmosphere thus there will be a difference between the speed relative to the fixed Earth and the speed given by the airspeed indicator equal to the speed of
70. filters if applicable or both Table 39 IMU Filtering Modes Value Description 0 No Filtering 1 Filtering performed only on raw uncompensated IMU measurements 2 Filtering performed only on compensated IMU measurements 3 Filtering performed on both uncompensated and compensated IMU measurements 4 VN 100 User Manual 87 129 VN 100 User Manual UMOO01 7 2 6 Delta Theta and Delta Velocity Configuration Delta Theta and Delta Velocity Configuration Register ID 82 Firmware v1 0 0 0 Access Read Write Comment This register contains configuration options for the internal coning sculling calculations Size Bytes 6 Example Response SVNRRG 82 0 0 0 0 0 65 Offset Name Format Unit Description 0 IntegrationFrame uint8 Output frame for delta velocity quantities 1 GyroCompensation uint8 Compensation to apply to angular rate 2 AccelCompensation uint8 Compensation s to apply to accelerations 3 Reserved uint8 Reserved for future use Should be set to 0 4 Reserved uint16 Reserved for future use Should be set to 0 The Delta Theta and Delta Velocity Configuration register allows configuration of the onboard coning and sculling used to generate integrated motion values from the angular rate and acceleration IMU quantities The fully coupled coning and sculling integrals are computed at the IMU sample rate nominal 800 Hz IntegrationFrame The IntegrationFrame register setting selects the reference frame used for co
71. he 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 e This parameter can be adjusted from O to 10 e The minimum value of zero turns off all adaptive filtering e The maximum value of 10 will apply maximum filtering 4 VN 100 User Manual 24 129 VN 100 User Manual UMOO01 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 4 5 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 AH
72. ilter The values map to either the user set values or the results of calculations of the onboard reference models see the Reference Vector Configuration register When the reference values come from the onboard model s those values are read only When the reference models are disabled the values reflect the user reference vectors and will be writable For example if the onboard World Magnetic Model is enabled and the onboard Gravitational Model is disabled only the gravity reference values will be modified on a register write Note that the user reference vectors will not be overwritten by the onboard models but will retain their previous values for when the onboard models are disabled t VN 100 User Manual 124 129 VN 100 User Manual UMOO01 11 1 2 Reference Vector Configuration Reference Vector Configuration Register ID 83 Firmware v1 0 0 0 Access Read Write Comment Control register for both the onboard world magnetic and gravity model corrections Size Bytes 32 Example Response SVNRRG 83 0 0 0 0 1000 0 000 00 00000000 000 00000000 00000 000 4E Offset Name Format Unit Description 0 UseMagModel uint8 Set to 1 to use the world magnetic model 1 UseGravityModel uint8 Set to 1 to use the world gravity model 2 Resv1 uint8 Reserved for future use Must be set to zero 3 Resv2 uint8 Reserved for future use Must be set to zero 4 RecalcThreshold uint32 Maximum distance traveled before magnetic and gravity models
73. indowsSize uint16 Number of previous measurements averaged for gyro measurements 6 TempWindowSize uint16 Number of previous measurements averaged for temperature measurements 8 PresWindowSize uint16 Number of previous measurements averaged for pressure measurements 10 MagFilterMode uint8 Filtering mode for magnetic measurements See table below for options 11 AccelFilterMode uint8 Filtering mode for acceleration measurements See table below for options 12 GyroFilterMode uint8 Filtering mode for gyro measurements See table below for options 13 TempFilterMode uint8 Filtering mode for temperature measurements See table below for options 14 PresFilterMode uint8 Filtering mode for pressure measurements See table below for options This register allows the user to configure the FIR filtering what is applied to the IMU measurements The filter is a uniformly weighted moving window boxcar filter of configurable size The filtering does not affect the values used by the internal filter but only the output values WindowsSize The WindowSize parameters for each sensor define the number of samples at the IMU rate default 800Hz which will be averaged for each output measurement FilterMode The FilterMode parameters for each sensor select which output quantities the filtering should be applied to Filtering can be applied to either the uncompensated IMU measurements compensated HSI and biases compensated by onboard
74. ional cosine matrix given in column major order The DCM maps vectors from the North East Down NED frame into the body frame Dcm Fields dem 5 Byte Offset E E E 20 21 22 23 Type Dcm continued Fields dcm 6 dcm 8 Byte Offset Type float 5 6 5 MagNed The current estimated magnetic field Gauss given in the North East Down NED frame The current attitude solution is used to map the measurement from the measured body frame to the inertial NED frame This measurement is compensated by both the static calibration individual factory calibration stored in flash and the dynamic calibration such as the user or onboard Hard Soft Iron compensation registers MagNed 4 VN 100 User Manual 53 129 VN 100 User Manual UMOO01 ayte Offset ola 2 3 4 5 6 7 8 9 40 a Type float 5 6 6 AccelNed The estimated acceleration with gravity reported in m s 2 given in the North East Down NED frame This measurement is attitude dependent since the attitude is used to map the measurement from the body frame into the inertial NED frame If the device is stationary and the VPE Kalman filter is tracking the measurement should be nominally equivalent to the gravity reference vector in the inertial frame NED AccelNed pyte offset o 1 2 3a s 6 71e o 10 r Type float 4 VN 100 User Manual 54 129 VN 100 User Manual UMOO01 5 6 7 LinearAccelBody The estimated linear acceleration withou
75. is optional If it is not provided the baud rate will be changed on the active serial port The response to this register will include the serial port parameter if the optional parameter is provided If the second parameter is not provided then the response will not include this parameter ey Upon receiving a baud rate change request the VN 100 will send the response prior to changing the baud rate 4 VN 100 User Manual 65 129 VN 100 User Manual UMOO01 6 2 7 Async Data Output Type Register Register ID 6 Firmware 1 0 0 0 Access Read Write Comment Asynchronous data output type Size Bytes 4 Example Command SVNWRG 06 14 5C Offset Name Format Unit Description 0 ADOR uint32 Output register 4 Serial Port uint8 Optional The serial port to change the asynchronous data type on If this parameter is not provided then the ADOR will be changed for the active serial port 1 Serial Port 1 2 Serial Port 2 This register controls the type of data that will be asynchronously outputted by the module With this register the user can specify which data register will be automatically outputted when it gets updated with a new reading Table 26 below lists which registers can be set to asynchronously output the value to specify which register to output and the header of the asynchronous data packet Asynchronous data output can be disabled by setting this register to zero The asynchronous data output will be sent out auto
76. istort 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 e Capable of handling short term and long term magnetic interference e Can handle significant errors in the hard soft iron while still maintaining a stable heading and gyro bias estimate e Capable of maintaining an accurate absolute heading over extended periods of time Indoor Heading Mode Disadvantages e 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 eE Absolut
77. ive tuning for X Axis 16 AdaptiveTuningY float 0 10 Level of adaptive tuning for Y Axis 20 AdaptiveTuningZ float 0 10 Level of adaptive tuning for Z Axis 24 AdaptiveFilteringX float 0 10 Level of adaptive filtering for X Axis 28 AdaptiveFilteringY float 0 10 Level of adaptive filtering for Y Axis 32 AdaptiveFilteringZ float 0 10 Level of adaptive filtering for Z Axis t VN 100 User Manual 107 129 VN 100 User Manual UMO01 8 4 Factory Defaults Settings Name Default Factory Value VPE Basic Control 1 1 1 1 VPE Magnetic Basic Tuning 4 4 4 5 5 5 5 5 5 5 5 5 VPE Accelerometer Basic Tuning 6 6 6 3 3 3 5 5 5 VN 100 User Manual 108 129 VN 100 User Manual UMO01 9 Hard Soft Iron Estimator Subsystem 9 1 Configuration Registers 9 1 1 Magnetometer Calibration Control Magnetometer Calibration Control Register ID 44 Firmware v1 0 0 0 Access Read Write Comment Controls the magnetometer real time calibration algorithm Size Bytes 4 Example Response SVNRRG 44 1 2 5 69 Offset Name Format Unit Description 0 HSIMode uint8 Controls the mode of operation for the onboard real time magnetometer hard soft iron compensation algorithm 1 HSlOutput uint8 Controls the type of measurements that are provided as outputs from the magnetometer sensor and also subsequently used in the attitude filter 2 ConvergeRate uint8 Controls how quickly the hard soft iron solution is allowed to converge onto a new solution The slower the
78. l be sent out with the SVNMAR header t VN 100 User Manual 102 129 VN 100 User Manual UMOO01 8 2 9 Yaw Pitch Roll True Body Acceleration and Angular Rates Yaw Pitch Roll True Body Acceleration and Angular Rates Register ID 239 Async Header YBA Access Read Only Comment Attitude solution as yaw pitch roll and the inertial acceleration Size Bytes 36 SVNRRG 239 124 743 001 019 000 203 00 019 00 001 00 039 00 001665 Example Response 49 990785 00 000647 55 Offset Name Format Unit Description 0 Yaw float deg Calculated attitude heading angle in degrees 4 Pitch float deg Calculated attitude pitch angle in degrees 8 Roll float deg Calculated attitude roll angle in degrees 12 BodyAccelX float m s Linear acceleration estimate in the body X axis no gravity 16 BodyAccelY float m s Linear acceleration estimate in the body Y axis no gravity 20 BodyAccelZ float m s Linear acceleration estimate in the body Z axis no gravity 24 GyroX float rad s Compensated angular rate in the body X axis 28 GyroY float rad s Compensated angular rate in the body Y axis 32 GyroZ float rad s Compensated angular rate in the body Z axis iy You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNYBA header This register contains the true measured acceleration The accelerom
79. ll read O in all three axes AngularRate Byte Offset o a 2 a als 6 7 e o 10 ua Type float 5 6 10 YprU The estimated attitude Yaw Pitch Roll uncertainty 1 Sigma reported in degrees YprU o Byte offset o a 2 3 als 6 7 e o 10 Type 4 VN 100 User Manual 55 129 VN 100 User Manual UMOO01 6 System Module 6 1 Commands 6 1 1 Read Register Command This command allows the user to read any of the registers on the VN 100 module see Section 6 for the list of available registers The only required parameter is the ID of the register to be read The first parameter of the response will contain the same register ID followed by a variable number of parameters The number of parameters and their formatting is specific to the requested register Refer to the appropriate register Section contained in Section 6 for details on this formatting If an invalid register is requested an error code will be returned The error code format is described in Section 4 3 Example Command Message UART Command SVNRRG 5 46 UART Response SVNRRG 5 9600 65 SPI Command 01 05 00 00 shown as hex SPI Response 00 01 05 00 80 25 00 00 shown as hex 6 1 2 Write Register Command This command is used to write data values to a specified register on the VN 100 module see Section 6 for the list of available registers The ID of the register to be written to is the first parameter This is followed by the data values sp
80. ll result in 0x0000 computed by the running CRC calculation over the entire packet This provides a simple way of detecting packet corruption by simply checking to see if the CRC calculation of the entire packet not including the sync byte results in zero 5 3 6 Payload Length When parsing the packet you will need to know the length of the payload in bytes in order to know where the packet ends in the data stream In order to reduce the overhead of the packet header length the length of the payload is not included in the header Instead it should be derived based upon determining the type of data present in the packet All output data types are fixed length thus the total length of the payload can be determined based upon inspection of the group byte and the group field bytes In most applications you will likely only use a few binary output types thus hard coding the payload length in your parser is the easiest approach If you want to develop a more generic parser that can handle all available data output types supported by the VN 100 the easiest approach is to use a table lookup Table 18 Binary Output Payload Length In Bytes Group Group Group 1 3 5 Field 1 8 2 2 Field 2 12 12 Field 3 8 12 16 Field 4 12 12 36 Field 5 16 4 12 Field 6 4 12 Field 7 16 12 Field 8 12 12 12 Field 9 12 12 12 Field 10 24 12 Field 11 20 12 Field 12 28 2 Field 13 2 Field 14 Field 15 8 Field 16 4 VN 100 User Man
81. ltage 5 0 V 5 4 V Output high voltage 5 0 V 5 5 V Output resistance 300 Q 10 MQ Data rate 1 Mbps Pulse slew 300 ns 2 2 3 VN 100 Rugged Reset Syncln Out and Other General I O Pins Table 10 NRST Specifications Min Typical Max Input low level voltage 0 5 V 0 8 V Input high level voltage 2V 5 5 V Weak pull up equivalent resistor 30 kQ 40 KQ 50 kQ NRST pulse width 20 us Table 11 Syncin Specifications Min Typical Max Input low level voltage 0 5V 0 8V Input high level voltage 2V 5 5V Pulse Width 100 ns Table 12 SyncOut Specifications TE Output low voltage OV 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 4 VN 100 User Manual 13 129 VN 100 User Manual UMO01 2 3 VN 100 Surface Mount Device SMD Dimensions Figure 3 VN 100 PCB Footprint 100 7 7s OoOuuodod a als A 990 REEN 868 a Zz 045 123 ii f m 0000000 193 778 910 yo Measurements are in inches t VN 100 User Manual 14 129 VN 100 User Manual UMOO01 2 4 VN 100 Rugged Dimensions Figure 4 VN 100 Rugged Dimensions 125 for 4 40 Screw 2 063 for 1 16 Alignment Dowel Pins LAL 2 214 LOL 79 UNLESS OTHERWISE SPECIFIED DIMENSIONS ARE IN INCHES TOLERANCES ARE DECIMALS XX 01 XXX 005 Note Origin O for the sensor s coordinate system is located on the bottom face
82. matically at a frequency specified by the Async Data Output Frequency Register Section 0 The serial port parameter in this register is optional If it is not provided the ADOF will be changed on the active serial port The response to this register will include the serial port parameter if the optional parameter is provided If the second parameter is not provided the response will not include this parameter Table 26 Asynchronous Solution Output Settings Setting Asynchronous Solution Output Type Header Formatting Section 0 Asynchronous output turned off N A 1 Yaw Pitch Roll VNYPR 2 Quaternion VNQTN 8 Quaternion Magnetic Acceleration and Angular VNQMR Rates 10 Magnetic Measurements VNMAG 11 Acceleration Measurements VNACC 12 Angular Rate Measurements VNGYR 13 Magnetic Acceleration and Angular Rate VNMAR Measurements 14 Yaw Pitch Roll Magnetic Acceleration and Angular VNYMR Rate Measurements 16 Yaw Pitch Roll Body True Acceleration and Angular VNYBA Rates 17 Yaw Pitch Roll Inertial True Acceleration and VNYIA Angular Rates 19 IMU Measurements VNIMU 30 Delta theta and delta velocity VNDTV 4 VN 100 User Manual 66 129 VN 100 User Manual UMO01 6 2 8 Async Data Output Frequency Register Register ID 7 Firmware 1 0 0 0 Access Read Write Comment Asynchronous data output frequency Size Bytes 4 Example Response SVNRRG O7 40 5C Offset Name Format Unit Description 0 ADOF uint32
83. n this option extends the calibration process over multiple temperatures to ensure performance specifications are met over the full operating temperature range of 40C to 85C 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 e Attitude o Yaw Pitch amp Roll o Quaternions o Direction Cosine Matrix Angular Rates o Bias Compensated o Calibrated X Y amp Z Gyro Measurements Acceleration o Calibrated X Y amp Z Measurements e Magnetic o Calibrated X Y amp Z Measurements 4 VN 100 User Manual 5 129 VN 100 User Manual UMOO01 e 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 three axis accelerometer are compared to the expected magnitude and direction of gravity in dete
84. n Tool e CD w Software Development Kit e User Manual Quick Start Guide amp Documentation e Carrying Case 1 5 VN 100 Product Codes Table 1 VN 100 Product Codes 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 4 VN 100 User Manual 8 129 VN 100 User Manual UMO01 2 Specifications 2 1 VN 100 Surface Mount Device SMD Electrical Figure 1 Pin assignments top down view 11 ENABLE 15 RESV 14 RESV RX1 C 9 SYNC_OUT 16 SPI_SCK 17 SPI_MOSI 22 SYNC_IN 23 SPI_CS N N N MD N N 9 q gt N go D D gt 0 J O D BRE Rs Be lt lt O U 4 VN 100 User Manual 9 129 VN 100 User Manual UMOO01 Table 2 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
85. n for an AHRS is ultimately derived from the accuracy of the vector measurements provided by the accelerometer and magnetometer AHRS Assumptions Without any form of external compensation an AHRS does not have by itself any means of knowing how it is moving relative to the fixed Earth As such it does not have any means of knowing what the actual acceleration of the body is Since the accelerometer measures the effect of both gravity and the acceleration due to motion the standard AHRS algorithm has to make the assumption that the long term acceleration due to motion is zero With this assumption in place the AHRS know has sufficient information to estimate the pitch and roll based upon the measurement of gravity provided by the accelerometer This assumption works very well for applications where the sensor does not experience any long term acceleration such as when it is used indoors or when used on a large marine vessel Applications that do experience long term accelerations due to motion however will experience a significant error in the pitch and roll solution due to the fact that the assumption of zero body acceleration in the AHRS algorithm is constantly being violated The most common case where this acceleration becomes a significant problem for an AHRS is when it is used on an aircraft operating in a banked turn In straight and level flight the AHRS will provide an accurate measurement of attitude as long as the long term accelerations are
86. nal skip factor 12 SyncOutPulseWidth uint32 ns Output synchronization signal pulse width 16 RESERVED uint32 Reserved for future use Defaults to 0 SyncinMode The SyncinMode register controls the behavior of the Syncin event If the mode is set to COUNT then the internal clock will be used to control the IMU sampling If SynclnMode is set to IMU then the IMU sampling loop will run on a Syncin event The relationship between the Syncin event and a Syncin trigger is defined by the SynclnEdge and SynclnSkipFactor parameters If set to ASYNC then the VN 100 will output asynchronous serial messages upon each trigger event Table 28 Syncin Mode Mode Pin Value Description COUNT SYNC_IN 3 Count number of trigger events on SYNC_IN pin 22 IMU SYNC_IN 4 Start IMU sampling on trigger of SYNC_IN pin 22 ASYNC SYNC_IN 5 Output asynchronous message on trigger of SYNC_IN pin 22 t VN 100 User Manual 68 129 VN 100 User Manual UMOO01 SyncinEdge The SynclnEdge register controls the type of edge the signal is set to trigger on The factory default state is to trigger on a rising edge Table 29 SynciInEdge Mode Value Description 0 Trigger on rising edge 1 Trigger on falling edge SyncinSkipFactor The SynclnSkipFactor defines how many times trigger edges defined by SynclnEdge should occur prior to triggering a Syncin event The action performed on a Synclin event is determined by the Syncin mode As an example if the SyncInSki
87. ncMode uint16 Selects whether the output message should be sent out on the serial port s at a fixed rate 0 None User message is not automatically sent out either serial port 1 Message is sent out serial port 1 at a fixed rate 2 Message is sent out serial port 2 at a fixed rate 3 Message is sent out both serial ports at a fixed rate 2 RateDivisor uint16 Sets the fixed rate at which the message is sent out the selected serial port s The number given is a divisor of the ImuRate which is nominally 800Hz For example to have the sensor output at 50Hz you would set the Divisor equal to 4 If you are polling the message set the divisor to 1 4 OutputGroup uint16 Selects which output groups are active in the message The number of OutputFields in this message should equal the number of active bits in the OutputGroup 6 OutputField 1 uint16 Active output fields for the first active group 4 2 N OutputField N uint16 Active output fields for the Nth active group Comment ey See section 5 2 for information on the format for the Groups and Group Fields The size of this register is variable depending upon the number of group fields present When writing to this register you must provide the same number of group fields as there are bits active in the group byte If this condition is not met the unit will respond with an invalid parameter error code on a write register attempt The maximum size of a binary packet must n
88. nchronously output at the configured rate The delta time output contains the length of the time interval over which the deltas were calculated This can be used to check the interval time or to compute nonlinear average rates and accelerations from the integrated values The delta theta is output as a principal rotation vector defined as the product of the unit vector of the principal rotation axis and the principal rotation angle in degrees For small rotations a typical use case for delta angles the principal rotation vector elements may be treated individually as rotations in degrees about the individual sensor axes in any Euler rotation sequence with little error The delta velocity output provides the integration of the acceleration in the chosen frame taking into account the coupling effects of any simultaneous rotation experienced The coning and sculling algorithm can be configured to operate in multiple frames and with a variety of compensations applied See the Delta Theta and Delta Velocity Configuration register Register 82 for further details U You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNDTV header 4 VN 100 User Manual 82 129 VN 100 User Manual UMOO01 7 2 IMU Configuration Registers 7 2 1 Magnetometer Compensation Magnetometer Compensation Regist
89. ning and sculling Note that using any frame other than the body frame will rely on the onboard Kalman filter s attitude estimate The factory default state is to integrate in the sensor body frame Table 40 IntegrationFrame Value Description 0 Body frame 1 NED frame GyroCompensation The GyroCompensation register setting selects the compensation to be applied to the angular rate measurements before integration If bias compensation is selected the onboard Kalman filter s real time estimate of the gyro biases will be used to compensate the IMU measurements before integration The factory default state is to integrate the uncompensated angular rates from the IMU Table 41 GyroCompensation Value Description 0 None 1 Bias 4 VN 100 User Manual 88 129 VN 100 User Manual UMOO01 AccelCompensation The AccelCompensation register setting selects the compensation to be applied to the acceleration measurements before integration If bias compensation is selected the onboard Kalman filter s real time estimate of the accel biases will be used to compensate the IMU measurements before integration The factory default state is to integrate the uncompensated acceleration from the IMU Table 42 AccelCompensation Value Description 0 None 1 Bias t VN 100 User Manual 89 129 VN 100 User Manual UMO01 7 3 Factory Defaults Magnetometer Compensation 1 0 0 0 1 0 0 0 1 0 0 0 Accelerometer Compensation 1 0 0 0 1 0
90. nominally zero When the aircraft banks and enters a coordinated turn however a long term acceleration is present which due to the centripetal force created by traveling along a curved path This apparent force is what makes you feel as if you are being pushed to the side when you drive around a corner in a Car 4 VN 100 User Manual 116 129 VN 100 User Manual UMO01 Figure 12 Measured Acceleration in Coordinated Turn When an aircraft is in a banked turn the accelerometer will measure gravity plus this centripetal acceleration which will result in a measurement vector that acts perpendicular to the wings of the aircraft as shown in Figure 1 This will result in the AHRS estimating a roll angle of zero while the aircraft is in fact in a banked turn and thus has a significant actual roll angle relative to the horizon If the AHRS however can obtain some knowledge of this actual motion relative to the fixed Earth then it is possible for it to subtract out the effect of the centripetal acceleration resulting in an accurate estimate of attitude By providing the AHRS with the known velocity or airspeed it is possible for the AHRS to estimate the centripetal acceleration term based upon this velocity and the known body angular rates Figure 13 AHRS with Velocity Compensation Simulation Truth Inertial Navigation System AHRS with Compensation AHRS without Compensation 4 VN 100 User Manual 117 129 VN 100 User Manual UMOO01 The above
91. ns 4 VelocityTuning float Tuning parameter for the velocity measurement 8 RateTuning float Tuning parameter for the angular rate measurement Table 49 Velocity Compensation Modes Value Description 0 Disabled 1 Body Measurement t VN 100 User Manual 120 129 VN 100 User Manual UMO01 10 3 Status Registers 10 3 1 Velocity Compensation Status INTERNAL REGISTER This register is not listed in the public User Manual It is not recommended to supply this register to customers unless there is a specific reason to do so Velocity Compensation Status RegisterID 52 Firmware v1 1 140 4 Access Read Comment Provides diagnostic status information for the velocity compensation algorithm Size Bytes 8 Example Response SVNRRG 51 1 0 1 0 01 5A Offset Name Format Unit Description 0 X float m s Estimated velocity magnitude 4 xDot float m s Estimated acceleration magnitude 8 accelOffset float 3 m s Estimated acceleration offset 20 omega float 3 rad s Filtered angular rate 4 VN 100 User Manual 121 129 VN 100 User Manual UMO01 10 4 Input Measurements 10 4 1 Velocity Compensation Measurement Velocity Compensation Measurement Register ID 50 Firmware v1 1 140 4 Access Read Write Input register for a velocity measurement to be used by the filter to compensate for acceleration disturbances Size Bytes 12 Example Response SVNRRG 50 37 2 0 0 42 Comment Offset Name Format Unit Description
92. nstruct a custom binary output message that contains a collection of desired estimated states and sensor measurements Size Bytes 6 22 Example Response SVNRRG 75 0 0 00 5D Offset Name Format Unit Description 0 AsyncMode uint16 Selects whether the output message should be sent out on the serial port s at a fixed rate 0 None User message is not automatically sent out either serial port 1 Message is sent out serial port 1 at a fixed rate 2 Message is sent out serial port 2 at a fixed rate 3 Message is sent out both serial ports at a fixed rate Sets the fixed rate at which the message is sent out the selected serial port s The number given is a divisor of the ImuRate which is nominally 800Hz For example to have the sensor output at 50Hz you would set the Divisor equal to 4 4 OutputGroup uint16 Selects which output groups are active in the message The number of OutputFields in this message should equal the number of active bits in the OutputGroup 6 OutputField 1 uint16 Active output fields for the first active group 4 2 N OutputField N uint16 Active output fields for the Nth active group Comment 2 RateDivisor uint16 See section 5 2 for information on the format for the Groups and Group Fields The size of this register is variable depending upon the number of group fields present When writing to this register you must provide the same number of group fields as there are bits active in the gro
93. o X axis is saturated GyroY 7 Gyro Y axis is saturated GyroZ 8 Gyro Z axis is saturated Pres 9 Pressure measurement is saturated Reserved 10 15 Reserved for future use t VN 100 User Manual 51 129 VN 100 User Manual UMO01 5 6 Binary Group 5 Attitude Outputs Binary group 5 provides all estimated outputs which are dependent upon the estimated attitude solution Table 22 Binary Group 5 Name Bit Offset Description VpeStatus O VPE Status YawPitchRoll 1 Yaw Pitch Roll Quaternion 2 Quaternion DCM 3 Directional Cosine Matrix MagNed 4 Compensated magnetic NED AccelNed 5 Compensated acceleration NED LinearAccelBody 6 Compensated linear acceleration no gravity LinearAccelNed 7 Compensated linear acceleration no gravity NED YprU 8 Yaw Pitch Roll uncertainty Resv 9 15 Reserved for future use Should be set to zero 5 6 1 VpeStatus The VPE status bitfield VpeStatus Byte Offset Type Table 23 VpeStatus BitField Name pes Format Unit Description AttitudeQuality 0 2 bits Provides an indication of the quality of the attitude solution GyroSaturation 2 1 bit At least one gyro axis is currently saturated GyroSaturationRecovery 3 1 bit Filter is in the process of recovering from a gyro saturation event MagDisturbance 4 2 bit A magnetic DC disturbance has been detected 0 No magnetic disturbance 1 to 3 Magnetic disturbance is present MagSaturation 6 1 bit At least one magnet
94. o the hardware reset performed by pulling pin 21 NRST low Example Command Message UART Command SVNRST 4D UART Response SVNRST 4D SPI Command 06 00 00 00 shown as hex SPI Response 00 06 00 00 shown as hex 6 1 7 Firmware Update Command This command is used to enter the boot loader for performing firmware updates Upon receiving this command on serial port 1 the VN 100 will enter into firmware reprogramming mode The easiest method of updating firmware is to use one of the VectorNav Firmware Update Tools If you wish however to incorporate the ability to update the firmware into your own system the protocol and procedure for updating the firmware is outlined in the ANO13 Firmware Update Protocol application note Example Command Message UART Command SVNFWU XX UART Response SVNFWU XX Firmware updates are only supported on serial port 1 pin 12 amp 13 If you plan on using either serial port 2 or SPI as your primary means of communicating with the sensor it is recommended that you also provide support in your design to communicate with the sensor using serial port 1 to facilitate firmware updates 6 1 8 Serial Command Prompt Command This command allows you to enter into the command prompt mode on either serial port The command mode supports a wide range of diagnostics and configuration options that go beyond the abilities of the normal read write configuration register interface Example Command Message UART Comman
95. ometer axis is currently saturated AccDisturbance 7 2 bit A strong acceleration disturbance has been detected 0 No acceleration disturbance 1 to 3 Acceleration disturbance has been detected AccSaturation 9 1 bit At least one accelerometer axis is currently saturated Reserved 10 1 bit Reserved for internal use May change state at run time KnownMagDisturbance 11 1 bit A known magnetic disturbance has been reported by the user and the magnetometer is currently tuned out KnownAccelDisturbance 12 1 bit A known acceleration disturbance has been reported by the user and the accelerometer is currently tuned out Reserved 13 3 bits Reserved for future use 4 VN 100 User Manual 52 129 VN 100 User Manual UMO01 Table 24 AttitudeQuality Field EVEL Description 0 Excellent 1 Good 2 Bad 3 Not tracking 5 6 2 YawPitchRoll The estimated attitude Yaw Pitch and Roll angles measured in degrees The attitude is given as a 3 2 1 Euler angle sequence describing the body frame with respect to the local North East Down NED frame YawPitchRoll roll Byte offset 01 2 3 4 5 6 7 8 9 1 1 Type float 5 6 3 Quaternion The estimated attitude quaternion The last term is the scalar value The attitude is given as the body frame with respect to the local North East Down NED frame Quaternion Byte Offset o 1 2 a a s 6 7e e 10 u 12i a Type float 5 6 4 DCM The estimated attitude direct
96. onboard Hole Tnput DlocOucput EOC oONDOcL cd Hs FL OurouE t VN 100 User Manual 112 129 VN 100 User Manual UMO01 9 4 2 Info Hard Sorte Iron kstimator Stabe Information Magnetometer Calibration Control Register 44 HsiMode Run OutMode Use Onboard ConvergeRate 5 Magnetometer Calibration Status Register 46 basthims 0 NumMeas 102 AvgResidual 0 014 as elles 0 599 0 538 F2 91L0 BinsloOl 215 LEG L35 47 198 Zoek 202 Calculated Magnetometer Calibration Register 47 r00 966 F00 r00 000 F00 00 000 00 000 966 000 TOOR WOO 00 O00 Phe Sars 0 0 22s S00 9 0007 7 Num Measurements 358 Prlprer Run Counts 3950 Mag Uncertainty 4 VN 100 User Manual 113 129 VN 100 User Manual 9 4 3 Plotinput Hori OULOw mins S 5 5 5 HSi EBstimearor Magnetic Input Plot Vines rated x Se a fe ee eS KKKK XK xk x ES Us TS x x ww tS WSR Wis ws AA K K WS BSS Woe WW ws S cae S a n KK eK xk x BS US Us x AAA K K S x SSS WoW SW SSS SS SS L Wo SSS 4 x WSUS N kk x Kk x k a BE KK xk x a ARKH KY EY Kt KKK
97. ormed at startup Mag Passed Accel Passed Gyro 3 Passed Passed 4 VN 100 User Manual 91 129 VN 100 User Manual 7 4 3 imu mea S IMU Meas Current Sensor Measurements Mag X Mag Y Mag 4 Acel Acel Acel Gyr Gyro CEO TEO Temp ree Nie lt lt Ne SS Rate O TOO 002 OAL 000 0 08 000 OOO 001 F2 Whe a0 pela Current Sensor Noise Unies Senso Mag Accel Gyro Temp Pres E mGauss mg deg s C Pa Mimamune S enc ori Nonie Una ees senso Mag Accel Gyro TEmo Pres Minimum S enson Measurement senso Mag Accel Gyro TEmo Pres Maximum Sensor Measurement IE E sensor Mag Accel Gyro Temp Pies Sensor Saturation Events X Axis Sensor Mag Accel Gyro Pressure em mGauss mg deg s C Pa Unites Gauss g deg s 2 k Pa Unaes Gauss g deg s 2 kPa D 866 Gauss 016 Gauss 365 Gauss we a el 637 m 3 O27 jim S 417 deg s 668 deg s 102 deg s ca TO O main 36 kPa measured over last 5 seconds X AX S a0 8 Gea eS UL 854 PO OG od ORCO E t007 36 NS O 3 Sol OZ LES 12 0 Sa Since startup X Ax1s OM neo ou fe Ole tore Os 0587 sp 0 ONO AL O OG ens X Ax1s 00 236 00 414 002 92 2 eos FLOL 30 KALLE F00 000 F00 439 F002 02 pene Onl FPLOL 38 Y Axis 0 Y AXis TZ 659 FOT SES U0 ee ES OR 244 O Og 0
98. ot exceed 600 bytes If you attempt to specify an output 7 group and output fields for a packet with a length greater than 600 bytes including the header and CRC you will receive an invalid parameter error when writing to this register 4 VN 100 User Manual 76 129 VN 100 User Manual UMO01 6 3 Status Registers 6 3 1 Synchronization Status Synchronization Status Register ID 33 Firmware v1 0 0 0 Access Read Write Comment Contains status parameters that pertaining to the communication synchronization features Size Bytes 12 Example VNRRG 33 0 876695006 350671 5C Response Offset Name Format Unit Description Keeps track of the number of times that the Syncln trigger even has occured This register can be used to correlate the attitude to an event on an external system such as a 0 SyncInCount uint32 EAEE It is also possible to have the value of this register appended to each asynchronous data packet on the serial bus This can be done by setting the AsyncStatus field in the Communication Protocol register to 1 Keeps track of the amount of time that has elapsed since the last Syncin trigger event If the Syncin pin is connected to the PPS Pulse Per Second line on a GPS and the 4 SyncinTime uint32 us AsyncStatus field in the Communication Protocol Register is set to 1 then each asynchronous measurement will be time stamped relative to the last received GPS measurement Keeps track of the number of times that the
99. ould send the following command to the VN 100 oVNWRG 75 1 6 15 0001 000C 0014 xx Now let s dissect this command to see what is actually being set Field Value Description Header SVN ASCII message header Command WRG Write register command Register ID 75 Register 75 Config register for first output message AsyncMode 1 Message sent on serial port 1 RateDivisor 16 Divisor 16 If the ImuRate 800Hz then the message output rate will be 800 16 50 Hz OutputGroup 15 Groups 0x15 In binary 0x15 0x00010101 The active bits correspond to the following active output groups Bit 0 Common Bit 2 Imu Bit 4 Attitude GroupField 1 0001 Group 1 Field 0x0001 In binary 0x0001 Ob00000001 The active bits correspond to the following active output fields Bit O TimeStartup GroupField 2 000C Group 2 Field 0x000C In binary 0x000C 0b00001100 The active bits correspond to the following active output fields Bit 3 UncompAccel Bit 4 UncompGyro GroupField 3 0014 Group 3 Field 0x0014 In binary 0x0014 0b00010100 The active bits correspond to the following active output fields Bit 2 Qtn Bit 4 MagNed Checksum XX Payload terminator and checksum XX instructs the VN 100 to bypass the checksum evaluation This allows us to manually type messages in a serial terminal without needing to calculate a valid checksum End Line r n Carriage return and line feed Terminates the ASCII message 4 VN 1
100. own as hex t VN 100 User Manual 94 129 VN 100 User Manual UMO01 8 2 Measurement Registers 8 2 1 Yaw Pitch Roll Yaw Pitch and Roll RegisterID 8 Async Header YPR Access Read Only Comment Attitude solution as yaw pitch and rollin degrees The yaw pitch and roll is given as a 3 2 1 Euler angle rotation sequence describing the orientation of the sensor with respect to the inertial North East Down NED frame Size Bytes 12 Example Response SVNRRG O8 114 008 000 256 001 823 57 Offset Name Format Unit Description 0 Yaw float deg Yaw angle 4 Pitch float deg Pitch angle 8 Roll float deg Roll angle ey You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNYPR header t VN 100 User Manual 95 129 VN 100 User Manual UMO01 8 2 2 Attitude Quaternion Register ID 9 Async Header QTN Access Read Only Comment Attitude solution as a quaternion Size Bytes 16 Example Response SVNRRG 9 0 017386 0 000303 0 055490 0 998308 4F Offset Name Format Unit Description 0 Quat 0 float Calculated attitude as quaternion 4 Quat 1 float Calculated attitude as quaternion 8 Quat 2 float Calculated attitude as quaternion 12 Quat 3 float Calculated attitude as quaternion Scalar component This register contains four values representing the quaternion vector
101. p Below is a list of the available output fields for each output group Table 17 Binary Output Fields Bit Group 1 Offset Common 0 TimeStartup 1 Reserved 2 TimeSyncln 3 YawPitchRoll 4 Quaternion 5 AngularRate 6 Reserved 7 Reserved 8 Accel 9 Imu 10 MagPres 11 DeltaTheta 12 VpeStatus 13 SynclInCnt 14 15 Group 3 IMU ImuStatus UncompMag UncompAccel UncompGyro Temp Pres DeltaTheta DeltaVel Mag Accel Gyro SensSat Raw VN 100 User Manual Group 5 Attitude VpeStatus YawPitchRoll Quaternion DCM MagNed AccelNed LinearAccelBody LinearAccelNed YprU 36 129 VN 100 User Manual UMOO01 5 2 3 Setup the Configuration Register Once you have determined the desired outputs for your output messages you will need to configure the User Output Message Configuration Registers Register 75 77 These registers are described in detail in Section 6 2 11 however for reference the format of the register is shown below Binary Output Register 1 3 Register ID 75 77 Firmware v1 0 0 0 Access Read Write These registers allow the user to construct a custom output message that contains a collection of desired estimated states and sensor measurements Size Bytes 6 22 Example Response SVNWRG 75 2 4 1 8 XX Offset Name Format Unit Description 0 AsyncMode uint16 Selects whether the output message should be sent out on the serial port s at a fixed rate 0 None User message is not automatically sent out
102. pFactor was set to 4 and a 1 kHz signal was attached to the Syncin pin then the Synclin event would only occur at 200 Hz SyncOutMode The SyncOutMode register controls the behavior of the SyncOut pin If this is set to IMU then the SyncOut will start the pulse when the internal IMU sample loop starts This mode is used to make a sensor the Master in a multi sensor network array If this is set to IMU_READY mode then the pulse will start when IMU measurements become available If this is set to AHRS mode then the pulse will start when attitude measurements are made available Changes to this register take effect immediately Table 30 SyncOutMode Mode Value Description NONE 0 None IMU_START 1 Trigger at start of IMU sampling IMU_READY 2 Trigger when IMU measurements are available AHRS 3 Trigger when attitude measurements are available SyncOutPolarity The SyncOutPolarity register controls the polarity of the output pulse on the SyncOut pin Changes to this register take effect immediately Table 31 SyncOutPolarity Value Description 0 Negative Pulse 1 Positive Pulse SyncOutSkipFactor The SyncOutSkipFactor defines how many times the sync out event should be skipped before actually triggering the SyncOut pin SyncOutPulseWidth The SyncOutPulseWidth field controls the desired width of the SyncOut pulse The default value is 500 000 ns 0 5 ms 4 VN 100 User Manual 69 129 VN 100 User Manual UMO01 6 2 10 Communica
103. pport for streaming sensor measurements from the sensor at fixed rates using simple 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 Section 5 provides a detailed overview on how to parse and configure the binary output messages on the serial interface 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 amp register structure It is strictly intended to be used by a human operator using a simple serial terminal to type commands to the device using a serial terminal and is not designed to be used programmatically Each software subsystem described in Section 6 provides information on the diagnostic commands supported by the serial command prompt at the end of each subsystem section 4 VN 100 User Manual 27 129 VN 100 User Manual UMOO01 4 Basic Communication The VN 100 module supports two communication interfaces serial and SPI On the serial interface the module communicates over a universal asynchronous receiver transmitter UART and u
104. r 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 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 and the time since the last Syncin event These timestamps are recorded with microsecond resolution and 10 microsecond accuracy relative to the onboard temperature compensated crystal oscillator TCXO The onboard oscillator has a timing accuracy of 20ppm over the temperature range of 40C to 80C 3 1 10 Coning amp 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 or polling events the coning and sculling integration is performed by the IMU subsystem at the IMU Rate 3 2 NavState Subsystem The NavState subsystem generates a continuous
105. re measurement is given in Celsius The pressure measurement is given in kPa The mag temp and pres fields are all equivalent to the mag temp and pres fields in Group 3 T pres pyte offset 0 1 2 3 4 5 16 7 89 10 11 a2 as 14 las 16 a7 18 19 Type float 4 VN 100 User Manual 46 129 VN 100 User Manual UMOO01 5 4 9 DeltaThetaVel The delta time angle and velocity measurements The delta time dtime is the time interval that the delta angle and velocities are integrated over The delta theta dtheta is the delta rotation angles incurred due to rotation since the last time the values were outputted by the device The delta velocity dvel is the delta velocity incurred due to motion since the last time the values were outputted by the device These delta angles and delta velocities are calculated based upon the onboard conning and sculling integration performed onboard the sensor at the IMU rate default 800Hz The integration for both the delta angles and velocities are reset each time either of the values are either polled or sent out due to a scheduled asynchronous ASCII or binary output This is equivalent to the DeltaTheta and DeltaVel fields in group 3 with the inclusion of the additional delta time parameter DeltaThetaVel dtme dthetalo dtheta 1 dthetal2 ayte Offset 0 1 2 3 4 5 6 7 8 9 s0 u a a3 a4 as Type float DeltaThetaVel continued Byte Offset Type float 5 4 10 VpeStatu
106. respond to this command before restoring the factory settings Example Command Message UART Command SVNRFS 5F UART Response SVNRFS 5F SPI Command 04 00 00 00 shown as hex SPI Response 00 04 00 00 shown as hex 6 1 5 Tare Command The tare command will have the module zero out its current orientation The effect of this command in 2D magnetic mode will be to set only the yaw angle to zero In 3D heading mode the VN 100 will set the yaw pitch and roll angles to zero In 3D heading mode the VN 100 will also now measure yaw pitch and roll relative to the alignment of the respective X Y and Z axes in 3D space when the tare command was received Example Command Message UART Command SVNTAR 5F UART Response SVNTAR 5F SPI Command 05 00 00 00 shown as hex SPI Response 00 05 00 00 shown as hex 4 VN 100 User Manual 57 129 VN 100 User Manual UMOO01 6 1 6 Reset Command This command will reset the module There are no parameters required for this command The module will first resoond to the command and will then perform a reset Upon a reset all registers will be reloaded with the values saved in non volatile memory If no values are stored in non volatile memory the device will default to factory settings Also upon reset the VN 100 will re initialize its Kalman filter thus the filter will take a few seconds to completely converge on the correct attitude and correct for gyro bias This command is equivalent in functionality t
107. rmining 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 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 built into 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 VN 100
108. rom the contribution due to the Earth s magnetic field and as such if present it will inevitably result in a loss of heading accuracy a 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 U To correctly track an absolute heading you will need to ensure that the hard soft iron distortions remains well characterized 4 VN 100 User Manual 21 129 VN 100 User Manual UMOO01 Absolute Heading Mode Advantages e Provides short term magnetic disturbance rejection while maintaining absolute tracking of the heading relative to the fixed Earth Absolute Heading Mode Disadvantages e lf 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 e 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 es
109. s MagPres 10 Calibrated magnetic compensated temperature and pressure measurements DeltaTheta 11 Delta time theta and velocity VpeStatus 12 VPE status SynclnCnt 13 Synclin count Reserved 14 Reserved Not used on VN 100 Reserved 15 Reserved Not used on VN 100 5 4 1 Time Startup The system time since startup measured in nano seconds The time since startup is based upon the internal TXCO oscillator for the MCU The accuracy of the internal TXCO is 20ppm 40C to 850 TimeStartup Type uint64 Byte Offset DSA eh a e 5 4 2 TimeSyncin The time since the last Syncin trigger event expressed in nano seconds TimeSynclin Byte Offset pee ae ie Type uint64 4 VN 100 User Manual 44 129 VN 100 User Manual UMOO01 5 4 3 YawpPitchRoll The estimated attitude Yaw Pitch and Roll angles measured in degrees The attitude is given as a 3 2 1 euler angle sequence describing the body frame with respect to the local North East Down NED frame This is equivalent to the YawPitchRoll field in group 5 YawPitchRoll Byte Offset 01 2 3 4 5 6 7 8 9 10m Type float 5 4 4 Quaternion The estimated attitude quaternion The last term is the scalar value The attitude is given as the body frame with respect to the local North East Down NED frame This is equivalent to the Quaternion field in group 5 Quaternion Byte Offset o 1 2 a a s 6 7e e 10 a 12i a Type 5 4 5 AngularRate
110. s The VPE status bit field This is equivalent to the VpeStatus field in group 5 See section 5 6 1 for description of this bit field SolStatus Byte Offset oe ea Type 5 4 11 SyncinCnt The number of Syncin trigger events that have occurred SyncinCnt 4 VN 100 User Manual 47 129 VN 100 User Manual UMO01 5 5 Binary Group 3 IMU Outputs Binary group 3 provides all outputs which are dependent upon the measurements collected from the onboard IMU or an external IMU if enabled Table 20 Binary Group 3 Name Bit Offset Description ImuStatus 0 Reserved for future use UncompMag 1 Uncompensated magnetic measurement UncompAccel 2 Uncompensated acceleration measurement UncompGyro 3 Uncompensated angular rate measurement Temp 4 Temperature measurement Pres 5 Pressure measurement DeltaTheta 6 Delta theta angles DeltaV 7 Delta velocity Mag 8 Compensated magnetic measurement Accel 9 Compensated acceleration measurement AngularRate 10 Compensated angular rate measurement SensSat 11 Sensor saturation bit field Resv 12 15 Reserved for future use Should be set to zero 5 5 1 ImuStatus Status is reserved for future use Not currently used in the current code as such will always report 0 ImuStatus Byte Offset Type 5 5 2 UncompMag The IMU magnetic field measured in units of Gauss given in the body frame This measurement is compensated by the static calibration individual factory calibr
111. sation for changes during sensor mounting All twelve numbers are represented by single precision floating points COO C01 C02 C10 C11 C12 C20 C21 C22 4 VN 100 User Manual 85 129 VN 100 User Manual UMOO01 7 2 4 Reference Frame Rotation Reference Frame Rotation Register ID 26 Firmware 1 0 0 0 Access Read Write Comment Allows the measurements of the VN 100 to be rotated into a different reference frame Size Bytes 36 Example Response SVNRRG 26 1 0 0 0 1 0 0 0 1 6A Offset Name Format Unit Description 0 C 0 0 float 4 C 0 1 float 8 C 0 2 float 12 C 1 0 float 16 C 1 1 float 20 C 1 2 float 24 C 2 0 float 28 C 2 1 float 32 C 2 2 float This register contains a transformation matrix that allows for the transformation of measured acceleration magnetic and angular rates from the body frame of the VN 100 to any other arbitrary frame of reference The use of this register allows for the sensor to be placed in any arbitrary orientation with respect to the user s desired body coordinate frame This register can also be used to correct for any orientation errors due to mounting the VN 100 on the user s circuit board u The variables X Y Z are a measured parameter such as acceleration in the body reference frame with respect to the VN 100 The variables X Y Z are a measured parameter such as acceleration in the user s frame of reference The reference frame rotation register thus needs
112. ses ASCII text for its command and data format On the SPI interface the VN 100 module communicates as a slave device on a Serial Peripheral Interface SPI data bus and uses a binary command and data format Both interfaces support the complete command set implemented by the module A general overview of the command format for each interface is given in the next two sections and formatting specific to each command and associated parameters is provided in the protocol and register sections 4 1 Serial Interface On the serial interface the VN 100 uses ASCII text for its command format All commands start with a dollar sign followed by a five character command a comma command specific parameters an asterisk a checksum and a newline character An example command is shown below SVNRRG 11 73 4 2 SPI Interface The VN 100 supports a Serial Peripheral Interface SPI communication interface The SPI interface consists of synchronous serial communication interface where devices communicate in a master slave mode The VN 100 operates as a slave while the device communicating with the VN 100 will act as a master The master provides a clock to the slave which synchronizes the data transfer to the rising and falling edge of the clock signal Due to its synchronous communication high data transfer rates and master slave operation the SPI communication interface is ideal for board level communication over short distances since it doesn t require a
113. set 6 5 6 System Save system save 4 VN 100 User Manual 80 129 VN 100 User Manual UMOO01 7 IMU Subsystem 7 1 IMU Measurement Registers 7 1 1 IMU Measurements This register provides direct access to the calibrated magnetometer accelerometer gyro barometric pressure and temperature measurements available from the onboard IMU IMU Measurements Register ID 54 Async Header IMU Access Read Only Comment Provides the calibrated IMU measurements including barometric pressure Size Bytes 44 Example Read SVNRRG 54 00 1193 00 2496 00 4414 00 009 00 361 Response 09 885 00 001840 00 027802 00 021403 17 5 100 403 5F Offset Name Format Unit Description 0 MagX float Gauss Uncompensated Magnetic X axis 4 MagY float Gauss Uncompensated Magnetic Y axis 8 MagZ float Gauss Uncompensated Magnetic Z axis 12 AccelX float m s Uncompensated Acceleration X axis 16 AccelY float m s Uncompensated Acceleration Y axis 20 AccelZ float m s Uncompensated Acceleration Z axis 24 GyroX float rad s Uncompensated Angular rate X axis 28 GyroY float rad s Uncompensated Angular rate Y axis 32 GyroZ float rad s Uncompensated Angular rate Z axis 36 Temp float C IMU Temperature 40 Pressure float kPa Barometric pressure You can configure the device to output this register at a fixed rate using the Async Data Output Type register Register 6 Once configured the data in this register will be sent out with the SVNIMU hea
114. ss 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 Absolute Heading Mode 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 f
115. stem rate described from this point forward as the IMU Rate default 800H7z It is responsible for collecting the raw IMU measurements applying a static user and dynamic calibration to these measurements and optionally filtering the individual sensor measurements for output 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 Synclin signal 4 VN 100 User Manual 17 129 VN 100 User Manual UMOO01 3 1 1 Magnetometer External eee Uncompensated Magnetometer ASUS Magnetometer Data Uncompensated RETN pMag User Register 85 a ET ETE User Reference 2 Frame Rotation Compensation 7 e A Register 26 Registe User Low Pass Onboard Hard Raw ae Compensated Factory Filtering Soft Iron Magnetometer i Magnetometer DAt Calibration Compensated Compensation ined Register 85 Register 44 47 3 1 2 Accelerometer User Loy pass Uncompensated Filtering Accelerometer Uncompensated uncompAccel User Register 85 Raw User Reference Factory Accelerometer Accelerometer 3 i S Frame Rotation Calibration Compensation d Data Serie 2S Register 26 Register User Low
116. sy or unreliable increasing this number may provide better results If you have a very accurate velocity measurement then lowering this number will likely produce better results 4 VN 100 User Manual 118 129 VN 100 User Manual UMOO01 Velocity Measurement Rate The performance of the velocity compensation will be affected by both the accuracy of the velocity measurements and the rate at which they are applied To ensure adequate performance the velocity should be provided at a rate higher than 1Hz Best performance will be achieved with update rates of 10Hz or higher If you stop sending velocity measurement updates for any reason the velocity compensation will continue indefinitely using the last received velocity measurement If you want to stop using while the vehicle is still in motion be sure to turn off the velocity compensation using the Mode field in the Velocity Compensation Control Register Register 51 t VN 100 User Manual 119 129 VN 100 User Manual UMO01 10 2 Configuration Registers 10 2 1 Velocity Compensation Control Velocity Compensation Control Register ID 51 Firmware v1 1 140 4 Access Read Write Comment Provides control over the velocity compensation feature for the attitude filter Size Bytes 8 Example Response SVNRRG 51 1 0 1 0 01 5A Offset Name Format Unit Description 0 Mode uint8 Selects the type of velocity compensation performed by the VPE See the table below for available optio
117. t s dissect this command to see what is actually being set Field EVEL Description Header SVN ASCII message header Command WRG Write register command Register ID 77 Register 75 Config register for first output message AsyncMode 2 Message set to output on serial port 2 RateDivisor 16 Divisor 16 If the ImuRate 800Hz then the message output rate will be 800 16 50 Hz OutputGroup 01 Groups 0x01 Binary group 1 enabled GroupField 1 0029 Group 1 Field 0x0029 In binary 0x0029 0b00101001 The active bits correspond to the following active output fields Bit O TimeStartup Bit 3 YawPitchRoll Bit 5 AngularRate Checksum XX Payload terminator and checksum XX instructs the VN 100 to bypass the checksum evaluation This allows us to manually type messages in a serial terminal without needing to calculate a valid checksum End Line r n Carriage return and line feed Terminates the ASCII message 4 VN 100 User Manual 38 129 VN 100 User Manual UMO01 5 2 2 Example Case 2 Outputs from multiple Output Groups This example case demonstrates how to select multiple output fields from more than one output group Assume that the following bold output types are desired Bit Group 1 Group 5 Offset Common Attitude 0 TimeStartup UncompAccel Quaternion UncompAngularRate BWN PR MagNed Also assume that you want the message to stream at 50 Hz over serial port 1 To configure this output message you w
118. t gravity reported in m s 2 and given in the body frame The acceleration measurement has the gravity component removed using the current gravity reference vector model This measurement is attitude dependent since the attitude solution is required to map the gravity reference vector known in the inertial NED frame into the body frame so that it can be removed from the measurement If the device is stationary and the onboard VPE Kalman filter is tracking the measurement nominally will read O in all three axes LinearAccelBody Type float 5 6 8 LinearAccelNed The estimated linear acceleration without gravity reported in m s 2 and given in the North East Down NED frame This measurement is attitude dependent as the attitude solution is used to map the measurement from the body frame into the inertial NED frame This acceleration measurement has the gravity component removed using the current gravity reference vector estimate If the device is stationary and the onboard VPE Kalman filter is tracking the measurement nominally will read O in all three axes LinearAccelNed pyte Offset 0 1 12 3 4 5 6 7 8 9 40 a Type float 5 6 9 AngularRate The estimated angular rotation rate reported in rad s given in the body frame This angular rate measurement has been bias compensated by the onboard VPE Kalman filter If the device is stationary not rotating and the onboard AHRS filter is tracking the measurement nominally wi
119. t state In the event that there are significant changes to the accelerometer bias gain and axis alignment during installation then these registers allow for further compensation Note that this accelerometer compensation is separate from the compensation that occurs during the calibration process at the factory Setting this register to the default state of an identity matrix and zero offset will not eliminate the accelerometer gain bias and axis alignment that occur during factory calibration These registers only need to be changed from their default values in the event that changes in bias gain and axis alignment have occurred at some point between the times the chip was calibrated at the factory and when it is used in the field DEE SEN AZ B2 The variables AX AY AZ are components of the measured acceleration The X Y Z variables are the new acceleration measurements outputted after compensation for changes during sensor mounting All twelve numbers are represented by single precision floating points COO C01 C02 C10 C11 C12 C20 C21 C22 4 VN 100 User Manual 84 129 VN 100 User Manual UMOO01 7 2 3 Gyro Compensation Gyro Compensation Register ID 84 Firmware v1 0 0 0 Access Read Write Comment Allows the gyro to be further compensated for scale factor misalignment and bias errors Size Bytes 48 Example Command SVNRRG 84 1 0 0 0 1 0 0 0 1 0 0 0 7E Offset Name Format Unit Description 0 C 0 0 float
120. 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 4 VN 100 User Manual 20 129 VN 100 User Manual UMOO01 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 proce
121. the number of active bits in the group byte When parsing the binary packet you can count the number of active bits present in the group byte and then you can assume that this number of group fields will be present in the header For example if only binary group 1 is selected Group Byte 0x01 then only one Group field will be present in the header thus the header will be 4 bytes in length If both binary group 1 and 3 are active Group Byte 0x05 then two Group field elements will be present in the header 4 bytes thus the header in this case will be 6 bytes in length 5 3 4 Payload The payload will consist of the output data selected based upon the bits selected in the group byte and the group field bytes All output data in the payload section consist of the active outputs selected for binary group 1 followed by the active outputs selected for binary group 2 and so forth No padding bytes are used between output fields 5 3 5 CRC The CRC consists of a 16 bit CRC of the packet The CRC is calculated over the packet starting just after the sync byte in the header not including the sync byte and ending at the end of the payload More information about the CRC algorithm and example code for how to perform the calculation is shown in Section 4 4 The CRC is selected such that if you compute the 16 bit CRC starting with the group byte 4 VN 100 User Manual 40 129 VN 100 User Manual UMOO01 and include the CRC itself a valid packet wi
122. 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 t VN 100 User Manual 32 129 VN 100 User Manual UMOO01 4 4 Checksum CRC The
123. timate 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 which minimizes the effect of gyro drift while maintaining a stable and accurate pitch and roll solution 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 pm Use the Relative Heading mode for applications where the stability of the estimated heading is more ay important than the long term accuracy relative to true magnetic North In general
124. timator runs in the background by default it can be turned off by the user if desired Register 44 3 4 7 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 WMM2010 model which consists 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 used to calculate the magnetic field strength for a given latitude longitude altitude and date which is then subsequently used as the magnetic field reference strength Control of the world magnetic model is performed using the Reference Vector Configuration register Register 83 4 VN 100 User Manual 25 129 VN 100 User Manual UMOO01 3 4 8 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 12 order 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 Alterna
125. tion Protocol Control Communication Protocol Control Read Write Comment Contains parameters that controls the communication protocol used by the VN 100 Size Bytes 7 Example Response SVNRRG 30 0 0 0 0 1 0 1 6C Offset Name Format Unit Description Provides the ability to append a counter or time to the end of Register ID 30 Firmware 1 0 0 0 Access 0 SerialCount uint8 i the serial asynchronous messages i ili h f th 1 S rlalStatis ie i Provides the ability to append the status to the end of the serial asynchronous messages 5 sPICount ainte f Provides the ability to append a counter to the end of the SPI packets 3 n TEN nE f Provides the ability to append the status to the end of the SPI packets 4 SerialChecksum uint8 Choose the type of checksum used for serial communications PI 5 eoreneekeunt ante i Choose the type of checksum used for the S communications 6 ErrorMode uint8 Choose the action taken when errors are generated 4 VN 100 User Manual 70 129 VN 100 User Manual UMOO01 Serial Count The SerialCount field provides a means of appending a time or counter to the end of all asynchronous communication messages transmitted on the serial interface The values for each of these counters come directly from the Synchronization Status Register Register 33 With the SerialCount field set to OFF a typical serial asynchronous message would appear as the following SVNYPR 4010 071 4000 270 002 026 60
126. tively the world gravity model can be used to calculate the gravity vector for a given latitude longitude altitude and date which is then subsequently used as the gravity vector for attitude calculations Control of the world gravity model is performed using the Reference Vector Configuration register Register 83 3 5 Communication Interface The VN 100 provides three separate communication interfaces two physically separate serial ports and one SPI Serial Perpherial Interface bus 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 VN 100 surface mount device offers both UARTS with 3V TTL voltage level inputs and outputs The VN 100 Rugged 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 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 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
127. tometer and will pause the current hard soft iron calibration if it is enabled A single parameter is provided to tell the VN 100 whether the disturbance is present or not 0 No Disturbance is present 1 Disturbance is present Example Command Message UART Command SVNKMD 1 47 UART Response SVNKMD 1 47 SPI Command 8 bytes 08 01 00 00 shown as hex SPI Response 8 bytes 00 08 01 00 shown as hex 4 VN 100 User Manual 93 129 VN 100 User Manual UMOO01 8 1 3 Known Acceleration Disturbance Command This command is used to notify the VN 100 that an acceleration disturbance is present When the VN 100 receives this command it will tune out the accelerometer A single parameter is provided to tell the VN 100 whether the disturbance is present or not 0 No Disturbance is present 1 Disturbance is present UART Command SVNKAD 1 4B UART Response SVNKAD 1 4B SPI Command 8 bytes 09 01 00 00 shown as hex SPI Response 8 bytes 00 09 01 00 shown as hex 8 1 4 Set Gyro Bias Command This command will instruct the VN 100 to copy the current gyro bias estimates into register 74 After sending this command you will need to issue the write settings command to save the state of this register to flash memory Once saved the VN 100 will use these bias estimates as the initial state at startup UART Command SVNSGB XX UART Response SVNSGB XX SPI Command 8 bytes OC 00 00 00 shown as hex SPI Response 8 bytes 00 OC 00 00 sh
128. tor Processing Engine VPE and its collection of Kalman filters and other calculations that run at a lower rate than the NavState default 200Hz This includes the attitude estimation filters measurement uncertainty estimation adaptive filtering amp tuning logic as well as the onboard HSI filter When necessary the reference vectors are also updated using onboard magnetic and gravitational models for use in the filters NavFilter Outputs Attitude Uncertainty Gyro Filter Bias Mag amp Accel Disturbance Estimation Onboard Magnetic Hard amp Soft Iron Estimation World Magnetic amp Gravity Model 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
129. ual 18 129 VN 100 User Manual UMOO01 3 1 6 User Calibration 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 fine tune the calibration of each of the 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 choosing 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 Registe
130. ual 41 129 VN 100 User Manual UMOO01 5 3 7 Example Cases To help you better understand how the binary protocol works the next two sections provide an overview of how the binary output packets are formed for two separate example cases Example Case 1 For example 1 we will assume that only binary group 1 is active and only the yaw pitch and roll output is active within this binary group In this case the header will have the following form Header Payload CRC Field Sync Group Group 1 YawPitchRoll CRC Fields Byte Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Byte Value FA 01 08 00 93 50 2E 42 83 3E F1 3F 48 BS 04 BB 92 88 Hex Type u8 u8 u16 float float float u16 Value OxFA 1 8 0x422E5093 Ox3FF13E83 OxBBO4B548 0x9288 43 578686 Yaw 1 8847202 Pitch 2 0249654e 3 Roll t VN 100 User Manual 42 129 VN 100 User Manual UMO01 Example Case 2 For the second example case we will assume that both binary group 1 and 3 are active In binary group 1 the YawPitchRoll output is selected and in binary group 3 the Temp output is selected Field Sync Group Group1 Group 3 Fields Fields Byte Offset 0 1 2 3 4 5 Byte Value FA 01 08 00 01 00 Hex Type u8 u8 u16 u16 Value OxFA 0x01 0x08 0x01 Payload CRC Field YawPitchRoll Temp CRC Byte Offset 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Byte Value A4 15 02 42 4D DF EB 3F F6 1A 36 BE BF 2D A4 41 A8 3A Hex Type float float float float u16 Valu
131. up byte If this condition is not met the unit will respond with an invalid parameter error code on a write register attempt The maximum size of a binary packet must not exceed 600 bytes If you attempt to specify an output ey group and output fields for a packet with a length greater than 600 bytes including the header and CRC you will receive an invalid parameter error when writing to this register t VN 100 User Manual 74 129 VN 100 User Manual UMOO01 6 2 12 Binary Output Register 2 Register ID 76 Firmware v1 0 0 0 Access Read Write This register allows the user to construct a custom binary output message that contains a collection of desired estimated states and sensor measurements Size Bytes 6 22 Example Response SVNRRG 76 0 0 00 5E Offset Name Format Unit Description 0 AsyncMode uint16 Selects whether the output message should be sent out on the serial port s at a fixed rate 0 None User message is not automatically sent out either serial port 1 Message is sent out serial port 1 at a fixed rate 2 Message is sent out serial port 2 at a fixed rate 3 Message is sent out both serial ports at a fixed rate Sets the fixed rate at which the message is sent out the selected serial port s The number given is a divisor of the ImuRate which is nominally 800Hz For example to have the sensor output at 50Hz you would set the Divisor equal to 4 If you are polling the message set the divisor to 1
132. uration Register 83 UseMagneticModel 0 UseGravityModel O RecalcThreshold 1000 meters Year T Latitude 7 00 O00000 deg Longitude gt 00 000000000 deg Altitude CO C00 C0 Om 4 VN 100 User Manual 127 129 VN 100 User Manual UMO01 11 3 3 Calc refmodel calc World Magnetic amp Gravity Reference Model Calculator Enter latitude 30 Enter longitude 94 Enter altitude IOO Enter decimal year AS Calculation Results Latitude 30 00000000 deg Longitude 094 00000000 deg Altitude 001002000 m Magnetic Reference Vector 000 243 000 008 000 409 Gauss Gravity Rel rence Vector 000 000 0002000 00S 2 793 mys Z t VN 100 User Manual 128 129 VN 100 User Manual UMO01 Please Read Carefully Information in this document is provided solely in connection with VectorNav Technologies LLC VectorNav products VectorNav reserves the right to make changes corrections modifications or improvements to this document and the products and services described herein at any time without notice All VectorNav products are sold pursuant of VectorNav s terms and conditions of sale No license to any intellectual property expressed or implied is granted under this document If any part of this document refers to any third party products or services it shall not be deemed a license grant by VectorNav for the use of such third party products or services or any intellectual property contained therein or
133. vel of adaptive filtering for X Axis 28 AdaptiveFilteringY float 0 10 Level of adaptive filtering for Y Axis 32 AdaptiveFilteringZ float 0 10 Level of adaptive filtering for Z Axis 4 VN 100 User Manual 106 129 VN 100 User Manual UMOO01 8 3 3 VPE Accelerometer Basic Tuning VPE Accelerometer Basic Tuning Read Write Comment Provides basic control of the adaptive filtering and tuning for the accelerometer Size Bytes 36 Example Response SVNRRG 38 5 5 5 3 3 3 4 4 4 66 Offset Name Format Unit Description Base Accelerometer Tuning X Axis 0 10 This sets the level of confidence placed in the accelerometer X 0 BaseTuningX float 0 10 axis when no disturbances are present A larger number provides better pitch roll heading accuracy but with more sensitivity to acceleration interference Base Accelerometer Tuning Y Axis 0 10 This sets the level of confidence placed in the accelerometer Y 4 BaseTuningY float 0 10 axis when no disturbances are present A larger number provides better pitch roll accuracy but with more sensitivity to acceleration interference Base Accelerometer Tuning Z Axis 0 10 This sets the level of confidence placed in the accelerometer Z 8 BaseTuningZ float 0 10 axis when no disturbances are present A larger number provides better pitch roll accuracy but with more sensitivity to acceleration interference Register ID 38 Firmware v1 0 0 0 Access 12 AdaptiveTuningX float 0 10 Level of adapt
134. with origin located at the surface of Earth WGS84 ellipsoid e Positive X axis points towards North tangent to WGS84 ellipsoid e Positive Y axis points towards East tangent to WGS84 ellipsoid e Positive Z axis points down into the ground completing the right handed system 4 VN 100 User Manual 16 129 VN 100 User Manual UMOO01 3 VN 100 Software Architecture 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 the functions performed by these subsystems in more detail and describes which of the various measurement outputs originate from each of these corresponding subsystems Figure 6 VN 100 Software Architecture Comm NavState NavFilter Interface Calculates Vector orientation at Processing 400Hz Engine Downsamples IMU sensors to 800 Hz Serial ASCII Applies Factory Calibration Computes delta AHRS Kalman angles Filter Serial Binary Applies User Calibration Computes delta Hard Soft Iron velocity Estimator Applies User Reference Frame Rotation Serial Command Prompt World Magnetic Model Applies User Low Pass Filtering World Gravity Model Applies Onboard Calibration Timestamps Measurements ol IMU Subsystem The IMU subsystem runs at the highest sy

Download Pdf Manuals

image

Related Search

Related Contents

ScanMaster  O2 Innovations O2-B User's Manual  Logiciel Comptacoop mode d emploi  Digitus Gigabit Ethernet PCI Express card adapter  Manuel d`utilisation  Art contemporain : la fin de la subversion  3 meca avimeca eleve  G3 Ferrari Pizza Express Delizia  Programmieranleitung I-tec Beschattung D / I / F / UK / PL  

Copyright © All rights reserved.
Failed to retrieve file