💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
路径规划,也称为运动规划或轨迹规划,是机器人学和计算机科学中的一个基本问题。它涉及为机器人或车辆从当前位置导航到指定目标位置找到可行路径,同时避开障碍物并遵守各种约束条件。基于网格的算法将环境离散化成一个网格或格子,其中每个单元格代表空间的一部分。常用的技术如Dijkstra算法和A*搜索,用于在该网格上考虑穿越每个单元格的代价,找到最短路径。这些方法适用于已知或静态障碍物的环境,但在大规模场景中可能存在较高的内存和计算需求。
📚2 运行结果
主函数部分代码:
close all;
disp('Dynamic Window Approach sample program start!!')
x=[0 0 pi/2 0 0]';% 机器人的初期状态[x(m),y(m),yaw(Rad),v(m/s),w(rad/s)]
goal=[10,10];% 目标点位置 [x(m),y(m)]
% 障碍物位置列表 [x(m) y(m)]
obstacle=[0 2;
4 2;
4 4;
5 4;
5 5;
5 6;
5 9
8 8
8 9
7 9
6 5
6 3
6 8
6 7
7 4
9 8
9 11
9 6];
obstacleR=0.5;% 冲突判定用的障碍物半径
global dt; dt=0.1;% 时间[s]
% 机器人运动学模型
% 最高速度m/s],最高旋转速度[rad/s],加速度[m/ss],旋转加速度[rad/ss],
% 速度分辨率[m/s],转速分辨率[rad/s]]
Kinematic=[1.0,toRadian(20.0),0.2,toRadian(50.0),0.01,toRadian(1)];
% 评价函数参数 [heading,dist,velocity,predictDT]
evalParam=[0.05,0.2,0.1,3.0];
area=[-1 11 -1 11];% 模拟区域范围 [xmin xmax ymin ymax]
% 模拟实验的结果
result.x=[];
tic;
% movcount=0;
% Main loop
for i=1:5000
% DWA参数输入
[u,traj]=DynamicWindowApproach(x,Kinematic,goal,evalParam,obstacle,obstacleR);
x=f(x,u);% 机器人移动到下一个时刻
% 模拟结果的保存
result.x=[result.x; x'];
% 是否到达目的地
if norm(x(1:2)-goal')<0.5
disp('Arrive Goal!!');break;
end
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]吴美玉.高职教育在线案例教学面临的困境及优化路径研究[J].佳木斯职业学院学报,2024,40(02):210-212.
[2]张强,王翱航,吉祥.高校教育评价改革社会支持的学理渊源、动力支撑与优化路径[J].上海教育评估研究,2024,13(01):14-18.DOI:10.13794/j.cnki.shjee.2024.0002.