- 締切済み
テーブルを傾けてボールを真中に最短時間で移動したい
一般的な話題ですので、お付き合いいただければ幸いです。 テーブルの端にボールがあり、テーブルの中心とを結ぶ直線上を動いているとします。 テーブルを傾けて、ボールをテーブルの真ん中にもってきて、静止させたいとします。 テーブルは最大で垂直に傾けることができるとします。 最短時間で行うには、テーブルをどのように傾ければよいのでしょうか。 数式化すると次のようになると思います。 x軸上に質量mの質点があり、 時間t=0でx(0)=r , (d/dt)x(0)=v とします。 時間tでは、運動方程式で、 m(d^2/dt^2)x(t)=F(t) ただし、gを重力加速度として、-mg≦F(t)≦mg あるTに対して、t≧Tで、x(t)=0 , (d/dt)x(t)=0 にしたい。このとき、F(t)とTを求めたいのです。 ボールがある正の位置にあったとき、ボールが正の大きな速度を持ていると、ボールを最短時間で原点に静止させたいという目的のためには、最大限の負の力-mgを与えるべきだと思います。 ボールがある正の位置にあったとき、ボールが負のとても大きな速度を持ていると、そのままだと原点を通り過ぎて負の位置にいきがちなので、最大限の正の力mgを与えるてブレーキを与えるべきだと思います。 例えば、横軸を位置、縦軸を速度とする座標を考え、ボールがある位置、ある速度だったときに、どういった力Fを与えるべきかを考えるといいかなとも思うのですが。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- stomachman
- ベストアンサー率57% (1014/1775)
No.3の追加です。 回転中心を固定したときどうなるか。 テーブル上の出発点をx=0、到達目標点をx=Lとする。テーブルの回転中心はx=Cにある。 時刻tにおけるテーブルの角度をθ(t)とする。 ボールのテーブル上での位置をx(t)とする。初期位置は0, 初速は0。 x(0)=0, x’(0)=0 ボールの運動方程式は x’’ = g sin(θ(t)) + (θ’(t)^2)(x-C) である。(θがtの一次式である場合を除くと、非線形。) ボールがx=Lに到達する時刻をTとする。このときボールはテーブルに対して静止すること。 x(T)=L, x’(T)=0 固定回転中心問題1 Tを最小化するようなθを求む。 つまり、条件付き変分問題という訳ですが、C≦0の場合にはざっくり言えば、θ(0)=-πの状態から、短時間sの間にテーブルを急激に回転させてθ(s)=πにし、 x’(s)=√(2g(L-x(s))) になるようにしてやるのが最速っぽいかと思います。でも、Cによってθがかなり違いそうです。 また、C=Lの場合には、ボールがCに来た瞬間にテーブルを瞬時に回してゴン!と衝突させれば終速を0にできるとしても、θによってはテーブルを立てる過程でボールがx<0の方へ吹っ飛んで行ってしまう。丁度いい加減を見つける必要がありますね。 ボールがCに来た瞬間にゴン!で減速する、というのを許さないために、θが連続関数だという条件を付けた問題も考えられるでしょう。また、初期状態と終状態が静的であることを要求して、 固定回転中心問題2 Tを最小化するようなθを求む。ただしθは連続関数で、θ(0)=θ(T)=0。 というのもアリかと。 しかし難しそうだなあ。とりあえずシミュレータを作って、θを手動でコントロールできるようにすると、ゲームができそうですね。 まずは固定回転中心問題1の条件で、しかも運動方程式が線形の場合として「テーブルをθ(0)=-πから一定の角速度aで回す。θ=πになったらテーブルを止めて、ボールが止まるのを待つ」つまり t<π/a → θ= at, t>π/a → θ’=0 というやりかただけを考えると、運動方程式は t≦π/a → x’’ = g sin(at) + (a^2)(x-C) t>π/a → x’’ = -g と、それぞれの区間で線形になる。t<π/a についてこれを解くと x = (g/(2 a^3))(sinh(at)-sin(at)) +C(1-cosh(at)) x’ = (g/(2 a^2))(cosh(at)-cos(at)) -aC sinh(at) かな。 θがπ に達する時刻を t* = π/a と書くと、t*におけるx, x’の値は x(t*) = (g/(2 a^3))sinh(π) +C(1-cosh(π)) x’(t*) = (g/(2 a^2))(cosh(π)-1) -aC sinh(π) 以後はただの自由落下運動なので、x’が終速0になるまでにh秒かかるとすると、 h= x’(t*)/g = (1/(2 a^2))(cosh(π)-1) -(aC/g) sinh(π) その時の位置がLになるには x(t*) + hx(t*)- (g/2)(h^2) = L である。aについて解けば、テーブルの角速度aが一意的に決まる。 うーむむ、簡単に解けるように制限してみたら、簡単になり過ぎちゃったようです。 ところで、質問の末尾にお書きの > 例えば、横軸を位置、縦軸を速度とする座標を考え、 というのは、相空間(x, x’)における軌道を考えようということですね。最小化したいのは所要時間Tであるから、汎関数を相軌道に沿ったtの積分として表す、ということでしょう。θをxの関数で表すのはいいとしても、問題はθ’と時刻tを(x, x’)の関数の形に書けるかということでしょうか。
- stomachman
- ベストアンサー率57% (1014/1775)
[1] 「テーブルは、ボールが在る位置を中心として回転する」という条件を付けた場合、つまり、テーブルの角速度がボールに加速度を生じない場合を考えますと、最速なのは、明らかに: (1) テーブルを鉛直にする。ボールは自由落下し、テーブルからの抗力は0。 (2) ボールがテーブルの真ん中に来た瞬間に、テーブルを水平にする。ボールはテーブルから離れないのだから、そこで瞬時に止まるしかない。この瞬間のテーブルからの抗力は発散、エネルギーは保存しない。 要するに、瞬間的にテーブルを回せるのなら、「終速が0になる」という条件は無視できるのです。こういう乱暴な解が構成できるのは、一瞬にして制御量を変えるという離散的な操作を許すデジタル制御理論の特徴です。離散系の持つ、連続系の近似というだけでは済まない性質が顕著に現れた例ですね。 これはおそらくお望みの解ではないだろうと思っていたのですが、ANO.2のコメントを拝見すると、いや、こういうのもアリのようです。 [2] 「テーブルは、ボールが在る位置を中心として回転する」のに加えて、さらに「テーブルの傾きは連続的に変化する」という条件を付けてみましょう。 ボールがテーブル上をどれだけ進んだかをsと書く事にします。s=0が出発点、s=Lが目的地であるとしましょう。そして、ボールがsにあるときのテーブルの傾きをa(s)とします。また、直交座標系のx軸を水平、y軸を鉛直に取ることにします。このとき、ある連続曲線y=f(x), f(0)=0があって、曲線(x,f(x))に沿ってボールが運動する。ただし、(0,0)から(x,f(x))までの道のりをsとするとき、(df/dx)(x) = a(s)である。つまり、ボールがsにある時のテーブルとは、道のりsにおけるfの接線に他なりません。 さらに言い換えれば、「長さLのレールを曲げてジェットコースターを作り、終点までの所要時間を最短にせよ。ただし、初速と終速は共に0であること」という問題と等価ですね。 この場合はエネルギーが保存するから、終速が0になるようにするには、言うまでもなく、出発点と終着点の高さが同じでありさえすれば良い。また注意すべきなのは、ボールが曲線に沿って運動するので、重力以外に向心力による加速度が生じる、ということです。 すると最速なのは、明らかに: (1) テーブルを鉛直にする。ボールは自由落下し、テーブルからの抗力は0。 (2) ボールが道のりの半分(s=L/2)の直前まで来たら、テーブルを速やかに逆向きの鉛直にする(180度回す)。ボールは運動の方向を反転することになるが、エネルギーは保存する。そして、元の高さに戻ると速度は0であり、そこがテーブルの真ん中の位置(道のりs=L)である。 ジェットコースターのレールで言うと、U字の底の部分の曲率半径をできるだけ小さくしたものです。その極限を考えれば、「自由落下したボールが水平の床面で跳ね返って元の所に戻る」という運動と同じです。 [3] 「テーブルの回転中心はどこか固定された点である」という条件だと、既にANo.2に書いた通り、テーブルの角速度がボールを加速しますから、ボールの位置と運動のエネルギーの和は保存しない。これはどうもまじめに計算しないといけないみたいなので着手していませんが、回転中心がどこにあるかによって、解の様子がだいぶ変わるのではないかと思います。
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.1です。再び、補足のお願いですけど。 > 回転の中心はどこでもいいです。回転させた角度に応じて、ボールには加速度が生じます。 「回転の中心はどこでもいい」とは、「どこでもいいから、どこかに決めておく」という意味でしょうか。(回転の度に中心を自由に変えてもいい、というのだと問題が簡単になりすぎるようですし。)でも、回転中心をどこにするかで話がかなり変わりますよ? おそらく、「 回転させた角度に応じて、ボールには加速度が生じます」というお考えのもとに「どこでもいい」と仰ったのでしょうが、重力の作用以外に、テーブルの角速度によってもボールに加速度が生じることをお忘れではありませんか? あるいは、もしかしたら、「テーブルの回転中心は常にボールの位置と同じ」という条件をお考えなのかもしれません。これならテーブルの角速度によるボールの加速はありませんから。 というわけで、「テーブルの回転中心がどこにあるか」をはっきりしないと、まるで別の問題になってしまいます。
- stomachman
- ベストアンサー率57% (1014/1775)
奥行き方向は無視して上下左右の2次元で考えりゃいい問題で、しかも摩擦は考えないという設定だろうと思います。が、それでもまだご質問が曖昧です。 (Q1) テーブルは傾ける(回転させる)だけなのか。それとも、回転とテーブル全体を平行移動させる動きを組み合わせても良いのか? (Q2) テーブルを傾けるだけで平行移動させない場合、どこを中心にして回転させるのか。 (Q3) ボールがテーブルから離れることを考慮するのか、それともボールはテーブルから離れないと考えるのか。 (Q4) ボールはテーブル上を転がらずに滑ると考えるのか、滑らずに転がると考えるのか。(後者の場合、ボールの回転運動による角運動量を考慮しなくてはいけません。) もし、テーブルの動きは回転と平行移動を組み合わせて良くて、ボールはテーブルから離れずに転がらずに滑る、ということであれば、ボールをテーブルの中心に移動させるための必要な時間はいくらでも短くできます。てか、テーブルの中心をボールの真下に移動させるだけなんですけどね。
お礼
ありがとうございます。 テーブルの話は、あくまでイメージです。 また、とりあえずは、1次元の話です。 (Q1) テーブルは傾ける(回転させる)だけなのか。それとも、回転とテーブル全体を平行移動させる動きを組み合わせても良いのか? テーブルは傾けるだけです。 (Q2) テーブルを傾けるだけで平行移動させない場合、どこを中心にして回転させるのか。 回転の中心はどこでもいいです。回転させた角度に応じて、ボールには加速度が生じます。 (Q3) ボールがテーブルから離れることを考慮するのか、それともボールはテーブルから離れないと考えるのか。 理想的な話ですので、もちろん、離れることは考慮しません。 (Q4) ボールはテーブル上を転がらずに滑ると考えるのか、滑らずに転がると考えるのか。(後者の場合、ボールの回転運動による角運動量を考慮しなくてはいけません。) 理想的な話ですので、もちろん、回転運動は考慮しません。数式化した文章では、質点と書いてあります。 ところで、今日、車を運転していて、家に早く帰りたいと思い、次のような想像しました。 理想的な状況で考えます。 車はある直線上を動く。地面との摩擦は考えない。車に働く力は、タイヤの回転で生じるのではなく、ロケット噴射のようなかんじで生じるとする。ロケット噴射の力には、最大値が決まっているが、噴射の方向は反対にすることが出来る。 車をある目的の場所に最短時間で到着・静止させるにはどうすればよいか。 まず、逆を考える。目的の場所(x軸の原点)に車(質量m)が静止している状況の直前、車はx軸の正の方向にから移動してきた場合、ロケット噴射の最大の正の力(mg)で減速してきたはず。t秒前、つまり、-t秒後の速度-gt、位置gt^2/2。 これを横軸を位置x、縦軸を速度vを表すグラフにすると、v=-√(2gx)。 次に、話を戻す。車があるx軸上のある位置にいて、ある速度を持っているとする。 車は最短時間で原点に移動し、静止したいものとする。 とりあえず、車はx軸上の正で十分大きな値の位置にいるものとする。速度は持っているが、それと比べてもxの値は大きい。 すると、車は早く原点に移動したいために、ロケット噴射の負の最大の力(-mg)で原点に向かって加速し続ける。車の速度が多少上がっても、まだまだ加速し続ける。 これを横軸を位置x、縦軸を速度vを表すグラフにすると、右の遠方(x座標大)にあった点が、左下(x座標減少、v座標減少)方向に、動く。その軌跡は放物線の一部。 もし、そのグラフの点の軌跡が、曲線v=-√(2gx)とぶつかったとすると、一瞬でロケット噴射を正の最大の力(mg)での逆噴射に変更し、速度を減少させる。 すると、原点に到着したと同時に、速度は0になるので、そこで噴射を0にすればよい。 経験上では、おそらくそれが最短時間になる気がしますが、自信ありません。 数学的には次のようになると思います。 横軸をx、縦軸をvとする平面を考え、ある点(x,v)と(0,0)を結ぶ曲線をパラメータt(0≦t≦T)で考え、 (x(t),v(t))とする。 ただし、 (x(0),v(0))=(x,v)、 (x(T),v(T))=(0,0) また、 (d/dt)x(t)=v(t)、 -mg≦m(d^2/dt^2)x(t)≦mg ⇔ -gt≦v(t)-v≦gt ⇔ -gt^2/2≦x(t)-x-vt≦gt^2/2 このとき、Tを最小にするには曲線(x(t),v(t))をどのようにすればよいか?
お礼
ありがとうございます。 僕は、最短時間で移動・静止するということを目的としていたので、 ボールに与える力も実際には最大限のmgか-mgを想定していました。 一瞬でmgを-mgにすることも可能と。 テーブルを垂直に傾け、目的の場所に向かって加速させ、ある限界で急ブレーキをかけるために一瞬で180度回転させる。そして、目的の場所に着くと(そこで速度が0になるように調整はされている)、一瞬でテーブルを水平に戻せばよいと。 つまり、テーブルの傾ける角度は、時間に対して不連続で、それがベストと想定していました。 野球でホームに突進するときのように、目的の場所に向かって最大限に加速し続け、ある限界で急ブレーキをかけるのがベストの方法だと。 しかし、stomachmanさんのイメージでは、テーブルを連続的に傾けることによって生じる角速度もイメージされているようですね。 テーブルを不連続に傾けることなんて出来ないとイメージされたのかもしれないですね。 それは現実問題としては、考えなくてはいけないと思います。 その場合は、回転の中心は、テーブルの真ん中(原点)がいいかと思います。 今回の投稿は、ある種の思考実験ですので、いろいろな設定で考えられた結果を知りたく思います。 投稿のきっかけは、バランス制御の仕組み(一般理論)は、どうなってるのだろうということです。