見出し画像

アルゴリズミック・ロボットデザイン

秀島 裕樹(ひでしま ゆうき)

 ロボットに求められる形態や機能は多岐にわたるが,求められる要求に最も適したデザインや機構を設計していくことは難しい.

 その一方で,近年のコンピューティング能力の向上によって,シミュレーション上でロボットを動かすことや,強化学習を用いて動作を学習させることなどが可能になり,アルゴリズミック・デザインやジェネレーティブデザイン,コンピュテーショナルデザインなどといった,プログラミングをベースとした設計手法も出てきた.本プロジェクトはそれらのデザイン手法を動きのあるロボットにも応用しようと挑戦である.

 秀島君は,GrasshopperのプラグインやDLL(動的リンクライブラリ)を開発することにより,ロボットの形状を変化させながら動きを与え,評価することが可能となるシステム開発を行った.

 これらのシステム構成は図-1のようになっており,PythonからDLLを呼び出すことでモデルの形状変化や,物理シミュレーションのPyBulletを用いての評価や最適化が可能になっている.また,設計ソフトであるRhinocerosとGrasshopperoおよびPyBulletを連携させることで,ロボットのデザインや構造をパラメータによって変化させながらリアルタイムにシミュレーション結果を確認できるとともに,シミュレーション上で得られる結果を実機製作へとつなげていくことが可能である.

秀島01

図-1 システム構成

 このシステムをもとにして,秀島君は凹凸のある不整地を走り抜ける車輪型ロボットを,人間が介在せずにアルゴリズムによって設計した.

 今回の車輪型ロボットは,図-2のような二分木の構造となっており,それぞれの接続部分の長さなどをパラメータとして与えることができ,また,それぞれの接続部分は自由に動くようになっている.

秀島02

図-2 車輪型ロボットの二分木による類型化

 このような一定の法則のもとで生成されるさまざまなモデルの中から,今回は,6つの車輪等の条件を設けて,凹凸のある不整地をどれだけ長くかつ速く走行できるかどうかを評価し,遺伝的アルゴリズムによって,最適化していくとともに,大量に評価されたモデルの中から,最も評価が高いものを選択する.

 その後,パラメトリック・デザインで事前に定義されているアクチュエータや部品を適用することで,詳細なモデルへと変換を行い,得られた部品を3Dプリンタで製作を行った.これらのステップは図-3の通りであり,実際に走行している様子が図-4である.

秀島03

図-3 車輪型ロボットの製作工程

秀島04

図-4 障害物を乗り越えていく車輪型ロボット

 このように,最終的な形状に関しては人間が決めることはなく,アルゴリズムによって大量の選択肢の中から最も評価の高いモデルを選択することができたことは今後の応用にもつながる面白いプロジェクトであったと思う.(田中邦裕PM担当)

[統括PM追記] 正直なところ,竹内には最初とても心配なプロジェクトだった.しかし,秀島君が目指していることを具体的に示すことができる車輪型ロボットの発想が出てからはあれよあれよという間に説得力抜群の成果につながった.「デモが命」とはよく言うが,目指しているものをドンピシャのデモで示すことの重要さを改めて感じた.

(2021年6月30日受付)
(2021年8月15日note公開)