主要内容

minsnappolytraj

生成通过路径点的最小抓拍轨迹

    描述

    例子

    qdqddqdddqddddtPointstSamples] = minsnappolytraj(路点时间点numSamples生成最小快照多项式轨迹,实现给定的一组输入路径点及其相应的时间点。该函数在给定数量的样本中返回位置、速度、加速度、突起点和突起点numSamples.该函数还返回分段多项式关于时间的多项式轨迹的形式,以及时间点tPoints,和采样次数tSamples

    qdqddqdddqddddtPointstSamples] = minsnappolytraj(___名称=值)除前面语法中的输入参数外,还使用一个或多个名称-值对参数指定选项。例如,minsnappolytraj(waypoints,timePoints,numSamples,速度边界条件=[1 0 -1 -1;1 1 1 -1])生成二维最小瞬间轨迹,并为每个路径点指定每个维度上的速度边界条件。

    qdqddqdddqddddtPointstSamples] = minsnappolytraj(___TimeAllocation = true)优化快照和总段时间成本的组合。在本例中,函数处理时间点作为到达航路点时间的初步猜测。

    例子

    全部折叠

    使用minsnappolytraj函数与给定的二维集合xy锚点。同时给出了路径点的时间点。

    WPTS = [1 4 4 3 -2 0;0 1 2 4 3 1];TPTS = 0:5;

    指定输出轨迹中的样本数量。

    Numsamples = 100;

    计算最小抓拍轨迹。函数输出轨迹位置(),速度(qd),加速度(qdd),混蛋(qddd),以及snaps (qdddd)。

    [q,qd,qdd,qddd,qdddd,pp,时间点,tsamples] = minsnappolytraj(wpts,tpts,numsamples);

    画出轨道x -y职位。将轨迹与每个航路点进行比较。

    情节(tsamples q)情节(wpt的时间点,“x”)包含(“t”) ylabel (“职位”)传说(“坐标”“坐标”)举行

    图中包含一个轴对象。axis对象包含4个line类型的对象。这些对象代表x -位置,y -位置。

    您也可以验证在二维平面中的实际位置。的单独行向量和路径点为x -y -的位置。

    图绘制(q (1:), q (2:)“。b”wpt (:), wpt (2:)”或“)包含(“X”) ylabel (“Y”

    图中包含一个轴对象。axis对象包含2个line类型的对象。

    输入参数

    全部折叠

    轨迹的路径点,指定为n——- - - - - -p矩阵。n轨迹的维数,和p是路径点的数量。

    例子:[2 5 8 4;3 4 10 12]

    数据类型:|

    轨迹路径点的时间点,用a表示p-element行向量。p是路径点的数量。

    例子:[1 2 3 5]

    数据类型:|

    输出轨迹中的抽样数,指定为正整数。

    例子:50

    数据类型:|

    名称-值参数

    指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

    例子:minsnappolytraj(waypoints,timePoints,numSamples,速度边界条件=[1 0 -1 -1;1 1 1 -1])生成二维最小瞬间轨迹,并为每个路径点指定每个维度上的速度边界条件。

    每个路点的速度边界条件,指定为n——- - - - - -p矩阵。每一行为每个点的轨道的相应维度设置速度边界p锚点。缺省情况下,该函数使用值0在边界航路点和在中间航路点。

    例子:速度边界条件=[1 0 -1 -1;1 1 1 -1]

    数据类型:|

    每个路径点的加速度边界条件,指定为n——- - - - - -p矩阵。每一行为每个点的轨迹对应维度设置加速度边界p锚点。缺省情况下,该函数使用值0在边界航路点和在中间航路点。

    例子:加速度边界条件=[1 0 -1 -1;1 1 1 -1]

    数据类型:|

    为每个路点设置边界条件,指定为n——- - - - - -p矩阵。每一行为每一行的轨道的相应维度设置颠簸边界p锚点。缺省情况下,该函数使用值0在边界航路点和在中间航路点。

    例子:边界条件=[1 0 -1 -1;1 1 1 -1]

    数据类型:|

    为每个路径点设置边界条件n——- - - - - -p矩阵。每一行为每一行的轨迹的相应维度设置快照边界p锚点。缺省情况下,该函数使用值0在边界航路点和在中间航路点。

    例子:SnapBoundaryCondition=[1 0 -1 -1;1 1 1 -1]

    数据类型:|

    时间分配标志,指定为逻辑0)或1真正的).启用此标志可优化快照和总段时间成本的组合。

    请注意

    如果在启用时间分配标志时出现奇点,请减少MaxSegmentTimeMinSegmentTime比率。

    例子:TimeAllocation = true

    数据类型:逻辑

    用于时间分配的权重,指定为正标量。

    例子:TimeWeight = 120

    数据类型:|

    最小时间段长度,指定为正标量或(p- - - - - -1)-元素行向量。

    例子:MinSegmentTime = 0.2

    数据类型:|

    最大时间段长度,指定为正标量或(p- - - - - -1)-元素行向量

    例子:MaxSegmentTime = 5

    数据类型:|

    输出参数

    全部折叠

    轨迹在给定时间点的位置tSamples,作为n——- - - - - -矩阵。n轨迹的维数,和等于numSamples

    轨迹在给定时间点的速度tSamples,作为n——- - - - - -矩阵。n轨迹的维数,和等于numSamples

    轨迹在给定时间的加速度tSamples,作为n——- - - - - -矩阵。n轨迹的维数,和等于numSamples

    在给定时间点上的轨迹的突变tSamples,作为n——- - - - - -矩阵。n轨迹的维数,和等于numSamples

    轨迹在给定时间的快照样本tSamples,作为n——- - - - - -矩阵。n轨迹的维数,和等于numSamples

    分段多项式,返回为一个结构,定义分段轨迹的每一段的多项式。你可以用mkpp,或求出多项式在指定时间的值ppval.该结构包含以下字段:

    • 形式“页”

    • 休息时间p-分段轨迹变形时间的元素向量。p是路径点的数量。

    • 系数np- - - - - -1)———订单多项式的系数矩阵。np- - - - - -1)为轨迹的维数乘以的个数.每套nRows定义了描述每个变量轨迹的多项式的系数。

    • p- - - - - -1.休息次数- 1。

    • 订单:多项式的次+1.多项式的阶是10。

    • 昏暗的n.控制点位置的尺寸。

    时间点为轨迹的路径点,返回为ap-element行向量。p是路径点的数量。

    轨迹的时间样本,返回为-element行向量。每个元素的输出位置、速度qd、加速度qdd,混蛋qddd,啪qdddd已经在这个向量的相应时间进行了采样。

    参考文献

    Bry, Adam, Charles Richter, Abraham Bachrach和Nicholas Roy。固定翼和四旋翼飞机在密集室内环境中的激进飞行国际机器人研究杂志34岁,没有。7(2015年6月):969-1002。

    [2]里克特,查尔斯,亚当·布里和尼古拉斯·罗伊。密集室内环境中四旋翼飞行的多项式轨迹规划在机器人研究国际研讨会(ISRR 2013)上发表的论文, 2013年。

    扩展功能

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

    另请参阅

    功能

    R2021b中引入