使用matlab2019来编写RRT算法,下面将贴出部分代码进行解释。
1、生成障碍物
在matlab中模拟栅格地图环境,自定义障碍物位置。
%% 生成障碍物
ob1 = [0,-10,10,5]; % 三个矩形障碍物
ob2 = [-5,5,5,10];
ob3 = [-5,-2,5,4];
ob_limit_1 = [-15,-15,0,31]; % 边界障碍物
ob_limit_2 = [-15,-15,30,0];
ob_limit_3 = [15,-15,0,31];
ob_limit_4 = [-15,16,30,0];
ob = [ob1;ob2;ob3;ob_limit_1;ob_limit_2;ob_limit_3;ob_limit_4]; % 放到一个数组中统一管理
x_left_limit = -16; % 地图的边界
x_right_limit = 15;
y_left_limit = -16;
y_right_limit = 16;
我在这随便选择生成三个矩形的障碍物,并统一放在ob数组中管理,同时定义地图的边界。
2、初始化参数设置
初始化障碍物膨胀范围、地图分辨率,机器人半径、起始点、目标点、生长距离和目标点搜索阈值。
%% 初始化参数设置
extend_area = 0.2; % 膨胀范围
resolution = 1; % 分辨率
robot_radius = 0.2; % 机器人半径
goal = [-10, -10]; % 目标点
x_start = [13, 10]; % 起点
grow_distance = 1; % 生长距离
goal_radius = 1.5; % 在目标点为圆心,1.5m内就停止搜索
全部0条评论
快来发表一下你的评论吧 !