Itamika logo Itamika
台形プロファイル

台形プロファイル

はじめに

私はなぜこの手法に注目したのか。それはブラシレスモーターをぶっ壊した時、原因の過電流を防ぐための簡単な方法を検討したときに、これを思いついたからである。 電流、トルク、加速度にはそれぞれ密接な関係がある。大きな加速度を実現するには大電流を流せる環境が必要である。逆に言えば加速度を制限することでモーターやモータードライバーを壊さずに使用できる。よってロボットにおいては最低でも加速度までは考えるべきである。 自動制御の場合は、比較的簡単に加速度を制限していい感じにできる?しかし、手動で速度をいじる時、コントローラーをガチャガチャしても壊れないで欲しいという願いがある。そのフィルタとして台形プロファイルを使えないか?と思ったのである。 台形プロファイルについて説明した後、これの応用手法について述べる。

台形プロファイル (Trapezoidal profile) とは

一般には台形速度プロファイルと呼ばれるものが有名である。 これは下の図のようなものである。

TrajectoryGeneration-05-1.png (9.2 kB)

図1(出典: Tajima Robotics ロボットの軌跡生成:加速度制限を用いて台形速度プロファイルを作成する より)

一応補足しておくと、図1の一番上のやつが位置、真ん中が速度、下は加速度のグラフである。横軸は時間。 これを見るとわかる通り、速度のグラフが台形に見えるため、こう呼ばれている。

台形速度プロファイルのメリットは、 “速度を連続にすることで、滑らかな位置制御を行うことが出来る” という点である。 このグラフを見ると時間が3つに分かれていることが分かる。T1,T2,T3T_{1}, T_{2}, T_{3}のことである。 このT1,T2,T3T_{1}, T_{2}, T_{3}を求めればいい。 式の導出は、この図の出典先に全部書いてあるので、求める方法(式)だけ書きます。

パラメータ

※出典先のパラメータ名はわかりにくいので、名前が少し違います

初速: VstartV_{start} 初速: VendV_{end} 最大加速度: AA 最大速度: VV 最大距離(目標位置): PP これらは自分で決める

T1=VVstartAT2=PV2Vstart22AV2Vend22AVT3=VVendAT_{1} = \frac{V - V_{start}}{A} \\ T_{2} = \frac{P - \frac{V^2 - {V_{start}}^2}{2A} - \frac{V^2 - {V_{end}}^2}{2A}}{V} \\ T_{3} = \frac{V - V_{end}}{A}

T2<0T_{2}<0になる場合がある。その場合、T2T_{2}を0にして、その他のパラメータの都合合わせをする。

V=2AP+Vstart2+Vend22V^{\prime} = \sqrt{\frac{2AP+{V_{start}}^2+{V_{end}}^2}{2}} \\ T1=VVstartAT2=0T1=VVendAT_{1} = \frac{V^{\prime} - V_{start}}{A} \\ T_{2} = 0 \\ T_{1} = \frac{V^{\prime} - V_{end}}{A} \\

つまり、最大速度まで到達しないってこと。まあ、わかりやすいのは次の図2を見ることだろうけど

untitled3-01-768x1024.png (61.1 kB)

図2(出典: Tajima Robotics 加速度制限台形速度プロファイルによる軌跡生成の注意点:巡航期間が無い場合 より)

量子化

todo