Relative quaternion to global with uncertainty - Robotics Stack Exchange most recent 30 from robotics.stackexchange.com 2019-12-07T12:12:20Z https://robotics.stackexchange.com/feeds/question/19242 https://creativecommons.org/licenses/by-sa/4.0/rdf https://robotics.stackexchange.com/q/19242 0 Relative quaternion to global with uncertainty Philip Konokhov https://robotics.stackexchange.com/users/23577 2019-08-08T15:08:49Z 2019-08-20T00:29:34Z <p>in this perfect tutorial i found how i can compose two poses with uncertainty and how i can transform one representation to another with uncertainty <a href="http://ingmec.ual.es/~jlblanco/papers/jlblanco2010geometry3D_techrep.pdf" rel="nofollow noreferrer">http://ingmec.ual.es/~jlblanco/papers/jlblanco2010geometry3D_techrep.pdf</a>. Let's suppose I have one global point which represent 6 dof and 6 confidence and another one also representing by 6 dof and 6 confidence. How can I get "mean" point with uncertainty.</p> https://robotics.stackexchange.com/questions/19242/-/19248#19248 0 Answer by tuskiomi for Relative quaternion to global with uncertainty tuskiomi https://robotics.stackexchange.com/users/17194 2019-08-09T20:44:39Z 2019-08-09T20:44:39Z <p>This is more of a statistics question. Convolude 2 normal distributions with the means and deviations as you describe, and you get something akin to the answer posted <a href="https://stats.stackexchange.com/questions/17800/what-is-the-distribution-of-the-sum-of-independent-normal-variables">here</a>.</p> <p>Or to sum it up simply, you add the means of the points (<span class="math-container">$\mu_{A+B} = \mu_{a}+ \mu_{b}$</span>), and those are your new means, and a variance of <span class="math-container">$\sigma^{2}_{a+b}=\sigma ^{2}_{a}+\sigma ^{2}_{b}$</span> . </p> <p>I assume you know your standard deviation, as without it your confidence intervals are useless.</p> https://robotics.stackexchange.com/questions/19242/-/19253#19253 1 Answer by C.O Park for Relative quaternion to global with uncertainty C.O Park https://robotics.stackexchange.com/users/19219 2019-08-11T01:09:47Z 2019-08-20T00:29:34Z <p>The tutorial you linked is a good one but does not deal with the uncertainty well. Unfortunately, what @tuskiomi suggested is for euclidian space variable with single-dimension. Following is a better way of doing your problem. Although it is two poses example, it can be extended to more poses easily.</p> <p>Fusing multiple observations of a pose. </p> <p><span class="math-container">\begin{equation} p(\textbf{z} | \textbf{x}) = \prod_{i=1}^{k} p(\textbf{z}_i | \textbf{x}) \end{equation}</span></p> <p>Two observation example</p> <p><span class="math-container">\begin{equation} ln(p(\textbf{z} | \textbf{x}))=ln(p(\textbf{z}_1 | \textbf{x})p(\textbf{z}_2 | \textbf{x})) \end{equation}</span></p> <p><span class="math-container">\begin{equation} ln(p(\textbf{z} | \textbf{x}))=c(\textbf{x}^T\Sigma^{-1}\textbf{x}-2\textbf{x}^T\Sigma^{-1}\textbf{z}+\textbf{z}^T\Sigma^{-1}\textbf{z}) \end{equation}</span></p> <p><span class="math-container">\begin{equation} \begin{split} ln(p(\textbf{z}_1 | \textbf{x})p(\textbf{z}_2 | \textbf{x}))&amp;=c(\textbf{x}^T\Sigma_1^{-1}\textbf{x}-2\textbf{x}^T\Sigma_1^{-1}\textbf{z}_1+\textbf{z}_1^T\Sigma_1^{-1}\textbf{z}_1+\\ &amp;\textbf{x}^T\Sigma_2^{-1}\textbf{x}-2\textbf{x}^T\Sigma_2^{-1}\textbf{z}_2+\textbf{z}_2^T\Sigma_2^{-1}\textbf{z}_2) \end{split} \end{equation}</span></p> <p>Here is your new uncertainty <span class="math-container">\begin{equation} \begin{split} \textbf{x}^T\Sigma^{-1}\textbf{x}=\textbf{x}^T(\Sigma_1^{-1}+\Sigma_2^{-1})\textbf{x} \end{split} \end{equation}</span></p> <p><span class="math-container">\begin{equation} \Sigma=(\Sigma_1^{-1}+\Sigma_2^{-1})^{-1} \end{equation}</span></p> <p>and mean. <span class="math-container">\begin{equation} \begin{split} \textbf{x}^T\Sigma^{-1}\textbf{z}=\textbf{x}^T(\Sigma_1^{-1}\textbf{z}_1+\Sigma_2^{-1}\textbf{z}_2) \end{split} \end{equation}</span></p> <p><span class="math-container">\begin{equation} \textbf{z}=\Sigma(\Sigma_1^{-1}\textbf{z}_1+\Sigma_2^{-1}\textbf{z}_2) \end{equation}</span></p> <p>It might work but occasionally it will suffer from the singularity problem. </p> <p>The proper way of doing this is fusing them on manifold. If you want to learn more about uncertainty fusion of SE3 poses you should read State estimation for robotics by Prof. Tim Barfoot.</p>