S字加減速プロファイルシミュレーター

移動距離・最大速度・加速度・jerkから7セグメントS字加減速を算出し、台形加減速と波形比較

移動条件を入力すると、jerk制限7セグメントS字加減速の総時間・ピーク加速度・振動低減率を自動計算し、台形加減速と波形を重ね描きで比較できる。

プリセット(典型ユースケース)

移動条件

計算結果(S字プロファイル)

振動低減率(10Hz基準)100.0%
振動抑制◎

総移動時間 Ttotal

2,450.0 ms

加速時間 Ta

450.0 ms

定速時間 Tc

1,550.0 ms

実ピーク加速度 Apeak

2,000 mm/s²

実ピーク速度 Vpeak

500 mm/s

jerk制限位相 Ta1

200.00 ms

プロファイル形状

7セグメント(定速到達)

台形加減速の総時間 trapT

2,250.0 ms

S字との差: 200.0 ms

プロファイル波形(時間軸: 0〜2,450.0 ms)

位置 p (mm)1,0000速度 v (mm/s)+500−5000加速度 a (mm/s²)+2,000−2,0000jerk j (mm/s³)+10,000−10,0000
S字 台形(破線)Vmax / Amax 基準線

※ 振動低減率は機械固有振動数 10Hz 仮定の sinc 近似値。実機ではサーボドライバの特性・機械共振に依存します。

不具合・ご要望はお気軽に@MahiroMemoまで

PR

📘 モーション制御・サーボ設計に役立つ書籍

位置決め後の「プルプル」が止まらない夜に

ステージを指令位置で停止させた瞬間、先端がわずかに揺れて収まりきらない。整定時間を削ろうと指令加速度を上げれば、今度はベルトが鳴き、カップリングがきしみ、基板上のチップ抵抗が微振動する。台形加減速のまま加速度だけ上げても、停止時の残留振動は消えない。jerk(加加速度)を制限した S字加減速にすると、同じ移動距離・同じ最大速度のままでも、残留振動が目に見えて減ることがある。

このツールは、移動距離・最大速度・最大加速度・最大jerk の4つから、7セグメント S字加減速プロファイル台形加減速を並べて計算し、総移動時間・ピーク加速度・振動低減率を一画面で可視化するものだ。波形は SVG でその場に描画され、「S字にした分だけ時間は伸びるが、加速の角が丸くなって、振動スペクトルの10Hz成分が何パーセント抑えられるか」まで数値で出る。jerk制限の教科書の式と、実機で悩む整定の話を、入力値ひとつで地続きにしたかった。

なぜ作ったのか

装置の立ち上げで一番もめるのが、位置決め後の「静まるまで何ms待つか」だ。移動自体は 2 秒で終わっているのに、整定待ちが 0.5 秒あると、1時間あたりの処理数がまるごと削れる。既存のS字加減速の解説記事は多いものの、波形が静止画ばかりで、「Amaxまで届かずに三角形になる短距離ケース」や「jerk位相が短すぎて効かないケース」がイメージしにくかった。サーボドライバのマニュアルを見ても、式は書いてあるが「この条件なら振動がどれくらい減るのか」は自分で手計算するしかない。

現場でよくあるのが、「S字にしたのに振動が減らない」という相談。聞くと、jerk位相が 3ms しかなく、共振周波数 10Hz の機械にはほぼ台形と同じ入力になっていたりする。「jerk位相が共振周期の何倍か」を感覚的に掴むには、数値だけでなく、Ta1 の長さと、そのときの振動スペクトル低減率(sinc関数ベース)を同時に見るのが早い。試作のたびに Python でコードを書いていたが、毎回同じ式を打ち直すのが面倒になり、ブラウザで数値を変えると即座に再計算・再描画されるツールを作った。

もう一つの動機が、台形との時間比較。「S字にすると遅くなるんでしょ?」という通説があるが、実際は指定条件次第で台形とほぼ同じ時間に収まることもあるし、大きく伸びることもある。ケース1の D=1000mm では S字が 2450ms、台形が 2250ms で差は 200ms(約9%増)。ケース2の短距離 D=100mm では、S字 163ms に対し台形はもっと短くなる。こういう「数字で見れば当たり前」を、手計算せずに比較できるようにしたかった。

S字加減速(jerk制限プロファイル)とは

加速度の変化率=jerk(加加速度)とは

