概要

 本プロジェクトでは、従来の作り込みによるロボット制御では実現が難しいと考えられる、多様な環境やタスクを含む問題設定、具体的には、家庭内での生活支援タスクに取り組むことで、学生が実世界における知能実現のための機械学習とロボットシステムの両方の技術を習得することを目的とする。とくに、物体検出や画像認識、ローカライゼーションといった複数のセンサに対する情報処理・機械学習の手法だけではなく、それらの手法を元にして複雑なロボットを実際にロバストに動かすための技術(ROSをベースとしたロボットシステムの構築やモーションプランニングなど)を同時に習得する。また、数名の学生がグループで一つのプロジェクトに取り組むことで、複雑なシステムを設計・実装する上での、プロジェクトマネジメント手法やチーム開発手法を体験する。

科目情報

科目名 学期 科目番号
創造的ものづくりプロジェクトIL ‐人工知能応用プロジェクト‐ 学部3年生S1S2 FEN-CO3g12P2
創造的ものづくりプロジェクトIIL ‐人工知能応用プロジェクト‐ 学部3・4年生A1A2 FEN-CO3g42P2
創造的ものづくりプロジェクトIIIL ‐人工知能応用プロジェクト‐ 学部4年生S1S2 FEN-CO4g72P2
創造性工学プロジェクトIL ‐人工知能応用プロジェクト‐ 大学院修士・博士S1S2 3799-512
創造性工学プロジェクトIIL ‐人工知能応用プロジェクト‐ 大学院修士・博士A1A2 3799-542

※最新の開講状況はシラバス・便覧をご確認ください。

指導教員

松尾豊・岩澤有祐・松嶋達也

活動内容

 人工知能応用プロジェクトでは,複数のサブプロジェクトを学生自身が提案・実行する。以下に,代表的なプロジェクトに関する学生からの報告を掲載する。

プロジェクト例:大規模言語モデルを用いて意味的情報を考慮した物体把持位置の検出
プロジェクトの目的

 サービスロボットが対象とする日用品は,人間が扱うことを前提にして作られている。そのため,日用品の把持を行うためには,その外形のみではなく,人間がどのように扱っているかという背景知識を考慮した把持を行う必要がある。例えば,包丁は,人間が柄の部分を掴むことを前提とされている形状であり,薄い刃の部分を把持することは困難で,不安定である。そこで本研究では,LLM を用いて人間のもつ日用品に関する知識を反映し,簡便に安定した物体の把持位置を検出するための手法を提案する。

関連研究

 このような日用品に関する背景知識を考慮した把持を行うため,これまでは,実際に人間が物体の把持行うデモンストレーションを元に把持位置等を学習することや,事前にタスクに応じた把持可能領域を定義することで,適切な把持位置を特定する研究が行われてきた [1, 2, 3]。しかし,このように各日用品やタスクに応じて事前にモデル化を行うことは,複雑で時間的コストが大きい。そこで,本プロジェクトは,LLM を用いることで簡便に人間の知識を用いた日用品の把持を行うという立ち位置をとる。

実際に行った作業

プロジェクト立案

 本プロジェクトは,私の持ち続けている「0 からモデルを構築するというよりも,そもそも人間がもっている知識を利用することはできないのか?」という疑問から端を発する。私は,卒業研究において,生産システムにおける概念をオントロジーを用いて構造化することにより,システムの設計・運用に関わる知識を汎化し,再利用するフレームワークを提案した [4]。そこで,当初のプロジェクトでは,Mitrevsk et al.[5] や,陳 et al.[6] のように,人間の知識として,対象物体のオントロジーを構築することで,既に持っているモデルを汎化し,未知物体の把持を行えるようにすることを目的とした。しかし,オントロジーの構築・運用には多大な労力を要する。そこでいくつかの指摘を受け,既に人間の知識が含まれていると考えられる LLM を用いて,単なる外形だけでは安定した把持をすることができないような物体も把持できるようになるのではないかという仮説のもと,本プロジェクトを立案した。日用品を対象としたのは,LLM に関連する知識がよく含まれていると考えられたからである。

手法の考案

 下の図に提案手法の概要を示す。システムの入力として,対象物体を含む RGB 画像を用いる。まず,RGB 画像から認識した物体の把持位置について LLM に問い合わせ,把持位置の特定を行う。その後,決定した把持位置に対して,RGB 画像のセグメンテーションを行う。最後に,把持位置に対して把持計画を行う。

  下図 提案手法の概要                  下表 LLMのプロンプトの内容

                                                                                       上図 把持対象の物体        

