background image

UM001 

 

 

 

 

 

 

 

 

 

 

 

Firmware v2.1.0.0 

Document Revision 2.22 

 

 

VN-100 User Manual 

Embedded Navigation Solutions 

Summary of Contents for VN-100

Page 1: ...UM001 1 Firmware v2 1 0 0 Document Revision 2 22 VN 100 User Manual Embedded Navigation Solutions...

Page 2: ...tures 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 highli...

Page 3: ...COORDINATE SYSTEM 15 3 VN 100 Software Architecture 17 3 1 IMU SUBSYSTEM 17 3 2 NAVSTATE SUBSYSTEM 20 3 3 NAVFILTER SUBSYSTEM 20 3 4 VECTOR PROCESSING ENGINE 22 3 5 COMMUNICATION INTERFACE 26 3 6 COMM...

Page 4: ...6 4 COMMAND PROMPT 89 7 Attitude Subsystem 91 7 1 COMMANDS 91 7 2 MEASUREMENT REGISTERS 92 8 Hard Soft Iron Estimator Subsystem 100 8 1 CONFIGURATION REGISTERS 100 8 2 STATUS REGISTERS 101 8 3 FACTOR...

Page 5: ...measurements Thermal Calibration this option extends the calibration process over multiple temperatures to ensure performance specifications are met over the full operating temperature range of 40 C...

Page 6: ...y 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 min...

Page 7: ...9 mm Single Power Supply 4 5 to 5 5 V Communication Interface Serial RS 232 TTL 1 4 3 Surface Mount Development Kit The VN 100 Development Kit provides the VN 100 surface mount sensor installed onto a...

Page 8: ...nt Kit User Manual Quick Start Guide Documentation Carrying Case 1 5 VN 100 Product Codes VN 100 Options Item Code Sensor Packaging Calibration Option Product Type VN 100S Surface Mount Device Standar...

Page 9: ...UM001 9 2 Specifications 2 1 VN 100 Surface Mount Sensor SMD Electrical Pin assignments top down view...

Page 10: ...rmal 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 Reserve...

Page 11: ...high level voltage 2 V 5 5 V Output low voltage 0 V 0 4 V Output high voltage 2 4 V 3 0 V Clock Frequency 8 MHz 16 MHz Close Rise Fall Time 8 ns 2 1 4 VN 100 SMD Reset SyncIn Out and Other General I O...

Page 12: ...ts 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 resisto...

Page 13: ...100 Rugged Reset SyncIn Out and Other General I O Pins NRST Specifications Specification Min Typical Max Input low level voltage 0 5 V 0 8 V Input high level voltage 2 V 5 5 V Weak pull up equivalent...

Page 14: ...14 UM001 2 3 VN 100 Surface Mount Sensor SMD Dimensions Measurements are in inches 2 4 VN 100 Rugged Dimensions...

Page 15: ...d 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 2 6 Sensor Coordinate System 2 6 1 Sensor Coordinate Frame The...

Page 16: ...follows NX NY NZ Right handed Cartesian non inertial geodetic frame with origin located at the surface of Earth WGS84 ellipsoid Positive X axis points towards North tangent to WGS84 ellipsoid Positiv...

Page 17: ...raw IMU measurements applying a factory user and dynamic calibration to these measurements and optionally filtering the individual sensor measurements for output The coning and sculling integrals also...

Page 18: ...ent temperature dependence The output of the factory calibration stage is referred to as the calibrated but un compensated IMU measurements Raw Magnetometer Data Factory Calibration External Magnetome...

Page 19: ...s to the output compensated IMU measurements All onboard Kalman filters in the NavFilter subsystem always use the unfiltered IMU measurements after the User Reference Frame Rotation Register 26 has be...

Page 20: ...ts availability 3 2 1 NavState Measurements The measurements shown below are calculated by the NavState subsystem and are made available at the NavState Rate default 800 Hz NavState Outputs Attitude Y...

Page 21: ...c field distortions created by nearby ferrous material which moves with the sensor attached to the same vehicle or rigid body as the sensor These ferrous materials distort the direction and magnitude...

Page 22: ...chniques 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 digita...

Page 23: ...fixed Earth Absolute Heading Mode Disadvantages If the magnetic field changes direction relative to the fixed Earth then its direction will need to be updated using the reference vector register in o...

