The problem with this last option is that it is easy to make typos and miss the point. For example, "Intrinsics" or "Intrinsic"? "AngularRate" or "AngularVelocity" ? etc.
Each state block vector has a vector. This is a regular YAML list of numbers.
[1,2,3]
Each state block covariance has a matrix. This is as the matrices we have defined in YAML up to now,
[[rows,cols]1,2,3,4,5,6,7,8,9]
Finally, the specification is as follows (the example is for a 3D pose)
Then we could say that sparse_block_matrix is a block matrix, say 5x5, where each block is 3x3. Each entry of this map is one of the non-null block matrices, and thus the missing entries are assumed to be the 0_5x5 matrices.
Then, we could ask the param server in this way:
_server.getParam<map<WPair, Eigen::Matrix<3,3,double>>("sparse_block_matrix");//The WPair is a bit of a hack that we can discuss, should this be useful
Don't know if this is useful, just throwing it out there.