MicroStrain
3DM-GX1 INS Read
Library
Olin Robotics Blockset
Description
Read continuous output from
MicroStrain 3DM-GX1 Inertial Navigation System (INS) through a Serial RS-232
interface.
The block transmits the Continuous
Data command to the INS at the specified time. It then requests data from the
INS at the specified frequency (1/SampleTime). The INS transmits the
gyro-stabilized orientation quaternion and instantaneous magnetic field,
acceleration and angular rate vectors. However, note that the INS does not
necessarily send new data at every sample time that the block requests it for.
It only responds at a maximum frequency of approximately 75 Hz. The New Data
Flag output indicates whether the data received is new or not at any given
time-step.
The MicroStrain INS Read
Demo from the Olin Robotics Blockset/Demos library illustrates the use of this
block.
Block Parameters:
Command 1:
This parameter is used to send in the command to the INS to start sending back
continuous data. It should be in the form of a vector with the elements of
data-type uint16. The first element indicates the length of the actual command.
For instance in this case, the actual command is [16 0 18] (in the decimal
form), so the parameter is specified as [3 16 0 18].
Here [16] is the Continuous
Data command. [0 18] is the part of the command to tell the INS to transmit
data which includes gyro-stabilized orientation quaternion and instantaneous
vectors. In order to read a different format of data, refer to the following
manual which contains a detailed list of possible commands to MicroStrain
3DM-GX1 INS unit
3DM-GX1
Communications Protocol
Command 1 Send Time: A scalar specifying the time at which to send the
command 1 to INS.
Command 2:
Similar in format as Command 1. The
default is to indicate to INS to stop sending the data.
Command 2 Send Time: A scalar specifying the time at which to send the
command 2 to INS.
Sample Time: Sample time indicates the frequency (1/SampleTime) at which data is
requested from INS. However, note that the INS does not necessarily send in new
data at every sample time that the block requests it for.
Outputs with example output and format
description:
1. Time Tick: Value of the on-board clock tick of the INS sampled at the beginning of
the current calculation cycle (from the instant power is turned on).
2. New Data Flag: To indicate if INS has transmitted new data at the current time-step. 1
indicates that the data is new while 0 indicates that the data is old.
3. GS Quaternions: Gyroscopically stabilized 4 component unit quaternion which describes
the orientation of the INS with respect to the earth fixed coordinate system.
The earth fixed coordinate system has X pointing North, Y pointing East, and Z
pointing down.
4. GS Euler Angles: Set of three gyro-stabilized Euler angles in Radians
(Yaw, Pitch, and Roll) which describe the orientation of the INS with respect
to the fixed earth. These angles are calculated according to the “ZYX” or
“Aircraft” coordinate system from the measured quaternion. Users should be
aware that there are other valid formulations of Euler Angles that will yield
different results. The earth fixed coordinate system has X pointing North, Y
pointing East, and Z pointing down.
5. Magnetic Field: Vector quantifying the direction and magnitude of the instantaneously
measured magnetic field that the INS
is exposed to. It is expressed in terms of
the INS’s local coordinate system.
6. Acceleration: Vector quantifying the direction and magnitude of the instantaneously
measured acceleration that the INS
is exposed to. It is expressed in terms of
the INS’s local coordinate system.
7. Angular Rate: Vector quantifying the instantaneous rate of rotation of the INS. It is
expressed in terms of the INS’s
local coordinate system.
Table 1:
Output Data Format
|
Output |
Output
Width |
Output
Data-Type |
Output
Units |
|
Time Tick |
1 |
double |
secs |
|
New Data Flag |
1 |
uint8 |
na |
|
GS Quaternions |
4 |
double |
na |
|
GS Euler Angles |
3 |
double |
radians |
|
Magnetic Field |
3 |
double |
milliGauss |
|
Acceleration |
3 |
double |
m/sec^2 |
|
Angular Rate |
3 |
double |
rad/sec |
References
http://www.microstrain.com/3dm-gx1.aspx