• 导航杂记


    1.导航给电机的速度命令:geometry_msgs/Twist
    geometry_msgs/Twist 消息类型:geometry_msgs/Vector3 linear
      float64 x //沿x方向的运动速度
      float64 y //沿y方向的运动速度
      float64 z //沿z方向的运动速度
    geometry_msgs/Vector3 angular
      float64 x //沿x轴的旋转速度
      float64 y //沿y轴的旋转速度
      float64 z //沿z轴的旋转速度

    对于两轮差动只有linear.x和angular.z有用

    对于全向三轮只有linear.x,linear.y和angular.z有用

    2.小车在地图中位姿(位置+方向)的表示:geometry_msgs/Pose
    geometry_msgs/Point position # This contains the position of a point in free space
      float64 x
      float64 y
      float64 z
    geometry_msgs/Quaternion orientation # This represents an orientation in free space in quaternion form
      float64 x
      float64 y
      float64 z
      float64 w
    备注:geometry_msgs/Point position表示点在空间中的方向,不表示方向信息,因为点没有方向

            geometry_msgs/Quaternion orientation表示小车的方向信息,是用四元素的形式表示的

            欧拉角和四元素:用旋转表示的方位信息,不含位置信息

    -------------------------------------------------------------------------------------------------

    HectorSLAM:
     scan-matching(Gaussian-Newton equation)  +  传感器的要求高
     扫描匹配方法是高斯牛顿方法.

    备注:
    1.Gauss-Newton算法是解决非线性最优问题的常见算法之一
    2.匹配方法还有最邻近匹配方法ICP(Iterative Closest Point),ICP的目的很简单,就是求解两堆点云之间的变换关系(旋转变换R和平移变换t)

    Gmapping:
    is a Rao-Blackwellized PF SLAM(RBPF) approach
    RBPF:是粒子滤波器的一种

    graphslam:图优化的核心思想我认为主要就是矩阵的稀疏化与最小二乘

    KartoSLAM:KartoSLAM是基于图优化的方法,用高度优化和非迭代 cholesky矩阵进行稀疏系统解耦作为解

    CoreSLAM:为了简单和容易理解最小化性能损失的一种slam算法.将算法简化为距离计算与地图更新的两个过程,  第一步,每次扫描输入,基于简单的粒子滤波算法计算距离,粒子滤波的匹配器用于激光与地图的匹配,每个滤波器粒子代表机器人可能的位置和相应的概率权重,这些都依赖于之前的迭代计算. 选择好最好的假设分布,即低权重粒子消失,新粒子生成..在更新步骤,扫描得到的线加入地图中,当障碍出现时,围绕障碍点绘制调整点集,而非仅一个孤立点.

    LagoSLAM(Linear Approximation for Graph Optimization):基本的图优化slam的方法就是利用最小化非线性非凸代价函数.每次迭代, 解决局部凸近似的初始问题来更新图配置,过程迭代一定次数直到局部最小代价函数达到. (假设起始点经过多次迭代使得局部代价函数最小).  LagoSLAM 是线性近似图优化,不需要初始假设.  优化器的方法可以有三种选择 Tree-based netORK Optimizer(TORO), g2o,LAGO

    g2o(General Graph Optimization)—通用图优化算法

  • 相关阅读:
    WPF做的小型音乐播放器升级版
    WPF做的小型下载工具和一点点吐槽
    js小技巧摘录1
    关于浏览器缓存设置
    js高阶函数应用—函数防抖和节流
    ES6中let和闭包
    js高阶函数应用—函数柯里化和反柯里化(二)
    js继承的实现(es5)
    js高阶函数应用—函数柯里化和反柯里化
    前端回答从输入URL到页面展示都经历了些什么
  • 原文地址:https://www.cnblogs.com/cj2014/p/7592495.html
Copyright © 2020-2023  润新知