(02)Cartographer源码无死角解析-(00)目录_最新无死角讲解

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(02)Cartographer源码无死角解析链接如下:
(02)Cartographer源码无死角解析-(00)目录_最新无死角讲解:https://mp.csdn.net/mp_blog/creation/success/127350885
 
文末正下方中心提供了本人 联系方式, 点击本人照片即可显示 W X → 官方认证 {\color{blue}{文末正下方中心}提供了本人 \color{red} 联系方式,\color{blue}点击本人照片即可显示WX→官方认证} 文末正下方中心提供了本人联系方式,点击本人照片即可显示WX官方认证
 
本专栏适合自动驾驶、服务/仓储/扫地机器人等领域的工程师、在读学生、教师等。史上最新最全Cartographer讲解,不漏任何一个细节推理,无死角的公式推导与源码解析,并讲解算法落地的工程实践技巧,代码改进方向等,快速上手做项目
 
关于 C a r t o g r a p h e r \color{red}{Cartographer} Cartographer 对应的一系列章节,如下所示:

(00)(02)Cartographer源码无死角解析-(00)目录_最新无死角讲解:https://mp.csdn.net/mp_blog/creation/success/127350885

(01)(02)Cartographer源码无死角解析-(01) 环境搭建,demo运行,ROS一键安装_清除各种疑难杂症:https://blog.csdn.net/weixin_43013761/article/details/127354399

(02)(02)Cartographer源码无死角解析-(02) ROS基础讲解→记录编译过程及常用指令:ttps://blog.csdn.net/weixin_43013761/article/details/127439506

