因为想要做6D localization,因此先尝试跑了下lego_loam

1 安装好lego-loam以后,按照如下命令跑了下

roslaunch lego_loam run.launch

rosbag play 2018-05-18-14-57-12_8.bag --clock --topic /velodyne_points /imu/data

2 下一步要做的,保存三维地图,然后尝试用蒙特卡罗做定位,先读懂3d_mcl的代码

void cbCloud()中的accum_->push()应该就是个滑窗,超过一定数量以后,强制process(根据观测模型进行测量)

全局定位部分:

#####################删除点云中的孤立点,即周围没有近邻点的点#################################

auto pc_filter = [this, kdtree](const PointType& p)   //lambda 表达式
    {
      std::vector<int> id(1);
      std::vector<float> sqdist(1);
      auto p2 = p;
      p2.z += 0.01 + params_.global_localization_grid_;

return kdtree->radiusSearch(
          p2, params_.global_localization_grid_, id, sqdist, 1);
    };                           //返回的是半径范围内近邻点的个数
    points->erase(
        std::remove_if(points->begin(), points->end(), pc_filter),    //remove_if返回的是没有近邻点的点的指针
        points->end());     //那么erase删除的就是周围没有近邻点的点云,那么这段代码就是删除点云地图中的孤立点

########################################################################

#################20210408,最近要补充一部分实验,又开始看代码该代码了,看一点写一点##########

raycast.h是判断在某个位置的某个激光点云(转到地图世界坐标系下)是与地图中的点云(栅格范围内)重合

######################################################################

讲真,粒子滤波在进行6维状态估计时不经济,也不准确,尤其是z方向效果很差,这个代码作为学习是可以的,但是效果一般,还不如ukf,我用图优化模型写了代码,效果确实比pf和ukf好很多,实时性也可以,每帧都能处理,我用的雷达是20帧/s

基于三维点云地图定位导航(更新中。。。。。)相关推荐

  1. 多传感器融合定位 第四章 点云地图构建及基于点云地图定位

    多传感器融合定位 第四章 点云地图构建及基于点云地图定位 代码下载 https://github.com/kahowang/sensor-fusion-for-localization-and-map ...

  2. 基于稀疏点云地图实现Turtlebot2真实环境下导航

    最近在完成基于稀疏点云地图实现turtlebot导航的工作,大致实现路线为稀疏地图->稠密点云地图->离线八叉树地图->二维栅格地图->保存地图并基于turtlebot完成真实 ...

  3. 三维点云数据处理软件供技术原理说明_基于三维点云处理技术的工件识别和匹配...

    1. 引言 目前,随着自动化程度的提高,机器人导航.工业零件检测及抓取等众多领域对计算机视觉系统的要求越来越高 [1],基于二维图像的物体识别已经无法满足日常作业的需求.而由于三维扫描技术的发展,结构 ...

  4. Retriever:基于压缩点云地图的点云检索方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨泡泡机器人SLAM 标题:Retriever: Point Clou ...

  5. 计算机设计基于Android实现高德地图校内导航出行app【项目源码+简要论文说明】

    基于Android实现高德地图校内导航出行app项目演示 如今手机的发展非常迅速,手机越来越成为人们不可缺少的东西.手机从最初功能简单的功能机,发展到如今几乎无所不能的智能机,满足了人们的日常需求,手 ...

  6. 基于Android实现高德地图校内导航出行app项目演示【项目源码+简要论文说明】分享

    基于Android实现高德地图校内导航出行app项目演示 如今手机的发展非常迅速,手机越来越成为人们不可缺少的东西.手机从最初功能简单的功能机,发展到如今几乎无所不能的智能机,满足了人们的日常需求,手 ...

  7. 线性八叉树_基于三维点云数据的线性八叉树编码压缩算法(权毓舒, 何明一,).pdf...

    基于三维点云数据的线性八叉树编码压缩算法(权毓舒, 何明一,) ·70 · 计算机应用研究 2005 年 基于三维点云数据的线性八叉树编码压缩算法 * 权毓舒, 何明一 ( 西北工业大学 电子信息学院 ...

  8. 利用深度图建立三维点云地图笔记

      前言:这几天在独立地研究对RGBD图像序列,建立其三维点云地图.这是我研究生期间,毕业论文中的一点小工作.由于我并没有借鉴像RTAB-MAP等SLAM方法,所以本文仅仅能够帮助学习和理解是三维建图 ...

  9. 采用Cartographer、LIO-SAM构建三维点云地图,采用Octomap构建八叉树地图(三维栅格地图)

    采用Cartographer.LIO-SAM构建三维点云地图,采用Octomap构建八叉树地图(三维栅格地图) 采用Cartographer构建三维点云地图 采用的数据集是安装Cartographer ...

最新文章

  1. 使用 jQuery 简化 Ajax 开发.
  2. 做俯卧撑的10个技巧
  3. 笔记本移动位置,切换网络ip后,虚拟机的mac系统无法联网解决
  4. TIOBE 9 月编程语言:C++ 突起、R 越进前十
  5. AI杂谈(2)请教支持向量机用于图像分类
  6. VB讲课笔记06:窗体与常用控件
  7. 字符编码方式及大端小端
  8. github入门到上传本地项目
  9. 佳能MP145/140打印机 出现错误代码“E5”怎么处理
  10. 用两个队列实现一个栈
  11. 用AVX2指令集优化浮点数组求和
  12. Cell:PopCOGenT鉴定微生物基因组间的基因流动
  13. 须知年少凌云志 曾许人间第一流
  14. linux怎么查硬盘是否故障,怎么检查硬盘是否有问题
  15. nth-child的使用方法
  16. HackRF实现GPS欺骗教程
  17. 【HTML 教程系列第 18 篇】详解什么是 HTML 中的表格 table
  18. 云南民族大学计算机科学与技术在哪个校区,云南民族大学是不是有一个玉溪校区具体是在哪里...
  19. 30岁改行学python_我30岁了,转行学编程可以吗? 排除法告诉你答案
  20. Java Applet实现五子棋游戏

热门文章

  1. 计算机组成原理branch,处理器结构--分支预测(Branch Prediction)
  2. Potato提权小结
  3. Machine Learning第六周笔记一:评估学习算法和bias/variance
  4. 【中危】未加密的__VIEWSTATE参数
  5. python字典更新_python如何更新字典?
  6. Word表格复制粘贴后变蓝色背景的解决方法
  7. 【迁移学习】分布差异的度量以及迁移学习的统一表征方法
  8. 51单片机P0口什么时候使用上拉电阻
  9. canvas绘制坐标系
  10. zcmu-4921 字符串连接