MATLAB ヘルプ センター
3 次多項式軌跡の生成
[q,qd,qdd,pp] = cubicpolytraj(wayPoints,timePoints,tSamples)
[q,qd,qdd,pp] = cubicpolytraj(___,Name,Value)
[q,qd,qdd,pp] = cubicpolytraj(wayPoints,timePoints,tSamples) は、指定された一連の入力ウェイポイントと対応する時間点を通る 3 次多項式を生成します。この関数は、指定された時間サンプル tSamples における位置、速度、および加速度を出力します。また、この関数は、時間に対する多項式軌跡の区分的多項式 pp も返します。
q
qd
qdd
pp
wayPoints
timePoints
tSamples
例
[q,qd,qdd,pp] = cubicpolytraj(___,Name,Value) は、前述の構文の任意の組み合わせを使用し、Name,Value のペアの引数として追加パラメーターを指定します。
Name,Value
すべて折りたたむ
一連の 2 次元 "xy" ウェイポイントを指定して、関数 cubicpolytraj を使用します。ウェイポイントの時間点も指定します。
cubicpolytraj
wpts = [1 4 4 3 -2 0; 0 1 2 4 3 1]; tpts = 0:5;
軌跡をサンプリングする時間ベクトルを指定します。指定した時間点よりも短い間隔でサンプリングします。
tvec = 0:0.01:5;
3 次軌跡を計算します。関数は、3 次多項式の軌跡の位置 (q)、速度 (qd)、加速度 (qdd)、および多項式係数 (pp) を出力します。
[q,qd,qdd,pp] = cubicpolytraj(wpts,tpts,tvec);
"x" 位置および "y" 位置の 3 次軌跡をプロットします。軌跡を各ウェイポイントと比較します。
plot(tvec,q) hold on plot(tpts,wpts,"x") xlabel("Time") ylabel("Positions") legend("X-positions","Y-positions")'
ans = Legend (X-positions, Y-positions) with properties: String: {'X-positions' 'Y-positions'} Location: 'northeast' Orientation: 'vertical' FontSize: 9 Position: [0.6808 0.7964 0.2048 0.0964] Units: 'normalized' Show all properties
title(["Cubic Trajectory","X- and Y-Positions"]) axis padded hold off
2 次元平面における実際の位置も確認できます。q ベクトルとウェイポイントの個別の行を、"x" 位置および "y" 位置としてプロットします。
figure plot(q(1,:),q(2,:)) hold on scatter(wpts(1,:),wpts(2,:)) xlabel("X") ylabel("Y") title("Cubic Trajectory") axis padded
軌跡のウェイポイントを表す点。n 行 p 列の行列として指定します。ここで、n は軌跡の次元で、p はウェイポイントの数です。
例: [1 4 4 3 -2 0; 0 1 2 4 3 1]
[1 4 4 3 -2 0; 0 1 2 4 3 1]
データ型: single | double
single
double
軌跡のウェイポイントの時間点。p 要素ベクトルとして指定します。
例: [0 2 4 5 8 10]
[0 2 4 5 8 10]
軌跡の時間サンプル。m 要素ベクトルとして指定します。出力の位置 q、速度 qd、および加速度 qdd は、これらの時間間隔でサンプリングされます。
例: 0:0.01:10
0:0.01:10
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
Name1=Value1,...,NameN=ValueN
Name
Value
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: 'VelocityBoundaryCondition',[1 0 -1 -1 0 0; 1 1 1 -1 -1 -1]
'VelocityBoundaryCondition',[1 0 -1 -1 0 0; 1 1 1 -1 -1 -1]
VelocityBoundaryCondition
zeroes(n,p)
各ウェイポイントの速度境界条件。'VelocityBoundaryCondition' と n 行 p 列の行列からなるコンマ区切りのペアとして指定します。各行は、軌跡の各変数についての p 個のすべてのウェイポイントにおける速度に対応します。
'VelocityBoundaryCondition'
例: [1 0 -1 -1 0 0; 1 1 1 -1 -1 -1]
[1 0 -1 -1 0 0; 1 1 1 -1 -1 -1]
tSamples で指定された時間サンプルにおける軌跡の位置。m 要素ベクトルとして返されます。ここで、m は tSamples の長さです。
tSamples で指定された時間サンプルにおける軌跡の速度。ベクトルとして返されます。
tSamples で指定された時間サンプルにおける軌跡の加速度。ベクトルとして返されます。
区分的多項式。区分的軌跡の各セクションの多項式を定義する構造体として返されます。mkpp を使用して独自の区分的多項式を作成するか、ppval を使用して指定した時間の多項式を評価できます。構造体には次のフィールドが含まれます。
mkpp
ppval
form: 'pp'.
form
'pp'
breaks: 区分的軌跡が形を変える時間の p 要素ベクトル。p はウェイポイントの数です。
breaks
coefs: 多項式の係数の n(p–1) 行 order 列の行列。n(p–1) は、軌跡の次元と pieces の数の積です。n 行の各セットは、各変動軌跡を記述した多項式の係数を定義します。
coefs
order
pieces
pieces: p–1。ブレーク数から 1 を引いた値。
order:多項式の次数 + 1。たとえば、3 次多項式の次数は 4 です。
dim: n.制御点の位置の次元。
dim
すべて展開する
R2019a で導入
bsplinepolytraj | contopptraj | quinticpolytraj | rottraj | transformtraj | trapveltraj
bsplinepolytraj
contopptraj
quinticpolytraj
rottraj
transformtraj
trapveltraj
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