venus反光柱建图记录
首先把常用的数据结构记录一下
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反光柱建图记录相关推荐
- 反光柱建图和定位总结
反光柱建图流程 实际的算法测试发现,如果一边控制车走,一边程序自动建图,会出现在真实的柱子周围飞出多余的点.这个应该是累积误差引起的.需要像slam算法中,进行回环优化.因此暂时采用手动加点,到一个位 ...
- 反光柱建图venus和我的方案
venus的方式是一种纯反光柱的方案, 网址:https://gitee.com/dustinksi/VEnus 视频地址:https://www.bilibili.com/video/av80266 ...
- gmapping建图与rviz实时显示中出现的问题记录
网上关于gmapping建图教程基本都是: 用ros的数据记录指令rosbag去记录数据,然后再通过rviz去显示记录的数据. 其实可以用rviz去实时显示构建地图的过程,但是需要去配置ROS: 首先 ...
- 【工程记录】基于松灵Scout mini底盘实现小车自主探索建图
一.硬件配置 松灵scout mini底盘 速腾robense 16线激光雷达 瑞芬imu 因特尔nuc 二.工程技术栈 IMU驱动包(原创) 松灵底盘包(改写,里程计融合IMU角度信息) ROS N ...
- ORBSLAM2实验记录(1)——稠密建图
写在前面 近期又重新拾起ORBSLAM2的学习,换装了Ubuntu16.04,配置环境的bug比18.04少了不少,可以说是一路顺利,关于环境配置的问题,网络上可以说是众说纷纭,如果你打算使用Ubun ...
- 【论文阅读记录】基于视觉SLAM建图的无人机路径规划 作者:王海
目录 一.论文前瞻问题 二.论文内容概述 1.SLAM建图与路径规划综述 2.关键问题 3.SLAM中前后端设计部分 4.三维路径规划 三.拓展 一.论文前瞻问题 智能体在陌生环境中的一次自主导航任务 ...
- 基于激光雷达实现三边定位算法开发记录(二)——查找多个反光柱数据
22年暑假实习过程中第一个开发任务,基于激光雷达实现三边定位开发功能 开发平台为ubuntu 18.04 + ros melodic 日期:2022.7.19 本次实现:由于实现三边定位需要先找反光柱 ...
- #记录一下:关于三维建图的一些文章讲解 + Delaunay三角剖分的含义
三维建图的一般过程: Images Poses-->Depth-->Ponit cloud-->Mesh-->Refined Mesh-->Texture Mesh RG ...
- 【BZOJ1061】【codevs1803】志愿者招募,神奇建图费用流
传送门1 传送门2 写在前面:第一次写成功的费用流是个神奇数学建模题-- 思路:摘自http://www.ithao123.cn/content-4207689.html,感觉这个要比列不等式+松弛操 ...
最新文章
- 网络推广网站总结降低网站跳出率的技巧有哪些?
- mysql count count id_mysql 为什么count(*)快于count(id)
- 创建oracle方法,简单的Oracle存储过程的创建方法
- SQL 必知必会·笔记3过滤数据
- 成功要掌握人生的每一次机会
- 使用PagedDataSource类实现分页
- [Regionals 2012 :: Asia - Tokyo ]
- 线程同步(windows平台):信号量
- 《Excel图表之道》高清PDF精美样章
- QUAR_CH_USB2TTL V1 USB转4路UART串口侦听板设计日志1
- java毕业生设计校园租赁系统的设计与实现计算机源码+系统+mysql+调试部署+lw
- unity入门——实现一个简单的跑酷游戏(准备工作)
- 永久代,方法区 和 元空间之间的关系
- 【机器学习】基于生成对抗网络的黑白图片上色
- 爬虫如何利用session方法保持登陆状态(selenium)
- PTA 天梯赛L1 7-3 跳一跳 (15 分) C语言AC题解【仅供分享】
- linux怎么打开chrome_Linux怎么下载应用并安装应用
- Unity使用WebCamTexture 实现手机前后摄像头调用
- 修改Centos7/RHEL7的主机名
- 抖音直播带货选品怎么做?怎么排品组货才能提升商品转化?
热门文章
- title啥意思?网址title题目书写
- 老司机 iOS 周报 #50 | 2019-01-02
- 南京邮电大学通达学院物理实验题库答案
- rg1 蓝光危害rg0_LED蓝光危害评估的最新标准IEC/TR 62778:2014
- PCB板厂工厂常用的英文
- Android Parcel和Parcelable类
- deepsort和MOT16指标评价
- MAC地址和IP地址的区别,联系和应用范围
- 微信、博客和我的SAP B1
- 【Android定制】修改BUILD_AGO_GMS = no 和 BUILD_GMS=no属性