あつまれブリッスルボットの平原(協調運動の発生起源)【論文紹介】#17

日本語資料がないのが不思議なほどだが、ブリッスルボット(bristlebot)というものすごくシンプルな仕組みで自走するロボットがある。
歯ブラシのブラシ部分だけを切り取って、スマホのバイブパーツと電池を付けただけのもので、ブラシの毛を足として振動によって前進する。あと、全く必要ないが目を付けてかわいくしてある(←重要!)。

今週紹介する論文はこちら。
A Mechanical Origin of Cooperative Transport
協同輸送の機械的起源
2402.05659.pdf (arxiv.org)

ブリッスルボットが前進する仕組みは、毛がたくさんあるとわかりにくいが、本論文ではわかりやすく改良されたものとして、傾斜の付いた柔らかい脚2本と硬い脚1本のものを使う(目は付いていない)。
ロボット1個の大きさは直径5cmで、図1では、直径28cmの大きな荷物を運ばせた様子。柔らかい脚の傾斜の向きによって進む向きは変わり、荷物を運ぶ時の力の合わせ具合も変わる。

図1 A.柔らかい脚を前にして進むボット B.2分でフィールドの壁にまで達する
C.柔らかい脚を後ろにして進むボット D.15分経ってもほとんど動いていない E.何度かやって動いた範囲の面積の時間発展(両対数) まっすぐ進むなら時間の2乗になる。時間の1乗は典型的なランダムウォーク。

図1に示される通り、柔らかい脚を傾かせた方向を後ろにして走るようになる。そして、走る向きだけでなく荷物の押し方も大きく違う。
青いほう(図1C,D)は荷物にぶつかったら離れていき、荷物は水分子に押される花粉の粒子のようなブラウン運動的な動きしかしない(自然にあり得そうな動き)。
一方緑のほう(図1A,B)は荷物にぶつかっても押し続け、周りのロボットも協力してまっすぐ進むようになる(自然にはあり得ない創発的な動き)。

このような動きがなぜ起こるのかを解明するため、まず、なぜ柔らかい脚の傾きによって進行方向が変わるのかをよく見てみる。
振動によって、ロボットの状態は3つの状態Ⅰ静止状態Ⅱ空中状態Ⅲ回転状態に分かれる。
Ⅰ静止状態では、3本の足で床を踏み、この状態から振動素子の反動を受けて浮き上がる。その時に柔らかい脚が少し沈み込んで傾斜の向きに床を蹴ることによって前に進む。その時の水平速度を$${v_A}$$、滞空時間を$${\tau_A}$$とする。$${T}$$は3状態が1周する時間。

図2 A.静止状態、空中状態、回転状態の概要 B.δが負のボットの各状態 C.δが正のボットの各状態 D.傾斜した地面によって外力fをかけ、それに逆らう方向に動くδが負のボット E.δが正のボットは外力に従う(スケールバーは10cm) F.曲率κを取り入れた式1, 2のシミュレーションの結果

Ⅱ空中状態では、荷物を押すときの反作用などの外力 f を受けて速度が変わる。
ⅠとⅡトータルでの移動速度$${\vec{v}}$$は式1のようになる。
$${\vec{v}=v_0\hat{e}+\mu\vec{f}}$$ (1)
$${\hat{e}}$$は進行方向の単位ベクトル
公称速度$${v_0=v_A\frac{τ_A}{T}}$$は時間$${τ_A}$$の間の速さ$${v_A}$$の動きを$${T}$$で平均化したもの。
移動度$${μ=\frac{τ^2_A}{2mT}}$$は、1回のジャンプでの移動のしやすさを表す。これに f をかけると1回のジャンプの間の速度変化となる。
この式は、導体中の電子が格子との衝突中に運動量を失うという描像でオームの法則を導くドゥルーデ(Drude)のモデルに似ている。

