ちょっと待って、そのバックパック…浮いてる?

ちょっと待って、そのバックパック…浮いてる?

クレイジーに見える。いや、クールな発明だと思う。ホバーグライドパックのアイデアは、普通のバックパックで起こる不快な揺れや衝撃を軽減することにある。でも、これを見るとちょっと頭が混乱する。物の動きの感覚が狂ってしまうんだ。

コツは、バッグが何らかの伸縮性のあるコードで吊り下げられていることだと思います。体が上に動くと、バッグを引き上げようとする力が増します。しかし、伸縮性のあるサスペンションでは力が徐々にしか増加しないため(硬いハーネスを使った場合の急激な動きと比較すると)、荷物の上昇速度が上がるまでに時間がかかります。荷物が上昇し始める頃には、すでに体はすでに下がっているのです。

簡単に説明しましたが、見た目以上に複雑なことが起こっています。この物体の物理的な仕組みを紐解いていきましょう!

バックパックが跳ねるのはなぜですか?

まず第一に、なぜこれが必要なのでしょうか? 重たい荷物を背負って急いだことがある人(また授業に遅刻しそう…なんて時など)、リュックがガタガタと揺れて、自分の動きとリズムが合わないのをご存知でしょう。でも、なぜそうなるのでしょう? リュックは自分の動きに合わせて上下に動くべきではないでしょうか?

結局のところ、地面から離れると、あなたとリュックサックの両方に重力がかかります。物体にかかる重力はその質量に依存し、加速度も同じ質量に依存するため、質量の異なる物体は同じ加速度を持つはずです。これが、高いところから落としたボウリングのボールと野球のボールが同時に地面に着地する理由です。リュックサックと人も同じ加速度を持ち、一緒に「落下」するはずです。

でも、実はこうなんです。ストラップと肩の接続部分は、バネのような働きをするんです。ある程度の柔軟性があるんです。現実世界の物は完全に硬いわけではなく、力が加わるとあらゆるものが少し曲がったり、潰れたりします。実際、この柔らかさをまるで本物のバネのようにモデル化できるんです。バネは簡単にモデル化できるので、これは便利ですね!

バネの鍵となるのは、バネが及ぼす力は、バネが圧縮または伸長する量に比例するという点です。これはフックの法則と呼ばれ、力と圧縮を関連付ける比例定数はバネ定数kと呼ばれます。これはバネの硬さを表すものと考えることができます。

では、私の設定はこうです。人間とバックパックという、ふわふわした物体が2つあります。ゼリーのキューブのようなものだと考えてください。人間は空中に飛び上がり、その上に乗ったバックパックには上向きのバネ力が働きます。この反発力は、圧縮される際のバックパックの中心間の距離の変化から計算できます。(プログラムでは、実際には両者を剛体として扱いますが、エッジが重なるようにしています。同じ効果です。)

ジャンプ中、人間には3つの力が作用します。(1) 重力。これは人間の質量と重力場(地球上では、g = 9.8 ニュートン/キログラム)の積に等しくなります。(2) バネ力。バックパックと人間の間にはバネのような相互作用があるため、両方の物体を同じ大きさで反対方向に押します。(これが力の作用の仕方です。もしよければ、ニュートンの第三法則と呼んでも構いません。)(3) 立方体人間が地面から押し上げる力。この力によって人間は地面から離れ、加速します。もちろん、人間が地面から離れると、この力は消えます。

diagram with two stacked squares the bottom representing the human and top representing the Pack

イラスト: レット・アラン

でも、これでジャンプ中にバックパックが人間から外れてしまうのでしょうか? 仕組みを確認するためにPythonモデルを作ってみるのはどうでしょうか? ここに私のモデルがあります。これはGIF画像ですが、コードはtrinket.ioでご覧いただけます。(異なる仮定を入力して実行し、どのように変化するか試してみてください。)

ビデオ: レット・アラン

ここでは、パックが実際に跳ね上がっているのがわかります。よく考えてみると、これは理にかなっています。ジャンプ動作の段階では、人間のパックが圧縮され、パックにかかるバネの力が大きくなります。このより大きな上向きの力は、パックをジャンプに向けて加速させるために必要なのです。

