首先把常用的数据结构记录一下

IntensityPoint2D 一个激光强度点
IntensityRange2D 激光强度点的集合
Feature2DWithID 一个反光柱的点
Feature2DLlist 反光柱点的集合
Feature2DAdjacency 相邻特征点
AdjacencyList 反光柱点的集合,相邻特征点的集合
RobotPose 机器人的位姿
首先第一个函数:使用(Intensity方法)
extract_handler->Extract(cld_,candiate_cld_)

这个函数提取的是是符合要求的强度激光点,所以candiate_cld_存放的是符合要求的强度激光点的集合。

接着第二个函数:(使用DSU方法)
associate_handler->Association(candiate_cld_,feature_list)

这个函数是提取的反光柱的位置,所以feature_list是存放反光柱位置的集合。

接下来第三个函数:(使用Dustin方法)
mapping_handler->InsertFeatureList(feature_list_,adjacency_list_,pose)

这个函数把上一步求到的feature_list_作为输入,构建反光柱地图,所以adjacency_list_就是反光柱地图,pose是机器人在反光柱地图的位姿。

我们仔细分析这个一个函数InsertFeatureList

1-InsertFeatureList->InsertToFeatureGraph

这一步将新的反光柱的位置存入feature_points中,并更新反光柱地图的结构图(就是反光柱之间的边)feature_graph。

2-InsertFeatureList->RelocalizationRobot

这一步首先用新的观测点构建一个局部的反光柱图,第二步用局部图与加载的地图进行匹配,从而找到观测点对应的地图点,实现重定位功能,但是这里作者使用的方法是:从一点出发对应不同反光柱的距离,找到已知地图上相似的点,就实现了局部点和全局点的一一对应。(这里表示????,万一距离相同但是角度不同怎么办)

3-InsertFeatureList->InitialCurrentPose(localization_hit,pose)

这一步是使用上一步匹配的点定位机器人当前的位姿。初始位姿。

4-InsertFeatureList->OptimizeCurrentPose(localization_hit,pose)

这一步是使用ceres优化上一步的初始位姿。

5-InsertFeatureList->SiftNewFeaturePoints()

这一步是已知初始位姿的情况下扩展反光柱地图,就不需要每步都进行重定位。这也是为什么即使有高度一致的反光柱也不会影响。

6-InsertFeatureList->DropAdjacencyList

这一步是在定位丢失时,保留之前的feature_points和feature_graph。

venus反光柱建图记录相关推荐

  1. 反光柱建图和定位总结

    反光柱建图流程 实际的算法测试发现,如果一边控制车走,一边程序自动建图,会出现在真实的柱子周围飞出多余的点.这个应该是累积误差引起的.需要像slam算法中,进行回环优化.因此暂时采用手动加点,到一个位 ...

  2. 反光柱建图venus和我的方案

    venus的方式是一种纯反光柱的方案, 网址:https://gitee.com/dustinksi/VEnus 视频地址:https://www.bilibili.com/video/av80266 ...

  3. gmapping建图与rviz实时显示中出现的问题记录

    网上关于gmapping建图教程基本都是: 用ros的数据记录指令rosbag去记录数据,然后再通过rviz去显示记录的数据. 其实可以用rviz去实时显示构建地图的过程,但是需要去配置ROS: 首先 ...

  4. 【工程记录】基于松灵Scout mini底盘实现小车自主探索建图

    一.硬件配置 松灵scout mini底盘 速腾robense 16线激光雷达 瑞芬imu 因特尔nuc 二.工程技术栈 IMU驱动包(原创) 松灵底盘包(改写,里程计融合IMU角度信息) ROS N ...

  5. ORBSLAM2实验记录(1)——稠密建图

    写在前面 近期又重新拾起ORBSLAM2的学习,换装了Ubuntu16.04,配置环境的bug比18.04少了不少,可以说是一路顺利,关于环境配置的问题,网络上可以说是众说纷纭,如果你打算使用Ubun ...

  6. 【论文阅读记录】基于视觉SLAM建图的无人机路径规划 作者:王海

    目录 一.论文前瞻问题 二.论文内容概述 1.SLAM建图与路径规划综述 2.关键问题 3.SLAM中前后端设计部分 4.三维路径规划 三.拓展 一.论文前瞻问题 智能体在陌生环境中的一次自主导航任务 ...

  7. 基于激光雷达实现三边定位算法开发记录(二)——查找多个反光柱数据

    22年暑假实习过程中第一个开发任务,基于激光雷达实现三边定位开发功能 开发平台为ubuntu 18.04 + ros melodic 日期:2022.7.19 本次实现:由于实现三边定位需要先找反光柱 ...

  8. #记录一下:关于三维建图的一些文章讲解 + Delaunay三角剖分的含义

    三维建图的一般过程: Images Poses-->Depth-->Ponit cloud-->Mesh-->Refined Mesh-->Texture Mesh RG ...

  9. 【BZOJ1061】【codevs1803】志愿者招募,神奇建图费用流

    传送门1 传送门2 写在前面:第一次写成功的费用流是个神奇数学建模题-- 思路:摘自http://www.ithao123.cn/content-4207689.html,感觉这个要比列不等式+松弛操 ...

最新文章

  1. 网络推广网站总结降低网站跳出率的技巧有哪些?
  2. mysql count count id_mysql 为什么count(*)快于count(id)
  3. 创建oracle方法,简单的Oracle存储过程的创建方法
  4. SQL 必知必会·笔记3过滤数据
  5. 成功要掌握人生的每一次机会
  6. 使用PagedDataSource类实现分页
  7. [Regionals 2012 :: Asia - Tokyo ]
  8. 线程同步(windows平台):信号量
  9. 《Excel图表之道》高清PDF精美样章
  10. QUAR_CH_USB2TTL V1 USB转4路UART串口侦听板设计日志1
  11. java毕业生设计校园租赁系统的设计与实现计算机源码+系统+mysql+调试部署+lw
  12. unity入门——实现一个简单的跑酷游戏(准备工作)
  13. 永久代,方法区 和 元空间之间的关系
  14. 【机器学习】基于生成对抗网络的黑白图片上色
  15. 爬虫如何利用session方法保持登陆状态(selenium)
  16. PTA 天梯赛L1 7-3 跳一跳 (15 分) C语言AC题解【仅供分享】
  17. linux怎么打开chrome_Linux怎么下载应用并安装应用
  18. Unity使用WebCamTexture 实现手机前后摄像头调用
  19. 修改Centos7/RHEL7的主机名
  20. 抖音直播带货选品怎么做?怎么排品组货才能提升商品转化?

热门文章

  1. title啥意思?网址title题目书写
  2. 老司机 iOS 周报 #50 | 2019-01-02
  3. 南京邮电大学通达学院物理实验题库答案
  4. rg1 蓝光危害rg0_LED蓝光危害评估的最新标准IEC/TR 62778:2014
  5. PCB板厂工厂常用的英文
  6. Android Parcel和Parcelable类
  7. deepsort和MOT16指标评价
  8. MAC地址和IP地址的区别,联系和应用范围
  9. 微信、博客和我的SAP B1
  10. 【Android定制】修改BUILD_AGO_GMS = no 和 BUILD_GMS=no属性