路径规划和跟踪 Path Planning and Following

mobileRobotPRM

创建概率路线图路径规划器

mobileRobotPRM 对象是地图属性中指定的环境地图的路线图路径规划器对象。该对象使用地图生成路线图,路线图是根据空闲空间和占用空间绘制的地图中可能路径的网络图。您可以自定义节点数(NumNodes)和连接距离(ConnectionDistance),以适应地图的复杂性,并找到从起点到终点的无障碍路径。

地图定义完成后,mobileRobotPRM 路径规划器会在地图的自由空间中生成指定数量的节点。如果两个节点之间的直线没有障碍物,并且在指定的连接距离内,则节点之间建立了连接。

在定义了起点和终点位置后,要使用此连接网络找到一条无障碍路径,请使用 findpath 方法。如果 findpath 没有找到连接路径,则会返回一个空数组。通过增加节点数量或连接距离,可以提高找到连通路径的可能性,但调整这些属性是必要的。要查看路线图和生成的路径,请使用 show 中的可视化选项。如果更改了 mobileRobotPRM 的任何属性,请调用 update、show 或 findpath 重新创建路线图。

语法

planner = mobileRobotPRM

planner = mobileRobotPRM(map)

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)

描述

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)

show(prm,Name,Value)

描述

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)

描述

update(prm) 如果是在创建 mobileRobotPRM 对象 prm 后首次调用,则会创建一个路线图。update 会使用 prm 中指定的 Map、NumNodes 和 ConnectionDistance 属性值创建新的路线图。

输入参数

prm - 路线图路径规划器
mobileRobotPRM 对象
路线图路径规划器,指定为 mobileRobotPRM 对象。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值