きっかけ
将棋AIがなぜ人間に勝てるのかという雑談から始まった。評価関数の精緻化、力任せの探索、人間の固定観念からの解放、終盤の精度。将棋AIの強さを支える4つの柱を並べてみると、そのままPETGギヤの寸法最適化に応用できそうに見えた。
だが実際に検討してみると、決定的な違いに突き当たった。将棋AIは「自己対戦」という、ほぼ無料で正確なシミュレータを持っている。一手指せば即座に正しい結果が返る。一方ギヤの最適化では、シミュレーション1回=実際に印刷してベンチ測定するという、時間もコストもかかる工程になる。FDM特有の層間強度、偶奇の圧力角差、プリンタ個体差といった物理は数値モデル化が難しく、AIが「頭の中で」大量に試行することができない。将棋AIの強さの土台である「安価で正確なシミュレータ」は、ギヤ開発には存在しない。
代わりに私が長年頼ってきたのは、理想インボリュート曲線と歯型写真を目視で見比べる方法だった。「綺麗な戦闘機は性能が良い」という経験則と同じ構造で、機能的に優れた形状は結果として視覚的にも滑らかに見える。この目視評価がなぜ機能するのか、そしてその限界がどこにあるのかを、今回は数値微分という道具で掘り下げてみた。
曲線を見誤れば「馬鹿」になる
「曲線を描くのに、馬と鹿をまちがえたら、馬鹿になる」という地口が出発点になった。実際、歯形解析ツール(gear_analyzer)の開発過程でも、フィッティング手法をV3.7からV3.8へ強化した際、圧力角の算出値がむしろずれるという現象が起きている。曲線当てはめを精緻化したつもりが、歯形が持つ別の性質(根元のクロスオーバーパターン)を無視した結果、数値だけが空回りした。
目視でこの種の「馬鹿」を避けられるのは、長年の経験が培った暗黙知による。RC飛行機の翼型設計、PETGギヤの歯形評価――いずれも「本来あるべき滑らかな曲線から、どれだけ、どのように逸脱しているか」を見抜く同一の能力が働いている。この目を数値的に裏付けられないか、というのが今回の動機になった。
手法:r(θ)を数値微分する
USB顕微鏡で撮影した歯車の写真から、以下の手順で解析した。
- グレースケール化・二値化して輪郭抽出(OpenCV
findContours) - シャフト穴の重心を中心として、外形輪郭を極座標 r(θ) に変換
- 等間隔角度グリッドへ再サンプリングし、Savitzky-Golayフィルタで平滑化
-
np.gradientで一階微分 dr/dθ・二階微分 d²r/dθ² を計算
r(θ)そのものは理想的な山型(歯元→歯先→歯元)を描くが、微分を重ねるほどノイズが増幅されるのは教科書通りだった。特に二階微分は、曲率 κ の近似値として振る舞う(傾きが緩やかな区間では κ ≈ d²r/dθ² / (1+(dr/dθ)²)^1.5 の分子が支配的になるため)。理想的なインボリュート曲線であれば d²r/dθ² はなだらかに変化するはずで、鋭いスパイクは「本来なめらかであるべき場所になめらかでない何かがある」ことの直接的な証拠になる。
ピッチ円付近に現れた異常
PETG(8T、モジュール0.5相当)の1歯をB面(G-code解析で確認した印刷時のノズル進行方向で、歯先を過ぎた側)に絞って解析したところ、ピッチ円から歯先までの区間(約-145.6°〜-135.7°)のうち、ピッチ円のすぐ外側、-143.7°付近だけに二階微分の突出したスパイク(+25500 → -18400)が現れた。
この異常が測定ノイズではなく実在の特徴である可能性を検討するため、原因を一つずつ消去法で潰していった。
- フロー補正の切替点説 → 圧力角のみを補正し、フロー補正は使用していないため除外
- Z-シーム位置説 → シームは歯の根元に設定しているため、ピッチ円付近に段差が出る理由にならず除外
- インボリュート―トロコイド接続点説(設計上の特徴) → 印刷条件由来の要因をすべて除外してなお異常が残ったため、最有力候補として残った
決め手になったのは対称性だった。歯先付近は凸凹の幅が小さいのに対し、歯先から見て±10〜13°付近でA面・B面の両方に、同時に凸凹の幅が広がる区間が現れた。ノイズであれば左右のフランクでたまたま同じ角度・同じ距離のところで揃って荒れる理由がない。左右対称に揃って現れるという事実こそ、これが測定・印刷起因のノイズではなく、歯形そのものに内在する設計上の特徴(インボリュート曲線とフィレット曲線の接続点)である最も説得力のある証拠になった。
一階微分の段階でも、この±10〜13°付近には周囲の細かいリップルとは明らかに異質な、なめらかな一つの山・谷が現れている。単なる画素ノイズであればここまで滑らかにまとまった塊にはならず、ギザギザした鋭いスパイクの集合になるはずである。
PETGとPOMの比較
同じ手法を市販POMギヤの写真にも適用し、歯先を基準に位置を揃えて重ねた。

