基本思想

1.在已知的静态地图中随机生成点,可以预设这个点是目标点的概率使其随机性减小

2.寻找随机生成点的最近点,连接并在最近点延时固定步长,判断是否与障碍物碰撞

3.重复上述,直到离终点一个范围,到达终点

代码

clear()
ob=[10,10;50,80;70,20;40,40;80,50];
ob_r=[3;5;10;6;5];%% map setting
rows=100;
cols=100;
start=[5,5];
goal=[100,100];
figure(1)
plot(start(1),start(2),'*r');
hold on
plot(goal(1),goal(2),'*g');
%obstacle draw
aplha=0:pi/40:2*pi;
for ob_r_count=1:length(ob_r)x=ob(ob_r_count,1)+ob_r(ob_r_count)*cos(aplha);y=ob(ob_r_count,2)+ob_r(ob_r_count)*sin(aplha);plot(x,y,'-');axis equal
end
%% parameter setting
current_point=start;
current_parent=[];
current_cost=[];
tree_point=start;
tree_parent=start;
tree_cost=0;
step=5;%% loop
while 1if current_point==goal%node recallline([current_point(1),parent_point(1)],[current_point(2),parent_point(2)]);breakend%generate random dot trace,the goal point chance is 10%rand_count=rand(1);if rand_count<=0.1new_point=goal;elsenew_point=rand(1,2)*diag([rows,cols],0);end%find parent pointparent_point=parent(new_point,tree_point);point=parent_point+step*(new_point-parent_point)/norm(parent_point-new_point);%judge the distance from obstaclesif distance(ob,ob_r,point,parent_point,step)plot(point(1),point(2),'.b',parent_point(1),parent_point(2),'.b');line([point(1),parent_point(1)],[point(2),parent_point(2)]);%pause(0.2);%animationcurrent_point=point;tree_point=[tree_point;point];tree_parent=[tree_parent;parent_point];tree_cost=[tree_cost,];endif norm(current_point-goal)<=steptree_parent=[tree_parent;current_point];current_point=goal;tree_point=[tree_point;current_point];end
end%% function parent
function parent_point=parent(new_point,tree_point)
point=dsearchn(tree_point,new_point);
parent_point=tree_point(point,:);
end
%% function distance
function feasibility=distance(ob,ob_r,point,parent_point,step)
feasibility=1;
for count2=1:length(ob_r)if norm(point-ob(count2,:))<=ob_r(count2)feasibility=0;breakendline=ob(count2,:)-parent_point;line1=point-parent_point;if norm(line)<=step+ob_r(count2) && abs(sum(line.*line1)/(norm(line)*norm(line1)))>=(norm(line)^2-ob_r(count2)^2)^0.5/norm(line)feasibility=0;end
end
end

RRT算法matlab实现(未改进)相关推荐

  1. 风电功率预测优化算法MATLAB程序基于改进神经网络

    风电功率预测优化算法MATLAB程序基于改进神经网络 (1) 该程序为基于改进神经网络的风电功率预测优化算法程序,风电预测程序,期刊论文源程序,配有该论文. (2) 该程序所用的ICA-BP 神经网络 ...

  2. 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 155期】

    一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT算法无人机三维 ...

  3. 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 1363期】

    一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT算法无人机三维 ...

  4. 最优隐神经元数目 算法 matlab,BP算法的改进在Matlab的实现研究

    BP 算法的改进在M a tlab 的实现研究 姚文俊 (中南民族大学电子信息工程学院 湖北武汉 430074) 摘 要:利用M atlab 中的神经网络工具箱提供的丰富网络学习和训练函数,对BP 网 ...

  5. 改进后的A星三维路径规划完整算法(matlab语言),包括障碍物模型优化

    改进后的A星三维路径规划完整算法(matlab语言),包括障碍物模型优化,平滑处理,启发函数的改进,环境地图可以根据自己的实际情况进行改进,算法包含了非常详细的代码注释 ID:695006710638 ...

  6. 改进后的A星三维路径规划完整算法(matlab语言)

    改进后的A星三维路径规划完整算法(matlab语言),包括障碍物模型优化,平滑处理,启发函数的改进,环境地图可以根据自己的实际情况进行改进,算法包含了非常详细的代码注释 YID:69500671063 ...

  7. DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 YID:87140641990659957爱熬夜的程序猿

  8. DG储能选址定容模型matlab 程序采用改进粒子群算法

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠编号:75140641990659957爱熬夜的程序猿

  9. DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 YID:87140641990659957爱熬夜的程序猿

最新文章

  1. python实用脚本-python 实用脚本
  2. 机器学习笔记:牛顿方法
  3. Tomcat发布Web项目的两种方式
  4. HTTP的 Basic 验证
  5. java如果属性为空返回其他_后台返回前台数据(实体类)如果存在为空或‘’的属性,如何过滤掉...
  6. linux vim 快速定位位置,vim快速移动定位的一些操作命令
  7. 蓝桥杯 ALGO-119 算法训练 寂寞的数
  8. 查看系统端口是否被占用
  9. 直线平面平行的判定和性质
  10. curl安装失败/区块链配置
  11. VS2015社区版使用Visual Studio Installer打包
  12. [生存志] 第91节 鬼谷捭阖之策
  13. Ghelper安装及使用
  14. Android实现校园新闻APP,基于android平台的校园新闻app的开发 大学毕业论文.doc
  15. 已解决ERROR in static/js/vendor.4925c830bef16dced0c0.js from UglifyJs Unexpected token: name (i)
  16. 11.selenium登录126邮箱出现定位问题解决
  17. 【学术相关】为什么那么多博士延期毕业了?
  18. EBS 退货单无法退账,VALIDATE_RMA_LOT_QUANTITIES_ERROR
  19. 如何做好网站安全防护 防止网站被黑?
  20. 认知篇----硬件工程师的成才之路之经典

热门文章

  1. 【goldengate】官方文档笔记三 Oracle GoldenGate 实时报表
  2. 记录 mac os 下一些好用的软件
  3. 企业中深信服防火墙旁挂部署
  4. 用python做一个自动签到程序
  5. Win7安装Python补丁要求
  6. DOS命令----百度百科
  7. 浅谈联网汽车安全漏洞
  8. Silverlight Spy初探
  9. 是时候展示给大家这5款压箱底的软件了
  10. PHP的301,302自动跳转代码