- 米海軍の射撃管制コンピュータは、自艦・目標・弾道・気象情報など最大25の要因を受け取り、砲の旋回と仰角の指令を継続的に計算する
- 計算精度は装置そのものだけでなく、directorから目標距離と方位を送り、他の値を入力する運用者の熟練度に大きく左右される
- 第1部では、内部で繰り返し使われる軸とギア、ラックとピニオン、カム、差動装置が、数値伝達・定数倍・関数計算・代数和計算を担う仕組みを扱う
- カムは回転入力を線形出力や関数値に変換し、reciprocal cam・square cam・tangent cam・time-of-flight cam・barrel camが弾道と三角計算に活用される
- 差動装置は2つの入力が速く変化しても連続的に代数和を算出し、動く艦船と目標を扱う射撃管制計算の中核部品となる
射撃管制コンピュータが解く計算
- 射撃管制コンピュータは複数の入力値を同時に受け取り、射撃管制問題を解き、その結果を砲へ**旋回(train)および仰角(elevation)**指令として送る
- 入力には自艦の針路と速力、目標距離と方位、目標の針路と速力、風速と風向、砲弾初速などが含まれ、要因は最大25まで増える
- 多くの要因が同時に発生し続けて変化するため、コンピュータは問題を連続的かつ即時に解かなければならない
- コンピュータは人なしでは正確になり得ない
- directorの操作員が目標距離と方位をコンピュータへ送る
- コンピュータ位置の他の要員が残りの情報を入力する
- 計算精度はコンピュータが受け取る情報の質に依存し、その質は運用者の熟練度と理解に左右される
軸、ラックとピニオン、ギア
- コンピュータ内部には多くの基本メカニズムがあり、その一部は1台のコンピュータ内で何度も繰り返される
- 軸(shaft) はコンピュータ内で値を伝えるのに一般的に使われる
- 軸の1回転に特定の数値が割り当てられる
- 一方向の回転は正、反対方向の回転は負として定義できる
- ラックとピニオンは、軸の値がどのように数値として解釈されるかを示す
- 1回転が+10に較正されている場合、1回転半は+15、2回転は+20になる
- 反対方向に1/5回転すると-2を加える効果となり、+20に-2を加えると+18になる
- 負の方向に2回転すると20を引く効果になる
- 実際の装置では、ラックとピニオンは軸の値を対応する直線運動に変換したり、逆にラックが値を軸へ伝えたりするために使われる
- ギアはある軸の値を別の軸へ伝える
- 1:1のギア比では数値は維持されるが回転方向は反転する
- 大きさの異なるギアは軸の値を定数倍または除算できる
- 2:1のギア比では、駆動軸1回転で従動軸2回転を生じさせられる
カムで関数値を作る
- カム(cam) は計算メカニズムとして使うことができ、一般に回転のような単純運動を不規則または断続的な運動に変える
- すべてのカムには作業面とfollowerがある
- 作業面は外側輪郭である場合もあれば、溝の壁である場合もある
- followerはローラー、ボール、ピン、または作業面上を滑ったり転がったりする他の装置であり得る
- 作業面は望ましい入力-出力関係に合わせて設計される
- たとえば軸1回転に値10を割り当て、入力値1・2・3に対してfollowerがそれぞれ1倍・2倍・3倍の距離だけ動くようにできる
- この関係は整数だけでなく、その間のすべての値にも適用される
- 外側輪郭を作業面に使うカムは通常、1回転分に容量が制限される
- 追加の回転を扱うには作業面を拡張する必要があり、その場合、作業面は**溝(groove)**形状になる
- constant lead camは、ピンが溝に沿って動く例である
- 射撃管制コンピュータでは、艦速の回転入力がfollowerの直線運動へ伝えられる
射撃管制に使われるカム
- reciprocal camは、出力が入力の逆数、すなわち1/inputになるよう設計されている
- 作業面は半径上に点を打って構成される
- 1に対する距離、2の逆数である1/2、3の逆数である1/3などが曲線として作られる
- この曲線をディスクカムの溝として切り、followerを加えると入力の逆数が出力になる
- カムには通常、描かれた曲線の両端に計算には使われないrun out区間がある
- square camは入力の二乗を出力する
- tangent camは三角関数カムの例である
- 入力は40度から70度までの角度になり得る
- 出力はその角度のタンジェントである
- time-of-flight camは平面弾道カムの例である
- 作業面は部品の外側輪郭である
- 入力は射程、出力は飛行時間である
- ばねでカムに接触したsector type followerが出力ギアを回す
- barrel camまたは3次元カムは、2つの入力から1つの出力を計算する
- 例の装置はsuperelevationを計算する
- 砲の仰角はsuperelevationと目標のadvance elevationの和である
- superelevationはadvance rangeが増えると増加するが、比例関係ではない
- superelevationはadvance elevationが増えると減少するが、これも比例関係ではない
- したがってsuperelevationはadvance rangeとadvance elevationという2つの入力で決まる
- barrel camは、1つの仰角だけを考えたカムを拡張した構造とみなせる
- 特定の仰角では複数の射程が可能で、それぞれ異なるsuperelevationを必要とする
- すべての仰角を扱うために、barrelはそのようなカムを無限に含んだ形になる
- どの断面も特定のadvance elevationに対するカムになる
- elevation入力が必要な断面を選び、range入力が必要な射程に合うようbarrelを位置決めする
差動装置と代数和
- 差動装置(differential) は、2つの量の代数和を連続的に得るためコンピュータで使われる
- 2つの入力が変化すると、差動装置は入力変化速度に関係なく同時に答えを出す
- 射撃管制コンピュータでよく使われる例はベベルギア差動装置である
- 2本の軸は剛結合されており、この軸とギアがspider assemblyを構成する
- spider gear、spider shaft、end gearが含まれる
- 4つのギアはそれぞれ軸に固定されているのではなく、ベアリング上に自由に取り付けられている
- 他のメカニズムとの接続は、各end gearとspider shaftに固定されたspur gearを介して行われる
- spider gearは数学的には1つで足りるが、バランスのために2つ目のspider gearが追加されている
- 動作原理はラック-ピニオンモデルで見るとわかりやすい
- 2本のラックの間にピニオンがある形として考えられる
- ラックAとB、またはピニオンのいずれか1つが出力になり、残り2つが入力になる
- 例ではラックを入力、ピニオンを出力として使う
- ピニオン中心の移動量は常に2本のラック変位の代数和の半分である
- Aが+4インチ、Bが+2インチ動くと、和は+6インチでピニオン中心は+3インチ移動する
- Aが+1、Bが+3なら和は+4で、ピニオン中心は+2の位置にある
- Aが-4、Bが+2なら代数和は-2で、ピニオン中心は-1へ移動する
- ラックに望ましい値の目盛りを割り当て、ピニオンにはその半分の目盛りを割り当てれば、ピニオンはラック値の代数和を表せる
- ベベルギア型差動装置はラック-ピニオン差動装置と本質的に異ならない
- 長さに制限のあるラックはend gearで置き換えられ、end gearは無限ラックのように動作する
- ピニオンはspider gearで置き換えられる
- spider gear中心の円形経路移動はspider shaftの回転として伝えられる
- 出力は2つのend gearのいずれか、またはspider shaftになり、残り2つが入力になる
1件のコメント
Hacker News のコメント
1989年、ミシシッピ州パスカグーラの造船所で整備中だった駆逐艦のデータシステム技術員として勤務していたとき、すぐ隣に戦艦 Wisconsin が係留されていた
第二次世界大戦時代の巨大な遺物だったが、なお近代化作業中で、戦闘システム担当者の何人かが射撃管制システムの見学に招かれた
16インチ主砲の射撃解を計算する機械式コンピュータがすべてで、案内してくれた人たちは通常の軍の定年をはるかに超えた年齢だった
実はその機械式コンピュータの実戦知識が海軍から失われていたため、全員が再召集された人たちだった。実に素晴らしい一日だった
重い計算は艦上の射撃コンピュータが行い、設定値は慣性誘導装置を持つ魚雷側の単純なコンピュータが使用していた
人々が鉛筆と計算尺だけでどうやってこういうものを設計したのか、想像するのは難しい
潜水艦用の射撃管制コンピュータを再整備するグループにいたのだが、それは当時まもなくゲームセンターで流行ることになる縦型ビデオゲーム機のような見た目で、ただし筐体は一体成形のアルミだった
内部はギアとリゾルバでいっぱいのアナログコンピュータで、表示装置もすべてアナログであり、すべて新しいギアとリゾルバに交換されていた
近くの別グループが IMSAI 8080 のような S-100 ボックスでマイクロコンピュータの実験をしていたのを覚えている
本当に想像を超える代物で、Norfolk の近くにいるなら戦艦 Wisconsin を訪れてみる価値がある
彼が「機械式コンピュータ」を使っていたと言ったとき、それがどういう意味なのか理解しようとして、しばらく虚空を見つめることになった
米海軍の古い教材は、さまざまな技術を学ぶのに優れている
その中の傑作は「Basic Hand Tools」で、事実上、発明されたほぼすべての手工具の使い方を平易な英語で説明したハンドブックだ
ハンマーについても「石で木の実を割るというアイデアを思いついた人は、知らず知らずのうちに道具を発明した。後の天才がその石に棒を結びつけたとき、最初のハンマーが発明された。その素朴な始まり以来、多くの改良があった」と書いている
現代版の「Tools and Their Uses」は工作機械も扱っているが、面白さはやや劣る
一番好きな例は、車両の差動ギアを説明するこの映像だ: https://m.youtube.com/watch?v=yYAw79386WI
18〜20歳の若者たちが空母で航空機を発艦・着艦させながら、同時に洋上補給までこなし、それがただの普通の一日になる
物質の基礎から始まる、文字通り電子工学のフルスタックガイドだ
David A. Mindell の Between Human and Machine: Feedback, Control, and Computing before Cybernetics を強くおすすめする
海軍と「技術」の一側面を理解するための良い入門資料だ
初期コンピューティングの相当部分は海軍と結びついており、Grace Hopper が陸軍の将軍ではなく海軍の提督だったのも偶然ではない
Cray の初期の仕事にも「Navy」は頻繁に登場し、欧州から太平洋へ移った経歴まで含まれている
探究する価値のある、興味深い第二次世界大戦および戦後の歴史だ
ただし、陸上砲兵、軍事測量、地図作成の重要性も過小評価してはいけない
針路、速度、横揺れといった要素を反映する長距離艦砲射撃用の機械式コンピュータは、複雑な計算で作られた表とノモグラムを使う初期の静的な陸上砲術方式の上に築かれたものだ
Babbage の階差機関に関する仕事の一部も、砲術表の計算に関係していた
いわば元祖 GPS のようなものだ
「本研究は Naval Research Laboratory の助成金 XXX-YYY-ZZZZZZZZZZ により一部支援された」
DARPA、NSF など、他の支援機関が記された似たような告知もよく見かける
こうした「コンピュータ」で作業する感覚を直接味わってみたいなら、Steam の UBOAT というゲームを見るとよい
Silent Hunter シリーズの精神的後継作で、比較的最近、ドイツの Type VII 潜水艦で使われていた魚雷データコンピュータを追加した
https://store.steampowered.com/news/app/494840/view/3712713813599539942
ユーザーインターフェイスは、今日の UX 基準で見ても驚くほど直感的だ
映像が素晴らしい
シンプルでまっすぐな説明の仕方が概念を非常によく伝えていて、カムのさまざまな応用は見るたびに印象的
機械式コンピューターの基本原理はもっとずっと古く、1800年代のかなり奥深く、もしかするとそれ以前にまでさかのぼり、その多くは時計仕掛けに根ざしている
伝統的な代数学やそれ以上の数学教育にずっと苦労してきた立場からすると、物理的な形で提示されることで、はるかに近づきやすく感じられた
誰かが代数学や高度な数学の概念を、このような方法で教えたことがあるのか気になる
高校や大学の数学の授業に、手で触ってクランクを回し、「数学が動作する様子」を見られるギア機械があったなら、人生が変わっていたかもしれない
高校で代数学の基礎につまずいたあと大学で追いつけず、事実上中退し、大学のBASIC 101の授業でコンピューターが好きだと分かったものの、その後コンピューターを使うには数学科に転科する必要があり、80年代初頭だったため前提科目を突破できずに諦めた
それでもすぐにRAM 4KBの8ビットコンピューターを買い、完全に独学でプログラマーになり、結果的にはとてもうまくいったが、「もしも」という思いは残っている
Duneの世界観では、Butlerian Jihad後の対応は、より優れた機械式コンピューターを開発することだった、という脳内設定にしている
特に小型化によってナノメートル級まで下げた方式だ
すべてに完全に合うわけではなく、Holtzmannシールドが完全なアナログなのかといった疑問はあっても、ほとんどの物体をナノメートルスケールのアナログコンピューターで作られた実用的なアナログ制御器に対応させるには十分に思える
Brian Herbertのファンフィクションを除いて考えれば、当時の主流のコンピューティングが機械式だった可能性もある
いずれにせよ、そのような違いは重要ではなかったはずだ
軍の教育映画やニュースリールには、行進曲調の導入音楽が欠かせない
本質的に「じっと座って集中して聞け。そう、君のことだ!」と言っている
バグパイプも同じ役割を果たしており、最近では開始時や終了時にバグパイプがないと公式行事らしく見えない
関連リンク:
Mechanical Computer – Basic Mechanisms in Fire Control Computers (1953) [video] - https://news.ycombinator.com/item?id=29471331 - 2021年12月、コメント12件
Basic Mechanisms In Fire Control Computers (1953) [video] - https://news.ycombinator.com/item?id=7831923 - 2014年6月、コメント6件
「当然ながら、コンピューターの精度は入力される情報の品質に依存する」
本当にその通りだ
意図的な参照として入れたものなのか気になる
「私は二度、『Babbageさん、機械に間違った数字を入れたら、正しい答えが出るのですか?』という質問を受けたことがある。一度は上院議員から、もう一度は下院議員からだった。そのような質問を生む観念の混乱を、私はどうにも正しく理解できない」
— Charles Babbage, Passages from the Life of a Philosopher (1864)