LLM を用いた把持位置の特定

 LLM は,多量の人間の記述した文を用いて学習を行なった言語モデルである。この LLM に問い合わせることで,人間の日用品に関する背景知識を活用し,把持位置として適切な部位を推論する。
 上の表に使用したプロンプトの内容を示す。問い合わせには,物体,環境,背景の 3 点について入力し,把持する物体の部位に関する文を出力する。物体について,物体名について言及し,それをいくつかの部位に分けることで,それぞれの安定性を評価した。環境については,物体とロボットの位置関係を記述した。背景について,ロボットが多軸ロボットであることと,スリップを起こさない安定した把持を目的とすることについて述べた。この出力を更に入力として LLM に問い合わせることで,JSON 形式で構造化された出力を得た。
 ここで,物体のみの情報をプロンプトとしたのは, LLM が不必要な内容を推論してしまうからである。例えば,重たいハンマーを把持するという内容のみを入れると,ハンマーを把持した際にロボットが浮き上がってしまうため,ハンマーの頭を持ってはならないというような内容が出力された。
 また,ロボットが人間に物体を渡すというシナリオを試みたが,それらの相対位置を反映することが難しかった。。例えば,ロボット,物体,人間が存在する環境を設定すると,ハサミの持ち手をもち,持ち手を人に向けて渡すべきであるという出力が得られた。一方で,松尾先生の指摘にあったように,座標情報として入力することで,この位置関係を反映できる可能性はある。

実験

 本実験の目的は,LLM の日用品に関しての背景知識を用いて決定した把持位置に注目した把持の有効性を評価し,その問題点を明らかにすることである。
 ここで,多軸ロボットを用いた日用品の把持実験を行い,LLM の知識を用いて把持位置を限定した場合と,限定せずに,物体全体の領域を用いた場合で比較を行う。把持対象の物体を上図に示す。対象の日用品として,包丁,キッチンバサミ,料理用の取手付きボウルを用いる。これらの物体は,人間が把持をして使用することが前提となっており,把持位置によってその安定性が異なる。物体名としては,包丁,ハサミ,ボウルのそれぞれについて,knife,kitchen shears, mixingbowl with handle とした。       

 実装したシステムについて述べる。使用するロボットは,UFactory の xArm である。これは,6 軸の産業用ロボットアームであり,高い精度で動作することができる。カメラは,RealSense D435 を用いて,下図のようにグリッパー上に装着する。
 把持位置を決定するための LLM は OpenAI の gpt4-0613 を用いる。このモデルは,幅広い一般知識をもち,高度な質問応答タスクを行うことができる。把持物体のセグメンテーションには,VLPart[7] を用いる。これは,RGB 画像から物体を認識するだけでなく,画像内の物体を部位レベルで区分することが可能なモデルである。把持計画では,認識した物体に対して,対象領域の長手方向に対して,その中点を垂直方向に把持する手法を用いる。このように把持計画を行うことで,日用品に対して単純ながらも安定した把持を行うことができる [8]。

          実験環境

 TA の方から教えていただいたリポジトリを用いて環境を構築した [9]。RealSense 及び, xArm の操作には,松尾研のリポジトリを用いた [10]。RealSenseにおいて,当初は動作確認のため,M2 Mac を用いようとした。しかし,Apple SiliconとRealSense の相性は非常に悪く,ほとんど動作させることができなかった。Apple Silicon で RealSense を動かすことを試みている Web サイト [11] は存在したが,私の環境 (Apple M2 Pro, 2023) では動作しなかった。公式の issue を見ても,MacOS,特に Apple Silicon ではトラブルが多いようであり,ubuntu で使用するべきであることを共有したい。

