目次
背景
- ROS4HRIの仕組み・SPRING: 高齢者介護施設における社会的ロボットの実証実験で、ROS4HRIのエコシステムや、それを実際の医療現場で使った実証実験を整理してきた
- Séverin Lemaignanは、PAL RoboticsでROS4HRIの開発に携わった研究者の1人(Mohamed & Lemaignan 2021でROS4HRIを提案し、2023年にREP-155として標準化)。今回は、その標準化内容をまとめたRos, Lemaignan, Ferrini, Andriella, Irisarri (2023) “ROS4HRI: Standardising an Interface for Human-Robot Interaction”(HRI 2023 Workshop “Advancing HRI Research and Benchmarking Through Open-Source Ecosystems”、ストックホルム)を、実際にPDFを読んで確認する
論文の問題意識: HRIにおけるベンチマークの困難さ
- HRI(Human-Robot Interaction)研究では、人間の振る舞いの複雑さ・多様さゆえに、ベンチマークと再現性の確保が本質的に難しい
- それに加えて、標準的かつオープンソースなソフトウェアプラットフォームが存在しないことが、問題をさらに悪化させている
- 唯一広く使われているのは、Aldebaran社のNAOqiフレームワーク(Nao・Pepperロボット向け)だが、オープンソースではなく、Aldebaran製ロボット以外では使えない
- ROS4HRIは、Mohamed & Lemaignan(2021, IROS)で提案され、2022年にROS REP-155として正式に標準化された。ROS上に構築され、特定のロボットに依存しない設計になっている
- 論文は、ROS4HRIがベンチマーキング・再現性の問題を改善する理由として、(1) 異なるアルゴリズム間で直接性能比較できる共通インターフェースの確立、(2) あるソフトウェア基盤から別の基盤への移行をシステム全体から透過的にする、持続可能なソフトウェア開発の支援、の2点を挙げている
人間のIDモデル: 4種類のID
- ROS4HRIの仕組みで扱った4種類のID(Face・Body・Voice・Person)について、論文では以下のように詳述されている
- Face・Body・VoiceのIDは非永続的で、特徴が失われた時点(例えば人物がロボットの視界から外れた時点)で、そのIDはもう意味を持たなくなる。異なる検出器同士が、人物が再出現した際に同じIDを再割り当てしようと試みる必要はない、という設計方針も明記されている
- Person IDは永続的で、一度割り当てられると、ロボットの知識として永続的に残り続ける
person_<personID>フレームは、/humans/persons/<personID>/location_confidenceの値と合わせて解釈する必要があり、以下の3つのケースに分かれる- 追跡中(personIDが設定され、face/body/voiceのいずれかのIDが設定されている):
location_confidenceは1で、person_<personID>フレームは、利用可能なface/skeleton/音源定位などの最良の推定位置と同じ場所に置かれる - 現在は見えていないが、過去の位置情報がある:
location_confidenceは0より大きく1未満の値になり、その間はperson_<personID>フレームが配信され続ける - 存在は分かっているが位置情報が全くない(例えば対話を通じて存在を知った場合):
location_confidenceは0になり、TFフレームは配信されない
- 追跡中(personIDが設定され、face/body/voiceのいずれかのIDが設定されている):
人体キネマティクスモデル
- ROS4HRIは、人体の運動学的モデルの表現にURDF規格を採用している
- 人体は15個のリンクが18個の関節(頭・肩・肘・膝・腰・腰部)で接続された構造として表現される
- 人によって身長・体格が異なるため、身体が検出されるたびに、観測された身長を主パラメータとして、標準的な人体測定学の比率から肩幅などの他の寸法を導出した、カスタムのURDFモデルを生成する
- 生成されたURDFモデルは、bodyIDをキーにROSパラメータサーバーに登録され、ネットワーク上の他のノードから利用できるようになる
ROSトピック構造とフレーム規約
- 全てのトピックは
/humansというグローバルな名前空間の下にまとめられ、/humans/faces・/humans/bodies・/humans/voices・/humans/persons・/humans/interactionsという5つのサブ名前空間に分かれる - 顔・身体・声・人物のフレーム命名規則について、論文では座標系の原点の定義まで踏み込んで説明している
| フレーム | 原点の定義 |
|---|---|
body_<bodyID> | 両腰の中間点。x軸は前方、z軸は頭方向 |
face_<faceID> | セリオン(鼻と額がなす角の最も深い正中点)。x軸は前方、z軸は頭頂方向 |
head_<bodyID> | 骨格トラッカーが頭部姿勢を推定できる場合に配信される、セリオン位置のフレーム。face_<faceID>と整合性を取ることが、顔検出器・骨格トラッカー双方の責任とされる |
gaze_<faceID> | face_<faceID>と同じ位置だが、カメラの光学フレームの慣習(z軸が前方、y軸が下方)に従う |
Intents(意図)の設計
- 2023年3月時点のREP-155は、知覚側のみをカバーしており、行動・振る舞いの標準化はまだ扱われていない。プラットフォーム・アプリケーションに依存する部分が大きく、標準化が難しいため
- 論文では、ロボットが実行すべき操作の抽象的な記述として、Intent(意図)の標準化に向けた最初の試みを紹介している
- Androidのintentに着想を得つつ、ROSのintentはユーザーが開始した(明示的・暗黙的な)意図を捉えることを主眼に設計されている。例えば、タッチスクリーンのボタン操作(明示的)、チャットボットとの対話結果(暗黙的・明示的)、ロボットを見るという行動(暗黙的)などが対象になる
hri_actions_msgs/IntentというROSメッセージ型として表現され、/intentsトピックに配信される。ユーザーの活動を追跡するノード(タッチスクリーン・対話マネージャー・動作認識など)が発行し、アプリケーションコントローラーがそれを受け取って、行動のスケジューリング・リソース配分(2つの動作が同時に使われないようにするなど)を行う- Intentは、intent種別・data(主題役割に基づくJSONオブジェクト)・source(ユーザーかロボット自身か)・modality(伝達手段)・priority(任意)・confidence(0〜1)というフィールドを持つ
- 副作用のない短い反応的な応答(天気を聞く、バッテリー残量を確認するなど)には、Intentの仕組みは使うべきではないとされている。ロボットの状態・リソースに影響しないため
可視化ツール
- 共通インターフェースの提供に加えて、システムの挙動を理解・分析するための可視化ツールも、
hri_rvizパッケージなどとして提供されている
| ツール | 内容 |
|---|---|
| Humans | 顔・身体のバウンディングボックス、顔のランドマーク、2D骨格の関節を、ROSの画像ストリーム上に可視化するrvizプラグイン |
| Skeletons 3D | RobotModelに着想を得た、複数の検出済み身体を関節状態・位置・向きに基づいて3D骨格として可視化するrvizプラグイン |
| TF (HRI) | 標準のtfツールの再実装。IDが/humans/*/trackedから消えると、関連するフレームが即座にシーンから削除される |
| rqt_human_radar | ロボットの基準フレーム(base linkなど)に対する人物の位置を、レーダーのような視点で表示するrqtプラグイン |
PAL ARIとの関係・今後の展望
- 論文の最後では、PAL Robotics社の社会的ロボットARI(Cooper et al. 2020、2019年初出荷)の認知アーキテクチャを、ROS4HRIの上に構築中であることが述べられている
- ARIは、SHAPES・SPRING・TALBOT・PRO-CARED(EUプロジェクト)、NHOA・RAADICAL・AMIBA(国内プロジェクト)など、高齢者介護・支援ロボティクスに関する多数の研究プロジェクトで使われてきた。SPRINGの実証実験も、このプロジェクト群の1つにあたる
- ARIのアーキテクチャは、(1) 人間の知覚パイプライン(ロボットの周囲の人物への気づきを拡張する)と、(2) 自然言語処理パイプライン(音声認識・音声分離・音源定位・対話管理)の2本柱で構成される
- 今後の方向性として、(1) インタラクションの可視化・記録ツールの拡充、(2) 表情認識・ジェスチャー認識・声の識別といった社会的機能の拡充、(3) コミュニティとのさらなる連携、(4) ROS4HRIのROS 2への移植、の4点が挙げられている。実際にROS4HRIはその後ROS 2に移植され、ROS4HRIの仕組みで扱った現在のエコシステムに繋がっている
まとめ
- Ros, Lemaignan他 (2023)は、ROS4HRI(REP-155)の標準化内容を、HRI研究のベンチマーキング・再現性問題への対応として位置づけた論文
- Face/Body/VoiceIDの非永続性・PersonIDの永続性、
location_confidenceによるperson_<personID>フレームの3パターンの扱い、15リンク・18関節の人体キネマティクスモデルなど、ROS4HRIの仕組みで扱った内容の設計根拠が、この論文で詳しく説明されている - 2023年時点では知覚側の標準化が中心で、行動側の標準化はIntent(Androidのintentに着想を得た、ユーザー起点の意図の抽象表現)として初期段階にあった
- 可視化ツール(Humans・Skeletons 3D・TF (HRI)・rqt_human_radar)の存在が、ROS4HRIがオープンな開発・デバッグエコシステムとしても機能していることを示している
- ARIロボットの認知アーキテクチャをROS4HRI上に構築する計画が述べられており、これがSPRINGの実証実験のような、後の大規模な実証研究に繋がっている
参考文献
- Ros, R., Lemaignan, S., Ferrini, L., Andriella, A., & Irisarri, A. (2023). “ROS4HRI: Standardising an Interface for Human-Robot Interaction.” In 2023 ACM/IEEE International Conference on Human-Robot Interaction (HRI) Workshop on Advancing HRI Research and Benchmarking Through Open-Source Ecosystems, Stockholm, Sweden. (PDF)
- Mohamed, Y., & Lemaignan, S. (2021). “ROS for Human-Robot Interaction.” In 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). (DOI:10.1109/IROS51168.2021.9636816)
- Cooper, S., Di Fava, A., Vivas, C., Marchionni, L., & Ferro, F. (2020). “ARI: The social assistive robot and companion.” In 2020 29th IEEE International Conference on Robot and Human Interactive Communication (RO-MAN).
- ROS4HRIの仕組み
- SPRING: 高齢者介護施設における社会的ロボットの実証実験