5 ニスゲームを作ろう ! 第 2 章テ ( おさらい ) このシリーズではアナログコンヒ。ュータでテニスゲームを作ってみようをテーマに進めてきま した。まずは基本方針のおさらい、『レシープ編』にてシミュレーションをした跳ねるボールのア ナログコンヒ。ュータについても簡単におさらいしましよう。 2.1 基本設計 まずは全体の基本方針を決めました。全体的に、以下の様な仕様にします。 ・オペアンプの電源電圧は士 5 [ V ] で使用します。 ・テニスコートを横から見た、ボールの様子を映し出します。 実際のテニスコートの縦方向の長さは 23.77 [ m ] 、使用するオシロスコープの画面は 10 マ ス x 川マスなので、その中にコートが収まるようスケーリングします。ただし、ボールを 打った時の高さは超えないように、縦方向のスケーリングは変えないといけないかもしれ ません。 プレーヤーは、『角度調整』と『打っボタン』でボールを決められるようなコントローラを 作ってみます。打っときの速度 ( パワー ) は一定としますが、気が向いたら速度も決められ るようにします。 本質的には、ボールのシミュレートはアナログコンヒ。ュータ、シーケンスの部分はディジ ータ ( もちろんディスクリート部品 ) のみで構成しますが、あまりにも細かい タノレコンビュ 判定をさせないといけない場合はマイコンで判定させるといった方法を取っていこうと思 います ( ごめんなさい w ) 。 ・ロジック回路の電源電圧は十 5 [ V ] で使用します。 ー十 5 [ V ] を ' 1 ' 、 O[V] (GND) を ' 0 ' という論理にします ( 正論理 ) 。 2.2 テニスゲームを作るには何が必要か ? シリーズを通して、テニスゲームを実現するには何をする事が必要なのかを考えてみました。 テニスをさせるには、次の動作が必要になってきます。 図 2.1 のイラストを基におさらいしてみましよう。 ( 1 ) サープを打っ角度、速度、最初の高さを調節して、ボールを打っ動作 ます。 ( 3 ) ボールを打ち返す動作。 ( 2 ) ボールが地面に着いたら、跳ね返る動作 この時もボールを打っ角度、速度を調整して打ち返す必要があり
2.4 跳ねるボールのシーケンスを考えてみた ボールの運動方程式をとした時、れ回目とれ十 1 回目との間では、次の関係があると考え ます。 = AFn れ十 1 こで ,\ はエネルギーの減衰率 ( 0 ミミ 1 ) です。跳ね返る前と後で、跳ねる高さが低くなる ( 2.10 ) 9 度が減衰していくようにします。したがって、式 ( 2.11 ) のような関係になります。 ようにします。ボールのエネルギーに直接関わってくるのは速度になるので、跳ねる前と後で速 + 1 ( 0 ) = の 跳ねるという動作をさせるには、回路で次の動作をさせることが必要です。 ( 1 ) ポールの放物運動を演算させる。 ( 2 ) ボールが地面に当たった事を判定する。 ( 2 ・ 11 ) ( 3 ) 地面に当たった時の物理量を、次の運動を演算する回路に渡して演算させる。 ( 4 ) 以降繰り返し。 っと、ざっとこんな感じです。 これを実現させるためには、大きく分けて 4 つの要素を作ります。 放物運動の演算をする回路 ( れ回目用とれ + 1 回目用の 2 系統用意する ) ・地面との判定回路 ・れ回目の物理量をれ十 1 回目を演算する回路に引き継ぐ回路 演算回路を切り替える回路 『レシープ編』ではこれらを実現する回路について考察しました。図 2.5 に跳ねるボールを実現 する回路を示します。 れ回目の放物運動を演算するプロック A 、れ十 1 回目の放物運動を演算するプロック B を交互 に演算させることで、あたかも跳ねているような演算をさせることができます。 制御回路は、ボールが地面に相当する電圧を下回ったときに切り替わるよう、地面との衝突を 判定するためコンパレータ、切り替えるためフリップフロップで構成しました。 『レシープ編』では、本来の目的である「ある高さからポールを打ち上げて、地面と当たったら 跳ね返る」という動作は難しいシーケンスになるため、電源を入れた瞬間にボールが跳ね出すよ うにし、跳ね返る地面に相当する電圧をマイナスにすることで、「崖に向かってボールを落として いる」ような状況を作り出してシミュレーションを行いました。 図 2.6 にシミュレーション結果を示します。地面に相当する電圧になる度に演算プロックが切 り替わる動作をさせることができました。
1.4 そして今回・ 3 1 4 そして今回 ムとして成立します。そこで今回はェ方向についての微分方程式の演算、シーケンス部を考察し、 ボールの放物運動、跳ねるボールのシミュレーションときたら、あとは打ち返せばテニスゲー 『ラブサーキット編』『サープ編』『レシープ編』に続き、今回の『ラリー編』。 結局完成は見込めなかったので ( ごめんなさい・・・ ) 、今回は「ボールを打ち返す」をテーマにェ どうもこんにちわ、あとがきを書いている筆者です w 。 お願いいたします。 今回も理論ありき、実践ありきの解説で進めてまいりますので、お付き合いのほど、 ホントに終わるのかなあ w w wc テニスゲームとして完成させるところまでを行いたいと思います。 よろしく ボールをシミュレートする回路を合体させて完成させたいと思います・・ 方向の演算回路を製作までを行っていきたいと思います。この本の製本時に完結版として跳ねる
13 よ し 一三ロ ル又 ニ = ロ を ム ゲ ス 一丁編 向 章方 3 黄 第 ~ 前回の『レシープ編』では、縦方向のみに着目して解説していきました。今回は横方向、つまり ェ方向の運動について考えてみます。 3 ユ横方向の運動方程式を考えてみよう 横方向の運動方程式について考えてみます。 簡単にするため、ボールは等速直線運動しているとします。 したがって、 d2 ) 卍 2 ( 3.1 ) となります。そして初期値は、 dx(t) ( 3 ・ 2 ) 0 とします。 この式を解くアナログコンヒ。ュータを図 3.1 に示します。等速直線運動をしているため、加速 度はゼロであることから、速度を積分すれば位置が出力されます。 すごく簡単ですね ! 。 3.2 「ボールを打ち返す」を考える 3.2.1 原理を考えてみる 次に「打ち返す」という動作について考えてみます。 ボールを打ち返した瞬間、進行方向が反対向きになります。速度が正で進んでいたのが、反対 向きになるので負の速度を与えれば反対向きに進みます。プレーヤーを A 、 B と置いた時に、 A は正の速度、 B は負の速度とし、プレーヤーがボールを打ち返す度 ( 打ち返すタイミングでボタ ンを押した時 ) に積分器に与える速度を変えれば、ボールの向きを変える事ができます。そこで、 図 3.2 のように、積分器の前に切り替えスイッチを用意し、打ち返す度にスイッチが切り替わるよ うにします。 dx(t) :r 方向の運動方程式を解く回路 図 3.1
( おさらい ) 第 2 章テニスゲームを作ろう ! XY モードで観測 オシロスコープ 8 ェ ( の CHI CH2 d2 ) dt2 ー cos0 dy(t) dt 図 2.3 放物運動をシミュレートする回路 vosinO れ十 1 れ十 1 0 ボールが跳ねる様子 図 2.4 dX(t) dY(t) 1 ー cos 0[V/s] sin 0[v/s] ( 2.7 ) ( 2.8 ) 1 1 ( 2 ・ 9 ) 2.4 跳ねるボールのシーケンスを考えてみた ボールの放物運動を微分方程式で表すことができたところで、今度は跳ねるという運動を数式 で表してみます。とは言っても、そんなに難しく考えることはありません。簡単に言ってしまえ ば、れ回目の放物運動と、跳ね返った後のれ十 1 回目の放物運動をそれぞれ演算する回路を用意 し、交互に動かすことで、あたかも跳ねているように見せるのです。 図 2.4 に、ボールが跳ねる様子を図にしてみました。これを基に考えてみます。
第 1 章イントロダクション 横方向 x ( t ) 縦方向 y(t) 『サープ編』では放物運動シミュレート 図 1.2 地面座標 『レシープ編』では跳ねるボールをシミュレート 図 1.3 1.3 前回のおさらい 『レシープ編』では「跳ねるボール」をテーマに、主にリ方向の運動について考察しました。 ポールの運動方程式をアナログコンピュータで、アナログコンピュータではできない条件判断を ディジタルコンピュータで行う、アナログ回路とディジタル回路が混在したハイプリッド・アナ ログを紹介しました。複雑なシーケンスや跳ねる高さが減衰するところなどはひとまず置いとい て、永遠に跳ね続けるボール ( ちょっとシュール w ) のシミュレーションを行いました。 こまで来ると「遂にここまで来たか ! 」と作った本人も興奮気味 ( 。の。 ) 。
111 目次 まえがき イントロダクション 第 1 章 月リ前々回のおさらい 前々回のおさらい 1.2 前回のおさらい 1.3 1 .4 そして今回・ 第 2 章 テニスゲームを作ろう ! 2.1 基本設計 2.2 テニスゲームを作るには何が必要か ? 2.3 ボールの運動方程式について考えてみた 跳ねるボールのシーケンスを考えてみた 2.4 第 3 章 テニスゲームを設計しよう ~ 横方向編 ~ 3.1 横方向の運動方程式を考えてみよう 「ボールを打ち返す」を考える 3.2 3.3 実験 . おわりに 第 4 章 参考文献 あとがき アナログコンビュータ回路図 付録 A 初期値も入れられる積分器 . A. 1 A. 2 アナログスイッチ回路図 A. 3 加減算回路回路図 ータ回路図 A. 4 コンノヾレ 制御回路 A. 5 マザーボード . A. 6 A. 7 電源回路 一 1 1 1 ワ」っ ( おさらい ) っつひつっ 6 1 1 1 1 21 23 25 A ーⅡ A ー IV A ー V A ー VI A ー VII A ー VIII A ー IX
ボールの運動方程式について考えてみた 2.3 d2y(t) dt2 7 dt2 む 0 .. ・ 0 0 COS 0 0 Sin 0 9 0 図 2.2 ポールを打って飛ぶ様子 2.3 ポールの運動方程式について考えてみた まずはボールの運動方程式を立てます。式 ( 2.1 ) , 式 ( 2.2 ) に運動方程式を示します。 d2 ) dt2 d2y(t) dt2 ただし、初期値は式 ( 2.3 ) , 式 ( 2.4 ) の通りです。 dx(t) dy(t) = sin o[m/s] ( 2 ・ 4 ) この運動方程式をアナログコンヒ。ュータに解かせるため、スケーリングを行います。変換後の とし、スケーリングファクタ 0 とします。 変数をそれぞれ、 ) → x の , ) → Y(t) ( 2.1 ) ( 2 ・ 2 ) = cos 0[m/s] ( 2 ・ 3 ) d2X(t) 卍 2 d2Y(t) 卍 2 ( 2 ・ 5 ) 1 ( 2.6 ) ただし、初期値は次の通りになります。
14 第 3 章 SW アニスゲームを設計しよう ~ 横方向編 ~ VB 図 3.2 打ち返す度に方向が切り替わる回路原理図 とでボールを打ち返す。 ( 1 ) プレーヤーは打ち返す速度をポテンションメータで変え、あるタイミングでボタンを押すこ ます。 こで打ち返すという動作をさせるために、欲しい制御回路として、以下のことがあげられ 3.2.2 シーケンシャルな事を考えてみる を、積分器の入力を GND (O[V]) にします ( 図 3.3 ) 。この時、積分器の時定数を早めておき、値 て使うことができます。そこで、図 3.2 の入力、それぞれに積分器を追加し、初期値入力に速度 ジ以降に添付 ) 、初期設定モードと保持モードのみを使えば、サンプルホールド回路そのものとし ルド回路が必要になってきます。前回、前々回から使っている積分器ですが ( 回路図は付録ペー す。 ( 2 ) の機能が実現するように、ボタンを押した瞬間の速度情報を保持させておくサンプルホー 路のままでは、積分器の入力に与える速度を変化させてしまうと、移動速度も変わってしまいま 決め、ボタンを押すことで、積分器に与える速度を変えられるようにします。この時、図 3.2 の回 ( 1 ) について、操作方法としては基本方針で述べた通り、ポテンションメータで打ち返す速度を 横方向の運動をシミュレートする回路 これらを実現する回路について考察してみます。 ( 3 ) 相手が打ち返すまで自分が打ち返せないようインタロックをかける。 ( 2 ) ボタンを押した瞬間、ポテンションメータで与えられた速度情報を保持する。 図 3.4 の状態遷移図を基に考えてみます。 むようになるシーケンスとします。 て考えてみます。話を簡単にするため、プレーヤー A が必ずサープし、ボールが画面右方向に進 横方向の運動をシミュレートする回路の基本形が完成したところで、いよいよ制御回路につい 状態遷移図を描いて考えてみる がすぐ反映されるようにします。 初期値入力やサープ権の初期設定後、プレーヤー A の操作 ( ショットボタン押すこと ) によっ ます。 器、スイッチ ) の状態、矢印の上に書かれている補足は次の状態に移るための条件が書かれてい 丸で囲まれている文字は状態を表し、四角い吹き出しで囲まれている文字は各ュニット ( 積分
1 第 1 章イントロダクション このシリーズでは、アナログコンピュータ = アナログ回路だけでテニスゲームを作ってみような んて事を題材に進めています。 まずはここまでの経緯を追ってみましよう。 1 ユ前前々回のおさらい 図 1.1 アナログ回路だけでハートマークを描いてみた『ラブサーキット』 のアナログコンヒ。ュータについて述べてみました。回路の精度を確認するサークルテストからは 『サープ編』では、「ガッツリ微分方程式を解いてみよう ! 」をテーマに、微分方程式を解くため 1.2 前々回のおさらい 案外、キレイに描けていた事が正直本人もビックリ wo トマークを描ける『ラフ。サーキット』を紹介しました。 れば方程式が解ける」ということを解説した上で、アナログ回路だけで、オシロスコープにハー 「アナログ回路だって、計算できるんじゃ ! 」「数式の成り立ち通りに、個々の演算回路をつなげ グ回路のみでオシロスコープにハートマークを描いてみよう」を題材にさわり程度な内容でした。 『ラブサーキット編』では「アナログ回路だけでここまで作れんだぞ ! 」っていうことで「アナロ 3 じめ、ボールの放物運動までを回路でやってみました。 山 on 0S502 れー