30 #include "mrob/SE3.hpp" 31 #include <Eigen/StdVector> 47 Plane(uint_t timeLength);
50 void reserve(uint_t d, uint_t t);
51 Mat41 get_plane(
void) {
return planeEstimation_;};
57 std::vector<Mat31>& get_points(uint_t t);
58 uint_t get_number_points(uint_t t) {
return allPlanePoints_[t].size();};
59 uint_t get_total_number_points() {
return numberPoints_;};
61 void set_trajectory(
const std::shared_ptr<
const std::vector<SE3>> &trajectory) {trajectory_ = trajectory;};
136 Mat41 planeEstimation_;
138 bool isPlaneEstimated_;
141 std::vector< std::vector<Mat31> > allPlanePoints_;
142 uint_t numberPoints_;
145 std::shared_ptr<const std::vector<SE3>> trajectory_;
149 std::vector<Mat4, Eigen::aligned_allocator<Mat4> > matrixS_, matrixQ_;
153 std::vector<Mat4, Eigen::aligned_allocator<Mat4> > gradQ_, lieGenerativeMatrices_;
156 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
double estimate_plane_incrementally(uint_t t)
Definition: plane.cpp:148
void calculate_all_matrices_S(bool reset=false)
Definition: plane.cpp:170
Mat31 get_mean_point(uint_t t)
Definition: plane.cpp:190
double get_error_incremental(uint_t t) const
Definition: plane.cpp:158
void calculate_all_matrices_Q()
Definition: plane.cpp:196
Mat61 calculate_gradient(uint_t t)
Definition: plane.cpp:207
double get_error() const
Definition: plane.hpp:79
void push_back_point(Mat31 &point, uint_t t)
Definition: plane.cpp:98
Mat6 calculate_hessian(uint_t t)
Definition: plane.cpp:282
Special Euclidean (group) in 3d Is the group representing rotations and translations, that is, rigid body transformations. SE3 = {T = [R t] | R SO3 , t Re^3 } [0 1] Associated to the groups of RBT, there is the Lie algebra se3 representing the same transformation in the tangent space around the identity. Particularly, xi =[w , v] Re^6, where w Re^3 represents the rotation and v the translation. We will preserve this order in this class.
Definition: matrix_base.hpp:36
double estimate_plane()
Definition: plane.cpp:123