物体の運動を「位置 → 速度 → 加速度 → jerk」と階層的に見たとき、jerk は加速度の時間微分にあたる。単位は mm/s³m/s³。車で例えると、アクセルをいきなり踏み込む踏み方が「jerk が大きい」、じわっと踏んでいくのが「jerk が小さい」。乗り物で酔う/酔わないの差の多くは、加速度の大小ではなく jerk の大小に由来する(Wikipedia: Jerk (physics))。

モーションプロファイルは、「どう動かすか」を時間軸上で設計したものだ。もっともシンプルなのが台形加減速で、加速度を矩形波のようにオン・オフする。立ち上がりと立ち下がりが一瞬で切り替わるため、理論上 jerk は無限大になる。これが機械にとってはハンマーで叩かれるのと同じで、構造の固有振動数を励起し、位置決め後もしばらく揺れる原因になる。

これに対し、jerk に上限を設けて加速度をなめらかに立ち上げるのが S字加減速。加速度が台形波になるよう設計すると、区間が「加加速→等加速→減加速→等速→減減速→等減速→加減速」の7つに分かれる。これが「7セグメント S字加減速」と呼ばれる理由だ(Wikipedia: Motion profile)。

7セグメント S字加減速 の時間構造

加速区間に着目すると、jerk位相 Ta1 は加速度を 0 から Amax まで立ち上げるのに必要な時間で、式は次のとおり。

Ta1 = Amax / Jmax
Ta2 = Vmax / Amax - Ta1
Ta  = 2 * Ta1 + Ta2

Ta1 は加加速・減加速の両端2区間、Ta2 は中央の等加速区間。加速と減速は対称なので、総移動時間は Ttotal = 2*Ta + Tc となる。Tc は最大速度での等速区間。

ところが移動距離が短いと、そもそも Amax に届かない。Amax * Ta1 > Vmax となる条件では等加速区間が取れず、プロファイルは三角形に退化する。この場合は Ta1 = sqrt(Vmax/Jmax)、実ピーク加速度は Apeak = sqrt(Vmax*Jmax)。さらに距離が短ければ Vmax にすら届かず、Vpeak = (D*sqrt(Jmax)/2)^(2/3) という三次方程式の解で再計算する。このツールは3つの分岐を自動判定する。

振動抑制の直感:sinc 関数

jerk位相 Ta1 の意味を直感的に掴むには、加速度ステップを時間幅 Ta1 で平均化したローパスフィルタと考えると早い。矩形パルスのフーリエ変換は sinc(x) = sin(πx)/(πx) になるから、振動スペクトルの周波数 f 成分は |sinc(f*Ta1)| 倍に抑えられる。このツールでは機械固有振動数を 10Hz と仮定し、振動低減率 = (1 - |sinc(10*Ta1)|) * 100 [%] で教育的に表示している。Ta1 が 100ms なら sinc(1)=0 で理論上 100%、Ta1 が 10ms なら sinc(0.1)≈0.98 で 2% しか減らない。

実務での重要性:残留振動が製品寿命と歩留まりを左右する

残留振動が製品にもたらす損失

位置決め後の残留振動を軽く見ると、最終的に製品の歩留まりか装置寿命のどちらかが削られる。半導体露光装置のステージで 100nm の残留振動があれば、それはそのまま露光ボケとして歩留まりに跳ね返る。医療用CTのガントリーが停止後に 0.05mm 揺れれば、画像再構成でアーチファクトが出る。産業用ロボットでは、残留振動が減衰するまで次の動作に入れないため、タクトタイムに 100–300ms の「待ち」が常時乗ってくる。年間200万サイクルの搬送ロボットで 100ms × 200万 = 約56時間分のロス。人件費換算で無視できない。

機械要素の寿命面でも、ボールねじ・ベルト・カップリングへの衝撃荷重が繰り返されると、疲労寿命が短くなる。JIS B 1192(ボールねじ)の基本動定格は繰り返し加速度ピークに対して評価されるため、台形加減速で Apeak が倍になれば、寿命はラフに1/8まで落ちる(動定格は荷重の3乗で効く)。S字にして Apeak を抑えると、同じ時間予算でも寿命を倍以上に延ばせることがある。

数値の大小がもたらす感覚