(03)(02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式:https://blog.csdn.net/weixin_43013761/article/details/127460705

(04)(02)Cartographer源码无死角解析-(04) 熟悉bag文件,配置.launch与.lua文件,初步调参:https://blog.csdn.net/weixin_43013761/article/details/127473228

(05)(02)Cartographer源码无死角解析-(05) 程序运行常见错误与解决→模拟错误:https://blog.csdn.net/weixin_43013761/article/details/127491604

(06)(02)Cartographer源码无死角解析-(06) 参数详解与备注→调参查阅使用:https://blog.csdn.net/weixin_43013761/article/details/127500893

        待写…

(09)(02)Cartographer源码无死角解析-(09) gflags与glog简介、及其main函数讲解:https://blog.csdn.net/weixin_43013761/article/details/127567012

(10)(02)Cartographer源码无死角解析-(10) 配置文件加载1→主体框架分析LoadOptions():https://blog.csdn.net/weixin_43013761/article/details/127602558

(11)(02)Cartographer源码无死角解析-(11) 配置文件加载2→LuaParameterDictionary使用:https://blog.csdn.net/weixin_43013761/article/details/127615050

(12)(02)Cartographer源码无死角解析-(12) Node类初探→构造函数与开始轨迹:https://blog.csdn.net/weixin_43013761/article/details/127627749

(13)(02)Cartographer源码无死角解析-(13) Node::AddTrajectory()→位姿估算器与采样器:https://blog.csdn.net/weixin_43013761/article/details/127638039

(14)(02)Cartographer源码无死角解析-(14) Node::AddTrajectory()→订阅话题与注册回调函数:https://blog.csdn.net/weixin_43013761/article/details/127655696

(15)(02)Cartographer源码无死角解析-(15) Node::AddTrajectory()→回调函数之数据流向分析:https://blog.csdn.net/weixin_43013761/article/details/127686479

(16)(02)Cartographer源码无死角解析-(16) SensorBridge→Rigid3(刚体变换):https://blog.csdn.net/weixin_43013761/article/details/127695776

(17)(02)Cartographer源码无死角解析-(17) SensorBridge→里程计数据处理与TfBridge分::https://blog.csdn.net/weixin_43013761/article/details/127764090

(18)(02)Cartographer源码无死角解析-(18) SensorBridge→landmark与Imu的数据处理:https://blog.csdn.net/weixin_43013761/article/details/127793195

(19)(02)Cartographer源码无死角解析-(19) SensorBridge→雷达点云数据帧处理与坐标系变换(涉及函数重载:https://blog.csdn.net/weixin_43013761/article/details/127841694)

(20)(02)Cartographer源码无死角解析-(20) MapBuilder→MapBuilder()构造函数:https://blog.csdn.net/weixin_43013761/article/details/127866586

(21)(02)Cartographer源码无死角解析-(21) MapBuilder→AddTrajectoryBuilder():https://blog.csdn.net/weixin_43013761/article/details/127881494

(22)(02)Cartographer源码无死角解析-(22) 传感器数据分发→CollatedTrajectoryBuilder:https://blog.csdn.net/weixin_43013761/article/details/127898355

(23)(02)Cartographer源码无死角解析-(23) 传感器数据类型自动推断与数据利用率计算:https://blog.csdn.net/weixin_43013761/article/details/127928139

(24)(02)Cartographer源码无死角解析-(24) Collator类与数据队列OrderedMultiQueue简介:https://blog.csdn.net/weixin_43013761/article/details/127934503

(25)(02)Cartographer源码无死角解析-(25) 阻塞队列BlockingQueue,与OrderedMultiQueue成员函数:https://blog.csdn.net/weixin_43013761/article/details/127948693

(26)(02)Cartographer源码无死角解析-(26) OrderedMultiQueue::Dispatch()→数据排序分发:https://blog.csdn.net/weixin_43013761/article/details/127956898

(27)(02)Cartographer源码无死角解析-(27) 数据订阅、变换、排序、转发→总体复盘:https://blog.csdn.net/weixin_43013761/article/details/127963573

(29)(02)Cartographer源码无死角解析-(29) LocalTrajectoryBuilder2D::AddRangeData()→多雷达数据时间同步:https://blog.csdn.net/weixin_43013761/article/details/128000895

(30)(02)Cartographer源码无死角解析-(30) LocalTrajectoryBuilder2D::AddRangeData()→激光雷达运动畸变较正:https://blog.csdn.net/weixin_43013761/article/details/128017842

(31)(02)Cartographer源码无死角解析-(31) LocalTrajectoryBuilder2D::AddRangeData()→点云数据重力对齐,Z轴过滤:https://blog.csdn.net/weixin_43013761/article/details/128094782

(32)(02)Cartographer源码无死角解析-(32) LocalTrajectoryBuilder2D::AddRangeData()→点云的体素滤波:https://blog.csdn.net/weixin_43013761/article/details/128119518

(33)(02)Cartographer源码无死角解析-(33) LocalTrajectoryBuilder2D: 点云数据流向、处理、消息发布等→流程复盘:https://blog.csdn.net/weixin_43013761/article/details/128185173

(34)(02)Cartographer源码无死角解析-(34) LocalTrajectoryBuilder3D→3D点云数据处理,大致流程梳理:https://blog.csdn.net/weixin_43013761/article/details/128225575

(35)(02)Cartographer源码无死角解析-(35) PoseExtrapolator→接口解剖,学会框架分析与架构设计:https://blog.csdn.net/weixin_43013761/article/details/128247107

(36)(02)Cartographer源码无死角解析-(36) PoseExtrapolator→AddImuData()、AddOdometryData():https://blog.csdn.net/weixin_43013761/article/details/128262616

(37)(02)Cartographer源码无死角解析-(37) PoseExtrapolator→AddPose()、旋转向量(求导)变换成角速度:https://blog.csdn.net/weixin_43013761/article/details/128276382

(38)(02)Cartographer源码无死角解析-(38) PoseExtrapolator→AdvanceImuTracker()、ImuTracker姿态推断:https://blog.csdn.net/weixin_43013761/article/details/128330537

(39)(02)Cartographer源码无死角解析-(39) PoseExtrapolator→ExtrapolatePose()、ExtrapolatePosesWithGravity() 等成员函数:https://blog.csdn.net/weixin_43013761/article/details/128362436

(40)(02)Cartographer源码无死角解析-(40) PoseExtrapolator→整体框架复盘,作用与目的讲解:https://blog.csdn.net/weixin_43013761/article/details/128374405

(41)(02)Cartographer源码无死角解析-(41) 2D栅格地图→ActiveSubmaps2D:https://blog.csdn.net/weixin_43013761/article/details/128434845

(42)(02)Cartographer源码无死角解析-(42) 2D栅格地图→Submap、Submap2D、MapLimits:https://blog.csdn.net/weixin_43013761/article/details/128467793

(43)(02)Cartographer源码无死角解析-(43) 2D栅格地图→ValueConversionTables、Grid2D
:https://blog.csdn.net/weixin_43013761/article/details/128512390

(44)(02)Cartographer源码无死角解析-(44) 2D栅格地图→ProbabilityGrid 与 ProbabilityToLogOddsInteger():https://blog.csdn.net/weixin_43013761/article/details/128522404

(45)(02)Cartographer源码无死角解析-(45) 2D栅格地图→ProbabilityGridRangeDataInserter2D:https://blog.csdn.net/weixin_43013761/article/details/128536113

(46)(02)Cartographer源码无死角解析-(46) 2D栅格地图→RayToPixelMask()与贝汉明(Bresenham)算法:https://blog.csdn.net/weixin_43013761/article/details/128558310

(47)(02)Cartographer源码无死角解析-(47) 2D栅格地图→总体流程梳理与总结,及核心关键CastRays()讲解:https://blog.csdn.net/weixin_43013761/article/details/128589927

(48)(02)Cartographer源码无死角解析-(48) 2D点云扫描匹配→扫描匹配基本原理讲解,代码总体框架梳理AddAccumulatedRangeData():https://blog.csdn.net/weixin_43013761/article/details/128632005

(49)(02)Cartographer源码无死角解析-(49) 2D点云扫描匹配→相关性暴力匹配1:SearchParameters:https://blog.csdn.net/weixin_43013761/article/details/128646738

(50)(02)Cartographer源码无死角解析-(50) 2D点云扫描匹配→相关性暴力匹配2:RealTimeCorrelativeScanMatcher2D:https://blog.csdn.net/weixin_43013761/article/details/128661125

(51)(02)Cartographer源码无死角解析-(51) 2D点云扫描匹配→ceres扫描匹配:CeresScanMatcher2D→平移旋转残差:https://blog.csdn.net/weixin_43013761/article/details/128678645

(52)(02)Cartographer源码无死角解析-(52) 2D点云扫描匹配→ceres扫描匹配:CeresScanMatcher2D→栅格地图残差:https://blog.csdn.net/weixin_43013761/article/details/128797110

(53)(02)Cartographer源码无死角解析-(53) 2D后端优化→位姿图优化理论(SPA)讲解、核型函数调用流程:https://blog.csdn.net/weixin_43013761/article/details/128833046

(54)(02)Cartographer源码无死角解析-(54) 2D后端优化→PoseGraphInterface、PoseGraph、PoseGraph2D::AddNode():https://blog.csdn.net/weixin_43013761/article/details/128868368

(55)(02)Cartographer源码无死角解析-(55) 2D后端优化→ComputeLocalToGlobalTransform(),TrajectoryNode:https://blog.csdn.net/weixin_43013761/article/details/129005491

(56)(02)Cartographer源码无死角解析-(56) 2D后端优化→class MapById、ConstIterator、ConstTrajectoryIterator:https://blog.csdn.net/weixin_43013761/article/details/129122511

(57)(02)Cartographer源码无死角解析-(57) 2D后端优化→MapById::lower_bound()、PoseGraphData、TrajectoryConnectivityState:https://blog.csdn.net/weixin_43013761/article/details/129165874

(58)(02)Cartographer源码无死角解析-(58) 2D后端优化→ PoseGraph2D::AddNode()、PoseGraph2D::AppendNode():https://blog.csdn.net/weixin_43013761/article/details/129300188

(59)(02)Cartographer源码无死角解析-(59) 2D后端优化→ 线程池: DrainWorkQueue()、AddWorkItem():https://blog.csdn.net/weixin_43013761/article/details/129318651

(60)(02)Cartographer源码无死角解析-(60) 2D后端优化→ 线程池 Task 与 ThreadPool:https://blog.csdn.net/weixin_43013761/article/details/129385753

(61)(02)Cartographer源码无死角解析-(61) 2D后端优化→ComputeConstraintsForNode() 与 什么是约束-白话篇:https://blog.csdn.net/weixin_43013761/article/details/130723891

(62)(02)Cartographer源码无死角解析-(62) 2D后端优化→InitializeGlobalSubmapPoses()子图全局位姿的来龙去脉:https://blog.csdn.net/weixin_43013761/article/details/131441945

(63)(02)Cartographer源码无死角解析-(63) 2D后端优化→PoseGraph2D::ComputeConstraint()计算约束:https://blog.csdn.net/weixin_43013761/article/details/131449149

(64)(02)Cartographer源码无死角解析-(64) 2D后端优化→ConstraintBuilder2D、MaybeAddConstraint、MaybeAddGlobalConstraint:https://blog.csdn.net/weixin_43013761/article/details/131474065

(65)(02)Cartographer源码无死角解析-(65) 2D后端优化→DispatchScanMatcherConstruction()、ComputeConstraint():https://blog.csdn.net/weixin_43013761/article/details/131474130

(66)(02)Cartographer源码无死角解析-(66) 2D后端优化→PrecomputationGridStack2D、SlidingWindowMaximum -构建多分辨率地图:https://blog.csdn.net/weixin_43013761/article/details/131480496

(67)(02)Cartographer源码无死角解析-(67) 2D后端优化→FastCorrelativeScanMatcher2D -分支定界算法(BranchAndBound)1:https://blog.csdn.net/weixin_43013761/article/details/131493109

(68)(02)Cartographer源码无死角解析-(68) 2D后端优化→FastCorrelativeScanMatcher2D -分支定界算法(BranchAndBound)2:https://blog.csdn.net/weixin_43013761/article/details/131499611

(69)(02)Cartographer源码无死角解析-(69) 2D后端优化→线程池深入追踪、问题、困惑梳理,知识点小结:https://blog.csdn.net/weixin_43013761/article/details/131502366

(70)(02)Cartographer源码无死角解析-(70) 2D后端优化→PoseGraph2D::RunOptimization()、OptimizationProblem2D初探,数据添加:https://blog.csdn.net/weixin_43013761/article/details/131506737

(71)(02)Cartographer源码无死角解析-(71) 2D后端优化→OptimizationProblem2D::Solve() - 优化准备工作,参数块:https://blog.csdn.net/weixin_43013761/article/details/131514394

(72)(02)Cartographer源码无死角解析-(72) 2D后端优化→OptimizationProblem2D-约束残差、landmark残差:https://blog.csdn.net/weixin_43013761/article/details/131522938

(73)(02)Cartographer源码无死角解析-(73) 2D后端优化→OptimizationProblem2D-landmark残差细节分析:https://blog.csdn.net/weixin_43013761/article/details/131528412

(74)(02)Cartographer源码无死角解析-(74) 2D后端优化→OptimizationProblem2D-里程计、local位姿、GPU残差:https://blog.csdn.net/weixin_43013761/article/details/131532379

(75)(02)Cartographer源码无死角解析-(75) 2D后端优化→整体复盘,理解后端优化核心:https://blog.csdn.net/weixin_43013761/article/details/131540711

(76)(02)Cartographer源码无死角解析-(76) ROS数据发布→3D点云地图、子图位姿、Landmark:https://blog.csdn.net/weixin_43013761/article/details/131546943

(77)(02)Cartographer源码无死角解析-(77) ROS数据发布→2D点云数据、tf、机器人tracking frame轨迹发布:https://blog.csdn.net/weixin_43013761/article/details/131563565

(78)(02)Cartographer源码无死角解析-(78) ROS数据发布→子图内、子图间、约束与残差发布:https://blog.csdn.net/weixin_43013761/article/details/131570829

(79)(02)Cartographer源码无死角解析-(79) ROS服务→子图压缩与服务发送:https://blog.csdn.net/weixin_43013761/article/details/131577549

(80)(02)Cartographer源码无死角解析-(80) 核心要点→local坐标系、子图坐标系、切片坐标系、地图坐标系等相转换与联系:https://blog.csdn.net/weixin_43013761/article/details/131619937

(81)(02)Cartographer源码无死角解析-(81) ROS栅格地图→服务接收子图、cairo图像绘详解、OccupancyGrid地图发布:https://blog.csdn.net/weixin_43013761/article/details/131598626

  • 8
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
(02)Cartographer源码死角解析中提到了Cartographer的核心算法和数据结构,以及代码架构和工程实现细节。在掌握了这些内容之后,我们就可以使用Cartographer来实现SLAM(同时定位与地图构建)功能了。 (03)新数据运行与地图保存、加载地图启动仅定位,是指在使用Cartographer进行实时定位和地图构建时,如果我们获取到了新的传感器数据,就可以通过传入这些新数据来进行实时定位和地图更新。同时,当我们需要保存地图或者加载已有地图来进行定位时,Cartographer也提供了相应的API和工具。 具体来说,对于新数据的运行和实时定位,我们可以通过cartographer_ros包中的rosnode来实现。这个rosnode订阅传感器数据,然后使用Cartographer的算法和数据结构来进行实时定位和地图构建。当定位结束后,我们可以通过发布ROS消息的方式将建好的地图发送给其他ROS节点使用。 而对于地图的保存和加载,Cartographer提供了两个工具:cartographer_rosbag和cartographer_pbstream。前者可以将Cartographer处理过的数据保存成rosbag文件,以便于后续回放和分析;后者则可以将Cartographer的状态和数据保存成pbstream文件,以便于后续的加载和定位。当我们需要加载已有地图时,只需要使用cartographer_ros包中的另一个rosnode来加载pbstream文件,并订阅传感器数据即可。 需要注意的是,在地图保存和加载时,我们只能进行启动仅定位,也就是只进行实时定位和不进行地图更新。这是因为保存和加载的地图可能已经过时,而且相对于我们实时获取的传感器数据,地图的信息是静态的,无法提供新的信息。因此,Cartographer只提供了仅定位的功能。当我们需要重新建立地图时,需要重新运行实时定位的节点并进行地图更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南才尽,年少无知!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值