r(θ)自体はほぼ同じ形の滑らかな曲線を描くが、二階微分で見ると異常が出る位置がずれている。POMの異常はピッチ円のすぐ外側(-10°〜-9.5°付近)、PETGの異常はB面の中間あたり(-8°〜-7.5°付近)で発生しており、振幅もPOM(-64000〜+21000)がPETG(-18000〜+26000)より大きい。同じ場所で起きているわけではなく、素材や印刷方式による歯面形成メカニズムの違いを反映している可能性がある。
ただし1枚の写真・1本の歯だけの比較であり、撮影倍率が同一である保証もないため、この時点では「性能差」を語れる段階にはない。曲率解析の指標と実際の消費電流・騒音との相関はまだ一度も検証していない。
平滑化手法そのものを疑う
二階微分の全区間に凸凹が見られたことから、「ピッチ円付近だけが特別」という前提を一度疑い直す必要が生じた。平滑化手法(Savitzky-Golay)の癖でこの特徴が生まれている可能性はないか。二つの代替手法で検証した。
円弧近似(ArcWelder風):連続する点に貪欲に円を当てはめ、許容誤差内で区間を継いでいく方式を実装した。結果、許容誤差を0.15px〜2.0pxまで変えても、二階微分の荒れはほぼ改善しなかった(生データとほぼ同じ-55万〜+34万のオーダー)。原因は、隣接する円弧同士の接線方向を一致させる制約を入れていないため、円弧の継ぎ目で傾きが不連続に跳ぶこと。実際のCuraのArc Welderプラグインも同じ構造で、G1の集まりを円弧に変換するだけであり、接続点での接線連続性までは保証しない。

B-スプライン(5次、解析的微分):有限差分を使わず、スプラインの導関数を直接計算できる利点がある。適切な平滑化パラメータでは、SG平滑化とほぼ重なる結果になり、±10〜13°付近の特徴も同じ場所に同じ形で現れた。全く異なる数学的基盤(有限差分/解析的微分)で同じ特徴が再現されたことは、この特徴が特定の微分手法のアーティファクトではないことの追加の裏付けになった。

ただし平滑化パラメータの選び方には注意が要る。B面だけ(56点)に範囲を絞って同じ倍率のsを当てはめたところ、全歯(426点)で使えたパラメータは点数に対して強すぎ、節点数がわずか2つまで潰れて、ノイズと一緒に本物の特徴まで消し去ってしまった。

「滑らかになった」ことと「正しく捉えられている」ことは別問題であり、平滑化パラメータは対象とするデータの点数・密度ごとに個別に調整し直す必要がある、という教訓が今回の一連の検証全体を通じて繰り返し確認された。
解析ツールへの実装
以上の手順を既存の歯形解析ツール(gear_analyzer)に組み込んだ。ツールが既に歯先方向を基準に正規化したmm座標(tooth_contours)を持っていたため、新たな画像処理は不要で、既存の解析結果をそのまま数値微分に回すだけで済んだ。歯番号とA面/B面/両面を切り替えながら、r(θ)・dr/dθ・d²r/dθ²の3段グラフを確認できる機能として追加している。
副産物:直径収縮の考察
余談として、圧力角のみを補正し直径全体は無補正のまま印刷した8Tギヤ(設計直径5.1mm)が、実測4.87mmだったという事例も検討した。無補正である以上、これは失敗ではなく「このプリンタ・この材料・この形状における素の収縮率」を示す基準データと言える。フローを変えていなくても、スライサーのライン幅設定と実効ビード幅のずれだけで直径が系統的に縮むことがある点は、見落としやすい要因として記録しておく価値がある。単純な円柱を同条件で印刷して比較すれば、収縮率由来か、小フィーチャー特有の誤差かを切り分けられる。
まとめ
- 歯形のr(θ)を数値微分すると、目視では気づきにくい局所的な形状変化を定量的に検出できる
- ピッチ円付近に現れた異常は、フロー補正・Zシーム位置という印刷条件を消去法で除外してもなお残り、A面・B面に対称に現れたことから、インボリュート―トロコイド接続点という設計上の特徴である可能性が高いと判断した
- PETGとPOMでは異常の発生位置・振幅が異なり、素材や印刷方式による違いを示唆するが、1サンプルの比較であり性能差の証明にはならない
- 円弧近似は接続点の接線連続性を保証しないため二階微分の荒れを改善しない。B-スプラインは適切な平滑化パラメータで同等の結果を再現できるが、パラメータはデータ点数ごとに調整が必要
- 「滑らかに見える」ことと「正しく形状を捉えている」ことは別問題であり、どの手法を使うにせよ、平滑化の強さそのものを検証する姿勢が欠かせない