Jmax の設定値ひとつで、ツールの出力がどう変わるかを感覚的に掴んでおくといい。Jmax = 500,000 mm/s³ の高速ピック&プレース系では、Ta1Amax/Jmax = 20000/500000 = 40ms で、sinc(100.04)=sinc(0.4)≈0.757、振動低減率は24%。同じ装置で Jmax = 10,000 mm/s³ まで絞ると Ta1 = 2000ms? ……ではなく、Amax が小さい装置(医療機器Z軸の例: Amax=2000)なら Ta1 = 2000/10000 = 200ms。sinc(100.2)=sinc(2)≈0 で振動低減率はほぼ100%。jerk を下げるほど振動は減るが、総移動時間は jerk 位相の分だけ伸びる。このトレードオフを数値で握ることが、設計の出発点になる。

なお、サーボドライバの「加減速時定数」設定は、多くの機種で S字加減速フィルタ(FIRフィルタの一種)として実装されている。三菱電機 MR-J5、安川電機 Σ-X、パナソニック MINAS A6 など主要メーカーのマニュアルには S字時定数のパラメータがあり、この値が本ツールの Ta1 に相当する(三菱電機 サーボアンプ MELSERVO-J5 仕様書)。メーカー推奨の初期値を入れて、振動が残るようなら Ta1 を延ばす、これが現場の常道だ。

活躍する場面

シーン1:半導体・液晶装置のステージ整定短縮

100mm級の短距離移動を繰り返すステージで、整定時間が読めず困っているとき。Ta1 を共振周期の1/2以上に取れば、残留振動のピーク成分がほぼ消える。ツールに距離と共振周波数相当の値を入れて、「何ms の Ta1 なら何% 減るか」を把握してから、ドライバ側の時定数を設定する。

シーン2:医療機器の低振動要求

CT・MRI・手術支援ロボットでは、患者安全のために加速度・jerk とも低く抑えたい。プリセット「医療機器Z軸」(D=100, V=200, A=2000, J=10000)で初期感覚を掴み、実機の共振に合わせて Jmax を落としていく。振動低減率が 95% を超える設定を見つけてから、ドライバへ落とす。

シーン3:協働ロボット・搬送ロボットのタクトタイム交渉

「速くしたい現場」と「安全に止めたい安全部門」の交渉材料として使う。S字にして総時間が伸びる分を定量化し、同時に振動抑制率を示せば、「この jerk にすれば整定時間を 300ms 削れるから、総合サイクルは速くなる」という話がデータで通る。

シーン4:CNC送り軸・3Dプリンタのチューニング

汎用機械加工では、送り軸の加減速を見直すだけで仕上げ面粗さが変わる。台形加減速では加速切替点で送りマークが残るケースがあり、S字にすると消えることがある。プリセット「CNC送り軸」を叩き台に、加工条件ごとの最適プロファイルを探る。

基本の使い方(3ステップ)

  1. 移動条件を入力する。D(mm)、Vmax(mm/s)、Amax(mm/s²)、Jmax(mm/s³)の4値を入れる。迷ったら右上のプリセット(高速ピック&プレース、医療機器Z軸 など)をタップして出発点にする。
  2. 加減速方式を切り替えて見比べる。S字/台形のセグメントボタンで切り替え、「比較表示 ON」にすると同じグラフ上に両方の波形が重なる。
  3. 数値とグラフの両方を読む。上段の結果グリッドで総時間・ピーク加速度・振動低減率を、下段の4段グラフ(位置・速度・加速度・jerk)で波形を確認する。値を変えるたびに再計算されるので、jerk を下げたときの時間ペナルティが直感で掴める。

結果は「結果をコピー」ボタンでクリップボードに送れる。設計レビューや議事録に貼るときに便利。

具体的な使用例(6ケース)

ケース1:標準7セグメント(CNC送り軸想定)

  • 入力: D=1000mm, V=500mm/s, A=2000mm/s², J=10000mm/s³
  • 結果: Ta=450ms, Tc=1550ms, Ttotal=2450ms, Apeak=2000mm/s², Vpeak=500mm/s, reductionPct=100%, 台形比較 trapT=2250ms(差=200ms)
  • 解釈: Amax * Ta1 = 2000*0.2 = 400 < Vmax=500 なので 7セグメント完全型。Ta1 = Amax/Jmax = 200ms あり、sinc(10*0.2)=sinc(2)≒0 で振動低減率は理論上100%。台形に対する時間ロスは約9%で、振動抑制効果を考えれば妥当な投資。

