Advertisement

Matlab自动驾驶工具箱(2)-路径规划与控制-path

阅读量:

Matlab自动驾驶工具箱(2)-路径规划与控制-path

  • 1、 作用
  • 2、语法
  • 3、描述
  • 4、实例
  • 5、输入参数
  • 6、 输出参数

1、 作用

plan函数的作用为使用RRT *路径规划器规划车辆路径

2、语法

复制代码
    refPath = plan(planner,startPose,goalPose)
    [refPath,tree] = plan(planner,startPose,goalPose)

3、描述

  • refPath等于计划函数的结果,并由pathPlannerRRT对象配置生成从startPose到goalPose的车辆路径。
  • 调用计划函数并传递planner、startPose和goalPose参数后仍会返回包含refPath和tree的对象。

4、实例

通向停车位的路径规划
使用RRT *算法规划通往停车位的车辆路径。

生成停车场的costmap图后用于识别停车位区域和车辆禁止停车位。

复制代码
    data = load('parkingLotCostmapReducedInflation.mat');
    costmap = data.parkingLotCostmapReducedInflation;
    plot(costmap)
在这里插入图片描述

用于设定路径规划器的起始点和目标姿态的是[x,y,Θ]向量形式。其中(x,y)的位置采用了米作为坐标位置的度量单元;而Θ的方向值则采用了度作为方向角的标准测量单元。

复制代码
    startPose = [11, 10, 0]; % [meters, meters, degrees]
    goalPose  = [31.5, 17, 90];
  • 创建一个RRT *路径规划器以规划从起始姿势到目标姿势的路径。
复制代码
    planner = pathPlannerRRT(costmap);
    refPath = plan(planner,startPose,goalPose);
    plot(planner)
在这里插入图片描述

5、输入参数

  • planner — RRT* path planner
    RRT *路径规划器,指定为pathPlannerRRT对象。

  • startPose — 初始位置姿态
    车辆的初始位置姿态被定义为由矢量形式[x,y,\Theta]表示的空间位置参数。其中xy分别代表位置坐标的绝对值,并且它们是以世界坐标系中的米为单位测量得出的结果。例如,在实际应用中通常采用米作为位置坐标的基准单位。
    其中xy分别代表位置坐标的绝对值,并且它们是以世界坐标系中的米为单位测量得出的结果。例如,在实际应用中通常采用米作为位置坐标的基准单位。
    \theta角用度数表示。

  • goalPose — 目标姿势
    目标姿势由[x, y, θ]矢量确定。其中x和y采用标准单位表示(如米),θ采用度作为单元。当路径中的最后一个状态位于规划器设定的目标容差范围内时,则认为车辆已达到其目标位置。

6、 输出参数

refPath — planned vehicle trajectory
作为车辆返回行驶的关键参考路径,在规划好的路线中包含相关的姿态信息沿着预先设定好的轨迹运行。若规划未能成功实施,则该路线将失去其相关姿态信息的有效性。为了验证该路线是否仍具有效能性,请调用checkPathValidity函数进行判断。

在这里插入图片描述

tree — Exploration tree
有向图对象

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~