摘要:
无论是激光、视觉或者是惯导直接推出来的里程计通常会有回环误差,通过图优化的方式能够将回环误差最小化,从而提高建图精度。 图优化也是一种优化,所以能用常见的非线性优化方法来做,这里用到的高斯牛顿法,和之前ndt那一篇类似。 1.定义误差函数: 我们定义Xi为i点位姿,Xj为j点位姿,Rij与Tij为回 阅读全文
摘要:
catkin_make编译ROS中pointcloud_to_laserscan模块报 error: expected constructor, destructor, or type conversion before ‘(’ token 241 | PLUGINLIB_DECLARE_CLASS 阅读全文
摘要:
DWA英文全称Dynamic Window Approach即动态窗口方法,是一种局部路径规划算法,主要用来做局部避障。 算法原理是对当前速度和角速度在一定范围内进行采样,并对采样后的参数在一定时间内进行预测生成多组路径,计算每条路径的权重,最后选择最优权重的路径对应的速度和角速度输出给下级模块。 阅读全文
摘要:
西尔维斯特方程的形式:AX+XB=C 李雅普诺夫方程的形式:AX+XA'=-C 这两种方程都是已知矩阵A,B,C,求解X的方程。 对于这种方程有两种方法来求解,一种是朴素法,一种是Bartels-Stewart法。 以西尔维斯特方程为例,朴素法是将方程写为下列形式进行直接求解: 其中圆圈中带个X的符 阅读全文
摘要:
NDT全称Normal Distributions Transform(正态分布变换),用来计算不同点云之间的旋转平移关系,和ICP功能类似,并且该算法能够写出多线程版本,因此速度可以比较快。 算法步骤如下,以二维点云为例: 1. 比如我们有两组点云A和B,A是固定点云,我们要把B转换到和A对齐,就 阅读全文
摘要:
高斯过程是一种非参数模型估计方法。不像最小二乘,需要知道模型的参数,如:y=ax+b,我们就需要知道a和b来对模型进行估计。 高斯过程要设置一个核函数,来给不同观测值确定关系。这里我们需要设置核函数的超参数,比如下面的alpha和beta。 下面是几种常见的计算不同观测关系的核函数: 设置好核函数后 阅读全文
摘要:
如果想要在C++程序中用vector传递一个大内存,用swap是比较快的方法,不过传递之后,原始数据就不存在了。 如果后续不再使用原数据,用swap会比较好。 #include <iostream> #include <ctime> #include <vector> using namespace 阅读全文
摘要:
Linux运行程序时报: ./Test2: error while loading shared libraries: lib***.so: cannot open shared object file: No such file or directory 一般遇见这个问题,直接ldd看一下依赖的s 阅读全文
摘要:
logistic模型能够对数据进行二分类。 比如我们有两组二维空间数据,最终要求的是一个分类直线,可以设定为计算w(1)+w(2)*x+w(3)*y=0这样的直线。 问题就变为了如何求w的问题。 网上有很多推导,这里就不推导了,不过还是要写几个关键公式。 可以设定logistic函数为: 设定损失函 阅读全文
摘要:
python中利用selenium调用Chrome浏览器做代理模式访问的时候,发现设置 options.add_argument('--proxy-server=http://XXX.XXX.XXX.XXX:XX') 这句话并没什么作用。 下面给出一个我这里测试能正常使用的例子: from sele 阅读全文