ケース2:三角形退化・短距離高速(高速ピック&プレース相当)

  • 入力: D=100mm, V=1000mm/s, A=50000mm/s², J=1000000mm/s³
  • 結果: Ta=63.25ms, Tc=36.75ms, Ttotal=163.25ms, Apeak=31623mm/s²(Amax 未達), Vpeak=1000mm/s, reductionPct=15.66%
  • 解釈: Amax * Ta1 = 50000*0.05 = 2500 >> Vmax=1000 なので三角形退化。実ピーク加速度は sqrt(V*J) = 31623 mm/s² にとどまる。Ta1 = 63.25ms、sinc(10*0.06325)=sinc(0.6325)≒0.843、振動低減率は約15.7%。短距離では jerk を効かせきれないことが一目で分かる。

ケース3:中距離・低速精密位置決め(半導体ステージ相当)

  • 入力: D=50mm, V=200mm/s, A=10000mm/s², J=200000mm/s³
  • 結果: Ta=63.25ms, Tc=186.75ms, Ttotal=313.25ms, Apeak=6325mm/s², Vpeak=200mm/s, reductionPct=15.66%
  • 解釈: こちらも三角形退化。加速時間が短いため振動低減率はケース2と同じ15.7%。半導体用途では位置決め精度が最優先で、Jmax をもう一段下げて整定時間を削るチューニングをする余地がある。

ケース4:医療機器Z軸プリセット(D=100, V=200, A=2000, J=10000)

  • 結果: 仮に Ta1 = A/J = 200ms とすると Amax*Ta1 = 400 > Vmax=200 で三角形-A退化。実際の Ta1 = sqrt(V/J) = sqrt(0.02) = 141.4msApeak = sqrt(V*J) = sqrt(2e6) = 1414 mm/s²Ta = 2*Ta1 = 282.8ms、加減速で進む距離 2*dAccel = V*Ta = 56.57mm < D=100 なので定速区間あり。Tc = (100 - 56.57)/200 = 217.2msTtotal = 2*Ta + Tc = 782.8ms。sinc(10*0.1414)=sinc(1.414)≒-0.217、振動低減率は約78%。低 jerk 指向の設計らしく、時間はかかるが振動抑制は非常に強い。

ケース5:協働ロボット プリセット(D=500, V=1000, A=5000, J=50000)

  • 結果: Ta1 = 5000/50000 = 100msAmax*Ta1 = 500 < Vmax=1000 で完全7セグメント。Ta2 = V/A - Ta1 = 200 - 100 = 100msTa = 300ms。加速距離 0.5*V*Ta = 150mm2*150 = 300 < 500 なので定速あり。Tc = (500 - 300)/1000 = 200msTtotal = 2*300 + 200 = 800ms。sinc(10*0.1)=sinc(1)=0、振動低減率100%。協働ロボの「なめらかに動く」感覚は、この Ta1=100ms が作っている。

ケース6:CNC送り軸プリセット(D=1000, V=500, A=2000, J=10000)

  • 結果: ケース1と同一条件。Ta1=200ms, Ttotal=2450ms, 振動低減率100%。参考までに、同じ装置で Jmax を 2倍(20000)に上げると Ta1=100ms、sinc(10*0.1)=0 で低減率は100%のまま、Ta=350ms に短縮され Ttotal=2350ms(台形 trapT=2250ms にほぼ並ぶ)。逆に Jmax を半分(5000)に落とすと Amax*Ta1=800>Vmax=500 で三角形-A退化し、Ta1=316ms, Ta=632ms, Ttotal=2632ms に延びる。低減率は95%とまだ高いが、Apeak=1581 mm/s² で Amax=2000 に届かない点に注意。

仕組み・アルゴリズム

候補手法の比較:なぜ7セグメント S字を採用したか

モーションプロファイルの手法は大きく3系統ある。

  • 台形加減速(trapezoidal): 加速度を矩形波で切り替える。実装が最も簡単で、総時間も最短。ただし jerk が理論上無限大で、残留振動の元になる。
  • 7セグメントS字加減速(jerk-limited trapezoidal): 加速度を台形波にする。jerk が有限値に抑えられ、位置・速度・加速度が連続関数になる。計算コストは低く、多くのサーボドライバ・PLCモーション機能に標準搭載されている。
  • 多項式プロファイル(5次・7次): 位置を高次多項式で与える。jerk もさらに滑らか(連続)にできるが、係数計算が多く、境界条件指定が複雑。

