1

Suppose you have an object you're interested in estimating the state of, ex position.

Suppose you don't have a state transition model but you do have an IMU.

Can the IMU be used to simulate a state transition model for the object? In particular if you have a robot with an IMU + lidar or radar or what ever but your predicted system dynamics are unreliable or unknown can an IMU be used for the prediction step in EKF and then other sensors used for the correction?

FourierFlux
  • 834
  • 6
  • 12
  • Just use a basic signal model to start with. There are several examples of using position, velocity, and acceleration as the states. Then it’s clear what the state transition model is. The tricky part will be figuring out how the measurements you have relate to those. I don’t see how an IMU gives you a state transition model, it’s just a source of measurements. – Peter K. Jun 02 '22 at 11:07
  • The position or position and velocity would be the states. But the thing is we don't have a system model to describe the evolution of the state..thus the standard predict/correct doesn't work. I suppose you could assume a constant velocity but it's not right. – FourierFlux Jun 02 '22 at 13:09
  • The IMU could be used to generate a state transition model at each step. Basically linearize around the current state and advance according to the IMU acceleration and rotation. – FourierFlux Jun 02 '22 at 13:11
  • OK. I think it's a mistake to put so much faith in the IMU. Better to use just "random walk" models of the states and include all measurements (including those from the IMU). There is a simpler example here. – Peter K. Jun 02 '22 at 13:34

1 Answers1

2

If you know nothing about the system dynamics, but you do trust the IMU, then you can use the IMU as your system input.

I.e., your state vector would be $\mathbf x = \begin{bmatrix} \mathbf v & \mathbf p & \boldsymbol \theta \end{bmatrix}^T$ (where $\mathbf v$, $\mathbf p$, and $\boldsymbol \theta$ are appropriately-sized vectors), your state transition would be modeled as $\dot{\mathbf x} = f\left(\mathbf x, \mathbf u\right)$, where $\mathbf u$ is the IMU output.

Then your measurement would be whatever you think you should be measuring with the radar, lidar, or whatever, i.e. $\mathbf y = g(\mathbf x)$.

If you're concerned about a non-ideal IMU (i.e., with drift and scaling errors) then augment the state vector with those errors and build them into $f$ as appropriate.

The only time it'd be useful to incorporate the system dynamics into $f$ would be if the degree to which you can predict the state of the system at the next step depends on the system dynamics is within the same order of magnitude as the degree to which the system state can be predicted by the IMU: if one or the other clearly dominates, then just keep the one that does and throw away the one that doesn't.

TimWescott
  • 12,704
  • 1
  • 11
  • 25