1 简介
针对移动机器人在静态环境中的特点,为了提高路径规划效率和精度,设计了A~*算法与Floyd算法结合的路径规划.我们根据实际环境,在栅格地图的基础上,利用A~*算法进行初步路径规划,找到了一条可通行的最短路径,此路径存在节点部分折点处比较尖锐,不够平滑,不利于移动机器人行驶.因此,使用Floyd算法对路径平滑处理,简化了路径,并且在拐点处机器人能够更好的调整姿态,满足了路径规划的要求.
2 部分代码
function Vr=CalcDynamicWindow_du(x,model)
%
global dt;
% 车子速度的最大最小范围
% model= [ 最高速度[m/s], 最高旋转速度[rad/s], 加速度[m/ss], 旋转加速度[rad/ss], 速度分辨率[m/s], 转速分辨率[rad/s] ]
Vs=[0 0 -model(2) model(2)];
% Vs=[ 0, 最高速度[m/s], -最高旋转速度[rad/s], 最高旋转速度[rad/s] ]
% 根据当前速度以及加速度限制计算的动态窗口
% x=[x(m),y(m),yaw(Rad),v(m/s),w(rad/s)]
Vd=[0 0 x(5)-model(4)*dt x(5)+model(4)*dt];
% Vd=[ v-at(0.1s后最低速度),v+at(0.1s后最高速度),w-bt(0.1s后最低加速度 ,w+bt(0.1s后最高加速度)]
% 最终的Dynamic Window
Vtmp=[Vs;Vd];
% Vtmp=[ 0, 最高速度[m/s], -最高旋转速度[rad/s], 最高旋转速度[rad/s] ;
% v-at(0.1s后最低速度),v+at(0.1s后最高速度),w-bt(0.1s后最低加速度 , w+bt(0.1s后最高加速度)];
Vr=[0 0 max(Vtmp(:,3)) min(Vtmp(:,4))];
% 选出在限制条件下的速度范围
% Vr=[ 0.1s后最低速度 0.1s后最高速度 0.1s后最低加速度 0.1s后最高加速度 ]
3 仿真结果
4 参考文献
[1]陈欢, 王志荣. 基于A*与Floyd算法移动机器人路径规划研究[J]. 建设机械技术与管理, 2018, 31(3):3.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。