ros navigation 局部路径算法dwa解析(一)

4 篇文章 1 订阅
3 篇文章 0 订阅

    继ros里面A*全局规划之后,再解析局部路径算法dwa的整个算法调用过程,至于细节放到后面的章节去写

   dwa的整体思路网上有很多相关的资料了

https://blog.csdn.net/heyijia0327/article/details/44983551具体的可以参看这一篇博客

   本篇文章的话只要是说navigation包里面的调用过程,不关心整体思路

前期将局部路径设置为DWA算法也比较简单

全局参数设置

ros局部路径算法调用函数接口为computeVelocityCommands(geometry_msgs::Twist& cmd_vel) 

在dwa算法里面为dwa_planner_ros.cpp里面的

 bool DWAPlannerROS::computeVelocityCommands(geometry_msgs::Twist& cmd_vel) 

整体的核心就是下图dwa算法

核心函数就是dwaComputeVelocityCommands(current_pose_, cmd_vel)

该函数主要就是根据当前位置和目标位置计算需要下发的速度指令。核心如下

ros算法2

核心函数为findBestPath,而该函数的核心如下

dwa

先将local planner生成器初始化,然后在调用scored_sampling_planner_的 findBestTrajectory,

该函数所在文件为base_local_planner/src/simple_scored_sampling_planner.cpp,其的核心内容为:

dwa算法3

上面是轨迹生成,下面是对轨迹进行评分。

轨迹生成函数主要的是在base_local_planner/src/simple_trajectory_generator.cpp里面

dwa算法4

可见轨迹生成算法的核心函数是generateTrajectory,这些内容以后再介绍。

而评分函数主要就是调用各种score函数

dwa算法5具体的函数内容以后再介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值