結果

 10 回の把持を行ったうちの把持成功回数を下表に示す。包丁,ハサミ,ボウルのそれぞれについて,提案手法は 10,8,9 回であるのに対し,比較手法の成功回数が,5,8,0 回であり,提案手法の方が概ね成功回数が多かった。包丁について,提案手法では,包丁の柄の中央部を把持した。包丁の柄は,人間が掴むため十分な厚みがあり,摩擦係数の大きい材質で作られている。一方で,比較手法では,包丁の刃と柄の境目の部位を把持した。これにより,柄の刃に重なった薄い部分や,刃自体を把持してしまい,不安定になったため,把持を失敗する回数が比較的多くなった。ハサミについて,提案手法では取手の部分を,比較手法では,取手と刃の間の接合部分を把持した。人間の場合,取手の方が掴みやすい形状と材質をしているものの,実験では平行グリッパーを用いているため,どちらの部位もグリッパーの一部のみしか接触することができず不安定になり,同程度把持を失敗した。ボウルについて,提案手法では取手の部分を把持した。一方で,比較手法では,ボウルの縁付近を把持しようとしたものの,ボウルの幅はグリッパーの可動範囲を超えており,ほとんど縁に触れることができず把持ができなかった。


       上表 10試行を行った把持成功回数

考察

 包丁,ハサミ,ボウルに対して LLM に安定した把持が行うことができる部位を問い合わせ,その部位の把持を行った。その中で,通常人間が把持を行う,摩擦係数の大きい材質で凹凸の少ない部位が出力されたことで比較的安定した把持が可能になった。一方で,ハサミでは,人間がもつ部位を考慮しても,考慮しなかった場合と安定性が変わらなかった。これは,機能面のため,人間が通常把持を行う取手の形状が複雑になっている物体では,人間の手とロボットの平行グリッパーとの形状の違いにより,把持安定性が異なるためである。そのため,使用するロボットのグリッパーに関する情報を LLM に提供し,日用品に対する人間の手の扱い方とグリッパーの扱い方の違いを反映できるように LLM に出力させることが重要になる。更に,LLM がもつ日用品に関する知識だけでなく,点群データ等により外形を評価し把持計画を行うことで,人間の手とグリッパーの形状に起因して把持の安定性が変わる物体に対しても安定した把持が行えると考えられる。また,今回は安定した把持を行うというタスクを用いたが,LLM がもっている知識として安定把持だけではなく,人間の気持ちに関する知識がある。例えば,飲み物が入っているコップの縁を持たれるのは人間として抵抗がある。そこで,このような人間がロボットにどの部分を掴んで欲しいのかという気持ちを反映できるようなシステムも LLM によって実現できる可能性がある。

参考文献

[1]   Li, C., & Tian, G. (2020). Transferring the semantic constraints in human manipulation behaviors to robots. Applied Intelligence, 50(6), 1711-1724.
[2]   Dang, H., & Allen, P. K. (2012, October). Semantic grasping: Planning robotic grasps functionally suitable for an object manipulation task. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (pp. 1311-1317). IEEE.
[3]   Antanas, L., Moreno, P., Neumann, M., de Figueiredo, R. P., Kersting, K., Santos-Victor, J., & De Raedt, L. (2019). Semantic and geometric reasoning for robotic grasping: a probabilistic logic approach. Autonomous Robots, 43, 1393-1418.
[4]   Okazaki, S., Shirafuji, S., Yasui, T., & Ota, J. (2023). A Framework to Support Failure Cause Identification in Manufacturing Systems through Generalization of Past FMEAs. In 2023 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (pp. 859865).
[5]  Mitrevsk, A., Pl¨oger, P. G., & Lakemeyer, G. (2021, September). Ontology-assisted generalisation of robot action execution knowledge. In 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp. 6763-6770). IEEE.
[6]   陳浩, 清川拓哉, 胡正涛, 万偉偉, & 原田研介 (2022)。 把持物体のオントロジーを用いた未知物体の把持。 第 40 回日本ロボット学会学術講演会(RSJ2022), 3F1-01, 東京, 9 月。
[7]   Sun, P., Chen, S., Zhu, C., Xiao, F., Luo, P., Xie, S., & Yan, Z. (2023). Going Denser with Open-Vocabulary Part Segmentation. arXiv preprint arXiv:2305.11173.
[8]   Matsushima, T., Noguchi, Y., Arima, J., Aoki, T., Okita, Y., Ikeda, Y., … & Matsuo, Y. (2022). World robot challenge 2020–partner robot: a data-driven approach for room tidying with mobile manipulator. Advanced Robotics, 36(17-18), 850-869.
[9]   https://github.com/yikeda0124/ docker-ros-cuda-py3
[10]  https://github.com/matsuolab/realsense_ docker
[11]  https://lightbuzz.com/realsense-macos/

 

プロジェクト例:Tactile In-Hand Pose Estimation through Perceptual Inference

