2013年9月25日水曜日

微分解析機

微分解析機でバックラッシュを減らす仕掛けには, フロントラッシュ以外にも, ラッシュロック(lashlock)なるものがあった.

微分解析機では独立変数軸で回転されるディスクは, 被積分関数軸の値によって前後に動かされる. つまりディスクの載っている台座が, 被積分関数軸に繋がる送りネジ(lead screw)に嵌めたナットと一緒になっていて, 移動するわけだ.

被積分関数の値は結果の積分値に大きく影響するので, この送りネジの工作精度は重要で, ケンブリッジの微分解析機では, 送りネジの作製に微分解析機全体の1/10のコストがかかったという.

ここでもバックラッシュを減らす方法が検討されている. 東京理科大学に保存されている微分解析機にもラッシュロックがちゃんとあった.

下の図でハッチのあるのが送りネジである. それに左の大きいナットと右の小さいナットが嵌めてあり, 大きいナットの上(破線の上)に台座が固定されている. だから送りネジはこのナットを経て台座を動かす.



2つのナットの間には, 太い線で示すバネが挟んであり, 兩ナットを離そうとしている.

小ナットには縁に何か所が切れ目があり, 大ナットから突出した棒の先の爪が差し込めて, 小ナットの回転を防いでいる.

つまり送りネジのネジ山を両端に押してバックラッシュをなくそうとしているのである. なるほどすごい仕掛けだ.

Crank本によると, この仕掛けもトルクアンプと同じく, ベツレヘムスチール社のNiemanが発明したそうだ.

2013年9月11日水曜日

微分解析機

微分解析機ではバスシャフト, クロスシャフトに積分機, トルクアンプ, 入力卓, 出力卓, 加算器などが接続してある. しかし佐々木本によると, 「ガタ補正装置」というものもあったらしい.

これは一体なにかと思う一方, 理科大の微分解析機になにやら不思議な機器がついていた. Crank本で判明したのだが, その不思議なものこそガタ補正装置であった. 英語では「フロントラッシュ」という.

微分解析機の最大の泣き所はトルクアンプでのバックラッシュであったらしい.

バックラッシュとは, 通常の平歯車ではこう起きる. 次の図のように2つの平歯車MとNがかみ合っていて, Mが駆動する側, Nが駆動される側とする.



Mが右回転していると, MとNのかみ合う部分では, Mの歯の下がNの歯を上から押し下げてNを左回転させる. Mの歯の下とNの歯の上は常に接しているから連続的に駆動できる.

Mが停止し逆回転を始めると, 今度はMの歯の上がNの歯の下を押し上げることになるが, こちらには隙間があって, MがNに当たるまでNは逆回転を始めずに停止している. 従ってMとNの回転角の関係を図に描くと, 回転が逆になると違う関係になる. これがバックラッシュである.

トルクアンプでも逆回転が始まると, 逆側のドラムの回りの糸が締まるまでは出力が始まらず, しばらく不感時間があってバックラッシュ現象が生じる.

このバックラッシュを出来るだけ早くキャンセルしようとするのがフロントラッシュである. 名前からして結構ふざけているがなかなかの機構である.

次がフロントラッシュのメカの分解図である. Cambridge大学のWilkes先生のところで撮った写真だと断りがあった.



フロントラッシュはバスシャフトの間に入れ, バスシャフトの回転数を加速する機能を持つ.

右が入力シャフトで, その左に両隣のシャフトへの引掛りをもったベルトに挟まれたドラムがある. ベルトはドラムが勝手に回らないよう軽くブレーキをかけている. ドラムに入力シャフトが通っているが, 入力シャフトとドラムはシャフトの回りではフリーになっている.

ドラムの左は遊星歯車. そして左端に内歯車とそれと一体になった出力シャフトがある.

ドラムには右方にペグが2本. この挿入位置は円周上に点在し, 場所は変更し調整出来る. 一方入力シャフトにはペグにぶつかるピンがある.

