Comments (4)
@spaghetti- no worries – so this is actually intended, because of an inconsistency in the way Eigen represents quaternions. Despite the fact that the quaternion constructor Quaternion (const Scalar &w, const Scalar &x, const Scalar &y, const Scalar &z)
which takes four scalar arguments takes them in the order (w, x, y, z), Eigen actually seems to represent quaternions internally with the components in the order (x, y, z, w), which is why the quaternion part of the state vector in the code you linked is defined that way. In any case, when initialising a quaternion from something like an Eigen::Matrix<double, 4, 1>
, the elements are interpreted as being in the order (x, y, z, w). You can confirm this for yourself using the following:
Eigen::Quaterniond a = Eigen::Quaterniond(1.0, 0.0, 0.0, 0.0);
Eigen::Quaterniond b = Eigen::Quaterniond(Eigen::Matrix<real_t, 4, 1>(0.0, 0.0, 0.0, 1.0));
std::cout << a.w() << " " << a.vec().transpose() << std::endl;
std::cout << b.w() << " " << b.vec().transpose() << std::endl;
The output will be as follows:
1 0 0 0
1 0 0 0
Indicating that the way the two constructors have been used is equivalent.
from ukf.
@danieldyer I apologize for opening the issue before checking myself. In fact I did check but I only checked the case where I did Eigen::Quaterniond(1, 0, 0, 0)
. The Eigen guys did say that they aware of the inconsistency but are unable to do anything about it.
from ukf.
@danieldyer I also had a few questions regarding the calculation of the state vector derivate as you did here over equation 27 in A quaternion based unscented Kalman Filter by E. Kraft. Should I open a new issue to ask that or can I just email you if that is okay?
from ukf.
@spaghetti- Sure, no problem. My email address is visible on my profile now.
from ukf.
Related Issues (20)
- Examples? HOT 1
- ukf library in ROS project HOT 2
- Request for CKF. HOT 1
- Does MeasurementVector support quaternion? HOT 13
- CMake compatibility HOT 2
- compile error
- Bazel build, for hermetic reproducible builds
- Why are the measurement vector variances declared static? HOT 2
- Question: How to predict next state with UKF? HOT 1
- Question: Multiple measurements from the same sensor between updates HOT 1
- Eigen Patch HOT 2
- Can't link to separate executable: Integrator can't find custom derivative functions HOT 3
- template error with clang HOT 5
- square root UKF vs UKF? HOT 1
- what is the significance of the `0.01` in `test_filter.step(0.01, meas)` ?
- Is there some principled way of utilising confidence of detection?
- How to handle the second-ordered term in calculating the derivative term for state vector ?
- How should the measurement field names be in comparison with state field names?
- Does UKF have smoothing?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ukf.