SLAM
欧西特
这个作者很懒,什么都没留下…
展开
-
ROS导航包navigation stack中关键包的作用
nav_core该包定义了整个导航系统关键包的接口函数,包括base_global_planner, base_local_planner以及recovery_behavior的接口。里面的函数全是虚函数,所以该包只是起到规范接口的作用,真正功能的实现在相应的包当中。global_planner和navfn这两个包干的事情是一样的,都是为实现目标点与当前点之间的全局路径规划,内部都有Dijkstr原创 2017-07-08 15:12:24 · 1918 阅读 · 0 评论 -
ROS导航之base_local_planner
局部规划模块的设计思路为,根据机器人当前位置(由costmapros提供)和速度(通过订阅odom消息提供),在速度和加速度以及模拟前进时间的限制下进行速度采样,并假设在此速度下行进模拟时长(sim_time)的时间。 然后根据时间间隔计算每一步的位置,根据经历位置的损失值之和计算轨迹的损失值。 关于损失值的计算,局部规划模块使用了三张图来保存损失值信息,对应三种类型的损失值,分别是pathg原创 2017-07-08 20:24:16 · 1978 阅读 · 0 评论 -
Cartographer源码阅读
(一) 定义的各种坐标系间的关系 1. map_frame = “map”,cartographer中使用的全局坐标系,最好保持默认,否则ROS的Rviz不认识其它的定义,导致无法可视化建图过程。 2. tracking_frame = “base_link”, 机器人中心坐标系,很重要,其它传感器数据都是以这个为基础进行插入的。cartographer_ros里面有个tf_bridge的原创 2017-06-05 20:49:28 · 7459 阅读 · 4 评论 -
ROS导航包之costmap_2d
Costmap2DROS类主要作用是完成对Costmap2D类的ROS接口包装,提供包括机器人在地图中的位置查询,机器人脚印(footprint)在地图中的位置查询; 地图的更新和停止接口; 提供Costmap2D的访问接口,通过它可以方便地访问地图数据信息。关键函数接口:Costmap2DROS(std::string name, tf::TransformListener& tf);boo原创 2017-07-08 16:58:32 · 3376 阅读 · 0 评论