主要内容

checkOccupied

检查车辆costmap占领姿势或点

描述

checkOccupied函数检查车辆是否构成或车辆costmap点被障碍。路径规划算法使用checkOccupied检查是否候选人车辆提出了适于沿着一条路径。

为了简化碰撞检查车辆构成,vehicleCostmap根据汽车的膨胀的障碍InflationRadius指定的CollisionCheckercostmap的财产。碰撞检查计算通货膨胀半径通过将车辆包含在一组重叠的圆圈的半径R这些圆圈的中心所在,沿着纵轴的车辆。通货膨胀半径是最小值R需要完全封闭的车辆在这些圈子里。时无碰撞车辆构成的中心圈躺在一个充气的网格单元。更多细节,请参阅算法vehicleCostmap参考页面。

例子

occ= checkOccupied (costmap,vehiclePoses)检查车辆是否占据。

occ= checkOccupied (costmap,xyPoints)检查是否(x,y)分xyPoints占领。

occMat= checkOccupied (costmap)返回一个逻辑矩阵表明是否占据costmap的每个细胞。

例子

全部折叠

加载一个costmap从停车场。

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

创建后车辆提出了直线路径。xy是(x,y)汽车的后桥的坐标。θ是后桥的角度对吗x设在。注意车辆的尺寸都存储在vehicleDimensions财产costmap,之间有一个偏移量的后桥车辆和它的中心。

x = 6:0.25:10;y = repmat(5、大小(x));θ= 0(大小(x));vehiclePoses = [x, y,θ');持有情节(x, y,“b”。)

图包含一个坐标轴对象。坐标轴对象包含X, Y ylabel包含3类型的对象形象,补丁,线。一个或多个行显示的值只使用标记这个对象代表的地区。

检查如果姿势占领。

occ = checkOccupied (parkMap vehiclePoses)
occ =17 x1逻辑阵列0 0 0 0 0 1 1 1 1 1⋮

车辆姿势开始占据第六姿势。换句话说,车辆在第六构成的中心位于一个被占领的网格单元的通货膨胀半径。

输入参数

全部折叠

Costmap,指定为一个vehicleCostmap对象。

汽车带来了,指定为一个3的矩阵x,y,Θ)向量。是构成的数量。

xy指定车辆的位置在世界单位,如米。这个位置是车的后桥的中心。

Θ指定车辆的定位角度的x设在。Θ在顺时针方向为正。

例子:(3.4 - 2.6 0)指定了一个汽车后桥的中心在(3.4,2.6)和0度的方向角。

点,指定为一个2实值矩阵表示(x,y)的坐标点。

例子:(3.4 - 2.6)指定一个点在(3.4,2.6)

例子:[3 2;3;4 7]指定三个点:(2),(3、3)和(4、7)

输出参数

全部折叠

车辆构成或点占领,作为一个返回1逻辑向量。一个元素的occ1(真正的当相应的车辆构成vehiclePoses或平面点xyPoints占领。

Costmap细胞,作为一个逻辑返回相同大小的矩阵Costmap网格。这个尺寸是指定的MapSize财产的costmap。一个元素的occMat1(真正的当相应的细胞costmap占领。

扩展功能

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

版本历史

介绍了R2018a