パーティクルとポテンシャルによる移動経路設定の基礎検討

ポテンシャル

はじめに

Mnogokoroではポテンシャルフィールに対して、バネで接続された線状のポイントで形成されるオブジェクトが、どのようにふるまうかについて何度も論じてきました。代表的なものは、2025.09.04のblog「ポテンシャルフィールドを含めた「擾乱を伴う反復系」」、2025.09.01の「ポテンシャルフィールド 環境とのインターラクション」です。特に、後者では「最短経路の探索」問題も扱っています。AからBへ至る経路を求める際に、取りうる可能性の経路を全て計算するのではなく、ポテンシャルの低い所へ落ち着くという物理現象を利用した経路設定の基礎的な考えを述べています。この例は、2025.10.26「フィジカル・インテリジェンス」にも再録しました。この時は、ポテンシャル分布が、「感覚的な危険を表すのに使えるのではないか」ということを述べています。例えば、危険をポテンシャルで表す場合、速度が速いと大きくするというのは通常ですが、人が危険と感じるのは速度だけではありません。例えば対象の大/小、対象が重い/軽い、道が広い/狭い、よける場所のあり/なし、自分が頑丈/脆弱、等です。こうした様々な要因によって危険を感じる度合いは変化します。こうした感覚を含めた危険をポテンシャルの高さや大きさ、広がり方等で表すことができなのかと思っています。こうしてできたポテンシャルを回避するように行動すると、安全な移動経路が見つかるのではないかと考えています。今回の検討もこの路線です。これまで、「擾乱を伴う反復系」をポテンシャルと相互作用させてきました。他にもパーティクルをポテンシャルフィールドに作用させる方法もあることに気が付きました。どちらも基礎的な状態ですので、とちらが良い/悪いといったことや、利用する場面でそれぞれ役割がある、といった結論を得るレベルに至ってはいません。しかし最後に簡単に比較しています。今回紹介する方法は、移動経路設定につながるのではないか、という可能性の話です。今回の話では、場であるポテンシャルフィールドとparticlesとは独立に扱います。「擾乱を伴う反復系」ではポテンシャルフィールドも含めて人工生命という考え方ができましたが、そのようには扱っていません。

ポテンシャルフィールドとパーティクルの関係

まずは映像をご覧ください。Touchdesignerでプログラムしています。

ポテンシャルフィールドがあり、下側にパーティクルの放射源があります。ポテンシャルは周期的に変化しています。パーティクルはゆっくりと左右に動いています。フィールドの上側にmetaball SOPを用意して、これをparticle SOPのSurface Attractorsに入力しています。particleは下から上へのforceによって動いていますが、フィールドの上側にアトラクターがあるので、それに向かって動きます。particleはTurbulenceのforceも作用させているので、少しゆらいでいます。またこの映像のように、particleはポテンシャルに衝突すると、それに阻まれます。ポテンシャルが無いところを縫って下から上に達します。パーティクルの位置を数値化すると、どこまで進んだかがわかります。このように視覚的に分かりやす表示が、AIと人とのコミュニケーションにも役立つと考えています。これについて、2025.12.05のblog「「擾乱を伴う反復系」と「衝突問題」・・・」で述べています。AIに映像を見せることによって、AIがどういう状態なのかを翻訳・解釈して言語化し、人に知らせるようになるのではないかと思っているのです。このため、視覚的に分かりやすいということが、AIエージェントにとっても分かりやすいということになっていくと考えています。

ポテンシャルフィールドの迂回

上の映像のように、ポテンシャルに衝突して止まるのであれば、直線的にポテンシャルの間隙がある場合は移動経路を見つけることができます。しかしそれ以外は見つけられません。そこで何とか迂回する方法が必要になります。今回もまず映像を見ていただきましょう。

この映像ではポテンシャルを縫って左側に進行しそれから上部の中心に向かって移動しています。「く」の字のようなルートを通り、上手く迂回できています。ただし、今回は移動経路を決めるプログラムが含まれているわけではありません。私がいったん斜めに動かして、上部の中央に向かわせようとしました。方法も特別な手法ではありません。説明図を次に示します。

上の中央にmetaball SOPがあります(A)。これがゴールです。もう一つ、左側の中央より下にmetaball SOPを用意しました(B)。これらのmetaballはparticle SOPのSurface Attractorsに入力しています。Aに直接向かおうとするparticleもあります。しかしこれは、ポテンシャルによって遮られています。Bに向かうかと思いますが、上側へ移動させるforceが常に働いているので、Bより上に向かって多くは進行するようです、よく見ると、折れ曲がった所からB位置に下がってくるparticleもあります。アトラクターとなるmetaballによる力と上方へ移動させるforceとのベクトル計算になっているようです。もう一つ重要なのはparticle SOPのパラメータです。特にSurface Attractionは重要でした。これはparticleがアトラクターのサーフェースにどれだけ引き寄せられるかを決めるパラメータです。今回の例では、小さすぎるとる左側に動く能力が下がり、上側へ移動するforceが支配的になり全てポテンシャルに衝突します。大きくし過ぎると、左側へ行くベクトルが強くなり、「く」の字のようになる経路の上側が分厚くなります。今回の場合は5~7程度が最適でした。途中のアトラクターに一旦集まって、次のアトラクターに向かうというわけではありません。ベクトル的な動きであることを知って設定する必要があります。今回の検討で、metaballを使って曲げることで移動経路を設定することはできそうに思いました。ただし、遠くの目的地に対して移動経路を決めるというより、目の前の移動経路を決めることになります。これは、モノの身体性を考えようとしているフィジカル・インテリジェンスの観点からは問題ではありません。少しだけ未来が感覚的に予測できるようになることが目的だからです。

感想

2025.11.15のblog「映像による音生成」は「フィジカル・インテリジェンス」を意識して書きました。これと比較すると、particleを使う方法は移動経路を求めるには適していると思いました。「擾乱を伴う反復系」は全てのポイントがバネで結ばれています。ポテンシャルに引っかかる部分があると、直線的に進行する部分にも影響を与えます。これが大きな違いです。「映像による音生成」の場合のように、ポテンシャルに衝突した感じを表すには「擾乱を伴う反復系」のほうが、適しているように感じます。衝突により滞る感じが表現できるためです。今のところ、互いに補間する関係になるのではないかと思っています。

コメント