プロジェクトの目的

 今回のプロジェクトでは、視覚と触覚の情報を統合し、タスクやタイミングに応じて適切なモダリティを選択して利用できる ような潜在変数 z の獲得を目的とし、このための第一歩としてまずは視覚と触覚から Concat して得られた潜在状態が、モノ モーダル(視覚、触覚)の場合と比較した場合に有用かどうかを、触覚センサつきのロボットグリッパーで掴んだ物体の姿勢 (角度)推定タスクで検証した。

左 正面からの手元画像と触覚RBG 右 真横からの手元画像と触覚RBG

実際に行った作業と分担
  • 当初使おうとしていた DreamerV2 の PyTorch + Docker 環境の構築
  • 当初 DreamerV2 と組み合わせようとしていた Categorical 分布の VAE の実装と、トイデータでの検証
  • タスクと検証方法の検討
  • 触覚センサシミュレータから Vision 画像、Tactile 画像、実際の物体角度のデータセット作成)
  • 潜在変数獲得のための VAE モデルと学習コード作成
  • Vision 画像、Tactile 画像、Concat を入力とした実験実行、Tactile 差分での実験

 全体としては、正面・真横の 2 通りでそれぞれ 4000 組のデータセットの作成、VAE と得られた潜在状態 z から角度推定する ための MLP の実装、3 種類の入力での実験と Tactile 画像について、何も触っていない場合との差分を入力とした場合の実験 を行った。図 20 に全体のアーキテクチャを示す。

  

       上図 全体のアーキテクチャ

学生の声

プロジェクト:RoboCup@Home出場に向けた家庭内生活支援ロボットシステムの開発

プロジェクトの目的・ねらい

 ロボカップ班の活動目的は、大規模言語モデル(LLM)を含む基盤モデルを活用したロボットシステムを構築し、その実世界応用への適応可能性を検証することであった。RoboCupという自律移動型ロボットによる競技会の @Home リーグに出場し、家庭内やレストランにおける様々な生活支援・サービスタスクに挑戦する過程で人工知能をロボット制御に応用し、その機能性を評価することをねらいとした。
 似たような・近いプロジェクトとしては、同じくRoboCup@Home Domestic Standard Platform League (DSPL) に出場した他チームの活動が挙げられるが、ロボットの開発という観点から取り組んでいるチームが多いように思う中、我々のチームは人工知能の機能性評価のためにロボット制御に導入するという観点を持って開発した点に固有の特徴がある。

実際に行った作業と分担

 チームで1人1タスクを基本に開発することに決定し、私は “Storing Groceries” という競技を担当した。この競技は、会場現地で知らされる家庭内の1部屋(今回は Kitchenを指定された)において、机の上に置かれている5〜10個の物体(Groceries)のうちから1つを選択して把持し、扉付きの棚(cabinet)に置かれているもののうち、把持しているものと同じカテゴリーに分類される物体に最も距離が近くなるように、把持物体を置く(Storing)という一連の動作を5分以内にできるだけ多くの回数成功させることがロボットに求められるという内容である。競技全体を管理する要のプログラム(task_manager)において動作フローを作りつつ、必要な機能を関数として作成し、マニピュレーション等で実行に失敗しても途中で止まらないようなプログラムの実装を強く心がけた。そのために、ロボットにできないことは人間に頼むという機能を先に実装し、最初から最後までの動作をできるようにした。その後、本来人に頼まずロボットがやるべき把持や置く機能を追加していった。重視したのはそれがうまくいかなければ人間に頼むという移行部分やその中身を常に確実に動作する状態にしておくことだ。競技直前まで実行環境や使用家具が未知の競技であるため、マニピュレーションが成功するか不確実な状況で、人間に確実に理解して手伝ってもらえるHuman Robot Interaction (HRI) を入念に準備したことは本番の得点にもつながり、大変重要な実装であったと考えている。
 また、他のメンバー担当タスクの機能実装の手伝いとして、YOLOv8 及びmediapipe を用いて飲料ボトルを手に持っていない人を判別するプログラムを作成した。「ボトルを持っていない人」という結果が出た場合、そもそも手自体が画像に写っていない可能性を考え、手が写っているかを調べる仕組みにすることで、より確実な識別を試みたことが工夫ポイントである。複数人が移った場合でも、各人に対し飲料ボトル所持の有無を判別できるようになった。

