主要内容

minjerkpolytraj

通过锚点生成最小反射轨迹

    描述

    例子

    (,qd,qdd,qddd,,tPoints,tSamples)= minjerkpolytraj (路点,时间点,numSamples)生成一个混蛋最小多项式轨迹,达到一个给定的输入路径点对应的时间点。函数返回位置、速度、加速度和混蛋在给定的样本的数量numSamples。分段多项式函数也返回形式的多项式轨迹对时间,以及时间点tPoints和样品时间tSamples

    (,qd,qdd,qddd,,tPoints,tSamples)= minjerkpolytraj (___名称=值)指定选项使用一个或多个名称-值对参数除了输入参数从以前的语法。例如,minjerkpolytraj(锚点、时间点、numSamples VelocityBoundaryCondition = [1 0 1 1;1 1 1 1])生成二维最小反射轨迹,并指定为每个路标速度边界条件在每个维度。

    (,qd,qdd,qddd,,tPoints,tSamples)= minjerkpolytraj (___TimeAllocation = true)优化相结合的混蛋,总段时间成本。在这种情况下,函数对待时间点作为一个初始猜测路径点的到达时间。

    例子

    全部折叠

    使用minjerkpolytraj函数与一个给定的一组二维xy锚点。对路径点给出时间点。

    wpt = [1 4 4 3 2 0;0 1 2 3 4 1];tpt = 0:5;

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

    numsamples = 100;

    计算最小反射轨迹。函数输出轨迹的位置()、速度(qd)、加速度(qdd)和混蛋(qddd在给定的样本的数量。

    (q, qd、qdd qddd, pp,时间点,tsamples] = minjerkpolytraj (wpt, tpt numsamples);

    情节的轨迹x -y职位。比较每个路标的轨迹。

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

    图包含一个坐标轴对象。坐标轴对象包含4线类型的对象。这些对象表示的坐标,y位置。

    你也可以验证实际的位置在二维平面上。情节的单独的行向量和锚点x -y -的位置。

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

    图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。

    输入参数

    全部折叠

    锚点的轨迹,指定为一个n——- - - - - -p矩阵。n轨道的尺寸,p锚点的数量。

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

    数据类型:|

    时间点的路径点轨迹,指定为一个p有效行向量。p锚点的数量。

    例子:(1 2 3 5)

    数据类型:|

    样本数量的输出轨迹,指定为一个正整数。

    例子:50

    数据类型:|

    名称-值参数

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

    例子:minjerkpolytraj(锚点、时间点、numSamples VelocityBoundaryCondition = [1 0 1 1;1 1 1 1])生成二维最小反射轨迹,并指定为每个路标速度边界条件在每个维度。

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

    例子:VelocityBoundaryCondition = [1 0 1 1;1 1 1 1]

    数据类型:|

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

    例子:AccelerationBoundaryCondition = [1 0 1 1;1 1 1 1]

    数据类型:|

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

    例子:JerkBoundaryCondition = [1 0 1 1;1 1 1 1]

    数据类型:|

    时间分配标志,指定为一个逻辑0()或1(真正的)。让这个标志优化相结合的混蛋,总段时间成本。

    请注意

    如果奇点发生在时间分配启用了国旗,减少MaxSegmentTimeMinSegmentTime比率。

    例子:TimeAllocation = true

    数据类型:逻辑

    体重时间分配,指定为一个积极的标量。

    例子:TimeWeight = 120

    数据类型:|

    最小时间区段长度,指定为一个积极的标量或(p- - - - - -1)元行向量。

    例子:MinSegmentTime = 0.2

    数据类型:|

    最长时间区段长度,指定为一个积极的标量或(p- - - - - -1)元行向量

    例子:MaxSegmentTime = 10

    数据类型:|

    输出参数

    全部折叠

    位置的轨迹在给定时间样本tSamples,作为一个返回n——- - - - - -矩阵。n轨道的尺寸,等于numSamples

    速度的轨迹在给定时间样本tSamples,作为一个返回n——- - - - - -矩阵。n轨道的尺寸,等于numSamples

    加速度的轨迹在给定时间样本tSamples,作为一个返回n——- - - - - -矩阵。n轨道的尺寸,等于numSamples

    混蛋的轨迹在给定时间样本tSamples,作为一个返回n——- - - - - -矩阵。n轨道的尺寸,等于numSamples

    分段多项式,返回作为每个部分的结构,定义了多项式分段的轨迹。你也可以建立自己的分段多项式mkpp,或者评估多项式在指定的时间使用ppval。该结构包含的字段:

    • 形式:“页”

    • 休息时间:p元向量的时候分段轨迹的变化形式。p锚点的数量。

    • 系数:n(p- - - - - -1)———订单多项式的系数矩阵。n(p- - - - - -1)是轨迹的维数倍的数量。每组n行定义了多项式的系数,描述每个变量的轨迹。

    • :p- - - - - -1。优惠的数量- 1。

    • 订单:多项式的次数+1。多项式的顺序是8。

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

    时间点的路径点轨迹,作为一个返回p有效行向量。p锚点的数量。

    时间样本轨迹,作为一个返回有效行向量。每个元素的输出位置、速度qd、加速度qdd,混蛋qddd已经在相应的采样时间在这个向量。

    引用

    [1]Bry、亚当、亚伯拉罕Bachrach,查尔斯·里希特和尼古拉斯·罗伊。“激进的固定翼和Quadrotor飞机飞行密度室内环境。”国际机器人研究杂志》上34岁的没有。7(2015年6月):969 - 1002。

    [2]里,查尔斯,亚当Bry和尼古拉斯·罗伊。“多项式轨迹规划积极Quadrotor飞行在浓密的室内环境。”机器人研究的论文发表在国际研讨会(2013年ISRR),2013年。

    扩展功能

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

    版本历史

    介绍了R2021b

    另请参阅

    功能