当前位置:   article > 正文

【路径规划】基于DWA实现机器人动态避障附matlab代码_路径规划实时避障算法

路径规划实时避障算法

1 内容介绍

DWA 算法是基于机器人运动学与动力学理论的一种局部避障算法,它将对机器人的位置控制转换为对机器人的速度控制。DWA 算法可以概括为三步:一是根据机器人自身的限制以及环境制约将速度的采样空间约束在一定范围内; 二是根据机器人运动学对采样后的速度进行模拟得到预轨迹; 三是设定评价函数对预轨迹进行评分以获取最优轨迹对应的执行速度。

2 部分代码

%% 单条轨迹生成、轨迹推演函数

% 输入参数: 当前状态、vt当前速度、ot角速度、evaldt 前向模拟时间、机器人模型参数(没用到)

% 返回参数;

%           x   : 机器人模拟时间内向前运动 预测的终点位姿(状态);

%           traj: 当前时刻 到 预测时刻之间 过程中的位姿记录(状态记录) 当前模拟的轨迹

%                  轨迹点的个数为 evaldt / dt + 1 = 3.0 / 0.1 + 1 = 31

%

function [x,traj] = GenerateTrajectory(x,vt,ot,evaldt,model)

global dt;

time = 0;

u = [vt;ot];% 输入值

traj = x;   % 机器人轨迹

while time <= evaldt

    time = time+dt; % 时间更新

    x = f(x,u);     % 运动更新 前项模拟时间内 速度、角速度恒定

    traj = [traj x]; % 每一列代表一个轨迹点 一列一列的添加

end

end​

3 运行结果

4 参考文献

[1]卞永明, 季鹏成, 周怡和,等. 基于改进型DWA的移动机器人避障路径规划[J]. 中国工程机械学报, 2021.

[2]王菁华, 崔世钢, 罗云林. 基于Matlab的智能机器人路径规划仿真[C]// '2008系统仿真技术及其应用学术会议论文集. 2008.

博主简介:擅长智能优化算法神经网络预测信号处理元胞自动机图像处理路径规划无人机雷达通信无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/844907
推荐阅读
相关标签
  

闽ICP备14008679号