主要内容

mobileRobotPropagator

轮式机器人系统状态传播算子

自从R2021b

    描述

    mobileRobotPropagator对象是一个传播的国家传播算子和验证的状态移动机器人基于控制命令,持续时间和目标状态。对象支持不同的运动学模金宝app型,积分器类型和控制策略。

    创建

    描述

    mobileProp= mobileRobotPropagator创建一个移动机器人传播算子的自行车使用linear-pursuit运动学模型控制策略。

    例子

    mobileProp= mobileRobotPropagator (名称,值)使用指定属性名称参数。例如,mobileRobotPropagator (“ControlStepSize”= 0.01)创建一个移动机器人控制步长为0.01传播者。

    属性

    全部展开

    状态空间的抽样计划期间,指定为的一个子类的对象nav.StateSpace对象。

    状态空间负责代表系统的配置空间。相关的对象应该包括所有状态信息传播系统。系统采用多层级联控制器可以直接添加持久的低级控制信息状态向量,而国家传播算子直接管理高层控制命令。

    验证环境,指定为一个binaryOccupancyMap,occupancyMap,或vehicleCostmap(自动驾驶工具箱)对象。

    mobileRobotPropagator沿着传播运动对象验证离散状态。默认情况下,环境是空的,所以对象只有拒绝州外的状态空间。

    这个属性只能在施工期间。

    距离度量估算传播成本,指定这些选项之一:

    • “欧几里得”——标准的欧氏距离。

    • “杜宾”-距离沿着一条杜宾路径连接两个州。有关更多信息,请参见dubinsPathSegment

    • “reedsshepp”-距离沿着芦苇Shepp路径连接两个州。有关更多信息,请参见reedsSheppPathSegment

    这个属性只能在施工期间。

    阈值的距离达到目标,指定为一个积极的标量。传播状态时,一个国家被认为是等于目标状态时拉近这个距离阈值。

    这个属性只能在施工期间。

    运动学模型的传播状态,决定了状态变量,控制输入的大小,和其他系统参数,可以指定SystemParameters财产。

    运动学模型状态和控制

    类型 状态向量 控制输入
    “自行车” (x yθ) (v psi)
    “阿克曼” (x yθpsi) [v psiDot]

    只能设置这个属性在建设和选择阿克曼运动学模型需要机器人系统工具箱™。

    当传播状态集成方法。积分步长可以通过更新SystemParameters财产。

    “rungekutta4”提供了一个更准确的集成结果比“欧拉”速度的代价。

    这个属性只能在施工期间。

    参数的运动学模型、积分器和控制政策,与这些字段指定为一个结构:

    • KinematicModel——参数中指定类型的运动学模型KinematicModel财产。

      • 轴距——轴距米的大小

      • SpeedLimit——速度向前和向后方向米每秒。

      • SteerRatelimit——限制转向率弧度每秒

    • 积分器——积分器类型中指定的参数积分器财产。

    • ControlPolicy——参数中指定的控制策略ControlPolicy财产。

    控制参数

    控制命令生成策略,指定这些选项之一:

    • “linearpursuit”——一个随机样本速度和计算一个超前点向量连接初始状态到目标状态。

    • “arcpursuit”——一个随机样本速度和计算一个超前点沿弧形切向的目标状态和初始相交xy-安置。

    • “randomsamples”——画了一个有限集的随机控制样本空间和传播。传播算子选择样本,获得最接近我们的目标,然后执行验证。

    限制每个国家控制命令,指定为一个n2矩阵。n对你的系统控制输入的数量模型。

    这个属性是只读的。

    数量的控制输出,指定为负的标量。

    持续时间的控制命令,指定为一个积极的标量。

    最大的次数来传播系统指定为正整数。

    对象的功能

    距离 目标状态估计的传播成本
    传播 传播系统没有验证
    propagateWhileValid 传播系统并返回有效的运动
    sampleControl 生成控制命令和持续时间
    设置 建立了移动机器人状态传播算子

    例子

    全部折叠

    计划控制路径与自行车运动模型mobileRobotPropagator对象。指定一个对环境地图,设置状态范围,定义一个启动和目标位置。计划使用控制RRT路径算法,它使用一个国家传播算子规划运动和所需的控制命令。

    设置状态和状态传播算子参数

    加载一个三元映射矩阵和创建一个occupancyMap对象。使用地图创建国家传播算子。默认情况下,国家传播算子使用自行车运动模型。

    负载(“exampleMaps”,“ternaryMap”)地图= occupancyMap (ternaryMap 10);宣传者= mobileRobotPropagator(环境=地图);%的自行车模型

    设置状态范围在世界地图上的基于状态空间的限制。

    :propagator.StateSpace.StateBounds (1:2) =[map.XWorldLimits;map.YWorldLimits];

    计划路径

    从国家传播算子创建路径规划。

    规划师= plannerControlRRT(传播算子);

    指定开始和目标状态。

    开始= (10 15 0);目标= 30 40 [0];

    计划路径之间的状态。可重复的结果,重置计划前的随机数发生器。的计划函数输出一个navPathControl对象,该对象包含状态,控制命令,和持续时间。

    rng (“默认”)路径=计划(计划、启动、目标)
    路径= navPathControl属性:StatePropagator: [1 x1 mobileRobotPropagator]: [192 x3双]控制:[191 x2双]时间:x1双[191]TargetStates: [191 x3双]NumStates: 192 NumSegments: 191

    可视化的结果

    可视化映射和绘制路径。

    显示(map)情节(开始(1),(2)开始,“处方”)情节(目标(1)、目标(2),“走”)情节(path.States (: 1) path.States (:, 2),“b”)举行

    图包含一个坐标轴对象。坐标轴对象与标题占用网格,包含X [m], ylabel Y(米)包含4类型的对象形象,线。一个或多个行显示的值只使用标记

    显示(v psi)控制输入的速度和转向角。

    情节(path.Controls) ylim([1])传奇([“速度(米/秒)”,“转向角(rad)”])

    图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表速度(米/秒),转向角(rad)。

    限制

    • 部署使用MATLAB®编译器™时不支持金宝appKinematicModel被设置为“阿克曼”

    版本历史

    介绍了R2021b