本ツールは7セグメント S字を採用。理由は、(a) 産業用サーボのほぼ全メーカーが標準実装しており現場適用性が高い、(b) 4つの入力(D, Vmax, Amax, Jmax)だけで一意に解ける、(c) 波形が視覚的に分かりやすい、の3点。多項式プロファイルは教育上の興味はあるが、パラメータ設定が難しく初心者向けとしては不向きと判断した。

実装詳細

計算フローは次のとおり。

// 1. jerk 位相長を仮に計算
Ta1 = Amax / Jmax

// 2. Amax に届くかを判定
if (Amax * Ta1 <= Vmax) {
  // 7セグメント完全型
  Ta2   = Vmax/Amax - Ta1
  Apeak = Amax
} else {
  // 三角形-A退化(Amax未達、Vmax到達)
  Ta1   = sqrt(Vmax / Jmax)
  Ta2   = 0
  Apeak = sqrt(Vmax * Jmax)
}

// 3. 加速総時間
Ta     = 2*Ta1 + Ta2
dAccel = 0.5 * Vmax * Ta  // 加速+減速で進む距離

// 4. Vmax に届くかを判定
if (2*dAccel < D) {
  Tc    = (D - 2*dAccel) / Vmax
  Vpeak = Vmax
} else {
  // 三角形-V退化(Vmax未達)
  Vpeak = (D * sqrt(Jmax) / 2) ^ (2/3)
  Ta1   = sqrt(Vpeak / Jmax)
  Ta    = 2 * Ta1
  Apeak = sqrt(Vpeak * Jmax)
  Tc    = 0
}

// 5. 総時間
Ttotal = 2*Ta + Tc

// 6. 振動低減率(10Hz基準 sinc 近似)
x   = 10 * Ta1   // jerk位相 × 仮定共振周波数
sinc = sin(π*x) / (π*x)
reductionPct = (1 - |sinc|) * 100

ポイントは2段階の退化判定。まず Amax に届くか(届かなければ三角形-A)、次に Vmax に届くか(届かなければ三角形-V)。この2分岐で Apeak, Vpeak, 形状ラベルが自動で切り替わる。

計算例:ケース2(三角形退化)の詳細

D=100mm, V=1000mm/s, A=50000mm/s², J=1000000mm/s³ で手計算をトレースする。

  1. Ta1 = A/J = 50000/1000000 = 0.05s
  2. Amax*Ta1 = 50000*0.05 = 2500 > Vmax=1000 → 三角形-A退化
  3. Ta1 = sqrt(V/J) = sqrt(1000/1000000) = sqrt(0.001) = 0.03162s = 31.62ms
  4. Apeak = sqrt(V*J) = sqrt(1000*1000000) = sqrt(1e9) = 31622.8 mm/s²
  5. Ta = 2*Ta1 = 63.25ms
  6. dAccel = 0.5*V*Ta = 0.5*1000*0.06325 = 31.62mm
  7. 2*dAccel = 63.25mm < D=100mm → Vmax 到達
  8. Tc = (100 - 63.25)/1000 = 0.03675s = 36.75ms
  9. Ttotal = 2*63.25 + 36.75 = 163.25ms
  10. x = 10*0.03162 = 0.3162sinc(0.3162) = sin(0.9932)/0.9932 = 0.8371/0.9932 = 0.8434
  11. reductionPct = (1 - 0.8434)*100 = 15.66%

テストベクトル(Ttotal=163.25ms, Apeak=31623, reductionPct=15.66%)と一致。短距離では Amax の設定が効かず、実ピーク加速度が sqrt(V*J) で決まる点が設計感覚として重要だ。

他のモーションツールとは狙いが違う

同じ「モータ・モーション」カテゴリにも計算ツールはいくつもある。混同されやすいので、このシミュレーターの立ち位置を整理しておきたい。

まず ステッパモータ加減速シミュレーター との違い。あちらは「ステッピングモータがパルス列でどこまで追従できるか」を扱うツールで、脱調限界・最大引き出し周波数・スタート周波数の観点が主役だ。本ツールはサーボ/ステッパ問わず、目標プロファイル側の設計に特化している。Jmaxを絞ったときに台形に対して何ミリ秒遅れるのか、ピーク加速度は何%下がるのか、という比較を一目で掴むのが狙い。