柔らかい脚は浮き上がるときに反動を少し吸収するので、柔らかい脚の側はジャンプの高さが低く、少し早く着地する。
Ⅲの回転状態では柔らかい脚が着地して地面からの回転力を受ける。モーメント$${I}$$は、力点の重心からの距離δと力fの積で次のように書ける。
$${I=δ\hat{e}×\vec{f}}$$
$${\hat{e}}$$は進行方向のベクトル、$${\vec{f}}$$は外力なので、モーメントの符号を意識すると、図1Cに示されるようにボットが前転する向きならδは正、図1Bの後転する向きならδは負になる。ここでのδが正か負かによって外力に従うか逆らうかは変わる。
進行方向のベクトル$${\hat{e}}$$の時間変化を考えると次のようになる。
$${\frac{d}{dt}\hat{e}=κ\hat{e}×(\vec{v}×\hat{e})}$$ (2)
ここで$${κ=\frac{mδ}{I}(\frac{τ_P}{τ_A})^2}$$はボットが動く軌道について曲率と同じものと扱える。外力がかかることを空間のゆがみとみなして、δに比例してκが正なら傾斜を下るほう、κが負なら傾斜を上るほうに進行方向は変わることを表す。

この方程式(1), (2)は、異なるパラメータの平均値のみを必要とし、3つの状態の順序には特に意味はない。
以降は式1,2によって、1個1個のボットを、上下の振動は無視して水平方向の動きだけシミュレーションする。また、温度Tに比例した熱雑音も加える。まず、ボット1個の動きをシミュレーションしたのが上の図1Fである。曲率の意味する通りに動いている。
そしてお待ちかね、ボット数1000で荷物を運ばせたシミュレーションが下の図3である。

図3 A,C.曲率κの符号によって、外力による進行方向の変化の向きが変わる様子 B,D.ボット数1000個で荷物を運ばせるシミュレーション E.移動範囲の面積の時間発展(両対数) 図1と同様にシミュレーションでも、曲率負のボットなら直進的、曲率正のボットならブラウン運動的な動きが見られた

図1と同様に、実物での実験に対応するように曲率κを設定したボットは、シミュレーションでも同様の挙動で荷物を運ぶことが示された。
実物での実験とシミュレーションは、支配する物理法則が大きく異なることを考えると、よく一致する振る舞いが示されたのは非常に驚くべきことである。
シミュレーションでは、粒子の直径に比例する抗力を持つ過減衰限界で粒子をモデル化し、自己推進力は滑らかで、方向ノイズはガウスであり、運動は厳密に2次元である。
対して実物のロボットは慣性物体であり、有効な活性粒状気体を作り、地面と互いに固体摩擦があり、断続的な振動自己推進力があり、非ガウス型配向ノイズがあり、急速なホッピングは準2次元的である。
このような似つかない物理的ダイナミクスが同様の協調的輸送の振る舞いを見せることは、より深い説明を示唆している。

さらに、荷物のサイズを変えた実験によって、より興味深い現象が見られた。直感に反するようだが、実物の実験でもシミュレーションでも、曲率が負のボットは荷物のサイズが大きいほど、しっかり協力するような結果が得られた。

図4 A.実物でもシミュレーションでも荷物が大きいほど協力傾向は強くなる B.曲率κが小さくなると協調傾向は強くなる 縦軸は移動範囲の面積の時間発展べき指数 C.κa=-1の線(白点線)より左側で協調傾向が強い 色は公称速度v0に対する平均速度の比率

ここまで見てきた、ボットが協力するようになる理由、つまり、荷物にぶつかったボットが荷物の進行方向の後ろ側に集まる理由は次のように考えられる。
ボットを反作用で押し返す円形の荷物は、原点に固定されたU = U (r)という、ボットに反発力を及ぼす、2次元の円対称のポテンシャルとしてモデル化する(図5A)。ボットにかかる外力 f はポテンシャルの勾配に比例する。
$${\vec{f}=-\nabla U(r)=\frac{Γ(r)v_0}{μr}}$$
ボットの運動は式(1), (2)に従ってポテンシャルと反応した運動をする。ポテンシャルの勾配は、中心からの距離 r が元の荷物のサイズ a のときは元の外力 f と同じになるように設定する(そこさえ合わせれば、実はポテンシャルの関数U(r)の形は指数関数でも逆二乗でもrについて単調減少なら任意の関数でも以下の議論は変わらない!)。
系は回転対称性を持ち、挙動はポテンシャルの中心に対する方位の向き$${\psi=θ-φ}$$にのみ依存する。
式1,2を、ポテンシャル中心を原点とした極座標系に書き直すと次のようになる。
$${\dot{r}=v_0[cos\psi+Γ(r)]}$$ (3)
$${\dot{\psi}=-v_0[κΓ(r)+\frac{1}{r}]sin\psi}$$ (4)
$${\psi=0}$$のとき、ボットは荷物から遠ざかる向き、$${\psi=π}$$のとき、ボットは荷物に近づく向きである。式4は$${\psi}$$の時間変化を表しており、左辺の[ ]内が負になるときに$${\psi}$$は原点に引き寄せられるようになる($${\psi}$$が正だと$${\dot{\psi}}$$が負で小さくなっていき、$${\psi}$$が負だと$${\dot{\psi}}$$が正で大きくなっていくため)。中心からの距離rがaに等しいときΓ(r)=1なので、ボットが引き寄せられるようになる条件は
$${κ+\frac{1}{a}<0}$$ (5)
式5の両辺aをかけて1を移項すれば$${κa<-1}$$という条件となる(図4C)。
また、式4の[ ]内をu(r)と置いて、κaの値ごとにグラフを書いたのが図5C。κa=-1で初めてu(r)の値が0になり、κa=-2のときのu(r)が負になるrの値が、ボットを引き寄せ合うエリアである。

