主要内容

checkPathValidity

检查计划车辆路径的有效性

描述

例子

isValid= checkPathValidity (refPathcostmap检查计划车辆路径的有效性,refPath,对照车辆成本图。使用此函数测试路径在不断变化的环境中是否有效。

当满足以下条件时,路径有效:

  • 路径至少有一个姿态。

  • 该路径无碰撞,且在costmap

isValid= checkPathValidity (refPosescostmap检查车辆姿态序列的有效性,refPoses,对照车辆成本图。

例子

全部折叠

利用最优快速搜索随机树(RRT*)算法规划通过停车场的车辆路径。检查路径是否有效,然后沿着路径绘制过渡姿势。

加载一个停车场的成本图。绘制成本图,看到停车场和充气区域的车辆要避免。

data =负载(“parkingLotCostmap.mat”);costmap = data.parkingLotCostmap;情节(costmap)

图中包含一个axes对象。坐标轴对象包含两个类型为image、patch的对象。该对象表示膨胀区域。

定义车辆的起始和目标姿态为[xyΘ)向量。的世界单位(xy)的位置以米为单位。世界单位Θ方位角以度为单位。

startPose = [4,4,90];%[米,米,度]goalPose = [30, 13, 0];

使用一个pathPlannerRRT对象来规划从起始姿势到目标姿势的路径。

规划师= pathPlannerRRT (costmap);refPath =计划(计划、startPose goalPose);

检查路径是否有效。

isPathValid = checkPathValidity (refPath costmap)
isPathValid =逻辑1

沿着路径插值过渡姿势。

transitionPoses =插入(refPath);

在成本图上绘制计划的路径和转换姿势。

持有情节(refPath“DisplayName的”“计划路径”)散射(transitionPoses (: 1) transitionPoses (:, 2), [],“填充”...“DisplayName的”“过渡姿势”)举行

图中包含一个axes对象。坐标轴对象包含13个对象类型的图像,补丁,散点,线,多边形。这些对象代表膨胀区域,规划路径,过渡姿势。

输入参数

全部折叠

规划的车辆路径,指定为开车。路径对象。

用于碰撞检查的Costmap,指定为vehicleCostmap对象。

车辆姿态序列,指定为-by-3矩阵的[xyΘ)向量。是指定姿势的数量。

x而且y指定车辆的位置。这些值必须与所使用的世界单位相同costmap

Θ以度为单位指定飞行器的朝向角度。

输出参数

全部折叠

表示规划车辆路径的有效性,refPath,或车辆姿势的顺序,refPoses的逻辑值返回10

一个路径或一系列姿势是有效的(1),如果符合下列条件:

  • 该路径或姿态序列至少具有一个姿态。

  • 所述路径或位姿序列无碰撞且在costmap

算法

若要检查车辆路径是否有效,则checkPathValidity函数离散路径。然后,该函数检验离散点的位姿是否无碰撞。无碰撞姿态的阈值取决于其分辨率checkPathValidity可获得。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

介绍了R2018a

Baidu
map