随笔分类 -  SLAM工具库

后端优化库gtsam,ceres,g2o 矩阵运算库Eigen,Sophus
摘要:#include <iostream> #include <Eigen/Geometry> int main() { Eigen::Quaternion q1(1, 2, 3, 4); Eigen::Vector3d pos = Eigen::Vector3d::Zero(); Eigen::Qua 阅读全文
posted @ 2024-03-06 17:28 水水滴答 阅读(176) 评论(0) 推荐(0)
摘要:在Eigen中,除了常见的Vector和Matrix,还有Array,比较Matrix而言,Array类提供了更为一般的数组功能。Array类可以对两个矩阵相应元素的进行运算。 下面是常见的例子 1、array动态矩阵的加减运算,注意:矩阵的加减要是相同尺寸 ArrayXXf a(3,3); Arr 阅读全文
posted @ 2023-05-04 14:27 水水滴答 阅读(472) 评论(0) 推荐(0)
摘要:C++数据转换到Eigen时(Eigen::Map),要注意,Eigen默认按列优先存储。列优先因为存储位置相邻会比行优先更快些。 注意:当用输入运算符<<时,都是一行一行输入,不管该矩阵是否是指定的行优先还是列优先. 测试代码: //无论设置的是行优先还是列优先,输入<<后,都是行优先排列 Eig 阅读全文
posted @ 2023-04-28 16:19 水水滴答 阅读(825) 评论(0) 推荐(0)
摘要:Eigen常见的类型及初始化方法 测试例程如下: // 2x1 列向量 Eigen::Vector2f vector_2f(1.0f, 2.0f); std::cout<<"vector_2f:\n"<<vector_2f<<std::endl<<std::endl; // 3x1 列向量 Eige 阅读全文
posted @ 2023-04-28 13:56 水水滴答 阅读(1657) 评论(0) 推荐(0)
摘要:LocalParameterizations are deprecated in Ceres Solver 2.2.1 LocalParameterization -> Manifold ceres2.2.1之前的版本用的是LocalParameterizations来定义优化量的定义和求导,在之后 阅读全文
posted @ 2023-04-23 09:44 水水滴答 阅读(153) 评论(0) 推荐(0)
摘要:Eigen中定义了一系列的vector和matrix,相比copy数据,更一般的方式是复用数据的内存,将它们转变为Eigen类型。Map类很好地实现了这个功能。 Map定义: Map(PointerArgType dataPtr, Index rows, Index cols, const Stri 阅读全文
posted @ 2020-02-11 17:22 水水滴答 阅读(3228) 评论(0) 推荐(0)