Page 24: ...igin 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 pl...

Page 25: ...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 ac...

Page 26: ...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...

Page 27: ...ial Binary The serial interface offers support for streaming sensor measurements from the sensor at fixed rates using user configurable binary output packets These binary output packets provide a low...

Page 28: ...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...

Page 29: ...for both the 8 bit and 16 bit checksum An example command to read register 1 is shown below using the checksum bypass feature VNRRG 1 XX 3 8 2 8 bit Checksum The 8 bit checksum is an XOR of all bytes...

Page 30: ...resented in the command 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 s...

Page 31: ...r 1 3 in the System subsystem section 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 i...

Page 32: ...rough Bit 14 and an extension bit Bit 15 The extension bit in each word is used to indicate the presence of a following continuation word to select additional higher numbered output fields for the cur...

Page 33: ...s 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 N OutputGroup N uint8 Selects which output groups are active i...

Page 34: ...ode 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 GroupFie...

Page 35: ...s 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 0b00000001 The active bits correspond to the following...

Page 36: ...ta will be selected for output see OutputField parameter Each 8 bit byte consists of seven group selection bits Bit 0 through Bit 6 and an extension bit Bit 7 The extension bit in each byte is used to...

Page 37: ...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...

Page 38: ...24 2 Field 4 12 2 12 1 36 12 1 Field 5 16 8 4 1 12 12 1 Field 6 12 8 4 24 12 12 24 Field 7 24 8 16 24 12 12 24 Field 8 12 4 12 12 12 12 12 Field 9 12 4 12 12 12 12 12 Field 10 24 1 12 12 12 4 12 Fiel...

Page 39: ...12 12 4 4 2 28 2 12 Group 7 4 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 t...

Page 40: ...Group 3 Fields Byte Offset 0 1 2 3 4 5 Byte Value Hex FA 05 08 00 01 00 Type u8 u8 u16 u16 Value 0xFA 0x05 0x08 0x01 Payload CRC Field YawPitchRoll Temp CRC Byte Offset 6 7 8 9 10 11 12 13 14 15 16 1...

Page 41: ...ted attitude as yaw pitch and roll angles Qtn 4 Estimated attitude as a quaternion AngularRate 5 Compensated angular rate Reserved 6 Reserved Not used on this product Reserved 7 Reserved Not used on t...

Page 42: ...3 14 15 Type float float float float 4 4 5 AngularRate The estimated angular rate measured in rad s The angular rates are compensated by the onboard filter bias estimates The angular rate is expressed...

Page 43: ...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 rotatio...

Page 44: ...44 UM001 4 4 10 SyncInCnt The number of SyncIn trigger events that have occurred This field is equivalent to the SyncInCnt field in group 2 SyncInCnt Byte Offset 0 1 2 3 Type u32...

Page 45: ...is product SyncInCnt 7 SyncIn trigger count SyncOutCnt 9 SyncOut trigger count TimeStatus 10 Time valid status flags Resv 11 15 Reserved for future use Should be set to zero 4 5 1 TimeStartup The syst...

Page 46: ...tus Status is reserved for future use Not currently used in the current code as such will always report 0 ImuStatus Byte Offset 0 1 Type u16 4 6 2 UncompMag The IMU magnetic field measured in units of...

Page 47: ...ure at sea level would be around 100 kPa Pres Byte Offset 0 1 2 3 Type float 4 6 7 DeltaTheta The delta theta dtheta is the delta rotation angles incurred due to rotation since the last time the value...

Page 48: ...ry calibration stored in flash the user compensation and the dynamic calibration from the onboard Hard Soft Iron estimator Mag mag 0 mag 1 mag 2 Byte Offset 0 1 2 3 4 5 6 7 8 9 10 11 Type float float...

Page 49: ...et 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 GyroSaturationRe...

Page 50: ...Byte Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Type float float float float 4 7 4 DCM The estimated attitude directional cosine matrix given in column major order The DCM maps vectors from the Nort...

Page 51: ...ence vector in the inertial frame NED AccelNed accel 0 accel 1 accel 2 Byte Offset 0 1 2 3 4 5 6 7 8 9 10 11 Type float float float 4 7 7 LinearAccelBody The estimated linear acceleration without grav...

Page 52: ...ty reference vector estimate If the device is stationary and the onboard INS filter is tracking the measurement nominally will read 0 in all three axes LinearAccelNed accel 0 accel 1 accel 2 Byte Offs...

