摘要: 一个类有两种成员函数:公有成员函数,外界可以使用类的对象访问;私有成员函数,外界不可以访问,但是可以看到,只能在类内部调用。 空命名空间就可以使得私有的成员函数不被外界看到也不被访问。 例子: 阅读全文
posted @ 2019-09-06 17:25 Boy岚 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 1:名词解释:probability grid map 地图是经过栅格化的地图,且地图中的每个像素值用概率来表示。 p = 1,表示被占据; p = 0.5,表示未知,地图初始化的时候,每个栅格可以初始化为0.5; p = 0.0,表示free,即确定没有障碍物。 2:如何更新每个栅格的概率 使用赔 阅读全文
posted @ 2019-08-16 08:16 Boy岚 阅读(1285) 评论(0) 推荐(0) 编辑
摘要: 注意:protoc版本会影响后续的安装,首先确认系统中有没有protobuf:locate protobuf;如果有,把所有与其相关的文件全部删除,再安装1:安装ceres_solver (1)cmake .. -G Ninja -DCXX11=ON (2)ninja (3)sudo ninja i 阅读全文
posted @ 2019-08-07 12:52 Boy岚 阅读(1779) 评论(0) 推荐(0) 编辑
摘要: 1:运动方程有协方差矩阵R,观测方程有协方差矩阵Q。它们表示的意义是,到当前时刻t为止,所有测量的样本的协方差矩阵,用来衡量本次测量的不确定性。 2:信息矩阵是协方差矩阵的逆,用来表示本次测量的可靠性,即不确定越小,则可靠性就越大。 3:因此,公式推导里出现的相邻两个状态之间的协方差矩阵,实际上是到 阅读全文
posted @ 2019-08-05 15:00 Boy岚 阅读(1291) 评论(2) 推荐(0) 编辑
摘要: 1:已知上一时刻的地图m,也是未完成的submap。因为scan to map的过程,就是scan to current submap的过程。 2:submap是栅格地图,这是为了方便匹配。 3:机器人在任意时刻,都能看到map上的所有occupied points。但是,scan不一定能扫描到所有 阅读全文
posted @ 2019-08-03 11:04 Boy岚 阅读(3118) 评论(0) 推荐(0) 编辑
摘要: 已知圆弧半径和方向(顺逆时针) 阅读全文
posted @ 2019-07-18 09:50 Boy岚 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 欧式旋转群对加法没有封闭性,但是对乘法具有封闭性,因此,不同时刻,同一物体的欧式变换要用乘法计算。 阅读全文
posted @ 2019-07-18 09:45 Boy岚 阅读(3499) 评论(0) 推荐(0) 编辑
摘要: 直线截据表达式:y = k*x+b 直线极坐标表达式:x*cosθ + y*sinθ = ρ,其中θ是直线垂足方向。 问题:已知直线上两点(xi,yi),(xj,yj),直线外一点(rx,ry)求直线外该点到直线的垂足坐标。即求两条直线的交点坐标 step1:直线的方向θ = atan2(yj-yi 阅读全文
posted @ 2019-07-18 09:29 Boy岚 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 假设:非线性方程为g(x) = z; 模型:构建残差 f(x) = g(x) -z 目标:求残差最小时的状态x 方法:高斯牛顿法 求解过程: 1:构建损失函数(cost function): min || f(x + Δx) ||2 注释:因为我们这里考虑的状态x是一个多为的矢量,对矢量求大小,要计 阅读全文
posted @ 2019-07-06 15:37 Boy岚 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 问题:如下参数类型T,必须是常用的标准类型,不能使用重定义的数据类型。特别是整型,只能使用int,不能使用unsigned int等。 否则会报错: error: invalid initialization of non-const reference of type ‘int&’ from an 阅读全文
posted @ 2019-07-02 11:14 Boy岚 阅读(559) 评论(0) 推荐(0) 编辑