結果・評価

 Storing Groceries タスクでは世界大会本番で 90/600 点を獲得し、11チーム中4位となった。最終発表会での、認識に基盤モデルを使う利点は何かという質問について、プロンプトチューニング等により直前公開オブジェクトに対しても対応できるということが挙げられるが、本タスクにおいても私が先学期に実装した Detic と、CLIP を組み合わせた認識機能を用いていた。Detic による高精度な認識モジュールに加え、CLIP による基盤モデルの柔軟性を取り入れることでシステムの汎化性が向上した。ただ、全競技中2番目に開催された本タスクでは認識を誤っている場面もあり、確実な認識システムの実装は今後の開発課題である。松尾先生からのご質問にもあった通り最初に開催された、他のメンバー担当の競技(Receptionist)においては厳しい時間制限の中で最終調整を完了できず、時間をかけて開発したプログラムの実行が叶わないという残念な結果となってしまった。チームとしてその教訓を活かし、2番目の本タスクにおいては事前にセットアップの練習も入念に行い、2回ともプログラムを走らせることに成功し、点数獲得に繋げることができた。

考察

 今回、机から把持する物体は、ロボットからの距離が最も近いものに設定していた。しかし競技前夜に、周囲4箇所に上部に突起のある机を2つ並べたものを「机」として用いることが知らされた。その後の検証でそれらの机では、横から把持しようとするとそれらの突起にアームがぶつかり危険であり、かつプログラムが止まってしまうことが判明し、結局全て上方向から把持するよう変更を加えた。しかし最高得点のチームはロボット自身が移動し、最も高さのある物体を横から把持することで突起に影響されず確実な把持に成功していたため、さまざまな家庭環境を想定し汎用性のあるシステム開発を再考すると、把持物体の決定方法も検討の余地があるし、競技でいえば、より高得点が望める部分と言えるだろう。難しかったところは、5分という短時間でひとつでも多くの得点箇所まで実行できるよう、順番の工夫や発話の単純化を試みたことだ。本番2物体の storing まで実行できたため、研究室で繰り返し時間計測しながらプログラムを動かし調整したことはとても重要だったと考え、今後も検証と調整を大事にしたいと思った。

まだできていないこと・今後の計画

 Storing Groceriesタスクでは、cabinet のドアを開けることができれば 200点の追加得点を得られるのだが、TRAILとしては初めての競技であり一連を実行できることを一番の目標として開発していたため、Bonus Score 獲得の実装まではできなかった。しかし本タスクで上位のチームらは挑戦していたし、TRAILも今回の実装でタスク自体は動くものが完成しているので、次回のロボカップ出場時にはぜひ Bonus Score 要素にも挑戦できると良いと考えている。

大会結果

2020年12月 RoboCup Japan Open 2020 @Home Domestic Standard Platform League (DSPL) 準優勝
2020年12月 RoboCup Japan Open 2020 @Home Domestic Standard Platform League (DSPL) Technical Challenge 優勝
2021年9月   World Robot Summit 2020 Partner Robot Challenge(世界大会)準優勝
2023年3月   RoboCup Japan Open 2022 @Home Domestic Standard Platform League (DSPL) 第3位入賞
2023年5月   RoboCup Japan Open 2023 @Home Domestic Standard Platform League (DSPL) 優勝
2023年5月   RoboCup Japan Open 2023 @Home Domestic Standard Platform League (DSPL) Open Challenge 第3位入賞
2023年7月   RoboCup 2023 @Home Domestic Standard Platform League (DSPL) (世界大会) 第3位入賞
2024年5月   RoboCup Japan Open 2024@Home Domestic Standard Platform League (DSPL) 優勝 
2024年5月   RoboCup Japan Open 2024 @Home Domestic Standard Platform League (DSPL) Open Challenge 優勝
                         日本ロボット学会賞受賞

関連URL

サイト URL
TRAIL公式ウェブサイト(日) https://trail.t.u-tokyo.ac.jp/ja/
TRAIL公式ウェブサイト(English) https://trail.t.u-tokyo.ac.jp/
TRAIL (Tokyo Robotics and AI Lab) Twitter https://twitter.com/trail_ut
東京大学 松尾研究室 Twitter https://twitter.com/Matsuo_Lab
松尾研究室の深層学習・人工知能に関するTwitter https://twitter.com/DL_hacks
TRAIL You Tubeチャンネル https://www.youtube.com/@trail_ut