gmapping
文章平均质量分 72
Running小学生
这个作者很懒,什么都没留下…
展开
-
gmapping-运动模型
absoluteDifference()这个函数是将t时刻与t-1时刻里程计测量数据之差转换到t-1时刻的base_link坐标系下,符合公式2-4(源代码中用偏差分量替代了理论中的模长),这个OrientedPoint delta的计算结果对应的理论公式的结果就是 两个位姿的差值转换到t-1时刻的base_link坐标系下。//作为旋转的函数的旋转中的测量误差(θ/θ)0.2 对应里程计运动模型中的 a1。//作为平移函数的旋转中的测量误差(θ/ rho)0.1 对应里程计运动模型中的 a4。原创 2023-12-18 15:51:46 · 451 阅读 · 0 评论 -
gmapping-addscan
比较scan.ranges.size()与gsp_laser_波束大小,若两者相同,则resize(scan.ranges.size()).通过for循环,将 ranges_double数组中的数据赋值给对象reading[]gmap_pose是GMapping::OrientedPoint,也就是带方向的点。如果能够转换成功,就将中心位置的x坐标y坐标与偏航角赋予gmap_pose。(2)reading.setPose(gmap_pose)//将gmap_pose位姿赋值给reading。原创 2023-12-18 15:40:25 · 364 阅读 · 0 评论 -
gampping-startLiveSlam
通过调用对象的 publish( )函数, 你可以在这个topic上发布 message。SlamGMapping::laserCallback,这个函数依次初始化了一系列参数并生成了更新后的地图,可谓是整个程序的关键。——>addScan() //调用openslam_gmappinig核心算法。——>initMapper() //进行参数初始化。——>updateMap() //对地图进行更新。原创 2023-12-15 18:16:51 · 47 阅读 · 0 评论 -
GMapping 参数分析
节点slam_gmapping采用sensor_msgs/LaserScan消息,并且构建地图(nv_msgs/OccupancyGrid)。地图可以通过topic或service检索。原创 2023-12-15 18:05:35 · 344 阅读 · 0 评论