33 #include "nav2_amcl/pf/pf_vector.hpp"
34 #include "nav2_amcl/pf/eig3.hpp"
96 c.v[0] = a.v[0] - b.v[0];
97 c.v[1] = a.v[1] - b.v[1];
98 c.v[2] = a.v[2] - b.v[2];
109 c.v[0] = b.v[0] + a.v[0] * cos(b.v[2]) - a.v[1] * sin(b.v[2]);
110 c.v[1] = b.v[1] + a.v[0] * sin(b.v[2]) + a.v[1] * cos(b.v[2]);
111 c.v[2] = b.v[2] + a.v[2];
112 c.v[2] = atan2(sin(c.v[2]), cos(c.v[2]));
138 for (i = 0; i < 3; i++) {
139 for (j = 0; j < 3; j++) {
241 for (i = 0; i < 3; i++) {
242 for (j = 0; j < 3; j++) {
244 aa[i][j] = a.m[i][j];
255 eigen_decomposition(aa, evec, eval);
257 *d = pf_matrix_zero();
258 for (i = 0; i < 3; i++) {
260 d->m[i][i] = eval[i];
261 for (j = 0; j < 3; j++) {
263 r->m[i][j] = evec[i][j];