I am implementing a Kalman Filter for the following situation. I have a camera set in a room that can detect the position and orientation of a marker (ARUCO) in the room.
Therefore I have the following frame transformations:
What I want to filter with the Kalman is the position and orientation of the marker: $[x, y, z, \phi, \theta, \psi]$ in the room frame.
I already have a prediction model for the marker (constant-velocity).
I am writing the observation model equations. I have the following relationships:
$$ X_{observed} = X_{marker/camera} = R_{camera/room}^T \cdot X_{marker/room}$$ and $$R_{observed} = R_{marker/camera} = R_{camera/room}^T \cdot R_{marker/room}$$
With these expressions, I express the observation with respect to the estimated variables: $$X_{marker/room} = (x,y,z)^T$$ $$R_{marker/room} = eul2mat(\phi, \theta, \psi)$$
However, the function $eul2mat$ and the matrix multiplication introduce some non-linearity. Which forces me to use an Extended Kalman Filter. Now I still can figure out the math of this. But the math becomes too complicated for what I'm trying to solve
Of course, if I look at the problem differently. Let's say I only try to filter the pose of the marker in the camera frame. Then the equations are much simpler (a lot of identity matrices appear), and the system is linear.
So here is my question:
Is there a way to make the equations of this system simpler?
PS : This is a simple case, where I don't really need to estimate the full transform directly (marker to room frame). But there might be cases where I need to estimate the full transform so that the state vector might be available for another filtering.