Page 53: ...g If an invalid register is requested an error code will be returned Example Read Register Command Example Command Message UART Command VNRRG 5 46 UART Response VNRRG 5 9600 65 5 1 2 Write Register Co...

Page 54: ...estore 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 respond to thi...

Page 55: ...Example Command Message UART Command VNFWU XX UART Response VNFWU XX Firmware updates are only supported on serial port 1 If you plan on using either serial port 2 as your primary means of communicat...

Page 56: ...en 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 Asynchronous Pause Resume Commands E...

Page 57: ...r defined tag register Up to 20 bytes or characters If a 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...

Page 58: ...l Number Register Model Number Register ID 1 Access Read Only Comment Model Number Size Bytes 24 Example Response VNRRG 01 VN 310 58 Offset Name Format Unit Description 0 Product Name char Product nam...

Page 59: ...9 5 2 3 Hardware Revision Register Register ID 2 Access Read Only Comment Hardware revision Size Bytes 4 Example Response VNRRG 02 1 6C Offset Name Format Unit Description 0 Revision uint32 Hardware r...

Page 60: ...ber Register Serial Number Register ID 3 Access Read Only Comment Serial Number Size Bytes 4 Example Response VNRRG 03 0100011981 5D Offset Name Format Unit Description 0 SerialNum uint32 Serial Numbe...

Page 61: ...xample Response VNRRG 04 0 4 0 0 71 Offset Name Format Unit Description 0 Major Version uint8 Major release version of firmware 1 Minor Version uint8 Minor release version of firmware 2 Feature Versio...

Page 62: ...tive serial port 1 Serial Port 1 2 Serial Port 2 Baud Rate Settings Acceptable Baud Rates 9600 19200 38400 57600 115200 128000 230400 460800 921600 The serial port parameter in this register is option...

Page 63: ...pecify which data register will be automatically outputted when it gets updated with a new reading The table below lists which registers can be set to asynchronously output the value to specify which...

Page 64: ...asurements VNMAG 11 Acceleration Measurements VNACC 12 Angular Rate Measurements VNGYR 13 Magnetic Acceleration and Angular Rate Measurements VNMAR 14 Yaw Pitch Roll Magnetic Acceleration and Angular...

Page 65: ...nous 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 ADOR Data Rates Acceptable Data Rates Hz 1 2 4 5...

Page 66: ...lock will be used to control the IMU sampling If SyncInMode 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 define...

Page 67: ...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 INS mode then the pulse...

Page 68: ...the end of the serial asynchronous messages 1 SerialStatus uint8 Provides the ability to append the status to the end of the serial asynchronous messages 2 SPICount uint8 Provides the ability to appe...

Page 69: ...Value Description NONE 0 OFF SYNCIN_COUNT 1 SyncIn Counter SYNCIN_TIME 2 SyncIn Time SYNCOUT_COUNT 3 SyncOut Counter GPS_PPS 4 Gps Pps Time SerialStatus The SerialStatus field provides a means of tra...

Page 70: ...ction of gyro saturation or magnetic interference SPIStatus Value Description 0 OFF 1 VPE Status 2 INS Status SerialChecksum This field controls the type of checksum used for the serial communications...

Page 71: ...he Communication Protocol Status Register in the System subsystem ErrorMode Value Description 0 Ignore Error 1 Send Error 2 Send Error and set ADOR register to OFF Example Async Messages The following...

Page 72: ...utputGroup N uint8 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 4 N 2 M OutputField 1 uint...

Page 73: ...utputGroup N uint8 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 4 N 2 M OutputField 1 uint...

Page 74: ...utputGroup N uint8 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 4 N 2 M OutputField 1 uint...

Page 75: ...tting the AsyncStatus field in the Communication Protocol register to 1 4 SyncInTime uint32 s Keeps track of the amount of time that has elapsed since the last SyncIn trigger event If the SyncIn pin i...

Page 76: ...string Serial Baud Rate 115200 Async Data Output Frequency 40 Hz Async Data Output Type INS_LLA Synchronization Control 3 0 0 0 6 1 0 100000000 0 Communication Protocol Control 0 0 0 0 1 0 1 Binary O...

