Error-state Kalman filter is an elegant and effective filtering technique for robotic systemsoperating on manifolds. To avoid the tedious and repetitive derivations for implementing an error-state Kalman filter for a certain system, this paperproposes a generic symbolic representation for error-state Kalman filters on manifolds. Utilizing the \boxplus \backslash \boxminus operations and further defining a \oplus operation on the respective manifold, we propose a canonical representation of the robotic system, which enables us to separate the manifold structures from the system descriptions in each step of the Kalman filter, ultimately leading to a generic , symbolic and manifold-embedding Kalman filter framework . This proposed Kalman filter framework can be used by only casting the system model into the canonical form without going through the cumbersome hand-derivation of the on-manifold Kalman filter. This is particularly useful when the robotic system is of high dimension. Furthermore, the manifold-embedding Kalman filter is implemented as a toolkit in C++ , with which an user needs only to define the system, and call the respective filter steps (e.g., propagation , update) according to the events (e. g., reception of input, reception of measurement). The existing implementation supports full iterated Kalman filtering for systems on manifold \mathcal{S = \mathbb{R}^m \times }  SO(3) \times \cdots \times SO(3) \times \mathbb{S^2\times \cdots \times \mathbb{S}^2 or any of its sub-manifolds}  , and is extendable to other types of manifold when necessary. The proposed symbolic Kalman filter and the developed toolkit are verified by implementing a tightly-coupled lidar-inertial navigation system. Results show  superior filtering performances and computation efficiency comparable to hand-engineered counterparts. Finally, the toolkit is opened sourced at URL 
 Kalman filter is presumably one of the most important and extensively used filtering techniques in modern control systems. Yet, nearly all current variants of Kalman filters are formulated in the Euclidean space \mathbb{R on manifolds. In this paper, we propose a method to develop Kalman filters for such on-manifold systems. Utilizing \boxplus , \boxminus operations and further defining an oplus operation on the respective manifold, we propose a canonical representation of the on-manifold system. Such a canonical form enables us to separate the manifold constraints from the system behaviors in each step of the Kalman filter, ultimately leading to a generic and symbolic Kalman filter framework that are naturally evolving on the manifold. Furthermore, the on-manifold Kalman filter is implemented as a toolkit in C++ packages which enables users to implement an on-manifold Kalman filter just like the normal one in \mathbb{R user needs only to provide the system-specific descriptions, and then call the respective filter steps (e.g., predict , update) without dealing with any of the manifold constraints. The existing implementation supports full iterated Kalman filtering for systems on = \mathbb{R}^m \times } any manifold composed of \mathbb{R SO(3) ^2\times \cdots \times \mathbb{S}^2 or any of its sub-manifolds} and \mathbb{S , and is extendable to other types of manifold when necessary. The proposed symbolic Kalman filter and the developed toolkit are verified by implementing a tightly-coupled lidar-inertial navigation system. Results show that the developed toolkit leads to superior filtering performances and computation efficiency comparable to hand-engineered counterparts. Finally, the toolkit is opened sourced at URL to assist practitioners to quickly deploy an on-manifold Kalman filter.
D
Error-state
R
an elegant and effective filtering technique for robotic systemsoperating
presumably one of the most important and extensively used filtering techniques in modern control systems. Yet, nearly all current variants of Kalman filters are formulated in the Euclidean space \mathbb{R
R
To avoid the tedious and repetitive derivations for implementing an error-state Kalman filter for a certain system, this paperproposes a generic symbolic representation for error-state Kalman filters on manifolds. Utilizing the
In this paper, we propose a method to develop Kalman filters for such on-manifold systems. Utilizing
R
\backslash
,
R
a \oplus
an oplus
R
robotic system, which
on-manifold system. Such a canonical form
R
structures
constraints
R
descriptions
behaviors
R
, symbolic and manifold-embedding
and symbolic
R
. This proposed Kalman filter framework can be used by only casting the system model into the canonical form without going through the cumbersome hand-derivation of the on-manifold Kalman filter. This is particularly useful when the robotic system is of high dimension.
that are naturally evolving on the manifold.
R
manifold-embedding
on-manifold
R
, with which an
packages which enables users to implement an on-manifold Kalman filter just like the normal one in \mathbb{R
R
define the system, and
provide the system-specific descriptions, and then
R
propagation
predict
R
according to the events (e. g., reception of input, reception of measurement).
without dealing with any of the manifold constraints.
D
manifold \mathcal{S
A
any manifold composed of \mathbb{R
D
\times \cdots \times SO(3) \times \mathbb{S
A
and \mathbb{S
A
that the developed toolkit leads to
A
to assist practitioners to quickly deploy an on-manifold Kalman filter.