Advertisement

Quick Links

User Manual
µINS, µAHRS, and µIMU
Product
User Manual
11/30/2017
Inertial Sense LLC
72 N 720 E
Salem, UT 84653
801-610-6771
support@inertialsense.com
www.inertialsense.com
SUPPORT@INERTIALSENSE.COM
WWW.INERTIALSENSE.COM

Advertisement

Table of Contents
loading

Summary of Contents for InertialSense µAHRS

  • Page 1 User Manual µINS, µAHRS, and µIMU Product User Manual 11/30/2017 Inertial Sense LLC 72 N 720 E Salem, UT 84653 801-610-6771 support@inertialsense.com www.inertialsense.com SUPPORT@INERTIALSENSE.COM WWW.INERTIALSENSE.COM...
  • Page 2: Table Of Contents

    User Manual Contents Overview ................................4 Description of differences between IMU, AHRS, INS ................... 4 Getting Started..............................5 Unpacking Your Unit ............................ 5 Downloading the EvalTool and SDK ......................5 EvalTool GUI ..............................5 Connecting To Your Unit ..........................5 System LED and Solution Status ........................
  • Page 3 User Manual 7.1.1 insStatus – INS Status Flags ........................21 7.1.2 hdwStatus – Hardware Status Flags....................... 21 7.1.3 Built-in test (BIT) Flags ........................... 22 Typical Health Monitoring .......................... 22 Magnetometer Calibration ..........................24 Magnetometer Recalibration ........................24 8.1.1 External Recalibration ..........................24 8.1.2 Automatic Recalibration ........................
  • Page 4: Overview

    User Manual 1 Overview The µINS GPS aided Inertial Navigation System, µAHRS Attitude Heading Reference System, and the µIMU Inertial Measurement Unit monitor many different types of measurements including rotation, acceleration, GPS position, magnetic flux density, pressure and velocity. The Inertial Sense SDK provides a software interface to allow communication with the device including setting configuration options, retrieving specific data, and listening for data broadcasts.
  • Page 5: Getting Started

    The EvalTool and CLTool (part of the SDK) are provided to help users quickly evaluate and integrate the µINS, µAHRS, and µIMU. You can visit the Inertial Sense website’s Resources page at https://inertialsense.com/resources to get access to the source code downloads (EvalTool and SDK). The EvalTool Windows installer comes with the SDK and firmware.
  • Page 6: System Led And Solution Status

    User Manual 2.5 System LED and Solution Status Each unit is equipped with an RGB LED on the top face. This LED indicates the unit’s system and solution status and can pulse various combinations of the behaviors listed below. LED Behavior Status Description White...
  • Page 7: Compiling In Windows (Ms Visual Studio)

    User Manual $ cmake .. 3. Compile using make. $ make 4. Add current user to the "dialout" group in order to read and write to the USB serial communication ports: $ sudousermod -a -G dialout $USER $ sudousermod -a -G plugdev $USER (reboot computer) 5.
  • Page 8: Additional Development

    For retrieving RTCM3 data: -svr=RTCM3:192.168.1.100:7777:url:user:password - url, user and password optional. For retrieving SERIAL data: -svr=RTCM3:SERIAL:COM9:57600 (port, baud). For retrieving InertialSense data: -svr=IS:192.168.1.100:7777 - no url, user or password. For retrieving UBLOX data: -svr=UBLOX:192.168.1.100:7777 - no url, user or password.
  • Page 9: Coordinate Frames

    User Manual 3 Coordinate Frames In this manual, coordinate frame systems are simply referred to as frames. This section is to assist the developer in choosing and implementing the appropriate coordinate frames for their respective application. It should be noted that the following frames are in relation to the uINS itself.
  • Page 10: Translation Between Coordinate Frames

    User Manual • Positive Z-axis aligns with the WGS84 Z-axis, which aligns with the IERS Reference Pole (IRP) that points towards the North Pole. • Positive Y-axis aligns with the WGS84 Y-axis, completing the right-handed system. 3.5 Translation Between Coordinate Frames This section is intended to be an example of how to rotate between frames using methods defined within the SDK.
  • Page 11: Hardware Integration

    User Manual 4 Hardware Integration 4.1 Noise Coupling To ensure that noise is not being coupled into the Inertial Sense sensor module designed into your product, it can be compared with a stock EVB demo unit to compare noise figures. This is done by using the following steps. If both steps pass, you can know there is no noise being coupled into the module.
  • Page 12: Sdk Library

    User Manual 5 SDK Library This section describes the InertialSense Software Development Kit (SDK) used to communicate and interface with the Inertial Sense products. 5.1 Binary Protocol The Inertial Sense binary protocol provides the most efficient way to communicate with the µINS, µAHRS, and µIMU.
  • Page 13: Ascii Protocol

    User Manual The format of the packet data is determined by the packet identifier. For a data packet (PID_DATA (4) or PID_SET_DATA (5)) the first 12 bytes are always the data identifier (4 byte int), the offset into the data (4 byte int), and the length of data (4 byte int, not including the 12 bytes or packet header / footer).
  • Page 14: Ascii Messages

    User Manual The packet checksum is an 8 bit integer and is calculated by calculating the exclusive OR of all bytes in between and not including the $ and * bytes. The packet checksum byte is converted to a 2 byte ASCII hex code, and left padded with 0 if necessary to ensure that it is always 2 bytes.
  • Page 15 User Manual $PDTV,lf,d,f,f,f,f,f,f,f *xx\r\n Field Units Description timeSinceBoot Time since system power up dTheta[0] Delta theta integral – pitch dTheta[1] Delta theta integral – roll dTheta[2] Delta theta integral – yaw dUVW[0] Delta velocity integral – X dUVW[1] Delta velocity integral – Y dUVW[2] Delta velocity integral –...
  • Page 16 User Manual Fields: timeOfWeek, weeks, roll, pitch, yaw, velocity u, velocity v, velocity w, latitude, longitude, altitude PGPSP – GPS position data. $PGPSP,d,d,d,lf,lf,lf,f,f,f,f*xx\r\n Field Units Description GPS week weeks Number of weeks since January 1 of 1980 in GMT timeMsOfWeek Milliseconds since Sunday morning in GMT status [7:0] number of satellites used in solution,...
  • Page 17: C Binding

    User Manual GPGLL – NMEA geographic position, latitude / longitude and time (see NMEA GPGLL specification). $GPGLL,3751.65,S,14507.36,E*77 $GPGLL,4916.45,N,12311.12,W,225444,A Where: 4916.46,N Latitude 49 deg. 16.45 min. North 12311.12,W Longitude 123 deg. 11.12 min. West 225444 Fix taken at 22:54:44 UTC Data valid $GPGLL,5133.81,N,00042.25,W*75 Where: 5133.81...
  • Page 18: Communicating With The Device

    User Manual typedefint(*pfnSerialPortOpen)(serial_port_t* s, constchar* port, intbaudRate, intallowPartialReads); typedefint(*pfnSerialPortRead)(serial_port_t* s, unsignedchar* buf, intlen, inttimeoutMilliseconds); typedefint(*pfnSerialPortWrite)(serial_port_t* s, constunsignedchar* buf, intlen); typedefint(*pfnSerialPortClose)(serial_port_t* s); typedefvoid(*pfnSerialPortSleep)(serial_port_t* s, intwaitMilliseconds); // Allows communicating over a serial port struct serial_port_t pfnSerialPortOpenpfnOpen; pfnSerialPortReadpfnRead; pfnSerialPortWritepfnWrite; pfnSerialPortClosepfnClose; pfnSerialPortSleeppfnSleep; 5.3.2 Communicating with the device Step-by-step instructions for implementing the Inertial Sense Com Manager and communicating with the µINS, µAHRS, or µIMU are found in the InertialSenseCLTool project file, main.cpp.
  • Page 19: C++ Binding

    5.4 C++ Binding A higher level, C++ class is provided to simplify the process of communicating with the binary protocol, logging or updating firmware. Please reference InertialSense.h /.cpp in the InertialSenseSDK for more details. The InertialSenseCLTool is an example source code project that illustrates how to implement the InertialSenseSDK.
  • Page 20: Binary Protocol Data Sets

    6 Binary Protocol Data Sets Data Sets in the form of C structures are available through binary protocol and provide access to system configuration and output data. The data sets are defined in SDK/src/data_sets.h of the InertialSense SDK. 6.1 Configuration 6.1.1 DID_FLASH_CONFIG...
  • Page 21: System Health And Status Flags

    User Manual 7 System Health and Status Flags Status flags described in this section that can be observed by bitwise ANDing any of the status flag bitmasks with the corresponding status flags variable. 7.1 Status Flags This section lists the commonly used status flags. A complete listing of status flags is available in data_sets.h. 7.1.1 insStatus –...
  • Page 22: Built-In Test (Bit) Flags

    User Manual HDW_STATUS_ERR_TEMPERATURE Outside of operational range HDW_STATUS_FAULT_BOD_RESET Low Power Reset HDW_STATUS_FAULT_POR_RESET Software or Triggered Reset 7.1.3 Built-in test (BIT) Flags Built-in test (BIT) is enabled by setting DID_BIT.state = 2. BIT takes about 1 second to run, and is completed when DID_BIT.state == 1.
  • Page 23 User Manual Test Description insStatus & INS_STATUS_ATT_ALIGN_GOOD Attitude estimates are valid insStatus & INS_STATUS_VEL_ALIGN_GOOD Velocity estimates are valid insStatus & INS_STATUS_POS_ALIGN_GOOD Position estimates are valid 6. System Temperature System temperature is available at DID_SYS_SENSORS.temp. 7. Communications Errors HDW_STATUS_COM_PARSE_ERROR_COUNT(DID_SYS_SENSORS.hStatus) is the number of parsed packet errors encountered.
  • Page 24: Magnetometer Calibration

    User Manual 8 Magnetometer Calibration The magnetometer is used to estimate heading when the system is in any of the following conditions: 1.) is in AHRS mode 2.) has no GPS fix 3.) has GPS fix and constant velocity (non-accelerating motion) To have accurate heading under these conditions, the magnetometer must be calibrated.
  • Page 25: Automatic Recalibration

    User Manual 8.1.2 Automatic Recalibration Automatic magnetometer recalibration is useful for systems where user intervention to start external calibration is not convenient or practical. In this mode, the solution will determine that the system needs to be recalibrated and will attempt to do so while in normal operation. In the period while the system is recalibrating, the uncalibrated magnetometer data is used to prevent the INS heading from drifting but it does not provide heading measurements to the state estimator.
  • Page 26: Data Logging

    User Manual 9 Data Logging Inertial Sense provides data loggers written in C++ , which can read and write data in various formats to file. These loggers are useful for storing, replaying, and analyzing data. SDK/src/ISLogger.h defines the logging interface. 9.1 Log File The data log file name has the format LOG_SNXXXXX_YYYYMMDD_HHMMSS_CNT.dat which contains the device serial number, date, time, and log file count.
  • Page 27: Chunk Data

    User Manual 9.1.3 Chunk Data The Chunk data is defined for both the .dat and .sdat file types. DATA DATA DATA CHUNK Data DATA SET DATA SET DATA SET … (.dat file) Data Data Data Header Header Header Byte Size CHUNK DATA DATA...
  • Page 28 User Manual Manual Selection – allows the user to select the specific datasets to stream and their update rates by setting the checkbox and period (ms) in Manual Selection table. b. INS – log INS output (attitude, velocity, position) at 100 Hz. Post Process –...
  • Page 29: Plotting Log Files

    User Manual 10 Plotting Log Files Three methods of plotting are distributed with the IS-SDK, including Matlab, Python, and Excel. Each method of plotting is only implemented to plot one specific file type. To plot with Matlab the data must be saved as *.dat file type.
  • Page 30: Troubleshooting

    72 N 720 E, Salem, UT 84653 USA Phone 801-610-6771 Email support@inertialsense.com Website InertialSense.com © 2017 Inertial Sense Inertial Sense , Inertial Sense logo and combinations thereof are registered trademarks or trademarks of Inertial Sense LLC. Other terms and product ®...

This manual is also suitable for:

ΜinsΜimu

Table of Contents