EGO_Plannerv2代码学习(一)
最近在尝试将高飞老师的集群规划器 ego_plannerV2部署到真实无人机上跑一下,开这个新帖记录下学习过程中的问题和想法。
EGO-Plannerv2
首先,V2是在EGO-planner基础上的进阶版,主要的改进是将轨迹参数化方式由均匀b样条改成了汪博的MINCO,提升了规划器的时空规划能力,代码整体结构上跟V1类似。
前天已经试着把v2的规划器移植到原来v1的硬件平台上,飞行时遇到的问题是由于地图膨胀,地面被抬高了三十厘米,导致轨迹规划失败。下面就读一下v1 v2中建图部分的代码,看下差别在哪。
建图部分的代码存放在src/planner/plan_env文件夹中,其中v2有两份建图源码,grid_map.cpp和grid_map_bigmap.cpp改cmakelist可以选择编译哪份代码。
首先我们看一下V1中的建图代码流程:
grid_map.cpp
-> 建图模块函数入口initMap( nh )
1-> 传入ros节点管理器node_ = nh;
2-> 从参数服务器载入建图模块必要的参数
//这里列出值得关注的变量,这些参数都是非常重要的,要在读代码的过程中不断理解参数的意义
-----------------------------------------------------------------
参数 变量名
-----------------------------------------------------------------
地图分辨率 mp_.resolution_
地图大小 mp_.map_size_
地图原点 mp_.map_origin_
地图边界 mp_.map_min_boundary_
地图边界 mp_.map_max_boundary_
地图栅格个数 mp_.map_voxel_num_
局部更新队列 mp_.local_update_range_
障碍物膨胀系数 mp_.obstacles_inflation_
深度命中值 mp_.

本文记录了作者尝试将EGOPlannerV2部署到无人机的过程,重点分析了V2与V1在建图部分的差异,特别是MINCO轨迹参数化带来的提升和地图膨胀问题的解决。讨论了深度滤波在处理深度信息中的作用。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



