DWA局部路径规划
来源:互联网 发布:公章制作软件 编辑:程序博客网 时间:2024/06/05 07:46
DWA算法的介绍
ros中使用的DWA算法主要是通过获取机器人现在的速度,和设置的最大加速度,获取机器人现在可以达到的速度集合.计算这个速度集合中所有的速度的代价,选择代价最小的速度发送给机器人.
这样可以把DWA的软件实现主要看作两个目标
1. 获取速度集合
2.计算速度集合中各个速度的代价
1.获取速度集合
在DWA代码中使用SimpleTrajectoryGenerator类来获取机器人的速度集合.
计算速度集合需要传入机器人的当前位姿,速度,设定的参数(最大速度,最小速度,速度分辨率等),通过现在速度和设定的加速的判断机器人现在可以达到的最大速度和最小速度(通过机器人现在速度加减机器人加速度,再与最大速度比较最后得到一个机器人当前可以到达的最大速度和最小速度),再通过设定的机器人速度分辨率完成一个机器人最大速度到最小速度的全排列(x轴 y轴 角速度是分开的)最后速度集合的大小
vector.size = vx_samples*vy_samples*vth_samples
2.计算速度集合中各个速度的代价计算速度集合中各个速度的代价
在遍历速度集合的时候,会调用
bool generateTrajectory(Eigen::Vector3f pos,
Eigen::Vector3f vel,Eigen::Vector3f sample_target_vel,
base_local_planner::Trajectory& traj);
计算得到在这个速度下运行的轨迹,最后计算的轨迹会保存在traj中.traj中保存着机器人的目标速度,该速度下的轨迹,机器人的当前位置等.使用这些数据计算以速度移动的代价
- map_grid_cost_function:
地图映射代价,这个计算函数可以计算两种代价,
1与全局路径的差异(与全局路径越相似代价越小)
2与局部地图上的目标点的远近(全局路径与局部地图上的交点为局部地图上的目标点,离目标点越近代价越小)
两种代价计算都是实现计算好局部地图上所有点的代价,直接通过路径上的点在代价地图上映射得到的代价计算的.减少代价的重复计算 - Obstacle_Cost_Function
- Oscillation_Cost_Function
下次写完
阅读全文
0 0
- DWA局部路径规划
- 全局路径规划和局部路径规划的区别
- ROS源码解读(一)--局部路径规划
- 激光SLAM导航系列(五)局部路径规划
- ROS Navigation-----局部避障的动态窗口算法(DWA)
- DWA算法
- 路径规划
- 路径规划
- 路径规划
- 路径规划
- 路径规划
- 路径规划
- DWA算法分析
- 运动规划/路径规划/轨迹规划
- 路径规划算法浅谈
- 路径规划 CH ArcFlag
- 动态规划求多段图单源最短路径
- 人工势场法路径规划
- 移动端页面自适应代码
- android studio 找不到svn.exe的处理办法
- 【C】CDECL 源代码
- elasticsearch 版本区别
- 使用AsycHttpClient请求Tomcat的新闻客户端的实现
- DWA局部路径规划
- pandas 中 DataFrame
- string path=request.getScheme() + "://" + request.getServerName()+ ":" + request.getServerPort();
- 无线技术分类与应用场景
- java基础常用类型转换
- Keepalived 原理
- bootstrap fileinput之手机图片上传显示旋转问题
- iceroot使用教程
- 32、把数组排成最小的数