IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ネイバー コーポレーションの特許一覧

特表2024-539640ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム
<>
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図1
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図2a
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図2b
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図3
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図4
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図5
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図6
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図7a
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図7b
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図8
  • 特表-ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-29
(54)【発明の名称】ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20241022BHJP
【FI】
B25J13/00 Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024522318
(86)(22)【出願日】2022-10-05
(85)【翻訳文提出日】2024-04-12
(86)【国際出願番号】 KR2022014983
(87)【国際公開番号】W WO2023063645
(87)【国際公開日】2023-04-20
(31)【優先権主張番号】10-2021-0136924
(32)【優先日】2021-10-14
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】パク,スンヨン
(72)【発明者】
【氏名】イ,スンヒョン
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707AS15
3C707AS34
3C707BS12
3C707BS27
3C707HS14
3C707HS21
3C707HS27
3C707JS03
3C707JU03
3C707KS10
3C707KT01
3C707KT04
3C707KT09
3C707KV08
3C707KV11
3C707KV18
3C707LV02
(57)【要約】
本発明は、ロボットの姿勢測定方法、及びロボットの姿勢測定方法を用いたロボットシステムに関する。本発明に係るロボットの姿勢測定方法は、第1ロボットと第2ロボットとが互いに隣接するように、第1ロボットと第2ロボットの少なくとも一方が移動するステップと、第2ロボットのディスプレイにビジュアルマーカを出力するステップと、第1ロボットが第2ロボットを撮影するステップと、第1ロボットが撮影した画像に含まれるビジュアルマーカを検出して、画像に含まれるビジュアルマーカの姿勢を算出するステップと、第2ロボットの座標データと画像に含まれるビジュアルマーカの姿勢とを用いて第2ロボットの姿勢を算出するステップと、を含む。
【特許請求の範囲】
【請求項1】
第1ロボットと第2ロボットとが互いに隣接するように、前記第1ロボットおよび第2ロボットの少なくとも一方が移動するステップと、
前記第2ロボットのディスプレイにビジュアルマーカを出力するステップと、
前記第1ロボットが前記第2ロボットを撮影するステップと、
前記第1ロボットが撮影した画像に含まれたビジュアルマーカを検出して、前記画像に含まれるビジュアルマーカの姿勢を算出するステップと、
前記第2ロボットの座標データと前記画像に含まれるビジュアルマーカの姿勢とを用いて前記第2ロボットの姿勢を算出するステップと、を含む、
ロボットの姿勢測定方法。
【請求項2】
前記第2ロボットが前記ビジュアルマーカの出力を要請する要請信号をモニタリングするステップをさらに含む、請求項1に記載のロボットの姿勢測定方法。
【請求項3】
前記要請信号は、前記第1ロボットと通信するサーバ又は前記第1ロボットから前記第2ロボットに伝送することを特徴とする、請求項2に記載のロボットの姿勢測定方法。
【請求項4】
前記ビジュアルマーカを出力するステップは、
前記ディスプレイに画像情報を出力した状態で前記要請信号を受信すると、前記画像情報の出力をオフにして前記ビジュアルマーカを出力するか、又は前記画像情報と共に前記ビジュアルマーカを出力することを特徴とする、
請求項2に記載のロボットの姿勢測定方法。
【請求項5】
前記ビジュアルマーカを出力するステップは、
前記ディスプレイが活性化されていない状態で前記要請信号を受信すると、前記ディスプレイを活性化して前記ビジュアルマーカを出力することを特徴とする、
請求項2に記載のロボットの姿勢測定方法。
【請求項6】
前記第2ロボットのディスプレイにビジュアルマーカを出力してから特定の時間が経過すると、前記ビジュアルマーカの出力を終了することを特徴とする、請求項1に記載のロボットの姿勢測定方法。
【請求項7】
前記ディスプレイは、前記第2ロボットの前面又は上面で上向きに配置され、前記第1ロボットは、前記第2ロボットを下向きに撮影するカメラを備えることを特徴とする、請求項1に記載のロボットの姿勢測定方法。
【請求項8】
前記画像に含まれるビジュアルマーカの姿勢を算出するステップでは、検出される前記ビジュアルマーカを用いて、前記第2ロボットを撮影したカメラの座標系に対する前記ビジュアルマーカの6自由度姿勢が推定されることを特徴とする、請求項1に記載のロボットの姿勢測定方法。
【請求項9】
前記第2ロボットの姿勢を算出するステップでは、前記第2ロボットのCADモデルの基準座標系に対する前記画像に含まれるビジュアルマーカのポイントの3D座標が抽出されることを特徴とする、請求項1に記載のロボットの姿勢測定方法。
【請求項10】
前記第2ロボットの姿勢を算出するステップでは、前記第1ロボットのカメラと前記第2ロボットのホイールに対するオドメトリ情報とを用いて、前記画像に含まれるビジュアルマーカの姿勢を前記第2ロボットの姿勢に変換することを特徴とする、請求項1に記載のロボットの姿勢測定方法。
【請求項11】
ディスプレイが配置された特定の空間でロボットが移動するステップと、
前記ディスプレイに画像情報が表示されるステップと、
前記ロボットと通信するサーバ又は前記ロボットが前記ディスプレイを制御する制御システムにビジュアルマーカの出力を要請する要請信号を伝送するステップと、
前記要請信号に応答して、前記制御システムが前記ビジュアルマーカを出力するように前記ディスプレイを制御するステップと、
前記ロボットが前記ディスプレイに出力されたビジュアルマーカを用いて、前記ロボットの現在位置を推定するステップと、を含む、
ロボットの位置測定方法。
【請求項12】
前記制御システムが前記要請信号の受信をモニタリングするステップをさらに含む、請求項11に記載のロボットの位置測定方法。
【請求項13】
カメラを備える第1ロボットと、
前記第1ロボットとインタラクションを行い、ディスプレイを備える、第2ロボットと、を含み、
前記第2ロボットのディスプレイにビジュアルマーカを出力し、前記第1ロボットが前記第2ロボットを撮影し、
前記第1ロボットが撮影した画像に含まれるビジュアルマーカを検出して、前記画像に含まれるビジュアルマーカの姿勢を算出し、前記第2ロボットの座標データと前記画像に含まれたビジュアルマーカの姿勢とを用いて前記第2ロボットの姿勢を推定し、
推定される前記第2ロボットの姿勢を用いて前記第1ロボットの動作を制御することを特徴とする、
複数のロボットがインタラクションを行うロボットシステム。
【請求項14】
前記第1ロボット及び前記第2ロボットは、相互インタラクションするように制御され、
前記第1ロボットは、推定される前記第2ロボットの姿勢を用いて前記第2ロボットの設定された位置にエンドエフェクタを移動させることを特徴とする、
請求項13に記載の複数のロボットがインタラクションを行うロボットシステム。
【請求項15】
前記第2ロボットが前記ビジュアルマーカの出力を要請する要請信号を前記第1ロボットと通信するサーバ又は前記第1ロボットから受信することを特徴とする、請求項13に記載の複数のロボットがインタラクションを行うロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの姿勢測定方法及びロボットの姿勢測定方法を用いたロボットシステムに関し、ロボット同士のインタラクション(interaction)のために相手ロボットの姿勢を測定する方法及びインタラクションを行うロボットシステムに関する。
【背景技術】
【0002】
技術の発展に伴って多様なサービスデバイスが登場しており、特に、最近では、多様な作業又はサービスを行うロボットに対する技術開発が盛んに行われている。
【0003】
さらに、最近では、人工知能技術、クラウド技術などの発展により、ロボットをより精密かつ安全に制御することが可能になっており、これによりロボットの活用度が徐々に高まっている。特に、技術の発展によって、ロボットは、屋内空間で人間と安全に共存できるレベルに至っている。
【0004】
このため、最近では、ロボットが人間の業務又は作業を代替しており、特に屋内空間において、ロボットが人間を対象として直接サービスを提供する多様な方法が盛んに研究されている。
【0005】
例えば、空港、駅、デパートなど公共の場所ではロボットがナビゲーションサービスを提供しており、飲食店ではロボットが配膳サービスを提供している。さらに、オフィス空間、共同住居空間などでは、ロボットが郵便物や宅配などを配送する配送サービスを提供している。この他にもロボットは、清掃サービス、防犯サービス、物流処理サービスなどの多様なサービスを提供しており、ロボットが提供するサービスの種類及び範囲は今後飛躍的に増加することが予想され、サービス提供レベルも引き続き発展することが予想される。
【0006】
このようなロボットは、屋外空間だけでなく、オフィス、アパート、デパート、学校、病院、アミューズメント施設などのような建物(又はビル)の屋内空間で多様なサービスを提供しており、この場合、ロボットは、建物の屋内空間を移動して多様なサービスを提供するように制御されている。
【0007】
一方、ロボットが屋内空間で多様なサービスを提供するか生活するためには、ロボット同士が連携して業務を遂行する必要がある。例えば、大韓民国公開特許第10-2010-0086093号(自律走行クラスタロボット位置制御システム)では、マスターロボットが複数の従属ロボットと共にクラスタを形成し、自律走行するシステムに対して開示している。このように走行技術から徐々に発展し、最近ではロボット同士のインタラクションを制御して多様なサービスを実現しようとする努力が盛んに行われている。
【0008】
このため、ロボットを用いたより高いレベルのサービスを提供するロボットインタラクションのために、ロボット同士で位置や姿勢を正確かつ迅速に測定できる本質的な研究が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、ロボットの姿勢を迅速かつ正確に測定する方法及びシステムを提供する。
【0010】
より具体的には、本発明は、ロボットに取り付けられたディスプレイとビジュアルマーカを用いてロボットの姿勢を測定する方法を提供する。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明に係るロボットの姿勢測定方法、及びこれを用いたロボットシステムは、相手ロボットのディスプレイにビジュアルマーカを出力し、ロボットがこれを撮影して相手ロボットの姿勢を認識するプロセスを用いる。
【0012】
具体的には、本発明のロボットの姿勢測定方法は、第1ロボットと第2ロボットが互いに隣接するように、第1ロボットと第2ロボットの少なくとも一方が移動するステップと、第2ロボットのディスプレイにビジュアルマーカを出力するステップと、第1ロボットが第2ロボットを撮影するステップと、第1ロボットが撮影した画像に含まれたビジュアルマーカを検出して、画像に含まれたビジュアルマーカの姿勢(pose)を算出するステップと、第2ロボットの座標データと画像に含まれたビジュアルマーカの姿勢とを用いて第2ロボットの姿勢を算出するステップと、を含む。
【0013】
本発明の一実施形態において、ロボットの姿勢測定方法は、第2ロボットがビジュアルマーカの出力を要請する要請信号をモニタリングするステップをさらに含んでもよい。
【0014】
要請信号は、第1ロボットと通信するサーバ又は第1ロボットから第2ロボットに伝送されてもよい。
【0015】
ビジュアルマーカを出力するステップは、ディスプレイに画像情報を出力した状態で要請信号を受信すると、画像情報の出力をオフにしてビジュアルマーカを出力するか、又は画像情報と共にビジュアルマーカを出力してもよい。
【0016】
ビジュアルマーカを出力するステップは、ディスプレイが活性化されていない状態で要請信号を受信すると、ディスプレイを活性化してビジュアルマーカを出力してもよい。
【0017】
一方、本発明は、ディスプレイが配置された特定の空間でロボットが移動するステップと、ディスプレイに画像情報が表示されるステップと、ロボットと通信するサーバ又はロボットがディスプレイを制御する制御システムにビジュアルマーカの出力を要請する要請信号を伝送するステップと、要請信号に応答して、制御システムがビジュアルマーカを出力するようにディスプレイを制御するステップと、ロボットがディスプレイに出力されたビジュアルマーカを用いて、ロボットの現在位置を推定するステップと、を含むロボットの位置測定方法を開示する。
【0018】
また、本発明は、カメラを備える第1ロボットと、第1ロボットとインタラクションを行い、ディスプレイを備える、第2ロボットと、を含み、第2ロボットのディスプレイにビジュアルマーカを出力し、第1ロボットが第2ロボットを撮影し、第1ロボットが撮影した画像に含まれたビジュアルマーカを検出して、画像に含まれたビジュアルマーカの姿勢を算出し、第2ロボットの座標データと画像に含まれたビジュアルマーカの姿勢を用いて第2ロボットの姿勢を推定し、推定された第2ロボットの姿勢を用いて第1ロボットの動作を制御することを特徴とする、複数のロボットがインタラクションを行うロボットシステムを開示する。
【発明の効果】
【0019】
本発明に係るロボットの姿勢測定方法及びロボットの姿勢測定方法を用いたロボットシステムは、ディスプレイに出力されたマーカを検出し、マーカ姿勢を測定してロボットの形状データと比較し、ロボットの姿勢に変換して相手ロボットの姿勢を認識し、これにより簡単な方法で相手ロボットの姿勢を迅速かつ正確に測定することができる。
【0020】
このように、新しいプロセスを通じて正確なロボット姿勢を迅速に測定することで、例えば配送、配膳、接客などの多様なロボットサービスにおいて人間のようなサービスが可能となる。
【0021】
また、本発明は、ビジュアルマーカを用いてロボットの姿勢を正しく正確に測定するため、人間とのインタラクションのためのディスプレイを活用して相手ロボットの姿勢を測定することが可能となる。この場合、サイネージなどの特定の空間に固定されたディスプレイでビジュアルマーカを出力し、ビジュアルマーカを撮影したロボットの位置を正確かつ迅速に測定できる効果まで発揮することができる。
【図面の簡単な説明】
【0022】
図1】本発明に係るロボットのインタラクションを説明するための概念図である。
図2a図1の概念で提示するロボットの一例を示す図である。
図2b図1の概念で提示するロボットの一例を示す図である。
図3】本発明のロボットの姿勢測定方法を説明するためのフローチャートである。
図4図2aのロボットが図2bのロボットの姿勢を測定するためにビジュアルマーカを撮影する概念を示す概念図である。
図5】ビジュアルマーカのポーズを検出する概念図である。
図6】ロボットの姿勢に変換する例を示す概念図である。
図7a】本発明の他の実施形態を示す概念図である。
図7b】本発明の他の実施形態を示す概念図である。
図8】本発明のプロセスを用いて実現した実際のデータを示す画像データである。
図9】本発明の他の実施形態でロボットの位置を測定する概念図である。
【発明を実施するための形態】
【0023】
以下、添付図面を参照して本明細書に開示された実施形態を詳しく説明するが、図面符号に関わらず同一又は類似の構成要素には同一の参照番号を付し、これに対する重複する説明は省略する。以下の説明で使用される構成要素に対する接尾辞「モジュール」及び「部」は、明細書の作成を容易にするためにのみ付与又は混用されるものであり、それ自体に互いに区別される意味又は役割を有するものではない。また、本明細書に開示された実施形態を説明するにあたり、関連する公知技術についての具体的な説明が本明細書に開示された実施形態の要旨を不明瞭にする可能性があると判断される場合には、その詳細な説明を省略する。また、添付図面は、本明細書に開示された実施形態の理解を容易にするためのものであり、添付図面によって本明細書に開示された技術的思想が制限されず、本発明の思想及び技術範囲に含まれる全ての変更、均等物及び代替物を含むものと理解されるべきである。
【0024】
第1、第2などのように序数を含む用語は、多様な構成要素を説明するために使用することができるが、上記構成要素は上記用語によって限定されない。上記用語は、ある構成要素を他の構成要素から区別する目的でのみ使用される。
【0025】
ある構成要素が他の構成要素に「連結」又は「接続」されていると言われた場合、他の構成要素に直接的に連結又は接続されていてもよいが、それらの間にまた他の構成要素が存在してもよいものと理解されるべきである。一方、ある構成要素が他の構成要素に「直接連結」又は「直接接続」されていると言われた場合、それらの間にまた他の構成要素が存在しないものと理解されるべきである。
【0026】
単数の表現は、文脈上別段の指示がない限り、複数の表現を含む。
【0027】
本出願において、「含む」又は「有する」などの用語は、明細書に記載された特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを指定するものであり、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものなどの存在又は付加の可能性を予め排除しないものと理解されるべきである。
【0028】
本発明は、ロボットの姿勢測定方法、及びこれを用いたロボットシステムに関し、具体的には、ロボット同士のインタラクション(interaction)のためにロボットの姿勢を測定する方法、及びインタラクションを行うロボットシステムに関する。
【0029】
ここで、インタラクションとは、人間と人間との間、人間と物質との間、人間とシステムとの間、システムとシステムとの間のコミュニケーションで生じ得る一種の様式として定義することができる。具体的には、Inter(相互)とaction(動作、作動)の合成語で2つ以上の対象が互いに影響し合う行動を意味し、影響の双方向性とリアルタイム性を主な特徴とする全ての行為を意味し得る。
【0030】
また、本明細書において、ロボットは、i)人間と類似の機能を有する機械、又はii)1つ又は複数のコンピュータープログラムで作動でき(programmable)、複雑な一連の作業を自動的に行う機械的装置を言う。他の例として、ロボットは、形態があり、自分で考える能力を有する機械を意味し得る。さらに、本明細書で説明するロボットは、外観や行動が人間に似ているアンドロイド(android)ロボット、人間と類似の身体構造を有するヒューマノイド(humanoid)ロボット、身体の一部が機械に改造されたサイボーグ(cyborg)などの形態で実現することができる。
【0031】
技術が発展することによりロボットの活用度は徐々に高まっている。従来、ロボットは、特殊な産業分野(例えば、産業自動化に関する分野)で活用されてきたが、次第に人間や設備のために有用な作業を行うことができるサービスロボットに変わりつつある。
【0032】
この場合、前記ロボットが提供するサービスは建物内で実現することができる。このような例として、本発明に係るロボットは、クラウドサーバ及びロボット自体に備えられた制御部のうちの少なくとも一方に基づいて制御され、建物内を走行するか、又は割り当てられたタスクに対応するサービスを提供するように構成されてもよい。
【0033】
本発明における建物は、ロボットと人間が共存する建物であり、ロボットは、人、人が使用する品物(例えば、ベビーカーやカートなど)、動物のような障害物を避けて走行するように構成され、場合によっては、ロボットの走行と関連する通知情報を出力するように構成されてもよい。このようなロボットの走行は、クラウドサーバ及びロボットに備えられた制御部のうちの少なくとも一方に基づいて障害物を避けるように行われてもよい。クラウドサーバは、ロボットに備えられた多様なセンサ(例えば、カメラ(画像センサ)、近接センサ、赤外線センサなど)を通じて受信される情報に基づいて、ロボットが障害物を避けて建物内を移動するようにロボットに対する制御を行うことができる。ただし、本発明は必ずしもこれに限定されるものではなく、本発明で説明するサービスやプロセスは屋外にも適用することができる。
【0034】
一方、本発明のロボットは、建物内に存在する人又はターゲットオブジェクトにサービスを提供するように構成されてもよい。
【0035】
ロボットが提供するサービスの種類は、ロボットごとに異なり得る。すなわち、ロボットは、用途に応じて多様な種類が存在し、用途ごとに異なる構造を有し、ロボットには用途に応じたプログラムが搭載されている。
【0036】
例えば、建物への配送、物流作業、案内、通訳、駐車支援、保安、防犯、警備、治安、清掃、防疫、消毒、洗浄、飲料製造、食事製造、配膳、火災鎮圧、医療支援及びエンターテイメントサービスのうちの少なくとも1つのサービスを提供するロボットが配置されてもよい。ロボットが提供するサービスは、上記の例以外にも多様であり得る。
【0037】
一方、クラウドサーバは、ロボットのそれぞれの用途を考慮して、ロボットに適切なタスクを割り当て、割り当てられたタスクが行われるようにロボットに対する制御を行うことができる。
【0038】
本発明で説明するロボットのうちの少なくとも一部は、クラウドサーバ20の制御下で走行するか、タスクを行うことができ、この場合、ロボット自体で走行又はタスクを行うために処理されるデータの量を最小化することができる。本発明においては、このようなロボットを無脳(brainless)ロボットと呼ぶことがある。このような無脳ロボットは、建物内で走行、任務の実行、充電、待機、洗浄などの活動を行う際に、少なくとも一部の制御をクラウドサーバの制御に依存する場合がある。
【0039】
ただし、本明細書では、無脳ロボットを区分して名称するのではなく、いずれも総称して「ロボット」と呼ぶ。
【0040】
また、本発明において、建物には、ロボットが提供するサービスを実行するために、多様なインフラ(又は設備インフラ)が提供され得る。
【0041】
インフラ又は設備インフラとは、サービスの提供、ロボットの移動、機能維持、清潔維持などのために建物に備えられる施設であり、その種類及び形態は非常に多様である。例えば、建物に備えられるインフラは、移動設備(例えば、ロボット移動通路、エレベーター、エスカレーターなど)、充電設備、通信設備、洗浄設備、構造物(例えば、階段など)などのように多様である。このように、前記インフラ又は設備インフラは、ロボットが割り当てられたタスクを行うために用いるインフラとして定義される。
【0042】
本発明において、ロボットは、割り当てられたタスクを行うために互いに協力するように構成される。前記協力は、ロボット同士のインタラクションを通じて実現され、本発明においては、このためにロボットの姿勢を測定する方法を提示する。
【0043】
このような例として、図1に示すように、ロボットは、ユーザに物品(例えば、郵便物、宅配など)を配送するか、又は料理を配膳するなどのサービスを実行するために互いに協力することができる。
【0044】
このようなサービスを提供するロボットは、サービスを実行するために、第1ロボット100が第2ロボット200に品物を伝達するように構成されてもよい。例えば、配送のために物品を相手ロボットに伝達するか、又は相手ロボットからピックアップする動作や、他の例として、料理を配膳した後にトレイを他のロボットに伝達する動作などが可能である。
【0045】
より具体的には、第1ロボット100は、固定された位置で配送物品、トレイなどの品物10をピックアップするように形成され、第2ロボット200は、主に走行して前記品物10を移送するように構成される。このように、前記第1ロボット100には第1タスクが割り当てられ、前記第2ロボット200には第2タスクが割り当てられてもよい。例えば、前記第2ロボット200に割り当てられたタスクは、対応するサービスを提供(品物配送)するために、物品をユーザから受け取って第1ロボット100まで移送するタスクであってもよい。前記第1ロボット100に割り当てられたタスクは、前記第1ロボット100が移送した品物10をピックアップして積載ボックスに積載するタスクであってもよい。
【0046】
この場合、前記第2ロボット200は、建物内を走行し、ユーザが伝達した品物10を収容したまま、前記第1ロボット100と隣接する特定の位置11に移動する。前記第1ロボット100は、前記第2ロボット200が前記特定の位置11に接近するとこれを認識し、前記第1ロボット100が移送した品物10をピックアップして積載ボックス(図示せず)に積載する。このように、第1ロボット100と第2ロボット200は、互いに協力することで品物10の配送のための特定の区間でタスクを完了し、1つのロボットシステムと呼ぶことができる。
【0047】
一方、前記第2ロボット200が移送した品物10を前記第1ロボット100が正確にピックアップするために、前記第1ロボット100は、前記第2ロボット200の姿勢を正確に検出しなければならない。特に、図1図2a及び図2bを共に参照すると、第1ロボット100と第2ロボット200は、互いに異なる形状になっていてもよい。すなわち、それぞれのタスクに適合するように、第1ロボット100と第2ロボット200の形状は互いに異なるようになっており、このような場合、タスクを行うためには相手ロボットの姿勢をより容易かつ正確に測定する必要がある。
【0048】
以下、図1の概念で提示するロボットについて、図2a及び図2bを参照してより詳細に説明する。
【0049】
図2a及び図2bは、それぞれ図1の概念で提示するロボットの一例を示す図である。
【0050】
図2aを参照すると、例えば、第1ロボット100は、ボディー部110、センシング部、通信部のうちの少なくとも1つを備えてもよい。
【0051】
前記ボディー部には、品物10をピックアップするためにエンドエフェクタ111、マニピュレータ112、アクチュエータ(図示せず)などが備えられてもよい。
【0052】
前記エンドエフェクタ111は、環境と相互作用するように設計されたロボットアームの末端装置であり、グリッパ、ピンセル及びメスなどであってもよい。このような、エンドエフェクタ111は、ロボットとは別に備えられ、ロボットの周辺器機やアクセサリなどとして用いられてもよい。
【0053】
前記マニピュレータ112は、ロボット装置の本体と腕にリンク、ジョイント及びその他の構造要素とメカニズムを統合する装置であってもよい。多関節ロボットの場合、モータの回転運動を行う複数の関節を有するマニピュレータ112を備えてもよい。
【0054】
この場合、前記マニピュレータ112とエンドエフェクタ111は、6自由度以上の腕と1自由度以上の手を形成することができる。また、本発明のロボットを両腕ロボットや複数の腕を有するロボットで実現するために、前記腕と手は複数の対で存在してもよい。
【0055】
また、前記アクチュエータは、電気、化学又は熱エネルギを回転又は直線運動に変換する装置であり、モータ、空気圧シリンダ、人工筋肉などであってもよい。
【0056】
このように、前記第1ロボット100は、エンドエフェクタ111、マニピュレータ112、アクチュエータを制御して品物10をピックアップ及び移動する。
【0057】
センシング部は、ロボット内の情報(特に、ロボットの駆動状態)、ロボットを取り囲む周辺環境情報、ロボットの位置情報、及びユーザ情報のうちの少なくとも1つをセンシングするための1つ以上のセンサを含んでもよい。
【0058】
例えば、センシング部は、カメラ(画像センサ)121、近接センサ、バイオセンサ、赤外線センサ、レーザスキャナ(LiDARセンサ)、RGBDセンサ、地磁気センサ、超音波センサ、慣性センサ、UWBセンサ、マイクなどを備えてもよい。
【0059】
前記カメラ121は、前記ロボットのボディー部の上端に配置され、主に下向きに周辺環境を撮影するように形成されてもよい。この場合、前記カメラ121は、チルトなどが可能なように形成され、撮影角度が調節されてもよい。
【0060】
ロボットの通信部は、ロボットと建物の通信設備との間、ロボットと他のロボットとの間、又はロボットとクラウドサーバとの間で無線通信を行うために、ロボットが無線信号を送受信するように構成される。このような例として、通信部は、無線インターネットモジュール、近距離通信モジュール、位置情報モジュールなどを備えてもよい。
【0061】
図2bを参照すると、例えば、第2ロボット200は、ボディー部210、駆動部220、センシング部230、通信部、及びディスプレイ240のうちの少なくとも1つを備えてもよい。
【0062】
ボディー部210は、外観をなすケース(ケーシング、ハウジング、カバーなど)を含む。本実施形態において、ケースは、複数のパートに区分でき、ケースにより形成された空間には各種の電子部品が組み込まれる。この場合、ボディー部210は、本発明で例示する多様なサービスによって互いに異なる形態で構成されてもよい。例えば、配送サービスを提供するロボットの場合に、ボディー部210の上部に品物10を保管する収容箱が備えられてもよい。
【0063】
駆動部220は、クラウドサーバ又は第2ロボット200の制御部から伝送される制御命令による特定の動作を行うように構成される。
【0064】
駆動部220は、走行と関連してロボットのボディー部が特定の空間内を移動できる手段を提供する。より具体的には、駆動部220は、モータ及び複数の輪を含み、これらを組み合わせることで、ロボットRを走行、方向転換、回転させる機能を果たす。ただし、本発明は必ずしもこれに限定されるものではなく、駆動部220は、走行以外の他の動作、例えばピックアップなどを行うために、エンドエフェクタ、マニピュレータ、アクチュエータのうちの少なくとも1つを備えてもよい。
【0065】
前記センシング部230は、前記第1ロボット100と同様に、ロボット内の情報(特に、ロボットの駆動状態)、ロボットを取り囲む周辺環境情報、ロボットの位置情報、及びユーザ情報のうちの少なくとも1つをセンシングするための1つ以上のセンサを含んでもよい。
【0066】
前記第2ロボット200は、自律走行のために、特定の空間を移動しながら前記カメラにより撮影画像を取得した後、三次元地図データと比較するプロセスを通じて、ビジュアルローカリゼーション(Visual Localization)を行うことができる。
【0067】
また、前記通信部は、前記第1ロボット100と同様に、ロボットと建物の通信設備との間、ロボットと他のロボットとの間、又はロボットとクラウドサーバとの間で無線通信を行うために、ロボットが無線信号を送受信するように構成される。このような例として、通信部は、無線インターネットモジュール、近距離通信モジュール、位置情報モジュールなどを備えてもよい。
【0068】
前記ディスプレイ240は、前記第2ロボット200の前面又は上面で上向きに配置され、映像及びグラフィックオブジェクトが出力されてもよい。本発明においては、ディスプレイ240の種類に制限はない。前記ディスプレイ240は、モニターとして動作し、タッチスクリーンとして構成されてもよい。この場合、ディスプレイ240は、情報を出力する役割と情報を入力される役割の両方を行うことができる。
【0069】
一方、図1を参照して説明したように、前記第1ロボット100と第2ロボット200は、それぞれ制御部を備えるか、クラウドサーバによって制御することができる。例えば、クラウドサーバや第2ロボット200の制御部が、画像情報を出力するように前記ディスプレイ240を制御することができる。前記画像情報には、ユーザに提供される情報だけでなく、相手ロボット、例えば第1ロボット100に提供される情報が含まれてもよい。
【0070】
本発明においては、前記第2ロボット200のディスプレイ240にビジュアルマーカを出力し、前記第1ロボット100がこれを撮影して相手ロボットの姿勢を測定するプロセスを用いて、前記第1ロボット100と第2ロボット200とのインタラクションを実現する。以下、図3から図9を参照して、このようなインタラクションを実現するためにロボットの姿勢を測定するプロセスについてより詳細に説明する。
【0071】
図3は、本発明のロボットの姿勢測定方法を説明するためのフローチャートである。
【0072】
本発明のロボットの姿勢測定方法においては、第2ロボット200から出力されるビジュアルマーカを第1ロボット100が撮影し、第1ロボット100が第2ロボット200の姿勢を認識する新しい姿勢測定方法を提示する。このとき、前記ロボットの姿勢は、位置(position)を示す座標と向き(オリエンテーション、orientation)を示す方向を含んでもよい。
【0073】
本発明においては、一対のロボット(第1ロボット100及び第2ロボット200)を例示して相手ロボットの姿勢を測定する方法について説明するが、これに限定されない。例えば、1つのロボットが複数のロボットのビジュアルマーカを撮影してもよく、複数のロボットが1つのロボットのビジュアルマーカを撮影してもよい。
【0074】
図3を参照すると、本発明のロボットの姿勢測定方法では、第1ロボット100と第2ロボット200が互いに隣接するように、前記第1ロボット100と第2ロボット200のうちの少なくとも一方が移動するステップ(S111)が先に行われてもよい。
【0075】
例えば、第1ロボット100は特定の位置に固定され、第2ロボット200が品物などを移送して第1ロボット100の近傍に移動するか、第1ロボット100及び第2ロボット200が特定の地点に移動することで、前記特定の地点で互いに隣接して位置してもよい。
【0076】
このとき、前記第1ロボット100はカメラ121を備え、前記第2ロボット200はディスプレイ240を備えてもよい。ただし、本発明で例示する第1ロボット100と第2ロボット200は、説明の便宜のために名付けられたものであり、前記第1ロボット100がディスプレイを備え、前記第2ロボット200がカメラを備えてもよい。さらに、前記第1ロボット100及び第2ロボット200の両方がカメラとディスプレイを備えることも可能である。
【0077】
例えば、前記第2ロボット200は、前記ディスプレイ240を用いて周辺の人々に様々な画像情報を出力することができる。前記画像情報は、人とのインタラクションのためのグラフィックオブジェクトや、広告などのための映像情報であってもよい。
【0078】
次いで、前記第2ロボット200にビジュアルマーカの出力を要請するステップ(S112)が行われてもよい。
【0079】
前記第2ロボット200にビジュアルマーカの出力を要請することは、前記第1ロボット100、又は前記第1ロボット100と通信するサーバ、例えばクラウドサーバが行うことができる。具体的には、前記第1ロボット100がタスクを行うために、前記第2ロボット200にビジュアルマーカの要請信号を伝送するか、又は前記サーバから前記要請信号を前記第2ロボット200に伝送してもよい。
【0080】
他の例として、前記第1ロボット100と第2ロボット200の協力のために、前記クラウドサーバが、前記第2ロボット200の姿勢データが必要であると判断されると、前記第2ロボット200にビジュアルマーカの出力を要請する要請信号を伝送することができる。例えば、前記クラウドサーバが、前記第1ロボット100が前記第2ロボット200に接近していることを感知し、前記第2ロボット200にビジュアルマーカの出力を要請する要請信号を伝送し、前記第2ロボット200は、前記要請信号を受信して前記ビジュアルマーカを出力してもよい。
【0081】
この場合、本発明のロボットの姿勢測定方法では、前記第2ロボット200が前記ビジュアルマーカの出力を要請する要請信号をモニタリングするステップがさらに含まれてもよい。
【0082】
前記要請するステップ(S112)で要請信号が伝送されると、伝送された前記要請信号を受信して前記ビジュアルマーカの出力要請を認識するために、前記第2ロボット200が前記要請信号を周期的にモニタリングすることができる。
【0083】
前記要請信号のモニタリングは、前記第2ロボット200が特定の位置に移動した場合に行われてもよい。例えば、前記第2ロボット200は、前記第1ロボット100に品物を伝達するために移動して前記特定の位置に到逹すると、前記第2ロボット200の制御部がこれを判断し、前記要請信号のモニタリングを開始することができる。
【0084】
次いで、前記第2ロボット200のディスプレイ240にビジュアルマーカを出力するステップ(S113)が行われてもよい。
【0085】
前記第2ロボット200は、前記要請信号を受信すると、ディスプレイ240を用いて前記ビジュアルマーカを表示する。
【0086】
前記ビジュアルマーカは、例えば、ビジュアル基準マーカ(Visual Fiducial Marker)であってもよい。前記ビジュアル基準マーカは、画像に基準又は測定ポイントとして使用するためにマークが生成されたものであり、ApriltagやArucoなど、公開されて誰でも自由に使用できるマーカであってもよい。他の例として、前記ビジュアルマーカは、Artificial markerであり、ユーザが直接設計した多様なタイプのマーカであってもよい。
【0087】
このとき、前記ビジュアルマーカを出力するステップ(S113)は、前記ディスプレイ240が活性化されていない状態で前記要請信号を受信すると、前記ディスプレイ240を活性化して前記ビジュアルマーカを出力することができる。具体的な例として、前記ディスプレイ240は、活性化されていない状態で前記要請信号に応答して活性化され、前記ビジュアルマーカを出力してもよい。
【0088】
他の例として、前記ビジュアルマーカを出力するステップ(S113)は、前記ディスプレイ240に画像情報を出力した状態で前記要請信号を受信すると、前記画像情報の出力をオフにして前記ビジュアルマーカを出力するか、又は前記画像情報と共に前記ビジュアルマーカを出力することができる。すなわち、前記ディスプレイ240が活性化された状態で画像などを出力し、前記要請信号によって前記画像の出力を中止して、前記ビジュアルマーカを出力することも可能である。
【0089】
一方、前記第2ロボット200のディスプレイ240にビジュアルマーカを出力してから特定の時間が経過すると、前記ビジュアルマーカの出力を終了することも可能である。この場合、前記特定の時間は、前記第1ロボット100が前記第2ロボット200を撮影する制御を行う時間よりも長く設定されてもよい。
【0090】
次いで、前記第1ロボット100が前記第2ロボット200を撮影するステップ(S114)が行われる。
【0091】
前記第1ロボット100は、カメラ121を用いて前記第2ロボット200を撮影する。
【0092】
例えば、前記第2ロボット200は、前記ビジュアルマーカを出力したことを示すフィードバック信号を前記第1ロボット100に伝送し、前記第1ロボット100は、前記フィードバック信号に応答して前記第2ロボット200を撮影してもよい。他の例として、前記フィードバック信号は、前記第2ロボット200からクラウドサーバに伝送され、前記クラウドサーバで前記第2ロボット200を撮影する制御命令を生成して第1ロボット100に伝送してもよい。
【0093】
この場合、前記カメラ121は、前記第1ロボット100に取り付けられたセンサであってもよいが、本発明は必ずしもこれに限定されるものではない。このような例として、ロボットが位置する空間にはカメラが配置されてもよい。空間に配置されたカメラの数には制限がなく、空間には複数のカメラが配置されてもよい。空間に配置されたカメラの種類は多様であり、例えば、空間に配置されたカメラはCCTV(closed circuit television)であってもよい。
【0094】
さらに、建物の通信設備は、前記空間に配置されたカメラとの直接的な通信を行うことができる。また、建物の通信設備は、前記カメラを制御する映像管制システムと通信するように構成されてもよい。このとき、前記カメラは、第2ロボット200が前記特定の位置に到着した状況を検出し、前記第1ロボット100を撮影するように前記映像管制システムによって制御することができる。この場合、前記映像管制システムは、別途の管制システムとして備えられるか、又は上述したクラウドサーバの一部として構成されてもよい。
【0095】
図3を参照すると、前記第1ロボット100で撮影された画像に含まれたビジュアルマーカを検出して、前記画像に含まれたビジュアルマーカの姿勢(pose)を算出するステップ(S115)が行われる。
【0096】
ここで、前記ビジュアルマーカは、図示のように、少なくとも1つのエイプリルタグ(Apriltag)を含むようになされてもよい。エイプリルタグは、視覚的な基準となる標識として、2次元情報からなってもよい。複数のエイプリルタグが組み合わせられて前記ビジュアルマーカを構成してもよい。
【0097】
このようなマーカを前記第1ロボット100で撮影された画像から検出し、検出されたビジュアルマーカを用いてビジュアルマーカの姿勢を算出する。前記ビジュアルマーカの姿勢の検出は、PnP(Perspective-n-Point)方法を用いて行ってもよい。
【0098】
前記PnP方法は、perspective-n-pointアルゴリズムを用いてカメラポーズ(例えば、カメラの位置、角度、方向)を推定する技術である。これを用いて、入力画像であるビジュアルマーカの姿勢をカメラ座標系に対して算出する。
【0099】
次いで、前記第2ロボット200の座標データと前記画像に含まれたビジュアルマーカの姿勢を用いて前記第2ロボット200の姿勢を算出するステップ(S115)が行われてもよい。
【0100】
例えば、前記第2ロボット200の形状データ、例えば、CADモデルデータを用いて、カメラ座標系に対するビジュアルマーカの姿勢を前記第2ロボット200の姿勢に変換することができる。
【0101】
他の例として、キャリブレーション手法を用いてカメラ座標系に対するマーカ姿勢をロボット姿勢に変換することも可能である。この場合、前記キャリブレーション手法は、カメラとホイールオドメトリ(wheel odometry)との間のキャリブレーション手法を用いてもよい。
【0102】
上述したように、本発明においては、相手ロボットがビジュアルマーカを出力すると、これを撮影して相手ロボットの姿勢を測定し、前記姿勢を用いて相手ロボットとのインタラクションを行うことができる。例えば、前記第1ロボット100と第2ロボット200は、いずれか一方が他方に品物を伝達するか、又は両ロボットが互いに握手をするなどの相互インタラクションを行うことができる。
【0103】
以下、本発明のロボットの姿勢測定方法の各ステップについて例示と共により詳しく説明する。
【0104】
図4は、図2aのロボットが図2bのロボットの姿勢を測定するためにビジュアルマーカを撮影する概念を示す概念図であり、図5は、ビジュアルマーカのポーズを検出する概念図であり、図6は、ロボットの姿勢に変換する例を示す概念図であり、図7a及び図7bは、本発明の他の実施形態を示す概念図であり、図8は、本発明のプロセスを用いて実現した実際のデータを示す画像データである。
【0105】
まず、図4を参照すると、前記第2ロボット200は、ビジュアルマーカ250を出力し、前記第1ロボット100は、出力された前記ビジュアルマーカ250を撮影する。
【0106】
前記ビジュアルマーカ250の撮影がより容易かつ正確に行われるように、前記ビジュアルマーカ250を出力する前記第2ロボット200のディスプレイ240は、前記第2ロボット200の前面又は上面で上向きに配置され、前記第1ロボット100は、前記第2ロボット200を下向きに撮影するカメラ121を備えることができる。
【0107】
このような相対位置を実現するために、前記第2ロボット200のディスプレイ240は、垂直方向に対して傾斜した面の形態のビュー領域241を備えることができる。一方、第1ロボット100のカメラ121は、前記第1ロボット100のボディー部の上端に配置され、前記ビュー領域241に向かう視野角を有するように下向きに配置されてもよい。この場合、前記視野角は、カメラ121の画角(FoV、Field of VIEW)であってもよい。
【0108】
また、前記第1ロボット100が前記第2ロボット200をより正確に撮影するために、前記第1ロボット100と第2ロボット200は、互いに対向するように位置と方向が制御され得る。
【0109】
このとき、前記ディスプレイ240に出力されるビジュアルマーカ250は、ディスプレイ240の中央に実際のサイズで出力することができる。この場合、ディスプレイ240のピクセルピッチ(Pixel Pitch、mm)とマーカ画像のサイズ(pixel)を用いて、ビジュアルマーカ250が実際のサイズで出力でき、このような例として、ビジュアルマーカ250の幅wは175mmであり、高さhは91mmであってもよい。
【0110】
まず、第1ロボット100は、撮影された画像に含まれたビジュアルマーカ250を検出することができる。この場合、第1ロボット100の制御部は、既設定のマーカ検出アルゴリズム(又はプログラム)に基づいて、ビジュアルマーカ250に含まれた少なくとも1つのマーカ基準点を特定することができる。マーカ基準点は、ビジュアルマーカ250に含まれたコーナーにそれぞれ対応する少なくとも1つのコーナーポイント(corner point)を意味し得る。
【0111】
具体的には、第1ロボット100の制御部は、撮影された画像からビジュアルマーカ250を認識し、認識されたマーカのコーナーにそれぞれ対応する少なくとも1つのマーカ基準点(P、又はコーナーポイント、a、b、c、d、e、f、g、h)を特定(抽出)することができる。
【0112】
また、第1ロボット100の制御部は、前記特定されたマーカ基準点Pに基づいて、第1ロボット100の制御部は、前記ビジュアルマーカ250のマーカ座標系{W}を特定することができる。すなわち、カメラ座標系{C}に対するマーカ座標系{W}の自由度情報(又は6自由度姿勢)を測定することができる。
【0113】
マーカ座標系{W}は、特定されたマーカ基準点(例えば、a、b、c、d、e、f、g、h)のいずれか1つを原点として三次元の軸を含んでもよく、“”に対応するマーカ基準点を原点としてもよい。
【0114】
次いで、第1ロボット100の制御部は、前記ビジュアルマーカ250の姿勢を推定することができる。このため、前記画像に含まれたビジュアルマーカの姿勢を算出するステップ(S115)では、検出された前記ビジュアルマーカ250を用いて、前記第2ロボット200を撮影したカメラ121の座標系に対する前記ビジュアルマーカ250の6自由度姿勢を推定することができる。
【0115】
このようなカメラ121は、図示のように、カメラ座標系{C}を有するように構成されてもよい。カメラ座標系{C}は、カメラ121の特定の地点を原点とする三次元座標系であってもよい。また、図示のように、カメラ121により撮影された画像に含まれたマーカを基準として設定されるマーカ座標系{W}が他の基準座標系として設定されてもよい。この場合、マーカ座標系{W}は、画像に含まれたマーカの特定の地点を原点とする三次元座標系であってもよい。
【0116】
この場合、前記ビジュアルマーカ250は、マーカのポイントに基準座標系を有してもよく、マーカの自由度情報は、カメラ121の基準座標系とマーカの基準座標系との相対的な位置関係を反映して得ることができる。
【0117】
このように、前記カメラ121のカメラ座標系{C}を基準として、マーカ座標系{W}の自由度情報(6自由度姿勢)を抽出することができる。これにより、前記制御部は、カメラ座標系{C}に対して、撮影された画像に含まれたビジュアルマーカ250又はマーカ座標系{W}が回転(rotation)及び変換(translation、並進移動)された程度を抽出することができる。
【0118】
例えば、マーカ基準点に対応するピクセル(pixel)座標を特定し、前記マーカ基準点に対応するピクセル(pixel)座標、及びカメラ121のカメラ座標系{C}を用いて、カメラ座標系{C}に対する前記マーカ座標系{W}の自由度姿勢を特定することができる。
【0119】
より具体的には、制御部130は、カメラ座標系{W}に対するマーカ座標系{W}の自由度情報(又は相対的な位置関係)を抽出するために、PnPを計算してもよい。
【0120】
一方、カメラ座標系{W}に対するマーカ座標系{W}の相対的な位置関係は、マーカ座標系{W}がカメラ座標系{W}に対して、回転及び変換された程度を意味し得る。このような回転及び変換された程度による情報は、カメラ座標系{C}に対するマーカ座標系{W}の自由度情報(自由度姿勢)に対応し得る。
【0121】
カメラ座標系{C}に対するマーカ座標系{W}の自由度情報(自由度姿勢)を抽出するために、前記ビジュアルマーカ250の少なくとも1つのマーカ基準点に対応するピクセル座標(u、v)カメラの三次元座標(x、y、z)をPnP方程式に代入することで、カメラ座標系{C}に対するマーカ座標系{W}の自由度情報(自由度姿勢)を抽出することができる。
【0122】
具体的には、カメラ座標系に対するマーカ座標系の6自由度姿勢が算出され、これは、PnP方程式を用いてエイプリルタグのコーナーポイントのピクセル座標を以下の式(1)で定義することにより算出することができる。
【0123】
【数1】
【0124】
この場合、左辺はエイプリルタグのコーナーポイントのピクセル座標であり、右辺の最初の行列はカメラパラメータに対するものであり、2番目の行列はカメラ座標系に対するマーカ座標系の6自由度姿勢であり、3番目の行列は実世界の座標値に対するものである。また、エイプリルタグは、オープンソースを用いて映像でコーナーポイントを提供するため、前記コーナーポイントのピクセル座標を算出することができる。
【0125】
前記ビジュアルマーカ250の姿勢が測定されると、前記姿勢を前記第2ロボット200の姿勢に変換する。
【0126】
まず、図6に示すように、第2ロボット200の形状データである、CADモデルを用いて前記ビジュアルマーカ250の姿勢をロボットの姿勢に変換することができる。例えば、CADモデルの基準座標系に対するビジュアルマーカ250のコーナーポイントの三次元座標(x、y、z)を抽出することができる。このような座標変換のために、前記第1ロボット100又は上述したクラウドサーバには、第2ロボット200の形状データが格納されてもよい。
【0127】
さらに、図示のように、ロボットを基準として設定されるロボット座標系{O}が基準座標系の1つとして設定されてもよい。ロボット座標系{O}は、第2ロボット200の特定の地点を原点とする三次元座標系であってもよい。
【0128】
さらに、第2ロボット200の自由度情報は、マーカの基準座標系と第2ロボット200の基準座標系との相対的な位置関係を反映して得られることは言うまでもない。すなわち、本発明においては、カメラ121の基準座標系、マーカの基準座標系、ロボットの基準座標系の間の相互相対的な位置関係に基づいて、カメラ121、マーカ、及びロボットのうちの少なくとも1つに対する自由度情報を収集することが可能である。
【0129】
前記座標変換は、PnP方程式を用いて、エイプリルタグのコーナーポイントのピクセル座標を以下の式(2)で定義することにより算出することができる。
【0130】
【数2】
【0131】
この場合、左辺はエイプリルタグのコーナーポイントのピクセル座標であり、右辺の最初の行列はカメラパラメータに対するものであり、2番目の行列はカメラ座標系に対するロボット座標系(すなわち、第2ロボット200の座標系)の6自由度姿勢であり、3番目の行列は実世界の座標値に対するものである。
【0132】
図6に示すように、ビジュアルマーカ250の右側下端のコーナーポイントPfに対するx、y、zの座標値をロボット基準の座標系を基準として算出することで、第2ロボット200の姿勢を定義することができる。このような方法により、前記第2ロボット200のCADモデルの基準座標系に対する前記画像に含まれたビジュアルマーカ250のポイントの3D座標が抽出される。
【0133】
前記ビジュアルマーカ250の姿勢をロボットの姿勢に変換することは他の方法によっても可能である。図7図8a及び図8bを参照すると、キャリブレーション手法を用いて、カメラ座標系に対するマーカ姿勢をロボット姿勢に変換することができる。
【0134】
このような例として、前記第1ロボット100のカメラ121と前記第2ロボット200のホイール220に対するオドメトリ情報を用いて、前記画像に含まれたビジュアルマーカ250の姿勢を前記第2ロボット200の姿勢に変換することができる。
【0135】
この場合、モバイルロボットに取り付けられたカメラを用いて周辺を探索するシステムにおいて適切な作動機能を確保するために、カメラの内部及び外部の媒介変数、カメラとモバイルロボットのフレームとの間の相対ポーズ、モバイルロボットの走行媒介変数を推定するための補正を行うことになる。このとき、オドメトリ(Odometry、走行距離測定)方法が適用され、オドメトリとは、ホイール220でエンコーダの測定に基づいてモバイルロボットの構成(すなわち、位置及び方向)を再構成することであり、既知の構成から始めてロボットの現在位置と方向は、測定されたホイール220の速度に対応する車速の時間積分によって算出される。本発明において、このような方法を第2ロボット200の基準座標系、ビジュアルマーカ250のコーナーポイント、ホイールオドメトリの間の関係に適用することで、ロボット姿勢を算出することができる。
【0136】
例えば、ホイールオドメトリをOiOjと定義すると、下記の式(3)の関係が成立し、ビジュアルマーカ250の姿勢は下記の式(4)によって定義することができる。
【0137】
【数3】
【0138】
【数4】
【0139】
式(3)及び式(4)を用いて、ビジュアルマーカ250の姿勢をロボットの姿勢に変換することができる。
【0140】
上述した方法によれば、第1ロボット100は、ビジュアルマーカ250を用いて第2ロボット200の姿勢を測定することが可能となる。このような例として、図8の(a)、(b)、(c)は、それぞれ測定された姿勢に基づいて、ロボットのCADモデル(Mesh)を映像に投映した例を示している。
【0141】
このように、第2ロボット200の姿勢を測定すると、第1ロボット100は、第2ロボット200が移送した品物の位置を算出し、前記品物をピックアップした後、割り当てられたタスクを行う。
【0142】
上述したプロセスによって、本発明に係るロボットの姿勢測定方法、及びこれを用いたロボットシステムは、相手ロボットの姿勢を認識し、これにより簡単な方法で相手ロボットの姿勢を迅速かつ正確に測定することができる。
【0143】
一方、上述したプロセスは、相手ロボットではなく、自分自身の位置を測定する方法に変形されてもよい。以下、このような変形例について図9を参照して説明する。
【0144】
図9は、本発明の他の実施形態でロボットの位置を測定する概念図である。
【0145】
屋内空間の実際の環境では、時間の経過と共に大きな変化が存在するため、ロボットのカメラの正確なポーズ情報を推定することは非常に難しい問題である。例えば、テクスチャ(質感)のない領域(textureless areas)、サイネージなどでコンテンツの変化などによって発生する外観の変化(changing appearance)、時間の経過による混雑度(crowdedness)やオクルージョン(occlusions)の変化、動的環境の変化(dynamic environment)などにより、画像に対するカメラポーズの推定が困難になる。
【0146】
図1から図8を参照して上述したビジュアルマーカを用いた姿勢の測定は、屋内空間を走行するロボットのカメラポーズの推定にも適用することができる。
【0147】
図9の(a)を参照すると、まず、ディスプレイ410が配置された屋内空間20でロボット300が移動し得る。この場合、前記ロボット300は、上記に例示した第2ロボット200であってもよい。
【0148】
前記ディスプレイ410としてサイニジを例と挙げているが、他のタイプのディスプレイも可能である。このとき、前記ディスプレイ410に画像情報が表示されてもよく、前記画像情報は、広告情報、案内情報、映像コンテンツなどであってもよい。
【0149】
前記ロボット300が屋内空間20を走行している場合、前記ロボット300に取り付けられたカメラ321を用いて前記ディスプレイ410を検出することができる。前記ディスプレイ410が検出されると、前記ロボット300は、前記ディスプレイ410を制御する制御システムにビジュアルマーカ420の出力を要請する要請信号を伝送する。このとき、前記制御システムが前記要請信号の受信をモニタリングすることができる。
【0150】
前記制御システムは、前記屋内空間を有する建物の制御システムであってもよく、クラウドサーバなどの外部サーバであってもよい。
【0151】
他の例として、前記ロボットを運用する別のサーバが備えられ、前記サーバで前記ロボットが前記ディスプレイに接近していることを感知し、前記制御システムに前記ビジュアルマーカ420の出力を要請する要請信号を伝送することも可能である。
【0152】
図9の(b)を参照すると、前記要請信号に応答して、前記制御システムが前記ビジュアルマーカ420を出力するように前記ディスプレイ410を制御する。
【0153】
前記ビジュアルマーカ420は、図1から図8を参照して説明した例示的なビジュアルマーカであってもよく、前記ディスプレイ410から出力する画像情報と共に前記ディスプレイ410に出力されてもよい。このような例として、前記ビジュアルマーカ420は、前記ディスプレイ410の一側の下端に前記画像情報にオーバーラップされて出力されてもよい。
【0154】
次いで、前記ロボット300が前記ディスプレイ410に出力されたビジュアルマーカ420を用いて、前記ロボット300の現在位置を推定する。また、この場合に、前記ロボット300のポーズも推定することができる。前記ロボット300の現在位置及びポーズの推定は、前記屋内空間の特徴マップを用いたビジュアルローカリゼーションにより行われてもよい。
【0155】
このような位置及び推定されたポーズを用いて前記ロボット300の正確な位置を推定することができる。この場合、前記ロボット300は、前記位置に基づいた様々なサービスを行うことができる。
【0156】
本例示で説明したように、本発明は、サイネージなど特定の空間に固定されたディスプレイでビジュアルマーカを出力し、ビジュアルマーカを撮影したロボットの位置を正確かつ迅速に測定できる効果を発揮することができる。
【0157】
上記のように説明されたロボットの姿勢測定方法、及びこれを用いたロボットシステムは、上記実施形態の構成と方法が限定的に適用されるものではなく、上記実施形態は、多様な変形が行われるように各実施形態の全部又は一部を選択的に組み合わせて構成することもできる。
図1
図2a
図2b
図3
図4
図5
図6
図7a
図7b
図8
図9
【国際調査報告】