0.2.0
Loading...
Searching...
No Matches
Imu Simulator Node

Introduction

The IMU Simulator simulates an inertial measurement unit where the user can select between different starting conditions, trajectories and other physical effects to be simulated.

Connections

  • Input : The Node only has an input connection when the CSV trajectory is selected in the Settings.
  • Output : The Node has two outputs:
    • ImuObs : Outputs an ImuObsSimulated-flow that simulates IMU observation data.
    • PosVelAtt : Outputs an PosVelAtt-flow that includes the simulated position, velocity, attitude and other parameters (time, quaternion...). Can be used for plotting (Plot Node).

Settings

The IMU Simulator offers a variety of settings that control the start condition, trajectory, output and offer additional parameters.

Start Time

Set the time when the simulation will be started.

  • Current Computer Time : Uses the local time from the device
  • Custom Time : Allows to select a custom time similar to Time .

Output datarate

Set the rate the Simulator outputs different information.

  • IMU output rate : The rate the Simulator gives an output
  • Trajectory output rate : The rate the trajectory is generated with

Scenario

Set the type and parameters for the trajectory.

  • Trajectory : Select the general type of the trajectory.
    1. Fixed: A fixed position.

    2. Linear : Linear trajectory generated from input parameters.

    3. Circular : Circular trajectory generated from input parameters.

    4. CSV : trajectory generated from a csv-file. Instead of the input parameters, a preview of how the input file is interpreted will be generated as soon as a file is selected. TODO: \( \textcolor{red}{\text{IMAGE TO BE ADDED SOON.}} \)
    5. Rose Figure : Rose figure generated from input parameters. See https://en.wikipedia.org/wiki/Rose_(mathematics) for definition.

  • Center/Tangential Point : Select the format and parameters for the center or tangential point. Only available for trajectory 1, 2, 4.
    1. LLA: Allows to set Latitude, Longitude, Attitude [m] and the orientation in roll, pitch, yaw [deg].
    2. ECEF: Earth-centered, Earth-fixed: Set the X, Y, Z [m] the orientation as above.

Simulation Stop Condition

Select and set when the simulation should stop. Some are only available for a specific trajectory.

  • Duration : For all except CSV. How long the simulation will run and the trajectory will be generated.
  • Distance to start : Only for Linear trajectory! Sets a distance from the starting point when the simulation will be stopped.
  • Amount of Circles : Only for Circular trajectory! Sets how many circles should be simulated.
  • Amount of rose figures : Only for Rose Figure trajectory! Sets the amount of roses that should be simulated, similar to the amount of circles .

Simulation models

Select and set different models regarding gravitation, acceleration etc.

  • Measured acceleration
    1. Gravity Model : Select the model to be used to simulate gravitation. Available are:
      • None
      • WGS84
      • WGS84 (Skydel constants)
      • Somigliana
      • EGM96
    2. Coriolis acceleration : Enable/Disable if acceleration caused by the Coriolis effect should be taken into account
    3. Centrifugal acceleration : Enable/Disable if acceleration caused by centri*fugal* force should be taken into account
    • Measured angular rates
      1. Earth rotation rate: Enable/Disable if the rate the earth spins should be taken into account
      2. Transport rate: //TODO: \( \textcolor{red}{\text{TO BE ADDED SOON.}} \)

IMU Position & Rotation

Select the position (XYZ) and rotation ( \(\underline{X}_b = \underline{\underline{R}} \cdot \underline{X}_p\)) of different sensors relative to the vehicles center of mass in the boy coordinate system.

  1. Lever Acc [m] : Set the position of the accelerometer.
  2. Lever Gyro [m] : Set the position of the gyroscope.
  3. Lever Mag [m] : Set the position of the magnetometer.
  4. Rotation Acc [deg] : Set the rotation of the accelerometer.
  5. Rotation Gyro [deg] : Set the rotation of the gyroscope .
  6. Rotation Mag [deg] : Set the rotation of the magnetometer.

Example Flow

If you don't know how to reproduce any of the explained steps, read the Getting Started first. Let us build a flow that we can use to plot the simulated position with different trajectories and settings.

Required Nodes:

Prepare Workspace and Plots:

  1. Add the ImuSimulator and Plot Node to your Workspace and connect them with the PosVelAtt - Pin 1 pins.
  2. Open the Plot Node Settings:
    • Add a new Plot
      • Drag and Drop the North/South [m] and East/West [m] into the Plot (successful if (Y1) appears behind them).
    • Add a second new Plot
      • Open the Options of the Plot
      • Select East/West [m] in the X Data dropdown menu for Pin 1 (PosVelAtt).
      • Drag and Drop the North/South [m] into the Plot.
      • Right Click in the Plot, hover over Settings and select Equal (for equal axis scaling).

Now we can plot the north/south and east/west position over time (Plot 1) and the actual position around the center point (Plot 2).

Simulation:

  1. Open the Settings of the ImuSimulator.
  2. Select the Circular trajectory in Scenarios.
  3. Run the Flow. The result should look like the example for the circular trajectory above Scenario in Plot 2, additionally the components are shown in Plot 1.
  4. Repeat this for the Rose Figure, but with some changes:
    • Change the Simulation Stop Condition to Amount of rose figures and select 1
    • Add an arbitrary Center/Tangential Point.
    • Add an arbitrary rotation. Example of how the result should look like:
      Now, change the values and/or change other settings and options and compare the results.
Note
If you change LLA to ECEF , you also have to change the axis in the plots to the ECEF.

TODO: \( \textcolor{red}{\text{MORE EXAMPLES TO BE ADDED SOON.}} \)


Last updated: 2024-03-28