2023年05月30日
私が現在博士課程学生として所属しているSoft Robotics Labでは、人間の手を模したロボットハンド Faive Hand を開発しています。人間と同じように5本の指を持ち、それぞれの指も人間と同じくらいの可動域があるので、人間が扱える道具や行える動作をこのロボットでも実現することを目指しています。
このロボットは研究室の卒業生であるStefanが、卒業後もこの開発を続けたいということで、いずれは起業することも視野に入れてスピンオフプロジェクトFaive Roboticsとして開発をリードしています。彼はもう就職しており普段は医療系機器メーカーで働いており(スイスなので仕事は毎日定時で帰れるそうですが)、その仕事が終わってからこのプロジェクトに関わる学生の指導をしたり開発のミーティングに出たり投資家へのピッチを用意したりと、すごいバイタリティを持っているなと関心しています。
私は現在このロボットの制御器の開発に関わっています。ピンセットのように可動部が少ないロボットハンドなら制御器を書くのは比較的簡単(「開く・閉じる」しか動作がないので運動を解析しやすい)なのですが、Faive Handは16個もの関節を持ち、それらを全て制御するためには、従来の制御手法には限界があります。そこで「強化学習」という、機械学習を動作制御に当てはめたような手法を使うことになります。
この手法のネックは、「学習」というだけあってシミュレーション内で動き方を学習するために何度も試行錯誤する必要があり、まともに動作するまでにとても時間がかかるというところにあります。強化学習によって五指ハンドで立方体をクルクル回転させるのに成功した論文では、学習が終わるまでシミュレータ内で3年分訓練する必要がありました [1]。もちろん、シミュレーションを実世界よりも速く回すことができるので、3年間も計算し続ける必要はありません。この論文は強化学習を五指ハンドの制御に適用した初期の論文なのですが、384個ものコンピューター(それぞれに16個のCPUを搭載)で並列計算しており、相当な資金力や資源のある機関にしか手の届かない手法でした。
しかし、最近では小規模な研究グループでもこのような学習ベースの手法を扱えるようになってきています。CPUではなく、GPU (Graphics Processing Unit) という、並列処理に向いた計算機を使ったシミュレータが登場してきているためです。GPUは、Graphicsという単語が入っている通りもともと画像描画が目的で作られたのですが、並列処理が必要な計算ならなんでも向いているため、最近はビットコインの採掘や機械学習のために使われることの方が多いかもしれません。物理シミュレーションにも使うことができ、IsaacGymなどのGPU向けのシミュレータが登場してきています。これがあればいくつものロボットを並列でシミュレーションすることができます。ノートパソコンでも、良いGPUが搭載されていれば約8000個のロボットを並列でシミュレーションすることにより1時間ほどで学習を終えることが可能です。シミュレーション空間内に何千個ものロボットハンドが並んだ姿はなかなか圧巻です(ちなみに彼女にこの写真を見せたところ、「一つ一つの手に意識がありそうで怖い」と言われてしまいました笑)。
このように、ロボットの強化学習の分野は日進月歩で進んでいるのでついていくだけでもなかなか大変なのですが、この中で自分なりの貢献をできることを目指して頑張っています。