通常は入力シャフトがピンでドラムのペグを押し, 同時回転し, 従って遊星歯車も同時回転し, 入力シャフトと出力シャフトは同時回転する. しかし入力シャフトが逆転すると, ピンがペグから離れ, もう一方のペグに当るまで, ドラムはバンドの摩擦で停止する.

ドラムと入力シャフトの回転速度に差があると, 遊星歯車の出力は加速され, 出力シャフトも少し早く回り, やがてピンがもう一方のペグに当たって通常の回転数に戻るという仕掛けである.

この辺の事情を図にしたのが下だ.



左の図で横軸が入力, 縦軸が出力である. DからAは入力と出力が一体となってある方向に回転しているところとする. Aで入力が逆転し始めるても, 出力はすぐには追従しないからBまでは出力は動かぬ. BからCで出力は入力にすこし遅れて逆転する.

右の図はフロントラッシュの場合で, 横軸は入力シャフトのまだ先にある真の回転角である. Bまでは逆転直後で入力軸が遅れているところ. やがて遊星歯車が回転して出力は真の回転角に追いつく様子を示す. 逆側のC, Dでも事情は同じである.

なんとしてもバックラッシュを防ごうとう努力の後が見えるではないか.

2013年8月30日金曜日

微分解析機

初等関数を積分機を使って作りだす方法で, 前回のブログの続きである.

tan z

tan zはπ/2で無限大になるから要注意

d tan z/dz =1+tan2だから
tanz=∫ 1+tan2z

tan2のつもりのtanzsqなる変数を用意し

tanz = ∫ (1 + tanzsq) dz
tanzsq = 2∫ tanz d tanz

tanzは1+tanzsqで「動かし」, zで「回す」.
tanzsqはtanzで「動かし」, tanzで「回し」2倍する.

図は次のようだ.



3本のバスシャフトにまたがる[・Σ・]のような記号は加算器で, ・のバスシャフトの値の和がΣのバスシャフトに出力される.

1/z, logez

logez = ∫ 1/z dz
1/z = -∫ 1/z d logez だから

logezは1/zで「動かし」, zで「回す」.
1/zは-1/zで「動かし」, logezで「回す」.

図は次に示す.



これらのシミュレーションにはSchemeのstream処理が適していると思うが, まだ手が付かずにいる.

2013年8月14日水曜日

微分解析機

微分解析機のことを調べようとすると, 参考になる文献は
城憲三「計算機械」共立全書
佐々木達治郎「計算機械」河出書房
くらいであった. 微分解析機を使われたり, 設計されたりした渡辺勝先生に先頃お目にかかったら, John CrankのThe Differntial Analyser(1947年刊)を読むべきだといわれた.

私が在職していた東大工学部計数工学科の図書室にあったので, さっそく読み始めた. まことに実用的な本であった. 英国のCambridge大学にあった微分解析機に基いて豊富な説明があった.



そこの微分解析機も, 積分機の円板の方を被積分関数に応じて動かす方式なので, 独立変数の入力は円板を`rotate'する(回す); 被積分関数の入力は積分機を`displace'する(動かす)と使い分けていて実に理解しやすい.

従って積分機の図も次のようで, 積分機を押し上るような矢印が被積分関数, 円板の横の一部網かけのドライブの軸が独立変数, 円板中央のT字状の軸が積分出力である. それらに繋がる縦の軸がクロスシャフト. 横の軸がバスシャフトである.



積分機を2台使ってsin, cosを発生させるのは, どこにでも例題があるが, もっと他の基本関数の発生法もなかなか面白かったので, 今回はそれが話題である.

本番で使うときは, 係数処理をしなければならないが, とりあえずどの関数は積分機何台で出来るかという一覧表があった. その中から:

sin z, cos z

d sin z/dz = cos z
d cos z/dz = -sin zだから
sin z = ∫ cos z dz,
cos z = ∫ -sin z dz

cos zで「動かし」, zで「回す」と sin zが得られ,
-sin zで「動かし」, zで「回す」と cos zが得られる.