次に、サーボドライバに付属するモーションプランナ(安川電機、三菱電機、オムロン、Parker、Beckhoff等のカタログソフト)との違い。メーカーソフトは「そのドライバのパラメータ」に最適化されていて、理論公式のグラフをサイドバイサイドで見せてくれるものは少ない。本ツールはメーカー非依存の7セグメント標準公式をベースに計算しているので、ドライバを選定する前段階のラフ設計や、チーム内の知識共有に使いやすい。

さらに、Pythonの scipy.signal や MATLAB の Motion Planning Toolbox を使えば同じ波形は描けるが、そこまでは大げさという場面も多い。パラメータを1セット流して位置・速度・加速度・jerkの4段波形を即座に重ね描きする軽量ビューアとして、このツールは最短で答えにたどり着く。

最後に、振動低減率(reductionPct)の指標を同梱している点も差別化ポイント。Ta1 と sinc関数で推定する簡易値だが、「このパラメータ変更で振動成分は何%落ちるのか」を数値で示すモーション計算機は意外と少ない。台形との時間差を見ながら、振動トレードオフの最適点を探るのに重宝する。

豆知識・読み物

jerk(加加速度、躍度)という量自体は19世紀末の運動学論文に登場しており、Schot(1978)の論文 "Jerk: the time rate of change of acceleration"(American Journal of Physics)が定式化の出発点としてよく引かれる。ただし jerk が工業製品に浸透したのは意外に遅く、実用化のきっかけはエレベータ業界だった。1970年代の日立・三菱・オーチスは、乗り心地改善のため jerk を 0.6~1.0 m/s³ 程度に制限する加減速制御を導入している。スーッと発進してスーッと止まる現代のエレベータの滑らかさは、S字加減速プロファイルの恩恵そのものだ。

ロボット工学では1985年頃から S字加減速が一般化した。産業用ロボットの先駆けとなった PUMA の後継機では、教示点間の軌道生成に5次多項式や7セグメント公式が使われ、それまでのステップ応答的な動作から一気に滑らかになった。自動車生産ラインでサイクルタイムを削りながら剛性の低いハンドリングでもワークを落とさない、という相反する要求を両立できたのは、jerkを明示的に制御する設計思想が普及したおかげと言える。

近年ではMRIや光学ステージなど、10nmオーダーの位置決め精度が要求される半導体・医療機器分野で、5次以上の多項式プロファイルや FIRフィルタ方式のモーション平滑化 も使われるようになってきた。jerk制限だけでは抑えきれない高周波振動成分を、畳み込み演算で明示的にフィルタする手法だ。一方で、7セグメント公式は今でもサーボドライバの標準装備で、「まずS字、チューニング困難なら多項式」という順番で選定するのが現場のセオリー。

面白いのは、この話はヒト側の人間工学にも効いてくる点。協働ロボットの設計指針である ISO/TS 15066 には接触時のピーク力・圧力の上限が定められており、jerkを抑えるとピーク力も自然と下がるため、安全規格をクリアする近道にもなっている。1つの制御パラメータを触るだけで、精度・寿命・人との共存の三拍子が改善するというのが、jerk制御が廃れずに生き残ってきた理由なのだ。

使いこなしTips

  • Vmaxから決めずJmaxから決める:振動低減を主目的にするなら、先に Jmax を機械の共振周波数の1/3以下(典型10Hzなら Jmax = Vmax × (2π × 3.3) 程度)に固定してから、Vmax・Amaxを探る順番が効率的。
  • Ta1 < 5ms の警告は重視するjerkPhase が5ms未満になっているときは、S字にしても台形とほぼ同じ波形。Jmaxを下げるか、ストローク短縮でTa1が稼げるまで見直した方が効果が出る。
  • 三角形退化は加速度ピークに注意:短距離・高Vmax設定だとプロファイルが三角形に退化し、Apeak が入力した Amax を大きく超える場合がある。モータトルクカーブの定格線を超えていないか、表示された Apeak をそのままカタログの加速トルク欄と照合しよう。
  • 台形との差が20%未満なら台形を選ぶTtotaltrapT の差が1割〜2割以下なら、制御系のチューニング工数と実装複雑度を考えると台形の方が得なケースも多い。S字は「振動・音・寿命」のいずれかに明確な利益が見える場面で採用する。
  • 比較表示は最後まで残す:トレードオフの数値感覚を失わないよう、プロファイル調整が完了するまで 比較表示: ON のままにしておくと、一度も疑問視されずにS字を採用してしまう失敗を防げる。

