経緯
インボリュート曲線計算式はすでに紹介しました。そしてそれを使ったFusion360付属の「SpurGear」にそっくりな歯車モデルも作ってみました。ここまでは比較的簡単なので、一般向けの「歯車の作り方」のような動画やWeb、スクリプトは、このレベルのものがほとんどです。
そこで次のステップです。歯元隅肉曲線を計算で求めようというのが、今回の記事です。この手の話題は専門家向けでしかも高難度なので、実際のプログラムに落とし込むのは難しいところがあります。
2つの課題
さて、歯元隅肉曲線を計算するためには、いくつか課題があります。
- オフセット曲線としての歯元隅肉曲線の計算方法
- アンダーカット時の、インボリュート曲線と歯元隅肉曲線の交点計算方法
1番目は後述することにして、2番目は、アンダーカットの時にインボリュート曲線と歯元隅肉曲線の交点を一発で求める計算式が存在しないため、収束計算が必要で面倒です。それで今回は交点計算せずにクロスさせたままにしておきます。ちなみに、自作のWindowsアプリ「involuteGearDesign」はニュートンラフソン法を使って交点を求めています。「igears」の方は、交点計算せずにCADの機能でプロファイルを取り出しています。
オフセット計算の方法
「正確なインボリュートと歯元隅肉曲線の歯車作図方法」で書いたように、歯元隅肉曲線はラック丸みの中心点軌跡のオフセット曲線でした。CADを使えば、その機能の中にオフセットがあるので特に難しくはありません。ところが計算でオフセットを求めようとすると途端に難しくなります。
WikiPediaの「オフセット曲線」では2つの定義が紹介されています。
❶曲線上に中心を持つ円群の包絡線:エンドミル加工と同じく、パスに沿って動く無数の工具径の輪郭線(包絡線)がオフセット曲線になります
❷曲線から一定の法線距離にある曲線:パスの各点で法線方向に等距離の曲線がオフセット曲線です
滑らかさという点では❶が有利なので、本格的な歯車ソフトは❶として求めます(当方自作のinvoluteGearDesign, igearsはこちら)。
この場合の解き方は
曲線群 の包絡線の方程式は と から を消去することで得られる。
そこで本記事では❷に基づいた計算を行います。
❷では、曲線上の1点で接線ベクトルを求め、90°回転させて法線ベクトルとし、単位ベクトル化してから、オフセット距離dを乗じると、指定した1点から直角方向に距離dの点が得られます。
曲線の全長にわたって、十分に短いサンプリング区間でオフセットした点を取得してスプラインでつなげば、オフセット曲線が計算できるというのが、❷の解法で、下式で表されます。とくにベース曲線が急峻な変化をする場合、形状が崩れやすいので注意が必要です。
この式は次のようにして導かれます。
媒介変数で表された曲線について
1. の接線ベクトルを求める
2. の法線ベクトルを求める
⇒90°回転ベクトルを接線ベクトルに乗じる⇒
3. 単位ベクトル化する
⇒ベクトル長 で除算するので
4. ベクトル長を倍して、に加算するとオフセットした点が得られる
これでオフセット曲線を求める式は分かったので、次はオフセットするベースの曲線の式を準備します。
ラック歯先の丸み中心軌跡
エンドミルのたとえでいうと、歯先の丸み輪郭がエンドミル外径で、丸み中心がエンドミル中心のことでした。エンドミルがトロコイド曲線をツールパスとしたとき、トロコイド曲線の±オフセットの加工跡が得られます。これを一定法線距離の曲線として求めます
ツールパスとなる丸み中心の軌跡は「正確なインボリュートと歯元隅肉曲線の歯車作図方法」では幾何学的に求めましたが、これを座標変換で求めます。手順はこうです。
ラック歯先の丸み中心の初期座標は、図1を参考に
:歯元のたけ、:ラック歯先の丸み係数、:圧力角
とすれば、丸み中心の回転角θによる座標は次式で得られます。
:基準円半径
上式でx1=0,y1=0とすると、次式になります。
一方で「インボリュート曲線計算式」は下式の通りで、A2式の基準円半径rpが基礎円半径rbになっています。
式の形でいうと、A2式とA3式はどちらもインボリュート曲線です。違いはA3は基礎円をベースにするインボリュート、A2は基準円をベースとするインボリュートということです。何に使うかというと、ラックのデータム線は点Pより内側には入れずY軸対称で折り返します。よってラックは基準円ベースのインボリュート運動をします。
それで問題はA1式ですが、これはピッチ点pからx1,y1の距離にある丸み中心の座標の軌跡です。図1で分かるように、ラックがp点で下降から上昇に転じる際に、急激に向きを変えるのですが、そのためにオフセットした丸み中心は大きく揺動します。この動きは、トロコイド運動でループを生じた場合と同じで、「創成図から歯車の成り立ちを知る」に書かれている内容です。
オフセット曲線を求める
1次導関数の算出
オフセット曲線のベースとなる曲線の式が分かったので、前述の式に当てはめていきます。そのために媒介変数表示の導関数が必要なので、ここは「数式処理」プログラムに働いてもらいます。数式処理はいろいろありますが、ここでは環境構築不要な「geogbra」を使いました。ネット環境あればブラウザで処理できるのが魅力です。
次のベース曲線に対して
geogbraにより次の導関数を得ました。距離dのオフセット曲線の式は以下です。オフセット曲線がベース曲線の反対側に表示される場合は、dの符号を変えてください。
これらの式を表計算に入力したのが下図です。縦方向に回転角度が50ステップあり、各ステップごとに右側へ計算を進めます。いったんオフセット曲線のx、y座標を計算するのですが、回転移動させてから最終出力としています。それは図1のラック位置と、インボリュート計算部のラック位置が異なっているので、そのずれを補正するためです。
なお、「歯元隅肉曲線計算」左端の回転角のうち最上段のR34セルは、歯数によって開始角度を変えています。
計算結果
Excel内グラフ表示
前回のインボリュート計算部を上段26行目までに、今回の隅肉曲線計算部を下段29~84行目に配置して、双方の結果を1枚のグラフに書かせています。
歯数6,20,50の計算結果を以下に示します。アンダーカットの生じている歯数6は、インボリュート曲線と歯元隅肉曲線がクロスしていますが、アンダーカットではない歯数20,50は滑らかに接続しており、矛盾のない結果です。歯数50は基礎円が最も内径となっています。
Fusion360歯車アドインと比較
歯数6の歯形データを歯車アドイン「igears2.1」の歯形出力と比較したのが下図です。ほとんど一致しています。正しく計算が行われたと判断します。