人間が地面から離れるまでは、すべて順調です。その時点では、人間にかかる力は2つだけです。下向きの重力と、リュックサックからの下向きのバネ力です。これにより、重力のみの場合よりも大きな下向きの加速度が生じます。同時に、リュックサックはバネ力によって押し上げられています。この2つの力が組み合わさって、リュックサックと人間の間に垂直方向の分離が生じます。

さて、念のため、簡単な宿題を出しておきましょう。質量が非常に小さいバックパックを使ったらどうなるでしょうか?人間とバックパックの距離は変わりますか?(上記のコードを使って答えを見つけることができます。)

バウンスに打ち勝つ方法

最初は「ホバーグライドにはバネのようなショックアブソーバーが内蔵されているから、それで終わり」と思ったかもしれません。しかし今では、普通のバックパックにもハーネスにバネのような接続部があることがわかりました。つまり、重要なのはバネそのものではなく、適切なバネを選ぶことです。

具体的には、HoverGlideはバネ定数kが非常に低いバネを使用しています。そのため、バネの力が小さくなり、パックが上昇加速するのに非常に長い時間がかかります。人が地面に着地する頃には、パックはほとんど動いていません。パックがほとんど動かないため、肩にぶつかっても衝撃が伝わりにくいのです。

以下は、ゴムバンドにぶら下がった 1 kg の質量によるこの効果のデモンストレーションです。

ビデオ: レット・アラン

私の手が、ぶら下がっている重りよりもずっと大きく動いているのが分かりますか?これがその考え方です。実はこれはとても興味深い物理学の問題です。どの入門書でも、似たような、しかしもっと退屈な問題、つまりバネの上で振動する質量について取り上げています。でも、バネの先端の取り付け点も振動していたらどうなるでしょうか?私はこれを「揺れるバネ」と呼んでいます。

この問題の何がすごいかご存知ですか?モデル化には2つの方法があります。1つ目は、ラグランジュ力学を用いて、エネルギーとシステムの制約条件に基づいて運動を決定する方法です。ラグランジュ力学についてはこれで全てです。ラグランジュ力学は最良の解決策ですが、そこに至るまでには少し説明が必要です。

代わりに、皆さんご存知の通り、私が得意としていること、つまりPythonを使った数値計算をやってみましょう。数値計算の基本的な考え方は、問題を非常に小さな時間ステップに分割することです。各ステップで、いくつかの単純化のための仮定を立て、新しい位置と運動量を計算します。(より詳細なチュートリアルが必要な場合は、揺れるバネではなく、安定した吊り下げ点を持つ振動質量をモデル化する方法はこちらです。)

Pythonで作成したジグルスプリングモデルをご紹介します。単純な振動スプリングとジグルスプリングの大きな違いは、上部のマウントポイントを一定の周波数で動かす必要があることです(コードは実際には非常に似ています)。ジグルの違いを示すために、2つの質量を用意しました。左側の質量は右側の質量よりも高い周波数で振動しています。(ただし、勇気があればコード内でこれらの値を変更することも可能です。「鉛筆」アイコンをクリックしてコードを編集してください。ぜひ挑戦してみてください!)

振動周波数が高くなると、吊り下げられた質量がほとんど動かないことがわかります。これは素晴らしいことだと思います。実は、これは共振の問題と考えることができます。バネの質量は、物体の質量とバネの剛性に依存する固有振動数で、自ら振動することができます。

つまり、HoverGlideパックを設計するには、伸縮コードの硬さを慎重に選ぶ必要があります。バネ定数が低すぎるとパックが垂れ下がり、地面にバッグを引きずっているような見た目になってしまいます。高すぎると普通のバックパックと変わりません。それでは意味がありません。

もう一つ考慮すべき点があります。剛性の値を全く間違えると、人間の走行動作がパックに共振を起こし、制御不能な振動を引き起こします。これは実に面白い事態です。


WIREDのその他の素晴らしい記事

  • 藻類キャビアはいかが?火星への旅で何を食べる?
  • 主よ、スタートアップ生活から私たちを救ってください
  • コードに夢中な小説家が執筆ボットを開発。物語はさらに複雑に
  • WIREDによるIoTガイド
  • オンラインで安全にファイルを共有する方法
  • 👁 顔認識の秘められた歴史。さらにAIの最新ニュースも
  • 🏃🏽‍♀️ 健康になるための最高のツールをお探しですか?ギアチームが選んだ最高のフィットネストラッカー、ランニングギア(シューズとソックスを含む)、最高のヘッドフォンをご覧ください