资源简介
这是一份关于MATLAB基于几何图形法的障碍物地图构建算法的源代码,是我总结的自己关于线性规划的构图方法的理解,里面包含四个matlab的函数,可以直接调试,没有主函数,直接运行需要自己提供输入参数,具体参数代码注释的很详细,不理解的可以看我写的博客,link:https://blog.csdn.net/SimileciWH/article/details/83958617
代码片段和文件信息
function [numbarrierquadrantBarrier] = Barrier( xyconfine)
%构建障碍物区域
%输入参数
% x----x轴坐标
% y----y轴坐标
% confine----地图边界
% 输出参数
% orderBarrier----返回改点在第几象限
% numbarrier----该象限第几个障碍物若numbarrier == 32代表到达地图边界若numbarrier==0代表不在障碍物区域numbarrier = 16代表坐标轴
%%
quadrant = 0;
numbarrier = 0;
quadrantBarrier = 0;
%判断点在哪一个象限
if x >= 0 && y >= 0
quadrant = 1;
elseif x < 0 && y > 0
quadrant = 2;
elseif x < 0 && y < 0
quadrant = 3;
else
quadrant = 4;
end
switch (quadrant)
case 1
quadrantBarrier = 1; %第一象限
if x <= 0||y <= 0
numbarrier = 16;
end
if x >= confine || y >= confine
numbarrier = 32;
end
if x-2-y <= 0 && 0.5-y <= 0 && -x+2-y <= 0 && y-x-1 <= 0 && y-2.5 <= 0 && y+x-5 <= 0%第一象限障碍物区
numbarrier = 1;%返回1表示在障碍物区域
end
case 2
quadrantBarrier = 2; %第二象限
if x >= 0||y <= 0
numbarrier = 16;
end
if x <= -confine || y >= confine
numbarrier = 32;
end
%%
% 对于组合图形 1 的描述
if x+2.5-y <= 0 && -x-1.5-y <= 0 && y-x/3-13/6 <= 0
numbarrier = 1;
end
% if y+x+1.5 <= 0 && x+4.5-y <= 0 && y-2*x-8.5 <= 0
% numbarrier = 1;
% end
if -x-1.5-y <= 0 && y-2*x-8.5 <= 0 && y+x+0.5 <= 0 && x/3+13/6-y <= 0
numbarrier = 1;
end
%
case 3
quadrantBarrier = 3; %第三象限
if x >= 0||y >= 0
numbarrier = 16;
end
if x <= -confine || y <= -confine
numbarrier = 32;
end
%%
% 对于组合图形 1 的描述
if x+1 <= 0 && -3.5-x <= 0 && y+1 <= 0 && -1.5-y <= 0
numbarrier = 1;
end
if x+1.5 <= 0 && -3.5-x <= 0 && y+1.5 <= 0 && -2-y <= 0
numbarrier = 1;
end
if x+1.5 <= 0 && -2.5-x <= 0 && y+2 <= 0 && -2.5-y <= 0
numbarrier = 1;
end
%
case 4
quadrantBarrier = 4; %第四象限
if x <= 0||y >= 0
numbarrier = 16;
end
if x >= confine || y <= -confine
numbarrier = 32;
end
if 1.5*x-5-y <= 0 && -x-y <=0 && y+0.5 <=0
numbarrier = 1;
end
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2432 2018-05-28 09:07 Barrier.m
文件 4043 2018-06-04 09:43 drawMap.m
文件 3194 2018-05-25 09:44 EvaSafe.m
文件 12276 2018-06-12 10:45 searchBarrier.m
- 上一篇:鲁棒H无穷控制器设计
- 下一篇:nfft2.二维非等间距快速傅里叶变换
相关资源
- 多径效应MATLAB程序
- 梯度下降算法动态演示matlab文件
- 多尺度模糊熵matlab代码
- MATLAB在振动信号处理中的应用 配套源
- 基于matlab的车牌识别与分割
- MATLAB代码Retinex算法解决光照不均问题
- 模糊集图像增强matlab实现
- DES算法matlab实现
- JPEG2000 编解码实现 matlab
- 基于Matlab的包络线的生成算法
- matlab中pcm编码
- matlab求散点切线角度
- LU分解法,列主元三角分解法MATLAB代码
- 基于MATLAB的语音信号的滤波处理
- MATLABR2016bMac破解版.txt
- matlab随机数生成大全
- 惩罚函数最优化方法 MATLAB实现
- 多元非线性方程组求解(牛顿迭代法
- poisson(泊松过程)的Matlab仿真包括
- 无线传感器网络的拓扑结构下的无线
-
基于MatlabSimuli
nk数字基带传输系统仿 - 基于Matlab的QAM调制系统仿真课程设计
- 基于MATLAB的PUMA560机器人运动仿真研究
- labview和MATLAB混合编程
- 自己编写卷积程序 matlab
- 小波熵matlab程序
- matlab实现图像亮度变换的源代码
- 求图像二维灰度直方图的matlab程序
- 无线传感器网络中LEACH路由协议的MA
- S变换——Matlab(S变换函数,一个)
评论
共有 条评论