図5 A.ポテンシャルの概形 B.ボットの進行方向eと角度φとθの定義 C.κaの値ごとu(r)のグラフ D.κaの値ごとのボットの密度λ E,F.κa=-2, 1でのψとrの位相図

図5E, Fはそれぞれ、遷移の下方(κa = -2)と上方(κa = 1)の力学系の位相図で、ボットの状態が距離rと向き$${\psi}$$によってグラフ上のどこかにプロットされるが、式(3),(4)によってどのようにrと$${\psi}$$が変化するかをベクトルで示したものである。図5Eの灰色の部分に入ったボットには、r=1,$${\psi=π}$$つまり、真後ろから荷物を押す位置にボットが集まるような力学が働く。図5Fにはそのような吸引点はなく、むしろ荷物の真後ろの位置からは離れるような力学が働く。
図5Dは、荷物の周辺のボットの密度λのプロットであるが、κa = -1を下回ると急激に密度が上がっている。

このようにして発生する効果的な引力とその結果生じる協同輸送は、様々な方位ノイズに対して頑健であることも示される。
荷物を右に駆動する揺らぎuxˆ (w.l.o.g.)は、対称性を自発的に破り、式3と4における方位座標への明示的な依存性と、方位そのものに対する追加の力学方程式:φ˙ = (v0sinψ + u sinφ) /rを導入する。この式は、荷物をさらに右へ、つまりすでに動いていた方向と同じ方向、φ=ψ=πへ押すための安定した固定点を持つようになる。これは、ある集団が荷物を通過するとき、同じ方向に押す個体を優先的に採用し、協調輸送を促進することを意味する。

図6 A.温度Tによるノイズをある程度まで加えても移動速度の速い緑の領域が見られる B.Aに見られる転移温度の上下での荷物の動き 転移温度を超える2500K(赤線)ではほとんどランダムな動きしかしなくなる

本論文のブリストルボットは、目がついていない(かわいくない)が、それでも方向を一度定めたら協調輸送ができるという点で画期的だと思う。センシング、フィードバック、制御を一切行わずに、集団的輸送が自発的に出現するのである。それも、ボットの機械的設計を少し調整するだけで、外力に対する向きの反応を劇的に変化させることによって実現されている。
本論文の先行研究では、アクティブなボットの群れにパッシブな荷物を導入すると、中程度の拡散ダイナミクスを示す。荷物が明確な形状の非対称性を持たない限り、ブラウン運動しか示さないことが示されていた。洗練された回路と高度な人工知能で強化されたロボット群に置き換えても、外部からの手がかりや手動による位置決めの助けなしには、限られた結果しか得られなかった。電子フィードバック、近接センサー、通信を備えたロボットは、ペイロードやロボット同士の頻繁な機械的衝突のために、急速に変化する環境に対応するのに苦労している。機械的衝突を完全に回避するようにロボットをプログラムすると、集団力学が抑制され、何度も群スケールのデッドロックに至った。

ブリッスルボットは作りが非常に単純なので、これが有用に使えるとなると、物流や運輸業を始め工学的応用が幅広く期待できる。

(タイトルは雰囲気で決めてしまったが、ブリッスルボットの挙動はどうぶつの森よりピクミンに似ている?私はどちらもやったことないけど。)

告知 当方、花粉症のため集中力が持たず、5月ごろまで更新が不定期もしくはほぼない状態が続くかもしれません。この記事も集中力が切れっきれになりながら、書き上げるのがつらかった。

 

この記事が気に入ったらサポートをしてみませんか?