図は上に示した通り. バスシャフトとクロスシャフトの交点が丸で囲んであるのは, クロスシャフトの回転を通常と反対にすることを示す.

z=0からπまでをプログラムでシミュレートしてみると(積分区間を1024分割した):

(define k 1024)
(define z 0) (define sinz 0) (define cosz 1) 
(define pi (* 4 (atan 1)))
(define dz (/ pi k))
(do ((i 0 (+ i 1))) ((> i k))
(set! z (+ z dz))
(set! sinz (+ sinz (* cosz dz)))
(set! cosz (- cosz (* sinz dz))))

(display (list z sinz cosz)) =>
(3.1423596439839487 -7.670673988518897e-4 -.9999994116371386)

ez

d ez/dz = ezだから
ez = ∫ezdz

ezで「動かし」, zで「回す」と, ezが得られる.

次の図のようだ.



z=0から1までをプログラムでシミュレートしてみると(積分区間を1024分割した):

(define k 1024)
(define z 0)
(define ez 1)
(define dz (exact->inexact (/ 1 k)))

(do ((i 0 (+ i 1))) ((> i k))
(set! z (+ z dz))
(set! ez (+ ez (* ez dz))))

z => 1.0009765625
ez => 2.719609006545993

z2, z3

z2 = 2 ∫z dz
z3 = 3 ∫z2 dz

zで「動かし」, zで「回し」, 2倍するとz2が得られ,
z2で「動かし」, zで「回し」, 3倍するとz3が得られる.



バスシャフト間を繋ぐ[1 2]や[1 3]は, 回転をそれぞれ2倍, 3倍する歯車を示す. z3はこのように積分機2台が必要である.

シミュレーションは不要であろう.

他の関数は次の機会にしよう.

この本を読んだ収穫のひとつが独立変数は「回す」, 被積分関数は「動かす」と言い分けることであった. 若き日のWilkes先生を含め, Cambridge大学の微分解析機のグループが, rotate, displaceを使うと意思の疎通が捗ると知り作業していたらしいことが想像できる.

大学院生のころよく読んだ海外誌がBSTJ(Bell System Technical Journal)であった. C.E.Shannonの通信理論の論文もBSTJに掲載された. BSTJの電話交換機の論文では, Sheといえば交換手, Heといえば加入者であって, 便利な使い分けだと感心したが, こういうこともコミュニケーションで大事なノウハウであろう.

2013年7月30日火曜日

面積計を使う調和解析器

Henriciの考案した調和解析器は, 前回のブログの関数と距離計の読みの図の少し上にあるように, 下の距離計は ∫ cos(θ)dy ∝ B1, 左の距離計は ∫ sin(θ)dy ∝ -A1を計測していた.

一般のnについては,

nAn=-1/π∫sin(nθ)dy,
nBn=1/π∫cos(nθ)dy,

を計測する. これは普通に書いてある

An=1/π∫0y cos(nθ)d&theta,
Bn=1/π∫0y sin(nθ)d&theta,

から次のようにして得られる. また式が多いのでTexで書くことにする.


積分の範囲は前回の図に示すように, 一周期分である.

2013年7月27日土曜日

面積計を使う調和解析器

厳密にいうとこれは面積計は使わないが, Olaus Henriciが考えた似たような仕掛けの調和解析器の話だ. 下の図は, Henriciの考案したものを, チューリッヒの計測器メーカーCoradiが1890年ころに作ったものである.



このどっしりした機械を, 例えば前回のブログにあったような, 解析したい図形の上に置く. 枠の横に長い方をx軸に平行にする. この枠は3個の車輪で支えられている. 1個は手前中央に見える幅広のD. 残りの2個は枠の内側の両端でE. これらの車軸がx軸と平行なので, この枠はy方向にしか動かない.

枠を前後に動かすと, Eが回転し, 2個のEを繋ぐシャフトも回転し, 中央に上半分が見える車輪Cもy方向の移動距離に比例した分回転する.