Page 77: ...irmware version comm Information on the communication interfaces errors Overview of the logged system errors reset Perform a software reset on the unit save Save register settings to flash memory rest...

Page 78: ...m Errors system errors System Errors Hard Fault Exceptions 0 Serial Input Buffer Overflow 0 Serial Output Buffer Overflow 0 Serial Insufficient Bandwidth 0 Invalid Checksums 6 Invalid Commands 2 Input...

Page 79: ...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 s2 Uncompensated Acceleration X axis...

Page 80: ...ity 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 asynchronously output at the configured rate T...

Page 81: ...hese 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...

Page 82: ...ory default 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 th...

Page 83: ...vent 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 c...

Page 84: ...y 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 vehicle or platform...

Page 85: ...ts 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 tabl...

Page 86: ...ted 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 400 Hz IntegrationFrame The Integrat...

Page 87: ...rements 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 fa...

Page 88: ...r Compensation 1 0 0 0 1 0 0 0 1 0 0 0 Accelerometer Compensation 1 0 0 0 1 0 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 Configurati...

Page 89: ...ic information such as serial number and firmware version meas Current Imu measurement and run time statistics 6 4 2 IMU Info imu info Imu Information Magnetometer HSI Settings Register 44 Mode Using...

Page 90: ...007 36 Minimum Sensor Noise since startup Sensor Units X Axis Y Axis Z Axis Mag mGauss 02 877 02 659 03 673 Accel mg 01 785 01 966 02 599 Gyro deg s 0 0587 0 0487 0 0537 Temp C 0 0011 Pres Pa 006 13 M...

Page 91: ...and 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...

Page 92: ...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 VNRRG 8 006 271 000 031 00...

Page 93: ...scription 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 quat...

Page 94: ...egrees 12 MagX 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...

Page 95: ...ternion 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 magnetome...

Page 96: ...t 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 measuremen...

Page 97: ...it Description 0 AccelX float m s2 Compensated accelerometer measurement in x axis 4 AccelY float m s2 Compensated accelerometer measurement in y axis 8 AccelZ float m s2 Compensated accelerometer mea...

Page 98: ...C Offset Name Format Unit Description 0 GyroX float rad s Compensated angular rate in x axis 4 GyroY float rad s Compensated angular rate in y axis 8 GyroZ float rad s Compensated angular rate in z ax...

Page 99: ...ent in y axis 8 MagZ float Gauss Compensated magnetometer measurement in z axis 12 AccelX float m s2 Compensated accelerometer measurement in x axis 16 AccelY float m s2 Compensated accelerometer meas...

Page 100: ...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...

Page 101: ...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 0 float 40 B 1 float 44 B 2 float This register contains twelve values representing the calculated hard and...

Page 102: ...102 UM001 8 3 Factory Defaults Settings Name Default Factory Value Magnetometer Calibration Control 1 3 5...

Page 103: ...Description info Estimator state information and configuration settings plotInput Plot onboard HSI Input plotOutput Plot onboard HSI Output 8 4 2 Info hsi info Hard Soft Iron Estimator State Informat...

Page 104: ...104 UM001 8 4 3 PlotInput hsi plotinput HSI Estimator Magnetic Input Plot Uncalibrated XY Plot Center 0 000 0 000 Plot Scale 1 042 1 042...

Page 105: ...UM001 105 8 4 4 PlotOutput hsi plotoutput HSI Estimator Magnetic Output Plot Calibrated XY Plot Center 0 000 0 000 Plot Scale 0 946 0 946...

Page 106: ...e 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 m...

Page 107: ...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 atti...

Page 108: ...increased error in the velocity aiding algorithm When using airspeed Speedometer For automotive applications the speedometer measurement can be used to perform velocity aiding The speedometer measurem...

Page 109: ...e 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 indefini...

Page 110: ...ze Bytes 8 Example Response VNRRG 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 opt...

Page 111: ...do so Velocity Compensation Status Register ID 52 Access Read Comment Provides diagnostic status information for the velocity compensation algorithm Size Bytes 8 Example Response VNRRG 51 1 0 1 0 01 5...

Page 112: ...2 0 0 42 Offset Name Format Unit Description 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 Velo...

Page 113: ...UM001 113 9 5 Factory Defaults Settings Name Default Factory Value Velocity Compensation Control 1 0 1 0 01...

Page 114: ...nder 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...

Reviews: