Expressions with NavState and IMU inputs

Issue #321 closed
Erik Strömberg created an issue

I'm trying to apply iSAM to a quadrotor with range measurements.

My state includes rotation, position and velocity, why a NavState seems to be a good starting point. Furthermore, I use IMU measurements as the driving inputs to the model. I also want my model to be recalculated for each iSAM update.

My wish is to implement this with expressions, but from what I can see in the wiki, there's no clear way to use inputs that doesn't directly measure the state.

Put in math: the wiki specifies how to implement c = z - h(x,l), but not a = x_i - f(x_{i-1}, u_i). Is this supported? I would rather not track the IMU as a state.

Comments (4)

  1. Sasha Lambert

    You will need to implement your own factor for a specific function, such as a dynamics model.

  2. Frank Dellaert

    I’m going to close this, as it was a question not a bug, and now old. But the answer is to just set a equal to zero, and have the measurement function calculate the dynamics error. This is akin to “direct collocation” in optimal control.

    There also our amazing IMU factor machinery...

    PS there is now a google group for questions https://groups.google.com/forum/m/#!forum/gtsam-users

  3. Log in to comment