![](https://img-blog.csdnimg.cn/20200911112847687.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Navigation库完整解析
文章平均质量分 71
学习navigation源码程序,修改全局与局部规划算法,调整算法调用接口,详细解析函数中重要接口的调用以及程序编写技巧。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
爱发呆de白菜头
从事视觉SLAM,研究基于单目, 单目+IMU,RGB-D的SLAM算法, 有时侧重三维重建(地图, 渲染,分割,识别等), 有时侧重定位(VO,VIO等)。
展开
-
LIO-SLAM: 使用注意事项和算法解析
LIO-SLAM: 使用注意事项和算法解析一. 滤波/图优化/因子图优化"滤波"滤波的方法中常见的是扩展卡尔曼滤波、粒子滤波、信息滤波等方法;熟悉滤波思想的应该容易知道这类SLAM问题是递增的、实时的处理数据并矫正机器人位姿。比如基于粒子滤波的SLAM的处理思路是假设机器人知道当前时刻的位姿,利用编码器或者IMU之类的惯性导航又能够计算下一时刻的位姿;然而这类传感器有累计误差,所以再将每个粒子的激光传感器数据或者图像特征对比当前建立好的地图中的特征,挑选和地图特征匹配最好的粒子的位姿当做当前位原创 2021-05-21 11:13:01 · 1638 阅读 · 2 评论 -
史上最全源码安装ROS-BUG解决集合2:在树莓派4B上安装Raspbian Bluster aarch64系统 + ROS-Melodic
史上最全源码安装ROS-BUG解决集合2:在树莓派4B上安装Raspbian Bluster aarch64系统 + ROS-Melodic因为项目上的一些原因, 现在要在树莓派上安装64位系统,之前也测试过一些64位的树莓派系统,如ubuntu-mate, ubuntu-core, 以及新出的那个openFans系统,但是都不尽人意。有些桌面资源消耗太大,有的启动太慢, 有的功能不全,动不动就出问题,现在终于除了正版的官方aarch64位系统,赶紧来测试一波!对了, 就目前测试效果棒棒的,配原创 2021-03-29 10:02:23 · 473 阅读 · 0 评论 -
导航包Navigation最全完整解析(六): 为导航添加新算法插件的开发手册
add Global Planner As Plugin in ROS在原始的navigation的算法基础添加新的算法,做全局规划或者局部规划以及恢复行为;在本次教程中,我会一步一步写一个新的简单全局路径规划算法(案例参考)作为插件来导入slam_planner中,作为算法二次开发手册。第一步: 新建一个ROS包<rx_astar_planner>-包含以下文件├── CMakeLists.txt├── include│ └── rx_astar_planner│ .原创 2020-09-17 10:16:59 · 1743 阅读 · 1 评论 -
导航包Navigation最全完整解析(五): 重要接口之BaseLocalPlanner
类似全局路径规划器描述,简化局部路径规划的讨论.与全局路径规划器想似,在调用局部路径规划时,同样也是在move_base调用nav_core::BaseLocalPlanner接口;然后用base_local_planner(如DWA)来继承nav_core::BaseLocalPlanner类,并以同样的原理将基类指针指向子类,从而调用子类的函数move_base中调用局部路径规划器的接口// move_base.cpp(节选)boost::shared_ptr<nav_core.原创 2020-09-16 10:48:39 · 897 阅读 · 1 评论 -
导航包Navigation最全完整解析(四): 重要接口之BaseGlobalPlanner
导航包Navigation最全完整解析(四): 重要接口之BaseGlobalPlanner本节解析move_base的全局路径规划器接口: BaseGlobalPlanner.在前面的分析可以知道, 在move_base中调用全局规划算法时会初始化全局路径规划接口;这个接口通过nav_core包来传递核心的实现函数如(carrot_planner/global_planner等);因此在本节中主要采用针对global_planner包来分析全局路径规划的接口函数调用;其主要调用的函数流程为:原创 2020-09-11 11:24:46 · 1349 阅读 · 0 评论 -
导航包Navigation最全完整解析(三): 重要接口之Costmap_2D
承接上一节, 在了解move_base代码的执行原理之后, 开始逐步学习和解析每一个重要的程序接口,并在最后附上可用参数的参数设置。costmap_2d的参数空间static_layer ## 静态层 原始地图obstacle_layer ## 障碍层 动态障碍inflation_layer ## 膨胀层 ##@其他扩展, 还可自定义social costmap layer ## 跟踪人Range sensor layercostmap地图又叫占用栅格图, 即将整张地图分为多个小.原创 2020-09-09 12:07:03 · 1320 阅读 · 3 评论 -
导航包Navigation最全完整解析(二): 对核心节点move_base进行分析
开始直接进行代码分析阶段, 首先对核心节点move_base进行分析一、 MoveBase( &tf) 节点重要接口函数功能解析:1. 初始化全局规划和局部规划器句柄;2. 初始化恢复行为句柄;3. 初始化代价地图函数句柄;4. 其他参数、变量等初始化;初始化1个服务: MoveBaseActionServer(, , boost::bind(&MoveBase::executeCb, this, _1), );初始化另开1个线程: boost::thread(bo.原创 2020-09-07 11:19:32 · 1639 阅读 · 4 评论 -
导航包Navigation最全完整解析(一): 软件包关系梳理
导航包Navigation最全完整解析: 软件包关系梳理navigation包目前常用的主要有kinetic-devel和melodic-devel两种分支; 在本次讨论中主要针对kinetic-devel版本进行解读.对navigation的两种分支做一个简单的对比:1. melodic在kinetic的基础上淘汰了tf的使用,替换成了tf2;2. melodic在某些Velocity参数设置做了一些相应的修改,参数名等方面;3. costmap2D上增加了某些细节;4. 在核心算法上好像原创 2020-08-20 14:16:31 · 5092 阅读 · 1 评论