車輪Cの真上に上下方向の回転軸があり, その下に枠に収まった球のようなものが見える. この球は下の車輪に接していて, やはりx軸と平行な軸で回転する. その球を支えている枠は, 上下方向の回転軸と同時に球の周囲を回転出来る.

回転させるのは, 回転軸の上に見えるプーリーHとそれに接するワイヤーである.

大きい枠の左には, ワイヤーがついていて左右に動きそうな枠Wが見える. この枠の手前の下にFなるポインターがあり, このポインターで関数の曲線を左から右に追跡するのである.

関数曲線の上下で枠全体が前後に動きながら, ポインターで右方向へ追跡すると, ワイヤーが動き, 従ってプーリーも回転して, 球を支える枠も回転する仕掛けである.

さて下の図が球を支える枠の構造だ.



中央のSが球で, yの矢印は枠がy方向に動くときに球が回転する方向を示す. xはポインターが右へ, つまりx方向へ移動すると枠が回転する方向を示す.

球にはこの図で見るように, 下と左に球の回転量を計る距離計のようなものが接している(この辺がいちおう面積計っぽいところだ).

この図のような位置で球が前後方向へ回転すると, 下の距離計は積算するが, 左のは動かない.

しかしプーリーの回転に従って枠も時計廻りにθだけ回転すると, 下の距離計はyの回転量のcos(θ)倍を計測し, 左のはsin(θ)倍を計測するようになる.

この枠はxが0から2πまで移動するときに丁度1回転するようになっている.

したがって下の距離計の積算は∫cos(θ)dy, 左の距離計は∫sin(θ)dy になり, それぞれB1, -A1に関係する値が得られる.

プーリーの直径を変えると, 枠の回転は2倍にも3倍にもなり, ほかの係数も求めることができる.

なんか不思議な機構だが, プログラムでシミュレートしてみた. お馴染のf=A1 cos(θ)+A2 cos(2θ)+B1 sin(θ)+B2 sin(2θ) である.

下の図は黒線がfを表す. 枠を2πで1回転したとき, つまりn=1の時の下の距離計の値をB1(青), 左のをA1(赤)で示す. またn=2の時, 下のをB2(緑), 左のをA2(橙)で示す.



単一の三角関数の場合もやってみると下のようになる. f=A1cos(θ), A1=1 がこれだ.



f=B2 sin(2θ), B2=1も示す.



振幅0に対応する距離計は最後に0になり, それ以外の距離計は係数に従った値が読み取れることが分る.

ソナグラフの存在しないころ, この解析器で音響の周波数解析をした人がいたらしい.

2013年7月26日金曜日

面積計を使う調和解析器

前回のブログ(2013年7月18日)の続きだ. あの奇妙な形の面積で係数が得られる理由はこうだ.

関数とA1の絵をもう一度見てみよう.



上の図のPの座標は(θ, f(θ))である. これを円柱に巻きつけて, zero-edgeが中央にくるように見たのが下の図である.

下の図で, 枠の中心を原点としたPの座標を(x,y)とすると,
x=sin(θ)
y=f(θ)
である.

x=g(θ), y=f(θ)でθ=0から2πで閉曲線になるとき, 閉曲線で囲まれた図形の面積は
S=∫f(θ)g'(θ)dθ
だから, A1の面積は(fをθ, 2θだけの関数として)
S=∫(A1 cos(θ)+A2 cos(2θ)+B1 sin(θ)+B2 sin(2θ)) cos (θ)dθ
で A1∫cos(θ)cos(θ)dθ=A1π 以外は消えるからこの面積の1/πが A1 になる.

こんな説明でいいだろうか. ところで, 積分が怪しいとか忘れたとかのときは, WolframAlphaにお伺いするとよい.

integrate cos(x) cos(x) dx from 0 to 2 pi => π
integrate cos (x) cos (2x) dx from 0 to 2 pi => 0
integrate cos (x) sin (x) dx from 0 to 2 pi => 0

など. 便利である.