mobileRobotPRM
创建概率路线图路径规划器
mobileRobotPRM 对象是地图属性中指定的环境地图的路线图路径规划器对象。该对象使用地图生成路线图,路线图是根据空闲空间和占用空间绘制的地图中可能路径的网络图。您可以自定义节点数(NumNodes)和连接距离(ConnectionDistance),以适应地图的复杂性,并找到从起点到终点的无障碍路径。
地图定义完成后,mobileRobotPRM 路径规划器会在地图的自由空间中生成指定数量的节点。如果两个节点之间的直线没有障碍物,并且在指定的连接距离内,则节点之间建立了连接。
在定义了起点和终点位置后,要使用此连接网络找到一条无障碍路径,请使用 findpath 方法。如果 findpath 没有找到连接路径,则会返回一个空数组。通过增加节点数量或连接距离,可以提高找到连通路径的可能性,但调整这些属性是必要的。要查看路线图和生成的路径,请使用 show 中的可视化选项。如果更改了 mobileRobotPRM 的任何属性,请调用 update、show 或 findpath 重新创建路线图。
语法
planner = mobileRobotPRM(map,numnodes)
描述
planner = mobileRobotPRM 会创建一个带有默认属性的空路线图。在使用路线图之前,必须在 Map 属性中指定一个 binaryOccupancyMap 对象。
planner = mobileRobotPRM(map) 将 map 设置为 "地图 "属性,创建路线图。
planner = mobileRobotPRM(map,numnodes) 将最大节点数 numnodes 设置为 NumNodes 属性。
输入参数
map - 地图表示法
二进制占位Map 对象
地图表示法,指定为二进制 OccupancyMap 对象。该对象表示机器人所处的环境。该对象是一个矩阵网格,其中的二进制值表示障碍物为真(1),空闲位置为假(0)。
numnodes - 路标中的最大节点数
50(默认) | 标量
路径图中的最大节点数,以标量形式指定。如果增加该值,路径规划器的复杂性和计算时间都会增加。
属性
ConnectionDistance - 两个连接节点之间的最大距离
inf(默认) | 以米为单位的标量
两个连接节点之间的最大距离,用逗号分隔的 "ConnectionDistance "和以米为单位的标量对指定。该属性根据节点之间的距离控制节点是否连接。只有当路径上没有直接障碍物时,节点才会被连接。通过减少该值,连接的数量会减少,但复杂性和计算时间也会减少。
map - 地图表示法
binaryOccupancyMap 对象 | occupancyMap 对象
地图表示法,以逗号分隔,由 "Map "和二进制OccupancyMap或occupancyMap(导航工具箱)对象组成。该对象表示机器人所处的环境。该对象是一个矩阵网格,其数值表示地图中各个位置的占用率。
NumNodes - 地图中的节点数
50(默认) | 标量
地图中的节点数,以逗号分隔,由 "NumNodes "和标量组成。如果增加该值,路径规划器的复杂性和计算时间都会增加。
对象函数
findpath
在路线图上找到起点和目标点之间的路径
语法
描述
xy = findpath(prm,start,goal)在包含连接点网络的路线图对象 prm 中查找起点和目标位置之间的无障碍路径。
如果 prm 的任何属性发生变化,或者没有创建路标,就会调用 update。
输入参数
prm - 路线图路径规划器
mobileRobotPRM 对象
路线图路径规划器,指定为 mobileRobotPRM 对象。
start - 路径的起始位置
1-by-2 向量
路径的起始位置,指定为代表 [x y] 对的 1-by-2 向量。
例如 [0 0]
目标 - 路径的最终位置
1-by-2 向量
路径的最终位置,指定为代表 [x y] 对的 1-by-2 向量。
例如 [10 10]
输出参数
xy - 起点和目标之间路径的航点
n-by-2 列向量
起点和目标之间路径的航点,以 [x y] 对的 n-by-2 列向量形式指定,其中 n 是航点的个数。根据 prm 输入对象的路线图,这些路径对代表了从起点和目标位置出发的解算路径。
show
显示地图、路线图和路径
语法
描述
show(prm) 在图形窗口中显示地图和路线图,指定为 prm。如果没有路线图,则调用 update。如果在调用 show 之前计算了路径,则路径也会绘制在图形上。
show(prm,Name,Value) 将指定的值设置为属性名称。
输入参数
prm - 路线图路径规划器
mobileRobotPRM 对象
路线图路径规划器,指定为 mobileRobotPRM 对象。
Parent - 用于绘制地图的坐标轴
轴对象 | UIAxes 对象
用于绘制地图的坐标轴,以逗号分隔的对形式指定,包括 "Parent(父对象)"和 Axes 或 UIAxesobject。请参阅轴或 UIAxes。
Map - 地图显示选项
开"(默认) | "关
地图显示选项,以逗号分隔,包括 "Map "和 "on "或 "off"。
Roadmap - 路线图显示选项
开"(默认) | "关
路线图显示选项,以逗号分隔,包括 "Roadmap(路线图)"和 "on(开启)"或 "off(关闭)"。
Path - 路径显示选项
"打开"(默认) | "关闭
路径显示选项,指定为 "开 "或 "关"。该选项控制是否在绘图中显示计算路径。
update
创建或更新路线图
语法
描述
update(prm) 如果是在创建 mobileRobotPRM 对象 prm 后首次调用,则会创建一个路线图。update 会使用 prm 中指定的 Map、NumNodes 和 ConnectionDistance 属性值创建新的路线图。
输入参数
prm - 路线图路径规划器
mobileRobotPRM 对象
路线图路径规划器,指定为 mobileRobotPRM 对象。