• ros2发布地图

    https://blog.51cto.com/u_12369060/3767376 Map地图服务器 Map Server 地图服务器 nav2_map_server map_server:加载地图,在“/map”主题上提供静态地图。 map_s...
  • cartographer代码回顾

    通过数据分发器,采用生产者-消费者模式,把cartographer算法和cartographer_ros进行分离 Cartographer的优缺点分析优点代码架构十分优美各个模块独立性很强, 可以很方便的进行修改, 或则是单独拿出来做其他应用代码鲁...
  • 后端总结

    优化后的操作保存优化的变量内容位于文件mapping/internal/optimization/optimization._problem._2d.cc,solve函数中, 这些变量全部保存在优化类OptimizationProblem2D中 12...
  • HandleWorkQueue

    在之前我们讲解了RunOptimization 函数,他添加了基于ceres的problem,并添加了五种残差进行优化,并且把优化结果保存在了相应的优化类的data中。 Handleworkqueue 流程 把新计算的约束添加到data_.const...
  • 里程计残差,GPS残差

    优化里程计与节点的残差节点与节点间在global坐标系下的相对坐标变换 与 通过里程计数据插值出的相对坐标变换 的差值作为残差项 第一种坐标变换: 相邻2个节间在global坐标系下的坐标变换 第二种坐标变换: 再分别计算这2个节点的时间在里程计数...
  • 残差项构建-cartographer

    之前介绍了四种构建位姿的方式: 节点 通过 GetLocalToGlobalTransform * constant_data->local_pose 进行global下位姿的计算 子图 通过对前一个子图到后一个子图的坐标变换进行累计, 得到...
  • No transition matching 1 found for current state inactive

    报错信息启动一个ROS2的lifecycle节点,报错信息为, No transition matching 1 found for current state inactive 与 Unable to start transition 1 from...
  • 优化问题类和后端总结-cartographer

    当我们把所有的约束都放入了PoseGraph2D 类中的constraints中, 通过 12optimization_problem_->Solve(data_.constraints, GetTrajectoryStates(), ...
  • 优化函数调用流程-cartographer

    DrainWorkQueue调用和定义 之前我们已经讲完了如何对一个节点,添加它对本submap的约束和其他所有submap的约束。即子图内约束和子图间的约束 现在看一下是如何执行whendone,都做了什么内容 在AddNode的时候,把计算约束...
  • 分支定界算法-cartographer

    总览cartographer中的分支定界用处:从多个候选解中选出一个最优解。位于函数FastCorrelativeScanMatcher2D::MatchWithSearchParameters 此解为从 initial_pose_estimate ...