/
(8.D.2.2 ) CloudNav

(8.D.2.2 ) CloudNav

Overview

Convert sensor raw signals to quaternions

Discussion

This module converts raw sensor signals to quaternions.

Three sensors are supported: an accelerometer, a gyro, and a magnetometer.

An input pin is provided for each sensor

The data coming in on each pin is xData, yData, zData, timeStampLo, timeStampHi, dataValid (6 channels).

Module arguments are a noise measurement for each sensor.

Internally the sample rate of each sensor is 100 Hz and is converted to a sample period in nanoseconds.

The sensor noise arguments are as follows:

ACCEL (12 bits per g) - 1.8 mg(RMS), 11 bit G: Example: (sample_t)(0.0018f * (1 << 11) + 0.5);

GYRO (10 bits rad/s) - 125 mdps(RMS), 10 Bit radians/sec: Example: (sample_t)(sample_t)(0.0022f * (1 << 10) + 0.5);

MAG (12 bits milligauss) - 70 nT RMS: Example: (sample_t)(0.0007f * (1 << 12) + 0.5);

Timestamp is in elapsed nanoseconds

Type Definition

typedef struct _ModuleCloudNav { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure INT32 accelNoise; // Accel Noise INT32 gyroNoise; // Gyro Noise INT32 magNoise; // Mag Noise INT32 bEnableMag; // Enable mag FLOAT32 magFeedbackGain; // Mag feedback gain INT32 accelSR; // Accel sample rate INT32 gyroSR; // Gyro sample rate INT32 magSR; // Mag sample rate INT32* rawA; // raw accel signals INT32* rawG; // raw gyro signals INT32* rawM; // raw mag signals INT32* ptA; // pt accel signals INT32* ptG; // pt gyro signals INT32* ptM; // pt mag signals void * p_cnsm; // Shared memory void * p_cnsf; // Sensor Fusion memory void * p_pdata; // Persistent data void * p_quantData; // Persistent quant data } ModuleCloudNavClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

accelNoise

int

const

0

2

Unrestricted

 

gyroNoise

int

const

0

1

Unrestricted

 

magNoise

int

const

0

12

Unrestricted

 

bEnableMag

int

const

0

1

Unrestricted

 

magFeedbackGain

float

const

0

1

Unrestricted

 

accelSR

int

const

1

104

Unrestricted

 

gyroSR

int

const

1

104

Unrestricted

 

magSR

int

const

1

100

Unrestricted

 

rawA

int*

state

0

[1 x 3]

Unrestricted

 

rawG

int*

state

0

[1 x 3]

Unrestricted

 

rawM

int*

state

0

[1 x 3]

Unrestricted

 

ptA

int*

state

0

[1 x 3]

Unrestricted

 

ptG

int*

state

0

[1 x 3]

Unrestricted

 

ptM

int*

state

0

[1 x 3]

Unrestricted

 

p_cnsm

void *

const

1

 

Unrestricted

 

p_cnsf

void *

const

1

 

Unrestricted

 

p_pdata

void *

const

1

 

Unrestricted

 

p_quantData

void *

const

1

 

Unrestricted

 

Pins

Input Pins

Name: accel

Description: Input signal

Data type: float

Channel range: 6

Block size range: 1

Sample rate range: Unrestricted

Complex support: Real

 

Name: gyro

Description: Input signal

Data type: float

Channel range: 6

Block size range: 1

Sample rate range: Unrestricted

Complex support: Real

 

Name: mag

Description: Input signal

Data type: float

Channel range: 6

Block size range: 1

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: quat

Description: Output four quaternion signals

Data type: int

 

Name: calQual

Description: calibration quality

Data type: int

MATLAB Usage

File Name: cloudnav_sensor_fusion_module.m

M = cloudnav_sensor_fusion_module(NAME, ACCEL_NOISE, GYRO_NOISE, MAG_NOISE, ENABLE_MAG) Converts x,y,z signals into quaternions Arguments: NAME - name of the module

 

Related content

(8.D.2.3) CloudNav
(8.D.2.3) CloudNav
More like this
(8.D.2.5) CloudNav
(8.D.2.5) CloudNav
More like this
(8.D.2.4) CloudNav
(8.D.2.4) CloudNav
More like this
(8.D.2.2) CloudNav
(8.D.2.2) CloudNav
More like this
(8.D.2.7) CloudNav
(8.D.2.7) CloudNav
More like this
(8.D.2.6) CloudNav
(8.D.2.6) CloudNav
More like this