dwa控制器

dwa控制器

dwa大框架实现

在这里插入图片描述

关于dwaComputeVelocityCommands 的实现

在这里插入图片描述

关于最优路径findBestPath 的实现

在这里插入图片描述

关于findBestTrajectory 流程

在这里插入图片描述

关于代价值的计算 scoreTrajectory

在这里插入图片描述

关于代价层

  1. 路径层 path_costs_ 实现跟线的作用
  2. 摆动层 OscillationCostFunction 减少车体摆动
  3. 障碍物层 ObstacleCostFunction 避免与障碍物碰撞
  4. 旋转层 TwirlingCostFunction 减少旋转

path_costs_

  1. 目的:实现尽可能的贴线运动
  2. 原理:对全局path进行切割 再对获取得到的path建立虚拟地图 然后进行相对应的赋值,采样得到的路径会得到相对应的代价值

关于摆动层 OscillationCostFunction

  1. 目的:减少车体摆动
  2. 原理: 若上一次向左 ,当前执行向右 下一次又要求向左 则丢弃

障碍物层 ObstacleCostFunction

  1. 目的:防止机器撞到障碍物
  2. 原理: 对每个进行 footprint(车体模型扩展),通过代价值地图进行代价值,对每个点求其代价值costmap->getCost(cell_x, cell_y)
  3. 考虑:getCost 获取得到的是否是一个梯度的地图 离障碍物越远值越小

旋转层

  1. 目的:减少旋转
  2. 原理:用角速度作为代价值的返回值 角速度越大那么代价值也越大
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值