FAQ(S字加減速プロファイルに関するよくある質問)

jerk(躍度)の実機測定はどうやるのか?

加速度センサ(MEMS型)の時系列データを数値微分するのが最も手軽。サンプリングレートは少なくとも500Hz以上、できれば2kHz以上欲しい。生データの微分はノイズを増幅するので、Savitzky-Golayフィルタや移動平均で前処理してから差分を取るのが定番。レーザードップラー振動計を使えば速度から2回微分してjerkが直接取れるが、機材が高価。実務ではモータエンコーダのフィードバック信号から位置→3階差分で見積もるケースが多い。

S字と5次多項式プロファイル、どちらが優れているのか?

目的次第。7セグメントS字は「jerk最大値」を厳密に制限できる点がメリットで、モータ・減速機の動的定格に対する安全余裕を数値で管理しやすい。5次多項式は jerk が連続関数になるため、より高周波の振動成分まで抑えられるが、ピーク加速度がS字より大きくなることがあり、ピーク制限のあるアプリには不向き。実装の単純さと「jerkの上限値」を直接指定できる可読性から、産業サーボでは依然として7セグメントS字が主流。

振動低減率100%と出たが、本当にゼロ振動になるのか?

ならない。表示している reductionPct は機械固有振動数10Hzを仮定した sinc関数ベースの簡易指標で、「Ta1 と 10Hz が相殺する条件」を100%として出している。実機は複数モードの共振を持ち、減衰・非線形性もあるため、必ず実測で評価する必要がある。ツールの値は「AとBの設定どちらが振動抑制に有利か」の相対比較として使ってほしい。

Jmaxを大きくしすぎるとモータが壊れるのか?

Jmax単体でモータが即破損することは稀だが、間接的な影響は大きい。第一に、Jmaxが大きいほど位置指令の高周波成分が増え、電流指令が急変してドライバの電流制限に当たりやすくなる。第二に、減速機・カップリング・タイミングベルトに加わる応力変動が増え、疲労寿命が短くなる。目安として、Jmax × Ta1 が Amax を超えるような設定(つまり Ta1 < 1ms 程度)は実用にならないことが多い。

このツールで計算した結果はそのまま実装に使ってよいのか?

計算値は教育・概算用途を想定している。ピーク加速度・総時間は7セグメント標準公式の理論値なので、サーボドライバのモーション関数に同じパラメータを入力すれば波形はほぼ再現する。ただし実機では制御系の応答遅れ、摩擦・ガタ、機械共振が加わるため、最終的にはドライバ上でのチューニングと実測振動評価が必須。特にFIRフィルタや入力整形(Input Shaping)を併用する場合は、波形がさらに変わる点に注意してほしい。

入力したパラメータはどこかに保存されるのか?

すべての計算はブラウザ内のメモリ上で完結しており、サーバーには一切送信されない。ページをリロードすると初期値に戻る仕様なので、設計案をまとめたいときは「結果をコピー」ボタンで数値をテキスト化して、社内のドキュメントに貼り付けて管理するのがおすすめ。

まとめ:S字加減速 計算で位置決め精度と時間のバランスを掴む

S字加減速は「滑らかさと速さのトレードオフ」を一目で捉えられる設計言語。このツールはその言語を波形と数値で可視化し、台形加減速との差分を常に横目に見ながら設計判断できるように作った。位置決め装置の振動に悩んだとき、サイクルタイムを詰める前にまずここでJmaxとTa1を眺めてみてほしい。

関連ツールも合わせて活用してほしい:ステッパモータ加減速シミュレーターモータ起動電流・時間推定慣性モーメント計算

表示されない条件や追加してほしいプリセットがあれば、お問い合わせから気軽に連絡してほしい。

M

Mahiro

Mahiro Appの開発者。整定時間の交渉で「S字にしても時間は大して伸びない」と腹落ちしてもらえず苦労した経験から、台形との差分を常に横目に見られる可視化を目指して作った。

運営者情報を見る

© 2026 S字加減速プロファイルシミュレーター