传统RRT.zip
大小:71.52KB
价格:10积分
下载量:0
评分:
5.0
上传者:winner0111
更新日期:2025-09-22

传统rrt算法仿真代码

资源文件列表(大概)

文件名
大小
传统RRT/demo.png
70.89KB
传统RRT/demo1.m
2.63KB
传统RRT/distance.m
61B
传统RRT/ob.m
887B

资源内容介绍

传统rrt算法仿真代码
clcclear all[f,n1]=ob(10);%随机生成障碍物Xinit=[1,1];%定义初始点Xgoal=[95,90];%定义目标点plot(Xinit(1),Xinit(2),'ro');plot(Xgoal(1),Xgoal(2),'ko');T=[Xinit(1),Xinit(2)];%已生成节点集合用顺序表的数据结构存储Xnew=Xinit;D(1)=0;%初始节点的父节点指向0while distance(Xnew(1),Xnew(2),Xgoal(1),Xgoal(2))>3 %进入目标区域 Xrand=round(rand(1,2)*100)+1;%状态采样空间:横纵坐标均为整数,范围1~100 k=1;%进入循环 while k==1 k=0;%初始化采样成功 for i=1:n1 if distance(Xrand(1),Xrand(2),f(i*3-2),f(i*3-1))<(f(i*3)+1)%判断随机采样点是否在障碍物内 k=1;%采样不成功 break; end end Xrand=round(rand(1,2)*100);%重新采样 end min=100;%该参数对路径方向有影响 for i=1:size(T,2)/2 %遍历已生成节点集合 if distance(T(2*i-1),T(2*i),Xrand(1),Xrand(2))<min %得到最近的节点 min=distance(T(2*i-1),T(2*i),Xrand(1),Xrand(2)); Xnear=[T(2*i-1),T(2*i)]; end end stepsize=3/distance(Xnear(1),Xnear(2),Xrand(1),Xrand(2));%以一定步长前进,这里选择3 Xnew=[Xrand(1)*stepsize+Xnear(1)*(1-stepsize),Xrand(2)*stepsize+Xnear(2)*(1-stepsize)]; t=0;%初始状态未碰撞 if Xnear(1)>Xnew(1) caiyang=-0.001; else caiyang=0.001; end for i=Xnear(1):caiyang:Xnew(1)%均匀采样进行碰撞检测 for j=1:n1 if distance(f(3*j-2),f(3*j-1),i,Xnear(2)+(i-Xnear(1))/(Xnew(1)-Xnear(1))*(Xnew(2)-Xnear(2)))<=(f(3*j)+1) t=1;%代表碰撞 break; end end if t==1 break; end end if t==0 T=[T,Xnew(1),Xnew(2)]; for i=1:size(T,2)/2 %遍历已生成节点集合 if (T(i*2-1)==Xnear(1))&&(T(i*2)==Xnear(2)) %得到最近的节点的索引 D(size(T,2)/2)=i;%记录父节点 break; end end plot([Xnew(1),Xnear(1)],[Xnew(2),Xnear(2)],'b-');hold on;pause(0.005); plot(Xnew(1),Xnew(2),'r.');xlim([0,100]);ylim([0,100]); endendi=size(T,2)/2;jg=[i];while D(i) i=D(i); %通过链表回溯 if D(i)~=0 jg=[D(i),jg];%存储最短路径通过的节点 endendFx=T(jg(1)*2-1);Fy=T(jg(1)*2);i=2;while jg(i)~=size(T,2)/2 x=T(jg(i)*2-1); y=T(jg(i)*2); plot([x,Fx],[y,Fy],'g-');hold on;pause(0.05); Fx=x;Fy=y; i=i+1;end plot([T(jg(i)*2-1),Fx],[T(jg(i)*2),Fy],'g-');hold on;pause(0.05);

用户评论 (0)

发表评论

captcha

相关资源

此文件为作者自己制作C语言c++入门到进阶课无偿领取,输入密码qqdzy即可获取

大家好啊,我是老乔。今天给大家带来我自己制作的c/c++入门到进阶课程,非常适合有一定编程基础和新手小白c/c++课程,课程简单易懂,无偿分享,其中包含了C语言开发,C语言基本控制结构类型及运算,数组,函数,指针,结构体与共同体…………一直到c++,mfc编程入门都有详细的讲解,为了制作它我花了许多时间精力,感谢大家支持压缩文件密码:qqdzy

89.27MB31积分

autohidedesk自动隐藏桌面图标

Auto Hide Desk topIcons是一款完全免费的自动隐藏桌面图标和任务栏的实用软件,该软件支持Windows版本。它体积小,只有几百KB,无需安装,双击打开软件即可使用。它的主要功能是自动隐藏桌面图标和任务栏,即当鼠标几秒钟没有移动或点击时,会自动隐藏桌面图标和任务栏,使桌面简洁美观。当鼠标再次点击桌面时,桌面图标和任务栏又可以显示出来了。支持丰富的设置选项,包括:鼠标不动多长时间自动隐藏桌面图标,点击鼠标左键再次显示图标,点击鼠标中键再次显示图标,点击鼠标右键再次显示图标,鼠标在桌面上移动时显示图标等。还可以设置只隐藏桌面图标、隐藏图标时隐藏任务栏、隐藏图标后将桌面背景改为纯色、程序启动时隐藏图标等。

89.13KB17积分

滑板 滑板 滑板 滑板 滑板 滑板

滑板

21.91MB29积分

基于PythonFlaskWeb人工智能恶意文件检测系统框架 html + css + jquery + python 3

基于PythonFlaskWeb人工智能恶意文件检测系统框架 html + css + jquery + python 3.9 + flask + yara + 哈希散列 + mysql + orm + 人工智能检测!!!!!!!注意事项!!!!!!!!!!yara不能有中文路径留这几个个客户就行病毒样本https://www.microsoft.com/en-us/wdsi/threats/malware-encyclopedia-description?Name=Trojan:Win32/Silentbanker.B%E3%80%82YYara downloadhttps://github.com/VirusTotal/yara/releases/tag/v4.5.0用户类型管理员admin123456模块介绍登录模型系统首页 (上传抓包的文件并分析)PE信息解析 (上传PE文件并分析)人工智能恶意软件检测子模块开始检测子模块扫描结果其他

7.14MB12积分