JP7311172B2 - リモートロボット制御を提供する方法及びシステム - Google Patents

リモートロボット制御を提供する方法及びシステム Download PDF

Info

Publication number
JP7311172B2
JP7311172B2 JP2021519702A JP2021519702A JP7311172B2 JP 7311172 B2 JP7311172 B2 JP 7311172B2 JP 2021519702 A JP2021519702 A JP 2021519702A JP 2021519702 A JP2021519702 A JP 2021519702A JP 7311172 B2 JP7311172 B2 JP 7311172B2
Authority
JP
Japan
Prior art keywords
robot
virtual
virtualized environment
path
environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021519702A
Other languages
English (en)
Other versions
JP2022504599A (ja
Inventor
ユアン・ティアン
スレシュ・マニ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Midea Group Co Ltd
Original Assignee
Midea Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Midea Group Co Ltd filed Critical Midea Group Co Ltd
Publication of JP2022504599A publication Critical patent/JP2022504599A/ja
Application granted granted Critical
Publication of JP7311172B2 publication Critical patent/JP7311172B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/02Hand grip control means
    • B25J13/025Hand grip control means comprising haptic means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0038Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with simple or augmented images from one or more cameras located onboard the vehicle, e.g. tele-operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/005Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with signals other than visual, e.g. acoustic, haptic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、一般的にロボット制御に関し、混合イニシアチブ型リモートロボット制御を提供することを含むが、これに限定されない。
(関連出願の相互参照)
本願は、2018年10月10日に提出された米国特許出願第16/156,969号の優先権を要求し、その全ての内容は引用によって本明細書に組み込まれていている。
現在、ロボットは、元々人間により実行された多くのタスクを実行又は補助するために用いられている。ある特定の場合において、ロボットの動き及び制御精度並びにロボットのカスタマイズ可能な設計及び操作モードのため、ロボットは、人間よりも特定のタスクに適する。リモート制御されるロボットは、危険な環境(例えば、自然災害被害地域、有毒環境、ウィルス又は放射能汚染環境など)におけるタスクなどに適する。一部の例において、例えば、家事活動、倉庫在庫の整理、身体障碍者及び/又は高齢者向けの一般的な看護及び補助などのような、反復性が高くて煩わしいタスク及び/又は肉体労働のタスクは、ロボットによる補助から十分に恩恵を受けることができる。
リモート操作及び全自動化は、現在広く用いられている2つのロボット制御モードであるが、該2つの制御モードで実行可能なタスクの種類は制限がある。例えば、作業者はリモート操作により、該当する制御動きをリアルタイムで実行することで、ロボットの各動作を精確に制御しながら、ロボット操作シーンのストリーミングビデオを見る。リモート操作の制御モードは、非常に熟練した作業者がタスクの実行プロセス全体にリアルタイムで十分に参与する(例えば、身体的及び心理的)ことが要求される。そのため、その用途及び適用が厳しく制限されている(例えば、作業者に加えた負担及び要求の故に)。全自動化制御モードは、人工知能をロボット制御プログラムに内蔵する必要がある。これは、高度に変化する操作シーンに適応できず、その用途及び適用へ制限になる。
混合イニシアチブ型ロボット制御モードにおいて、作業者により高レベルのタスクガイド命令が提供され、ロボットのプリプログラミングに依存して、高レベルの命令の実行による精確な動き及び操作を決定する。混合イニシアチブ型ロボット制御は、作業者に加えた負担及び要求を軽減し、精度、耐力、ロバスト性及び相対的な危険抵抗性でのロボットの能力を十分に利用する。
混合イニシアチブ型ロボット制御を促進する直観的かつ効率的なヒューマンマシンインタフェースを提供することは、挑戦的である。ネットワークにおいてロボットに対する操作(例えば、ナビゲーション及び/又は対象操作)をリアルタイムでサポートして間接的及び/又は間欠的な関与を行う好適な技術は、強く望まれている。
従って、ロボットを制御する作業者はロボットが感知した3Dシーンをリアルタイムで可視化し、高いレベルで間接的及び/又は間欠的命令及び入力を用いることでロボットの動作を指導する(リモート操作によりロボットを制御することはない)可能な混合イニシアチブ型ロボット制御技術が強く望まれている。ロボットに混合イニシアチブ型制御を提供する場合、ユーザは、複合現実環境を用いて3Dシーンを感知し、ナビゲーション入力を提供する。複合現実環境は、ロボットが感知した物理環境の仮想化表現と物理環境の仮想化表現に位置されている仮想マート及び仮想対象との組み合わせである。上記の技術は、ロボットを介して物理環境とインタラクションする過程において、例えば、視点のリアルタイム切り替え、環境の選択部分の検査、視覚情報の補強受信(例えば、テクスチャ情報、物理的属性情報、動作及び外観履歴など)のような多くの自由度及び情報をユーザに提供する。
本願において、触覚対応型複合現実システムの実施例を説明する。前記システムは、触覚インタフェースを提供して物理環境の仮想化表現とインタラクションし、高レベルのタスクを実行する時に移動ロボットに高レベルのリモートナビゲーションを提供する。前記システムは、赤緑青デプス(RGBD)センサが配置された移動ロボットを有するローカルサイトと、ユーザが触覚対応型入力/出力(I/O)機器を操作するリモートサイトを含む。三次元仮想現実世界シーンは、リアルタイムデンスマッピングを用いてストリーミングRGBDデータから生成されたものである。ユーザは、触覚対応型入力デバイスを用いてシーンにおける表面及び対象の物理的特徴を「タッチ」して体験し、シーンをマーキングしてシーンにおけるロボットの仮想経路、通路、障害物及び/又はターゲットを指示し、また、シーンに仮想対象を追加することができる。仮想対象は、ロボットの視角からシーンの構成を変更し、ロボットが事前プログラミングされた命令に応じて実行する正確な操作に間接的に影響を及ぼす。幾つかの実施例において、システムは、仮想対象とシーンにおける他の対象とのインタラクションの物理シミュレーションを行い、ユーザがシーンを体験してシーンにおける仮想対象の位置をより正確に決定することを補助する。幾つかの実施例において、リアルタイムなユーザ補助対象セグメンテーションを実行する。ユーザは、触覚対応型入力デバイスを用いてシーンにおける位置をマーキングし、領域成長法で、マーキングした位置で対象をシーンから分離させる。幾つかの実施例において、触覚レンダリングのための新たな処理パイプラインは、プロキシ更新を処理するために用いられる。提出される力カラーリングしたプロキシ更新方法は、摩擦及び触覚テクスチャを反映できるため、より安定であり、また、シーンにおける異なる平面の交差境界をより確実に処理することができる。幾つかの実施例において、所望のネットワーク遅延に基づいてロボットの実際の位置を予測することで、遅延ネットワークにおけるロボットのリアルタイムな操作及び制御をよりスムーズにすることができる(例えば、ロボットのスラッシングを減少させる)。
一態様によれば、1つ又は複数のプロセッサ及びメモリを有するコンピューティング機器であって、前記コンピューティング機器はロボットに通信可能に結合され、第1組のプリプログラミングされた経路計画命令に基づいて前記ロボット用の計画経路を生成するように構成され、前記ロボットは、前記コンピューティング機器から受信された前記計画経路及びローカルに記憶されている経路実行命令に基づいて物理環境においてナビゲーションをするように構成されるコンピューティング機器において、混合イニシアチブ型ロボット制御を提供する方法を実行する。前記方法は、コンピューティング機器に結合される表示生成モジュールにより、制御ユーザインタフェースを表示することであって、現在前記ロボットを取り囲んでいる第1物理環境に対応する仮想化環境において仮想ポインタ対象を表示することを含み、前記仮想化環境は、前記ロボットと一緒に配置される第1のセンサ群から受信されたストリーミング環境データに基づいて生成されて更新されたものである、ことと、仮想化環境において前記仮想ポインタ対象を表示すると同時に、触覚対応型入力デバイスにより第1ユーザ入力を検出することであって、前記仮想化環境における前記仮想ポインタ対象の移動経路に沿った1つ又は複数の位置において第1移動入力及び1つ又は複数のマーク入力を検出することを含む、ことと、前記第1ユーザ入力を検出したことに応答して、前記第1移動入力に基づいて、仮想化環境において、前記仮想化環境における1つ又は複数の模擬表面により制限される第1移動経路に沿って前記仮想ポインタ対象を移動し、前記仮想化環境における第1移動経路の模擬材料及び/又は構造特徴に基づいて、前記触覚対応型入力デバイスにより触覚フィードバックを生成し、仮想化環境における1つ又は複数のマーク入力の位置に対応する仮想化環境の少なくとも一部を修正し、前記仮想化環境の代わりに、修正した仮想化環境を第1物理環境における、前記コンピューティング機器が前記第1組のプリプログラミングされた経路計画命令に基づいて実行する前記ロボットの経路計画の環境基礎とする、ことと、を含む。
一態様によれば、1つ又は複数のプロセッサ及びメモリを有するコンピューティング機器であって、ネットワークを経由して、第1物理環境において一緒に配置されたセンサ群及びロボットに通信可能に結合されるコンピューティング機器において、ストリーミング表面からインタラクティブ対象セグメンテーションを実行する方法を実行する。前記方法は、前記センサ群から、前記第1物理環境を捕捉する関連画像及びデプスデータを含む環境データストリームを受信する、ことと、表示生成モジュールにより、ユーザインタフェース領域に、前記環境データストリームに基づいて生成されて更新された前記第1物理環境の仮想化表現を表示する、ことと、前記第1物理環境の仮想化表現を表示すると同時に、触覚対応型入力デバイスからマーク入力を受信し、マーク入力に基づいて第1物理環境の仮想表現におけるマーク入力の位置を決定することであって、前記位置は、第1物理環境の仮想化表現における第1仮想化表現により制限される、ことと、マーク入力を受信したことに応答して、関連画像及びデプスデータで、マーク入力の位置から対象セグメンテーションを実行することであって、時間ステップに対して、環境データストリームに基づいて第1物理環境の仮想化表現を更新することを含み、画像データにおける、マーク入力の位置に対応する第1位置から、画素に対してクラスタリングを行い、第1クラスタを形成し、第1クラスタ及び前記第1クラスタに対応するデプスデータに基づいて、マーキングされた第1対象をセグメンテーションし、マーキングされた第1対象及びデプスデータを、前記時間ステップに対応する前記第1物理環境の第1切断符号付き距離関数(TSDF)表現にフュージョンし、前記マーキングされた第1対象及び第1クラスタに対応するデプスデータとフュージョンした第1TSDF表現から、第1セグメンテーションポイントクラウドを取得することと、を含む。
一態様によれば、1つ又は複数のプロセッサ及びメモリを有するコンピューティング機器であって、前記コンピューティング機器はロボットに通信可能に結合され、第1組のプリプログラミングされた経路計画命令に基づいて前記ロボット用の計画経路を生成するように構成され、前記ロボットは、コンピューティング機器から受信された計画経路及びローカルに記憶されている経路実行命令に基づいて物理環境においてナビゲーションをするように構成されるコンピューティング機器においては、混合イニシアチブ型ロボット制御を提供する方法を実行する。前記方法は、コンピューティング機器に結合される表示生成モジュールにより、制御ユーザインタフェースを表示することであって、現在ロボットを取り囲んでいる第1物理環境に対応する仮想化環境を表示することを含み、前記仮想化環境は、ロボットと一緒に配置される第1のセンサ群から受信されたストリーミング環境データに基づいて生成されて更新されたものである、ことと、前記仮想化環境を表示すると同時に、前記仮想化環境における第1位置に第1仮想対象を挿入する第1ユーザ入力を検出することと、前記第1ユーザ入力を検出したことに応答して、前記第1位置に前記第1仮想対象を挿入することに基づいて前記第1仮想化環境を修正し、ここで前記第1位置に位置する前記第1仮想対象は、前記ロボットに、第1組のプリプログラミングされた経路計画命令に基づいて生成された第1ナビゲーション経路を前記物理環境において実行させ、前記仮想化環境における前記第1位置で前記第1仮想対象を表示し、前記ロボットが物理環境において前記ナビゲーション経路を実行すると同時に、触覚対応型入力装置による前記第1仮想対象への第1移動入力操作の検出を含む、第2ユーザ入力の検出を実行する、ことと、前記第2ユーザ入力を検出したことに応答して、前記第1移動入力に基づいて、前記仮想化環境において、第1仮想対象を、前記仮想化環境における1つ又は複数の模擬表面により制限される第1移動経路に沿って第2位置に移動する、ことと、を含む。ここで、前記第2位置に位置する前記第1仮想対象は、前記ロボットに、前記第1組のプリプログラミングされた経路計画命令に基づいて生成された修正したナビゲーション経路を物理環境において実行させる。
幾つかの実施例によれば、コンピューティングシステムは、1つ又は複数のプロセッサ、メモリ及び1つ又は複数のプログラムを含み、前記1つ又は複数のプログラムは、前記メモリに記憶され、前記1つ又は複数のプロセッサにより実行されるように構成され、前記1つ又は複数のプログラムは、上記のいずれの方法の操作を実行させる命令を含む。幾つかの実施例によれば、非一時的コンピュータ読み取り可能な記憶媒体に命令が記憶されており、前記命令は1つ又は複数のプロセッサを有するコンピューティングシステムにより実行される時、前記コンピューティングシステムに、上記のいずれの方法の操作を実行させる。幾つかの実施例によれば、コンピューティングシステムは、上記のいずれの方法の操作を実行する装置を含む。
本願は、開示されるシステム及び方法の他の利点を説明し、及び/又は、本明細書で提供される開示は、当業者にとって明らかである。
幾つかの実施形態による例示的な混合イニシアチブ型ロボット制御環境を示す図である。 幾つかの実施形態による混合イニシアチブ型ロボット制御環境を含む例示的な構成ブロック図である。 幾つかの実施形態による混合イニシアチブ型ロボット制御環境のリモートサイトでリアルタイムな視覚及び触覚レンダリングを行うための例示的処理パイプラインを示す図である。 幾つかの実施例による力カラーリングを用いるプロキシ更新方法を示す図である。 幾つかの実施例による摩擦に対するプロキシ更新を示す図である。 幾つかの実施例によるインタラクティブ領域成長二次元セグメンテーション方法の例示的な処理パイプラインを示す図である。 幾つかの実施例によるロボットの経路計画及び操作に影響を及ぼす触覚マーク及び仮想対象の種々の例を示す図である。 幾つかの実施例によるロボットの経路計画及び操作に影響を及ぼす触覚マーク及び仮想対象の種々の例を示す図である。 幾つかの実施例によるロボットの経路計画及び操作に影響を及ぼす触覚マーク及び仮想対象の種々の例を示す図である。 幾つかの実施例による混合イニシアチブ型ロボット制御を提供する方法を示すフローチャートである。 幾つかの実施例によるストリーミング表面からインタラクティブ対象セグメンテーションを実行する方法を示すフローチャートである。 幾つかの実施例による混合イニシアチブ型ロボット制御を提供する方法を示すフローチャートである。 幾つかの実施例による例示的なロボットを示すブロック図である。 幾つかの実施形態による例示的なサーバを示すブロック図である。 幾つかの実施形態による例示的なユーザ側機器を示すブロック図である。
後述する種々の実施形態をより良く理解するために、下記図面及び具体的な実施形態を参照すべきである。ここで、図面全体において、同一の符号は、対応する部分を指す。
全ての図面において、同一の符号は、対応する部分を表す。
本願は、種々の実施例により混合イニシアチブ型ロボット制御を提供するシステム及び方法を提供する。
混合イニシアチブ型ロボット制御は、プリプログラミング命令を用いるリモート操作型全自動ロボット制御よりも優れているという利点を有する。その利用は、リモート作業者からの間欠的な補助で、新たな状況に対する柔軟性及びリアルタイム適応性を有することである。一方で、ロボットは、車載センサ及び/又はネットワークにより収集される環境入力に基づいて種々の低レベルのタスク又は中間レベルのタスクを実行するようにプログラミングされる。他方で、シーンの実際のリアルタイムな視覚及び触覚レンダリングによれば、人間ユーザは、ロボットと一緒に配置されるセンサから受信されたストリーミングRGBDデータに基づいて、適切な時刻で、感知した環境入力を修正することで間接的な関与を行うことができる。触覚対応型入力デバイスからユーザに提供される触覚フィードバックにより、ユーザが触覚カーソルによりシーンを探索、タッチ、体験することを許容する。又は、ユーザにより制御された仮想対象とシーンとの模擬物理的インタラクションによりシーンとインタラクションを行う。触覚対応型混合イニシアチブ型リモートロボット制御が柔軟性及び適応性を有するため、前記システムは、人間にとって煩わしくて、手間がかかり、及び/又は、危ない多くの状況、及び/又は、全自動ロボットにとって複雑であって迅速に変わる状況に適用可能である。なお、実際の状況に基づいて、ユーザの関与程度をリアルタイムに調整することができ、更に、システムの性能及び適応性を更に向上させる。
以下、幾つかの例示的なシーンを示す。ここで、触覚対応型混合イニシアチブ型リモートロボット制御システム及び方法は、従来のシステムよりも好適である。
一例において、流行病が蔓延している辺鄙な地域の現地病院における患者を看護する場合、ロボットは、伝染性が極めて高い患者の看護を補助することができる。簡単なタスクとして、例えば、患者の間で移動して患者のバイタルサインをチェックしたり、所定の時点で患者に薬物及び水を配送したり、汚れたシーツをクリアしたり、床板又はナイトテーブル上のゴミを掃除したりする。現地病院の病室における環境や条件が異なるため、機械学習及びプリプログラミングされた自動ロボットに基づく人工知能では、この場合、良好に動作することができない(例えば、現地病院の病室と類似した訓練サンプルが欠け、また、ロボットの意志決定ルーチンを訓練して完備するための十分な時間が欠けるため)。それと同時に、普通の病院の従業員及び医者は、日常の仕事に忙しく、リモート操作制御モードのリモート制御ロボットを用いる十分な体力及び/又は注意力がないことがある。この場合、触覚フィードバックを持つ混合イニシアチブ型リモートロボット制御は特に有用である。これは、ロボットの既存のプログラムに依存して、良く訓練されてプログラミングされた低レベルのタスクを行い(例えば、障害物のない経路に沿って、認識されたターゲットまでナビゲーションし、その視野における認識された障害物を回避するように経路を計画して実行し、認識されたターゲット対象をつまんで放す)。これは、人間ユーザによる補助から利益を得ることもできる。シーンにおけるどのような対象がターゲット、障害物、通路及び/又はターゲットに近いもの及び/又は回避可能な障害物であるかを決定して最適な経路を決定することを補助する。
もう1つの例において、高齢者及び家事管理を補助する家庭用ロボットについて、同様なカスタマイズされたロボットを異なる家庭に搬送して送付することができる。また、プリプログラミングされた操作及びナビゲーション命令は、標準化したタスク及び部屋配置に好適に用いられる。例えば、床面を清掃し、作業テーブルを拭き、ゴミ箱からゴミを取り出す。しかしながら、パーティーが終わった後に、部屋に投げ捨てられたゴミがある場合、又は、家庭メンバーが家屋の周りに種々の物品をランダムに残った場合、又は、子供又はペットが部屋に出入りする場合、標準化したプリプログラミング命令により提供される限られた画像処理及び意思決定能力は、これらの高度に変わる環境入力を正確に表して処理することに対して不十分である。なお、同様なカスタマイズされていないロボットを異なる部屋(例えば、異なる外観及びレイアウト、異なる程度の構成及び清潔要求を有し、意外な誤り及びロボットと環境との衝突に異なる感受性を有する部屋)に搬送し、触覚対応型混合イニシアチブ型リモートロボット制御は、人間ユーザがカスタマイズされていないロボットに提供される制御及び関与の数及びタイプをカスタマイズすることを許容し、ロボットに、実際のカスタマイズされた環境においてカスタマイズされたタスクを実行させる。幾つかの実施例において、人間指導履歴は、経時的に収集されるため、カスタマイズされていないロボットは、履歴を利用して、機械学習及び他の人工知能訓練方法で自己訓練を行うことができ、各家庭において次第に自動的になっていく。
もう1つの例において、工業製造環境において、肉体労働は殆どコンピュータにより制御される機械及び自動ロボットで置き換えられる。しかしながら、タスクが頻繁ではなく、及び/又は、機械の誤差及び事故に対して高い感受性を有するため、手動で駆動するタスクが依然として存在する。珍しいタスクについて、ロボットを、これらのタスクを専ら実行するように設計してプログラミングすることは、経済的に実現可能ではない。また、各タスクの需要が何時出現するかが予測不可能であるため、それらの特別に設計されたロボットを何時に配置するかが判断し難い。なお、操作環境に高価な設備、危ない化学薬品があり、及び/又は、操作環境に感受性が高い機械又は測定設備があるため、全自動化ロボットは、人的監督がない場合に、信頼性が極めて低いため、配置して利用することができない。この場合、触覚対応型混合イニシアチブ型リモートロボット制御システムは、人間ユーザを利用して高レベルの指導をリアルタイムで提供し、ロボットの低レベルのナビゲーション及び操作機能を構築して指導する。これにより、ロボットは、感受性が高い環境において、これらの非常に稀少及び/又は多様なタスクを実行する場合、機械誤差に対応するための十分な指導原則及び十分な余裕を持つことができる。
無数の例示的なシーンにおいて、例えば、設計、製造及び保守コスト、プログラミングの容易さ、柔軟性、適応性及び使いやすさの観点で、触覚対応型混合イニシアチブ型リモートロボット制御は、従来のリモートロボット制御及び全自動ロボットよりも好適である。作業者は、直接的に(例えば、仮想ポインタ)又は仮想対象を介して仮想化環境とインタラクションする場合、触覚対応型入力デバイスにより作業者に提供される触覚フィードバックにより、ユーザがロボットの物理的シーンをより正確に評価することを許容し、また、その環境入力を変更、マーキング又は追加することでロボットに指導をより正確に提供することを許容する。
種々の実施例において、本明細書に記載したとおり、触覚対応型混合イニシアチブ型リモートロボット制御システムの各特徴又は特徴の組み合わせは、上記利点を更に実現させ、及び/又は、より詳しく説明されるか又は説明される付加的利点を提供し、また、これらの利点は、当業者にとって明らかである。
以下、本発明の実施形態を詳しく参照し、その例を図面に示す。以下の詳細な説明では、説明される種々の実施形態に対する十分な理解を可能にするために多くの具体的な細部を記載する。しかしながら、該主旨は、これらの具体的な細部なしで実行されうることが、当業者には明らかであろう。その他の場合には、よく知られた方法、プログラム、モジュール及び回路は、本発明の実施例の態様を不必要に不明瞭にしないように詳細に説明されていない。
幾つかの場合には、用語「第1」、「第2」などは、本明細書において種々の素子を説明するためのものであるが、これらの素子は、これらの用語に限定されない。これらの用語は、1つの素子ともう1つの素子を区別するためのものに過ぎない。例えば、説明される種々の実現形態の範囲から逸脱することなく、第1ユーザインタフェースは、第2ユーザインタフェースと呼ばれてもよく、同様に、第2ユーザインタフェースは、第1ユーザインタフェースと呼ばれてもよい。第1ユーザインタフェース及び第2ユーザインタフェースはいずれもユーザインタフェースであるが、これらは、同一のユーザインタフェースではない。
本明細書において、種々の説明される実施形態に関する説明に用いられる用語は、特定の実施形態を説明することだけを目的としており、本願を限定することは意図されていない。種々の説明される実施形態及び添付の特許請求の範囲で使用されるとき、単数形の「一」、「1つの」及び「前記」は、文脈が明らかに違うように示さない限り、複数形も含む意図である。本明細書において使用される「及び/又は」という用語は、列挙された1つ以上の関連する対象物の任意の又は全ての考えられる組み合わせを参照かつ包含することも理解されるべきである。用語「備える」及び/又は「含む」は、明細書に使用される時、前記特徴、整数、ステップ、操作、素子及びモジュールの存在を規定するが、1つ又は複数の他の特徴、整数、ステップ、操作、素子、モジュール及び/又はその群が存在するか又は追加されることを排除しない。
本明細書中で使用されるように、用語「すれば」は、文脈によって、「何時」、「…場合」、「と決定したことに応答して」、「を検出したことに応答して」又は「の決定に基づいて」のうちの1つを意図すると解釈される。同様に、「決定すれば」又は「[説明された要件又はイベント]を検出すれば」は、文脈によって、「決定した場合」、「決定したことに応答して」、「[説明された要件又はイベント]を検出した場合」、「[説明された要件又はイベント]を検出したことに応答して」又は「[説明された要件又はイベント]を検出したと決定したことによれば」のうちの1つを意図すると解釈される。
「リモート制御」は、インターネット、組織又は家庭用ネットワーク内のイントラネットのような有線又は無線ネットワークに対する制御であってもよく、人間ユーザにより提供される入力が位置する正確な距離又は位置は、特に限定されず、また、本願の範囲もこれに限定されないことが理解されるべきである。
用語「ユーザ」、「作業者」、「管理者」、「技術者」、「人間」などは、本明細書に記載の特定の場合に動作を実行する一人又は複数の人を指すが、これらは、このような動作を実行する一人又は複数の人に対するものであり、本願の範囲は、これに限定されないことも理解されるべきである。
図1は、幾つかの実施形態による例示的な混合イニシアチブ型ロボット制御環境100を示す。
環境100において、ロボット102は、1番目の位置(例えば、ローカルサイト104)にある。前記ロボット102又は前記ローカルサイトに、ローカルサイトの視覚及びデプスデータ(例えば、光検出及び測距(LIDAR)、又は、シーンにおけるRGBカラー画像データを捕捉するRGBDカメラ)を捕捉するためのセンサ群106が配置される。可視領域は、前記センサ群の視野内の領域である。幾つかの実施例において、前記センサ106のシーン全体に対する位置は、一定である。幾つかの実施例において、前記センサ106は、前記ロボットに固定され、また、前記ロボットがローカルサイトの物理環境内で移動する時、前記センサの視野は変わる。前記ロボットは、オンボード処理能力を持ち、例えばグラビングされる物体を移動、グラビング、並進及び回転したり、移動中に障害物を選択的に回避したりするような低レベルの機能を実行することができる。幾つかの実施例において、ロボットは、オンボード処理能力を持ち、例えば折り畳み、清掃、拭き、押圧、ドアの開放/閉鎖、揺動、撹拌、タッピング、ローディング/アンローディング、分類などを実行するような中間レベルのタスクを実行することができる。ロボット102に対して設計されてプリプログラミングされた独立して実行される(人的関与を必要としない)タスクのタイプは、特定の適用に対してカスタマイズされたものである。例えば、家庭用ロボットは、下記能力を持つようにプログラミングされる。ロボットがターゲット領域を明確に認識した場合、ターゲット領域に対して清掃及びモップ拭き掃除を実行し、また、ロボットが、ゴミ物品、及び、ゴミ箱への通路に障害物がなくて他の認識されていない物体により遮られないことを明確に認識した場合、ゴミをピックアップしてゴミ箱に送る。前記ロボット102及び前記センサ群106には、十分な帯域幅を有するネットワーク通信機能が更に配置される。これにより、ローカルサイトで収集されるRBGDデータを伝送し、リモート作業者108及び/又はサーバ110から制御命令を受信する。
ローカルサイトにおいて、種々の物理対象、物理境界、物理表面、物理経路及び物理通路は、異なる位置に存在する。異なる物理対象、物理表面、境界、経路、通路は、外観、形状、位置及び状態で変わる可能性がある。例えば、カーテンが開放又は閉鎖され、又は、風により揺れ動くことがある。ドアは、開放又は閉鎖される。液体が飛散して床板に散布することがある。患者は、姿勢を変えることがある。ペットは、歩き回ることがある。物体、境界、表面、経路及び通路の物理特徴は、形状、大きさ、表面テクスチャ、重量、摩擦力、柔軟性、弾性、可塑性、タッチ又は衝撃に対する応答(例えば、破断、移動、回復能力を有するか又は有しない変形、又は静止)などを含む。ターゲット(例えば、搬送中の物品の受取者又はコンテナ、ピックアップ及び/又は移動されるべき物品、清掃されるべき領域など)、障害物(例えば、家具、ペット、壁など)、迂回されるべきもの(例えば、水たまり、床板上の玩具、電線、感知装置、高価な家庭用装飾品など)、又はロボットの通常なナビゲーション運動過程における転倒、押し開け、開放又は貫通可能なもの(例えば、カーテン、ドア、ボール、カーペットなど)、及び/又は、幾つかの動作のみを受けることができるが、他の動作を受けることができないもの(例えば、カーペットから清掃され吸塵器により吸塵されることが可能であり、拭かれることが不可能である)などとして認識される。
リモートサイト105において、ディスプレイ、プロジェクター、ヘッドアップディスプレイのような表示生成モジュール112は、前記センサ群106から捕捉された物理環境の仮想バージョンを表示するように構成される。センサ群106からストリーミング伝送される画像及びデプスデータは、ポイントクラウド又は物理環境の他の三次元表現形態(例えば、仮想表面及び対象の表現を含むモデル)の物理環境の仮想バージョンを生成するように構成される。従って、表示生成モジュール112がリモートサイト105において視覚的に呈示している物理環境の仮想バージョンは、ほぼ同時に、ローカルサイトの物理環境の状態に対応する。
表示生成モジュール112に加えて、1つ又は複数の入力デバイス(例えば、タッチ感知面である。例えば、タッチ感知リモコンが挙げられ、表示生成モジュールのタッチパネルディスプレイでもある。例えば、マウス、操縦レバー、操縦レバーコントローラ及び/又はユーザの1つ又は複数の特徴(例えば、ユーザの手)位置を追跡するカメラが挙げられる)は、作業者108がロボット102制御用の入力及び命令を提供するように構成される。1つ又は複数の入力デバイスは、触覚対応型入力デバイス114(例えば、三次元触覚対応型指向機器、触覚対応型グローブなど)を含む。前記触覚対応型入力デバイスは、仮想環境における、入力デバイスにより提供される現在移動及び位置入力に対応する位置で発生した模擬物理特性及び物理インタラクションに基づいて、力、動き及び又は作業者にフィードバックされるテクスチャを生成する。例えば、入力デバイス114により提供される移動及び位置入力は、仮想化環境(前記仮想表面は、ローカルサイト104での床板に対応する)における模擬表面の動きに対応する場合、触覚対応型入力デバイス114で生成される触覚フィードバックは、ユーザの手において、物理床板の摩擦、質感及び硬度に対応する触覚を発生させる。入力デバイス114により提供される移動及び位置入力は、床板の縁までに移動して隣接壁に上ることに対応する場合、入力装置で提供される力フィードバックは、床板と壁との物理構造関係をユーザに知らせる。入力デバイス114により提供される移動及び位置入力は、敷石経路における動きに対応する場合、入力デバイス114で生成される触覚フィードバックは、ユーザが、敷石経路においてナビゲーションを行うことができるかどうか又は敷石経路の凹凸による転倒の感覚を得ることを許容する。リアルタイムな触覚フィードバックは、ローカルサイトの仮想化環境の視覚呈示と組み合わせられる。これにより、作業者は、シーンを正確に体験して評価し、ロボットのナビゲーション及び操作のために、より正確かつ慎み深い指導を提供する。物理世界の仮想表現は、シーンインタラクション過程で提供される触覚フィードバックと組み合わせられる。これにより、「複合現実」の感覚を生成する。その原因は、従来の「仮想現実」の観点で、シーンは、純粋な「仮想なもの」でもなく(例えば、物理環境の物理特徴(例えば、幾何形状及び材料属性)を密に反映する)、従来の「拡張現実」における「現実」を反映しないことである(例えば、これは、物理環境の視覚画像ではなく、RGB画像データ及び対応するデプスデータを結合した演算表現形態である)。
幾つかの実施例において、リモートサイトでの入力デバイスは、リモート操作を選択可能にサポートすることもできる。また、手動操作は、特定の困難又は複雑なタスクに対して、何時でも、リモート操作モードに一時的に切り換えられることが可能である。他の場合、作業者は、如何なるナビゲーション入力、又は、ロボットプログラムにより論理的に処理される仮想化環境入力の変更を提供することなく、ロボットが完全に自動運転することを許容することができる。
幾つかの実施例において、作業者108は、触覚対応型入力デバイス114を用いて、仮想化環境における仮想化表面及び/又は対象とインタラクションし、対応する触覚フィードバックを受信する。前記触覚フィードバックに基づいて、ユーザは、前記仮想化環境における位置を対象セグメンテーションの開始位置として選択する。ユーザ入力に基づいたセグメンテーションは、より正確であり、且つエラーが発生しにくい。幾つかの実施例において、仮想化環境における幾つかの視覚特徴は、照明及び陰影のアーティファクト及び/又は表面上の装飾パターンである。リアルタイムな人的補助がない場合、単純なコンピュータによる対象セグメンテーション方法では、それらは、注意力を逸らしやすく、不正確な結果を招く。対象セグメンテーションは、作業者により認識された関心ポイントの周辺にアンカーされて対応するデプスデータが提供されるため、リアルタイムな人工指導により、これらの三次元視覚干渉は、三次元対象セグメンテーションに干渉を与える可能性が低い。
幾つかの実施例において、作業者108は、触覚対応型入力デバイスを用いて1つ又は複数の仮想対象(例えば、仮想対象116)を仮想化環境に挿入する。人間による操作は、仮想化環境における仮想対象を操縦することで、仮想化環境とインタラクションをすることができる。例えば、表面に沿って仮想対象を移動し、及び/又は、仮想対象を仮想化環境におけるもう1つの表面又は対象に押し付ける。仮想化環境において、仮想対象は、表面又は物体に沿って移動するか又は表面又は物体(仮想物理対象及び仮想対象)に押し付けられる時、特定の形状、大きさ及び表面特性が付与されることができる。これにより、触覚対応型入力デバイス114で、作業者に異なる模擬触覚フィードバックを提供することができる。触覚フィードバックは、インタラクション位置での仮想化環境の物理特性により物理的シミュレーションして生成したものである。
幾つかの実施例において、仮想対象は、異なるタイプのキャラクターを担うことができる。これらのキャラクターは、異なる方式で仮想化環境を変える。これにより、異なる方式で、ロボットのナビゲーション及び操作意思決定に影響を及ぼす。幾つかの実施例において、第1種類の仮想対象は、シーンにおいて静止又は移動中の仮想化物理対象の保護カバーとして作用し得る。例えば、保護ドームを子供又はペットの位置に配置すると共に、仮想化環境において、子供又はペットと共に移動する。幾つかの実施例において、第2種類の仮想対象は、物理対象の存在を示す指示子を被覆することができる。前記指示子は、通常ロボットにより、障害又は障害物と見なされる。例えば、ロボットは、ドアを遮るカーテンを障害物として扱い、通路となる仮想対象をカーテンの位置に配置する。これにより、ロボットは、カーテンの存在を無視して、ナビゲーションにおいてカーテンを押して通過する。幾つかの実施例において、第3種類の仮想対象は、仮想環境において仮想化物理対象の測定補助として用いられ及び/又はより精確な経路案内を提供する。例えば、ユーザは、仮想対象の第1アンカーを床板の、2つの隣接壁に接する第1コーナに配置し(例えば、ユーザは、触覚対応型入力デバイス114によりシーンをタッチして触覚フィードバックを受信することでコーナの位置を了解できる)、その後、床板とそのうちの一方の壁との縁に沿って仮想対象を他方のコーナまで延伸させる。仮想物体の寸法は、部屋の、壁に沿った寸法をユーザに知らせる。もう1つの例において、ユーザは、シーンにおける2つの物理対象の間に、ロボットが十分な安全距離で通過可能な十分なスペースがあるかを確認する必要がある。視覚確認では難しいため、ユーザは、寸法がロボットの寸法と同じであって隙間が付加された仮想対象を配置し、そして当該仮想対象を仮想化環境における2つの物理対象の間でドラッグし、このインタラクションの物理シミュレーションによって、触覚対応型入力デバイスによりユーザへの触覚フィードバックを生成することができる。つまり、仮想対象がシーンにおける2つの対象により遮られるかどうかという触覚フィードバックを生成することができる。ユーザは、触覚フィードバックに基づいて、代替経路を決定するか又は他のタスクを計画することができる(例えば、まず1つの対象を移動することをロボットに要求する)。もう1つの例において、オーブンとロボットとの間に1メートルの距離を必要とすれば、ユーザは、1x1mの仮想立方体を配置し(オーブンに近接する床板に)、そして仮想立方体を、仮想オーブンに押し付ける位置まで押すことができる(例えば、仮想シーンにおいて仮想立方体が仮想オーブンと接触する時、ユーザは、仮想立方体からの抵抗力を感じ、また、ロボットがその経路を計画する時、仮想立方体は、オーブンとロボットとの仮想壁として扱われる)。幾つかの実施例において、第4種類の仮想対象は、ロボットが所定ターゲット(例えば、シーンにおける所定の仮想対象又は仮想物理対象)に到達する前に到達すべき一連の道路標識であってもよい。ユーザは、シーンにおける1つ又は複数の仮想表面に沿ってポインタ対象118を移動して触覚対応型入力デバイス114により模擬触覚フィードバックを行う場合、ユーザは、移動経路に沿って1つ又は複数のサイトをマーキングして、ロボット102が従うナビゲーションとする。環境の実際の物理特徴(例えば、構造、大きさ、テクスチャなど)に基づいて生成される、触覚フィードバックを持つ経路ナビゲーションは、多くの場合においてロボットにとってより正確であり、且つ実行しやすい。例えば、ユーザは、彼/彼女の指又は手をシーンにおけるターゲット対象へドラッグする場合、抵抗力が最も小さい経路に従う。また、ロボットは、前記経路に従いやすい。このような触覚フィードバックがない他のタイプのインタフェースにおいて、ユーザは、経路の表面テクスチャ、勾配などを考慮に入れなく、視覚情報のみに基づいて線を描画する可能性がある。
ロボット102と一緒に配置される機器及び作業者108と一緒に配置される機器に加えて、触覚対応型混合イニシアチブ型ロボット制御システムは、中央演算機器120(例えば、サーバ110)を更に備える。前記中央演算機器120は、視覚及び触覚データ処理及びレンダリングに関連する大量の演算タスクを処理し、中間命令及びワークフローを生成することによって、作業者108から受信された高レベルの命令及び環境入力とロボット102が実行可能低レベルの命令との差を縮小させる。中央演算機器120は、1つ又は複数のネットワークを経由してローカルサイト機器及び/又はリモートサイト機器に接続される。幾つかの実施例において、中央演算機器120は、ロボット120と一緒に配置されている(例えば、工業製造用アプリケーションプログラム設定において、作業者は、ロボット及び工場のサーバから離れる位置にある)。幾つかの実施例において、中央演算機器120は、作業者108と一緒に配置されている(例えば、現地病院のアプリケーションプログラムシーンにおいて、ロボットは、医者及び病院のサーバから離れる位置にある)。幾つかの実施例において、中央演算機器120は、ロボット120又は作業者108と一緒に配置されない(例えば、家庭補助シーンにおいて、サーバは、ロボット及び作業者から離れる位置にある)。
幾つかの実施例において、中央演算機器120は、KinectFusionのようなリアルタイム集中的表面マッピング及び追跡技術を用いて、位置推定とマッピングの同時実行(SLAM)に関わる演算を処理する。幾つかの実施例において、ローカルサイト104から収集されるストリーミング画像及びデプスデータに基づいて、他のリアルタイム三次元モデリング方法を用いて、物理環境の仮想三次元又は擬似三次元表現を生成する。中央演算機器120は、KinectFusionを用いて視覚レンダリングを行う場合、ストリーミングRGBDデータの各時間ステップ期間でポイントクラウドを生成する。幾つかの実施例において、必要に応じて、リアルタイムな、ユーザにより案内される対象セグメンテーションは、KinectFusionデータ処理パイプラインに統合される。中央演算機器120は更に、ユーザ108と仮想化環境とのインタラクションのために、触覚レンダリング及び物理シミュレーションを実行する。例えば、仮想ポインタにより仮想対象を操縦し、又は、仮想化環境において仮想対象を操縦する。幾つかの実施例において、仮想化環境は、三次元ポイントクラウドで表される。幾つかの実施例において、仮想化環境は、三次元メッシュで表される。前記三次元メッシュは、物理環境において検出した物理表面に対応する模擬表面を含む。
幾つかの実施例において、中央演算機器120は、経路プランナを含む。前記経路プランナは、ユーザによるマーク又はユーザにより挿入された仮想対象に基づいて、経路を生成する。前記経路プランナは、仮想化物理環境の特性及びユーザが仮想化物理環境に対して行った修正及び/又は拡張を考慮した上で、プリプログラミングされた経路計画命令に基づいて経路を生成する。幾つかの実施例において、前記経路プランナは、ロボットで実現する。幾つかの実施例において、前記経路プランナは、ロボットが従うことに供する予測位置及び命令を生成する。
図2は、幾つかの実施形態による混合イニシアチブ型ロボット制御環境を含む例示的な構成ブロック図である。
本明細書に記載したように、かなりの正確度で、ロボットが操作する三次元物理空間表現の再構築を実行する必要がある。これにより、ユーザは、適宜かつタイムリーに関与することができる。リアルタイム三次元探索、セグメンテーション、マーキング及び環境とのインタラクションを促進するために、環境の可視化により、触覚レンダリング及び物理シミュレーションをリアルタイムで実行する必要がある。本質的に伝送及び処理を必要とする視覚及びデプスデータが非常に膨大であるため、ネットワーク遅延に対して管理を行う必要がある。これにより、これらの異なる遅延したネットワーク通信データに基づいて、スムーズかつリアルタイムな操作及び制御を提供する。
上記技術的要件を満たすために、混合イニシアチブ型制御のためのリアルタイムで効果的であり且つロバスト性を有する複合現実プラットフォームを提供し、ストリーミングデータとの触覚インタラクションを実現させる。切断符号付き距離関数(TSDF)に基づいたストリーミング表面の触覚レンダリング方法を提供し、仮想静止シーンとのスムーズなロバスト性を有する触覚インタラクションを確保する。インタラクティブ対象セグメンテーション方法を提供し、対象セグメンテーションを迅速かつ正確に行うことができる。複合現実プラットフォームに、異なるタイプの触覚インタラクションを導入し、ロボット状態予測方法を提出して、ネットワーク遅延を補償する。
幾つかの実施例において、フュージョンによる方法(例えば、KinectFusion)は、ストリーミング視覚及びデプスデータの位置推定及びマッピングを実行するために用いられる。KinctFusionによれば、三次元カメラからのストリーミングRGBDデータは、フュージョンされて切断符号付き距離関数(TSDF)として保存される。KinectFusionは、シーン全体の集中的幾何体を提供し、複合現実を実現させることができる。本開示に、衝突検出、プロキシ更新及び力演算を含めた改良した触覚レンダリングパイプラインのKinectFusionを用いて、ストリーミング表面の視覚及び触覚レンダリングを生成する。このような改良した方法は、演算上非常に有効であり、且つ、KinectFusionフレームワークと好適に集積可能である。改良した方法は、2つ又はより多くの平面の交差境界に対しても機能することができる。これにより、この前に開示したこのような演算のための方法の不安定性を軽減する。これは、処理に多くの交差境界を有する複雑な幾何図形の真実シーンが含まれる場合に、特に重要である。対象セグメンテーションを実行する場合、改良した方法は、ユーザとシーンにおける再構築対象の表面とのインタラクションを許容する。また、オフラインセマンティック分類を行うことなく、セグメンテーションをリアルタイムで実行する。本開示において、触覚インタラクションを用いてターゲット対象を選択し、インタラクティブ領域成長方法でカラー画像及びデプス画像を用いて対象セグメンテーションを行い、得られるマーク画像をTSDデータ構造にフュージョンする。
図2に示すように、例示的な複合現実システム構造200は、ロボット層202、ユーザ層204及び実行層206の3層を含む。
幾つかの実施例において、ロボット層202は、移動ロボット(例えば、ロボット102)及びロボットの頂部に配置されたRGBD 3Dセンサ群(例えば、3Dカメラ106)に対応する。前記ロボット層は、色及びデプス画像をリアルタイムで収集し、データを実行層206に送信して、シーン再構築、視覚及び触覚レンダリングを行うために用いられる。前記ロボット層における低レベルタスクアクチュエータは、実行層206におけるコントローラにより送信された制御命令を実行し、ナビゲーション及び対象操縦タスクを実行する。
幾つかの実施例において、実行層206は、RGBD画像を受信し(例えば、ネットワークを経由した、ロボット102の頂部のRGBDセンサからのストリーミング伝送)、KinectFusionモジュールを用いて位置推定とマッピングの同時実行(SLAM)を実行する。前記KinectFusioモジュールは、各時間ステップごとに1つのポイントクラウドを生成し、表示モニタで視覚レンダリングを行う。実行層206は、ユーザの要望に応じて、対象セグメンテーションとKinectFusionモジュールを結合し、シーンにおいてセグメンテーションを行い、対象をマーキングする。実行層206は、触覚レンダリング(例えば、ポイントクラウドの生成)と並行して実行される、触覚レンダリングのための単独したスレッドを更に含む。物理シミュレーションモジュールは、シーンにおける仮想対象とのインタラクションを行うか及び/又はシーンにおける仮想対象の操縦によりシーンとインタラクションを行うように触覚インタラクションインタフェースを処理する。触覚レンダリング及び物理シミュレーションは、触覚フィードバックデータを生成する。前記触覚フィードバックデータは、ユーザ(例えば、ユーザ108)が持っている触覚対応型入力デバイス(例えば、入力デバイス114)を制御する。触覚フィードバックは、位置、動き、力(例えば、反力、抗圧力、耐衝撃力及び摩擦力)、テクスチャ、振動などを含む。これらは、触覚対応型入力デバイス(例えば、入力デバイス114)を介してユーザに入力する。幾つかの実施例において、実行層206は、経路プランナを含む。前記経路プランナは、画像及びデプスデータ(例えば、TSDF又はポイントクラウドで表される)から導出された仮想化環境の特徴に加えて、更にユーザのマーク入力及び/又はシーン内に位置している仮想対象に基づいて経路を生成する。幾つかの実施例において、実行層206は、コントローラモジュールを含む。前記コントローラモジュールは、予測位置及びロボットが従う命令を生成するように構成される。幾つかの実施例において、経路プランナ及びコントローラは、ロボット層202で実現し、実行層206から、ユーザ入力データ及び環境データを受信しても良い。幾つかの実施例において、実行層206は、中央演算システム102(例えばサーバ110)で実現しても良い。
幾つかの実施例において、ユーザ層204は、ユーザ(例えば、ユーザ108)に、全てのインタラクティブインタフェースを提供して出力する。ユーザは、リモート操作インタフェースを用いてロボットを直接的に操作しても良く(例えば、低レベルの命令及びコマンドを直接的に提供する)、触覚インタフェースを用いて、仮想化した三次元環境とインタラクションをしても良い。幾つかの実施例において、触覚指導対象セグメンテーションインタフェースは、ユーザに提供されてセグメンテーションのみに用いられる。触覚インタラクションインタフェースによれば、ユーザは、触覚入力を用いてシーンにおける仮想対象の配置及び移動を体験して実現し、仮想対象に種々のタイプのキャラクター(例えば、ターゲット、通路、障害物、遮蔽カバー、案内、測定など)を割り当てることができる。触覚マークは、シーンにおける表面で経路を定義し、又は、ロボットが追従、近接及び/又は追跡する1つ又は複数の道路標識(例えば、仮想対象及び/又は仮想物理対象)をマーキングするために用いられる。幾つかの実施例において、仮想対象のマーク及び移動は、仮想シーンにおいてリアルタイムで処理され、続いて、ロボットは、物理シーンにおいてリアルタイムで処理される。仮想障害物インタフェースによれば、ユーザは、如何なる形態の幾何形状の仮想対象をシーンに追加することができ、続いて、経路プランナは、シーンの特徴を参照しながら、仮想対象の位置、割り当てられたキャラクター及び仮想対象に基づいて、新たな経路を検索する。触覚フィードバックに加えて、視覚レンダリングは、直接的にユーザとシーンとのインタラクションを反映し、又は、仮想ポインタ又はシーンにおける仮想対象とのインタラクションにより、ユーザとシーンとのインタラクションを間接的に反映する。
図3は、幾つかの実施形態による混合イニシアチブ型ロボット制御環境のリモートサイトでリアルタイムな視覚及び触覚レンダリングを行うための例示的処理パイプラインを示す図である。
図3に示すように、ロボット(例えば、ロボット102)と一緒に配置されるセンサ(例えば、カメラ106)から受信されたRGBDデータは、ネットワークを経由してストリーミング伝送されて中央演算システム120(例えば、サーバ110)におけるグラフィック処理ユニット302(GPU)に提供される。KinectFusionが集中的なマッピング及び位置決めに適用されるため、集中的な幾何体を3D仮想化環境のストリーミング表面として生成する。GPU 302において、TSDF更新を実行してから、衝突検出を行い、その後力カラーリング及び光線投射を含むプロキシ更新を実行する。得られたデータは、ポイントクラウド306及び全ての触覚インタラクションポイント(HIP)のプロキシ値308を含む。ポイントクラウド306及びプロキシ値308は、ディスプレイ(例えば、ディスプレイ112)における視覚レンダリングに用いられ、プロキシ値308は、触覚対応型入力デバイス(例えば、入力デバイス114)における力カラーリングに用いられる。
本願において、力カラーリングした新たなプロキシ更新方法を提供する。前記方法は、より効果的であり、且つ、異なる平面の交差境界での安定なレンダリングを確保する。なお、前記方法では、触覚レンダリングにおいて、摩擦及び触覚テクスチャのような表面特徴を追加することを許容する。
プロキシ更新は、制限された触覚レンダリングの要部である。プロキシは、インタラクションポイントでの作用力を算出するために用いられるだけでなく、視覚的に視聴者に呈示する。プロキシ更新は、安定しておらず、且つスムーズではないと、力レンダリング及び触覚レンダリングは、スムーズではない。この前に開示されたプロキシ更新方法は、勾配に基づいた方法を用いて最近傍表面ポイントを検索する。図4に示すように、左側の図4(1)は、方向が急激に変動する表面で触覚インタラクションが発生したシーンを示す(例えば、インタラクション作用は、表面の1つの隅又は2つの交差する平面の境界を取り囲むように実行される)。この場合、ユーザは、先に開示された触覚レンダリング方法に基づいて、触覚インタラクションポイント(HIP)をhi―1からhに移動し、プロキシ位置をpi―1からpに変更する。先に開示された方法において、HIPによれば、プロキシは、常に最近傍表面ポイントであるため、プロキシが経過する位置は、突然に変更した。ユーザ体験について言えば、ユーザの指は、表面のもう1つの側に突然に「ジャンプ」したようであり、また、算出された力は、ほぼ逆の方向の力に変更される。これは、ユーザの注意散漫を招き、非実用的であり、且つユーザを戸惑わせる。
力カラーリングは、スムーズな触覚レンダリングに用いられるアルゴリズムである。本願において、力カラーリングしたTSDFベースの新たなプロキシ更新方法を提供する。この前の力カラーリング方法と異なっており、現在開示される方法は、TSDFデータ構造に着目する。前記構造は、全てのフュージョンベースの3D再構築に用いられる。改良したプロキシ更新方法は、下記2つのケースを処理する。
a.HIPは、インタラクションにおいて、表面と接触した1番目の接触ポイントであれば、プロキシは、最近傍表面ポイントを見付ける。KinectFusionにおいて最近傍表面ポイントを見付けるタスクを光線投射ステップに集積することは、この前に開示された方法で提出された勾配に基づいた反復方法と異なる。このような変動の原因は、表面の変形可能性を考慮していないためである。従って、光線投射は、触覚レンダリングの後に実行される。TSDFにおいて、画素毎にレイマーチングを行い、表面全体のポイントクラウドを生成する。該プロセスにおいて、HIPと表面における各ポイントとの距離を算出して保存する。現在、最近傍表面ポイントの検索の課題は、距離値の群から、最小値を見付けるという課題になる。前記課題は、例えば、「SC07、Mark HarrisのCUDA高性能演算(2007)」に開示したように、並行縮減により解決される。幾つかの実施例において、光線投射から、最近傍表面ポイントを検索するために、下記要件を必要とする。起点hを設定する。1.平行線は、各画素に対応する射線である。2.最小デプスから出発し、ゼロクロスするときに終了して表面ポイントを得る。3.距離d = |s-h|を算出する。4.平行縮小を行い最初距離を得て、続いて、対応する表面ポイントを最近傍ポイントとして返信する。
b.HIPが表面に浸透した後、HIPが更に体積に浸透するため、後続のプロキシ位置を更新する必要がある。図4に示すように、最近傍表面ポイントは、該ケースに適用しない。より正確な方法は、後続のプロキシを制限することである。現在開示される方法において、先の時間ステップ法線は、接線平面を定義するために用いられ(図4(2)に示すように)、プロキシの法線は、各時間ステップにおいて算出される。前記法線を追跡することは、表面における接線スライド平面を物理的に追跡することに相当する。図4(2)に示すように、接線平面Ti―1は、新たなプロキシ位置hにより「ドラッグ」されて表面に付着する。従って、接線平面をプロキシの制約平面と見なすことができる。まず、垂直線をhから前記制約平面に配置してターゲット位置gを得る。前記ターゲット位置gは、プロキシの第1近似値である。続いて、光線投射ステップにおける最近傍表面の発見(上記第a節における記述を参照する)により、新たなプロキシpを見付ける。前記方法のキーポイントは、接線平面を用いて、物理的実行可能な方式で新たなプロキシを制約し、続いてそれを最近傍表面ポイントに細分化することである。幾つかの実施例において、力カラーリングした後続のプロキシ更新のためのプロセス全体は、以下を含む。1.法線ni―1に基づいて、接線平面Ti―1を得る。2.垂直線を現在のHIP hからTi―1に配置し、gを得る。3.上記光線投射アルゴリズムにおける最近傍表面ポイントの検索を用いて、gを1番目のポイントとして、最終的なプロキシpを算出する。
幾つかの実施例において、本明細書で説明される改良した方法は、表面特性をシミュレーションして模擬摩擦力及びテクスチャ表面の異なる触覚を発生する。幾つかの実施例において、既知の摩擦円錐を用いて、簡単な変動により、模擬摩擦力を変更する。図5に示すように、角度αは、現在のHIP hから始めた円錐を定義する。摩擦円錐と直前のプロキシポイントpi-1の接線平面は、相互作用する円を形成する。幾つかの実施例において、α=arctan(μ)である。ここで、μは、ユーザにより定義された摩擦係数である。直前の時間ステッププロキシpi-1がインタラクション圏内にあれば(例えば、図5(1)に示す)、新たなプロキシは、以前と同様な値pi-=pi-1と直接的に設定される。先の時間ステッププロキシpi-1がインタラクション圏外にあれば(例えば、図5(2)に示す)、ターゲット位置(近似プロキシ)g=cである。ここで、cは、インタラクション圏においてpi-1に最も近いポイントである。該2つのケースはそれぞれ、模擬静摩擦及び模擬動摩擦に対応する。幾つかの実施例において、凸テクスチャ方法で触覚テクスチャを実現させる。前記凸テクスチャ方法は、表面上の各ポイントに対して制約を生成して法線を変更することができる。
幾つかの実施例において、インタラクティブ領域成長2Dセグメンテーション方法は、触覚対応型ユーザ指導で対象セグメンテーションを実行するために用いられる。再構築された三次元シーンから三次元対象をセグメンテーションするために、触覚対応型セグメンテーションインタフェースを提供する。このようなインタフェースは、例えば、触覚テクスチャ、異なる対象の材料属性のような、より柔軟な触覚インタラクションを実現させることができ、ロボットのグラビングタスクのために対象位置及び方向を提供することもできる。先の多くの検討において、対象検出及びセマンティック分類を集中的マップングに結合する。現在開示されているシステムは、混合イニシアチブ型コントロールに触覚対応型インタフェースを提供することを意図している。従って、高レベルのセマンティックセグメンテーションを必要としない。現在開示されているインタラクティブ型3D対象セグメンテーション方法は、効率が高いだけでなく、普及している高レベルの対象セマンティックアルゴリズムを入力とする。
幾つかの場合に、対象セグメンテーションを実行するための直接的な方法は、3Dポイントクラウドから3D対象をセグメンテーションする。また、KDツリーを用いて近隣ポイントの検索速度を速くすることもできる。しかしながら、これらの一般的な方法は、別途な処理時間をかかる。1つの代替方法としては、TSDFデータに基づいてセグメンテーションを実行し、セグメンテーション情報をTSDFに保存する。
現在提出されているKinectFusionパイプライン(図3に示す)において、デプス画像をフュージョンして、各時間ステップで表面再構築を行う。従って、図6に示すように、下記二段階アルゴリズムを提出することができる。第1段階において、デプス画像及びカラー画像に対して2Dセグメンテーションを行う。2Dセグメンテーションを行った後、ラベル画像Lを生成する。第2段階において、セグメンテーションした画像及びデプス画像をTSDFにフュージョンする(例えば、図3に示すTSDF更新ステップにおいて)。このような方式により、セグメンテーションをKinectFusion処理にシームレスに集積することができ、全体の演算時間コストを低減させる。なお、セグメンテーション情報を重みに応じてフュージョンし、確実なセグメンテーション結果を生成する。
幾つかの実施例において、改良した方法の第1段階において、ユーザは、触覚アバター(例えば、仮想インジケータ)を用いて3Dシーンにおける関心対象を「タッチ」してマーキングする。続いて、3Dマーク(例えば、その3D座標)を現在のカラー画像における座標に変換する。次の時間ステップにおいて、画像におけるマークポイントから、領域成長方法で、画素に対してクラスタリングを行い、マークポイントの領域に追加される画素が存在しないまで継続する。前記領域は、1つのクラスタと見なされる。続いて、隣接画素とクラスタ中心との距離を2つのユークリッド距離の組み合わせとして算出する。下記式1で示す。
d(x, S) = //I (x) ― I(S)// + β//P(x) ― P(S)// (1)
ここで、xは、隣接画素の位置であり、Sは、領域の中心である。Iは、カラー画像における画素のCIELAB色空間値であり、小さな色距離に対する感知が均一であると広く認められる。Pは、デプス画像に基づいて算出された3D座標である。クラスタ中心の値I(S)及びP(S)は、前記クラスタにおける全ての画素値の平均値として算出される。β= m/gは、領域のコンパクト性を制御するパラメータである。mは、密集度を制御する変数であり、gは、メッシュの間隔である。RGBデータに比べて、RGBDデータが成長した領域は、より好適な対象境界を提供する。mの値は、大きいほど、空間的隣接性を強調し、クラスタはコンパクトになる。前記値の範囲は、[1,20]である。例えば、良く採用されている値は、10である。距離閾値は、ユーザにより、セグメンテーション時のシーンの特徴及び/又はシーンにおける関心対象に基づいて選択される。
図7A-7Cは、幾つかの実施例によるロボットの経路計画及び操作に影響を及ぼす触覚マーク及び仮想対象の種々の例を示す。
大部のこの前の動作において、触覚力フィードバックは、経路ナビゲーション力、衝突防止力又は環境力を生成し、高レベルのタスク操作の性能を改良するために用いられる。しかしながら、現在開示されているシステムは、異なる方式で触覚デバイスを用いる。触覚デバイスは、リモートタッチの3Dアバターとして用いられ、仮想現実環境を探索してそれとインタラクションを行う。触覚インタフェースは、より柔軟な操作を提供し、「仮想手」の使用と類似する。触覚インタフェースは、ロボット制御プロセスに関与し、新たな経路を追加するか又は目的地を変更することができる。これらのインタフェースは、ロボットの速度に影響を及ぼすことなく、経路及びターゲットポイントのみに影響を及ぼす。
幾つかの実施例において、ロボットに経路ナビゲーションを提供する触覚マークインタフェース(例えば、ユーザインタフェース700)を提供する。シーンにおける表面の触覚レンダリングがリアルタイムで実行され、演算効率が高い。触覚マークインタフェースにより、ユーザは、HIPを用いてシーンにおける表面(例えば、床板)をタッチし、ロボットが従う経路をマーキングすることができる。続いて、実行層における制御マネージャは、該マーキングされた経路を入力として経路計画を呼び出す。幾つかの実施例において、マークは、注文ポイント集合として保存され、また、リモートサーバに単独で保存される。幾つかの実施例において、ナビゲーションは、オプションとして経路プランナに提供される。これにより、経路プランナは、シーンにおける利用可能な他のオプションに基づいて考慮することができる。幾つかの実施例において、経路プランナによる利用可能なオプションが複数である場合、ユーザのマークは、経路プランナによる利用可能な他のオプションに比べて、より多くの重み又は主要重みが付与される。このような方式で、ユーザの関与が存在する場合又はユーザの関与が存在しない場合、プリプログラミングされた経路計画命令を正常に用いることができる。また、ロボットコントロールは、全自動リモート操作の間又は如何なる期間でスライドすることができる。これにより、ロボットの柔軟性及び有効性の制御を向上させる。
幾つかの実施例において、現在開示されているシステムは、触覚マークインタフェース(例えば、ユーザインタフェース700)を提供する。前記触覚マークインタフェースは、ユーザが1つ又は複数の仮想対象を3D仮想シーンに追加し、ロボットの経路及び/又は操作に間接的に影響を及ぼすことを更に許容する。触覚フィードバックは、異なる位置で、シーンの絶対的物理特徴(例えば、寸法、テクスチャ、勾配など)及び仮想物体又はロボットに対する特徴を伝達できるため、触覚対応型機器を用いて仮想対象をシーンにおける必要な位置に配置することがより容易である。これにより、ユーザは、仮想対象のために適切な3D位置をより迅速かつ正確に見付けることができ、又は、ユーザを、ロボットに経路ナビゲーションを提供するためのマークを配置するように案内することができる。
図7Aに示すように、例示的な触覚マークインタフェース700は、ロボットの前の物理環境の仮想表現を表示する視覚レンダリング領域702を含む。可視化レンダリング領域702に表示される仮想化物理環境は、任意選択的にポイントクラウドである。前記ポイントクラウドは、ロボットと一緒に配置されるセンサから受信されたストリーミング画像及びデプスデータを利用してリアルタイムで動的に更新する。幾つかの実施例において、可視化レンダリング領域702に表示されたポイントは、既にセグメンテーションされており(例えば、本明細書で開示されたユーザ補助領域成長方法)、且つ、ポイントクラウドにおける物理対象に関連する表面及び境界は既にマーキングされており、このような形態で直観的に表現される。例えば、ユーザは、触覚対応型入力デバイスを用いて画像における床板領域を探索した後、床板がユーザにより指定されたポイント805からセグメンテーションされる。
図7Aに示すように、1つの立方体枠は、既にポイントクラウドからセグメンテーションされており、且つ枠の周りに枠の輪郭704を表示している。ユーザは、輪郭線704を選択し、そして輪郭線のために「ターゲット」の対象タイプを選択することで、前記枠をロボットの次のタスクのターゲットとしてマーキングする。例えば、枠を選択した場合にコンテキストメニューを呼び出し、そして、コンテキストメニューから「ターゲット」対象タイプを選択する。触覚対応型入力デバイスを用いて、枠の表面で仮想ポインタ705を移動する場合、触覚対応型入力デバイスを介して提供される触覚フィードバックは、枠の幾何的形状を伝達する(例えば、枠の隣接平面の交差点を迂回する)。
図7Aに示すように、ユーザは更に、視覚レンダリング領域702に示される床板の表面に一連の道路標識708を配置する。例えば、ユーザは、対象タイプ選択領域706から、対象タイプ「道路標識」を選択する(例えば、道路標識、ターゲット、障害物、遮蔽カバー、通路、測定基準などを含む種々の仮想対象タイプのプルダウンメニュー。)。続いて、ユーザは、床板にそって仮想ポインタを移動し、また、仮想ポインタの移動経路に沿って一連の道路標識を選択的に配置する。触覚対応型入力デバイスで提供される触覚フィードバックは、仮想ポインタの移動経路に沿って、床板の摩擦及び表面の幾何的形状を伝達し、また、ポインタの移動経路を制約する(例えば、ポインタは、床板を貫通することがでない。ポインタ移動の平坦度及び速度は、床板の粗さにより制限される)。
一例において、提出されたシステムは、触覚対応型インタフェース(700)を提供する。ユーザは、該インタフェースから1つ又は複数の仮想対象(例えば、所定の寸法及び形状を有する仮想対象。例えば、異なる寸法の球形、ドーム、立方体、円錐、線、壁、机、椅子など)を選択又は指定することができる。ユーザは、これを仮想シーンの3Dレンダリング(例えば、視覚レンダリング領域702)にドラッグすることができる。幾つかの実施例において、ロボットの形状と大きさ及び/又は他の物理的特性を有する仮想対象は、ユーザにより3Dシーンにドラッグされるようにインタフェースにおいても利用可能である。幾つかの実施例において、ユーザは、仮想対象の片側にアンカーを設け、3Dシーンにおける仮想対象の他方側でもう1つのアンカーをドラッグしてその大きさを調整することで、仮想対象を選択してシーンにおいてその大きさを調整することができる。
図7Aに示すように、ユーザは、対象タイプ選択領域706から、仮想対象の対象タイプを選択することができる。ユーザは、対象形状選択領域710から対象形状を選択することもできる。対象形状選択領域に種々の形状のリスト、ユーザがカスタマイズ形状を描くことに供するオプションを表示する。幾つかの実施例において、対象形状選択領域は、指定した形状が中実形状であるかそれとも中空シェルであるかを示すオプションサポート(例えば、選択枠)を含む。
図7Aに示すように、ユーザは、表面材料選択領域712及び表面テクスチャ選択領域714において、仮想対象の表面材料及び表面テクスチャを指定することもできる。ユーザが仮想対象とインタラクションする場合又はユーザが仮想対象を操縦することで環境とインタラクションする場合、表面材料及び表面テクスチャ情報を用いて、触覚対応型入力デバイスに提供される力フィードバックを生成する。幾つかの実施例において、ユーザは、仮想対象のために、仮想対象に関わる触覚レンダリングに影響を及ぼす重み(例えば、質量)を指定することもできる。幾つかの実施例において、仮想対象は、それぞれ異なる形状、材料、テクスチャ及び/又は重量に対応する異なる部分を有する複合対象であってもよい。
幾つかの実施例において、図7Aに示すように、ユーザインタフェース700は、ステージング領域(staging region)716を更に含む。ユーザは、デフォルト形状をステージング領域716にドラッグし、形状の寸法及び方向を調整することができる。ユーザは、複数の対象形状をステージング領域にドラッグして形状の相対的大きさ、位置及び方向を調整することで、複合対象を構成することもできる。ユーザがステージング領域716における対象の大きさ、形状及び方向に満足できると、ユーザは、これを視覚レンダリング領域702にドラッグすることができる(例えば、シーンにおける床板に配置する)。
幾つかの実施例において、ユーザが仮想対象を選択して3Dシーンに配置した後に、ユーザは仮想対象をシーンにおける特定位置のシーンに配置する前に、触覚対応型入力デバイスにより3Dシーンを探索することができる。例えば、ユーザがドームを選択してシーンに配置した後、ドームの輪郭は、ユーザの3Dアバター(例えば、仮想ポインタ)を取り囲むように3Dシーンに表示されている。ユーザは、触覚対応型入力デバイスにより、シーンにおける各表面の周りで3Dアバターをドラッグし、シーンの勾配、テクスチャ及び寸法を体験することができる。ユーザは、適切な位置を標識した場合、仮想ドームを前記位置に配置する入力を提供することができる。図7Bに示すように、仮想ドーム718は既に、ユーザインタフェース700の可視化レンダリング領域702に示される仮想化環境に配置されている。
幾つかの実施例において、ユーザは、仮想ドームを収容できない領域に移動した場合(例えば、仮想ドームの寸法にとってスペースが狭すぎる)、或いは前記位置が物体により占められている場合、前記物体が大きすぎて仮想ドームの下に配置されることが不可能である場合、3Dシーンの視覚レンダリング及び/又は視覚対応型入力デバイスの触覚により、視覚的にユーザに警告フィードバック(例えば、視覚警報)を提供する。幾つかの実施例において、異なるタイプの仮想対象は、異なるタイプの制限に関連する。つまり、どのようなタイプのスペース又はスペースの物理的特徴が仮想対象の配置に対応するかに関連する。例えば、1つの中実対象は、前記中実対象の寸法より大きい空白領域内のみに配置可能である。シェル対象は、シェル対象の寸法の空白スペース内に配置可能であり、又は、シェル対象の内部寸法より小さい物理対象が占めているスペース内に配置可能である。同様に、ユーザは、仮想対象をシーンに配置する前に、その方向を調整することができる。例えば、ユーザは、3Dシーンにおいて仮想ソファーを、ポーチを通るようにドラッグしようとする場合、仮想ソファーは遮られ、ユーザが仮想ソファーをその側面に回転するまで継続する。ユーザは、ロボットが正確な命令(又は、回転した後に押す)が提供された場合に同一の寸法のソファーを作成できるかを決定したい場合、これは、有用である。
幾つかの実施例において、仮想対象の位置での触覚レンダリングに加えて、物理シミュレーションを実行することもできる。ユーザは、仮想ロボットを3Dシーンにおけるスロープにドラッグし、表面の勾配、表面摩擦及びロボットの重量の幾つかの表現形態(例えば、ロボットが坂を登る場合の電力使用量の視覚的指示)を体験することができる。仮想ロボットを表面に配置する場合、物理シミュレーションでは、ロボットが原位置に駐留すること、スロープに沿って下へスライドすること、又は、スロープの急峻度により転倒することが表示される可能性がある。
幾つかの実施例において、仮想対象を真実の世界における物理表面に対応する3Dシーンにおけるシミュレーションした物理表面に配置する場合、前の幾つかの時間ステップで位置決めを行い、地平面を保存する。仮想対象に、例えば、障害物、遮蔽カバー、壁、ターゲット、通路、安全マットなどのような1つ又は複数のキャラクターを割り当てることができる。経路プランナは、新たな経路を再生し、仮想対象を追加することで仮想シーンの変動に適応する。例えば、障害物型仮想対象の挿入により、経路プランナが元経路を湾曲してロボットに障害物を迂回させることを引き起こす可能性がある。3Dシーンにおいて、遮蔽カバー型仮想対象を挿入し、それを物理対象に配置し、前記物理対象に伴って移動する。経路プランナは、ロボットが常に遮蔽カバーの外部に位置することを確保できる。壁の挿入は、経路プランナが、ロボットが壁のいずれか一側に位置することを許容するが、壁を越えて移動することを許容しないことを意味する。ターゲット型仮想対象の挿入により、経路プランナは、ターゲット仮想対象に近接するように経路を修正する。幾つかの実施例において、複数の仮想対象は、ターゲット対象と指定された場合、ユーザは、任意選択的に、触覚マークインタフェースにより、ターゲット対象の順番を割り当てる。これにより、経路プランナは、指定した順番でターゲット対象に近接する。幾つかの実施例において、順番が明らかに指定されていない場合、経路プランナは、プリプログラミングされた経路計画命令において、事前定義された基準に基づいて、経路を計画する(例えば、仮想対象をシーンに挿入する順番に基づく。全てのターゲット対象に到達する最短経路に基づく。仮想対象の大きさの増加/減少などに基づく)。幾つかの実施例において、ターゲット型仮想対象を3Dシーンにおける物理対象又は物理対象の一部に配置する。これにより、仮想対象を操縦する(例えば、グラビングして持上げ、グラビングして回転する)ようにロボットに指示する場合、物理対象又は仮想物体が所在する位置での物理対象の一部は、ロボットにより操作される。より具体的な例において、ターゲット仮想対象を回転扉の縁に配置する。ロボットが回転扉の縁に近接し、経路プランナ及びコントローラから受信された命令に基づいてターゲット仮想対象を押す場合、回転扉が開放される。このような仮想対象を回転扉の縁に配置していないか又は仮想対象を回転扉の中間に配置した場合、ロボットは、回転扉に近接せず(例えば、これを障害物と見做す)、又は回転扉に衝突する(例えば、回転扉の縁ではない中部を押すことで、回転扉を開放できない)。上記例において、経路計画及び対象操作命令を生成するためのプリプログラミングアルゴリズム及びロジックは、不変のままであり、また、ロボットが受信した環境情報のバラツキ(例えば、仮想対象の存在/位置によるバラツキ)により、ロボットに送信された結果命令も異なる。幾つかの実施例において、3Dシーンにおける1つの仮想物理対象の位置に1つの通路タイプの仮想対象を挿入することにより、経路プランナは、経路計画における障害物とした物理対象を無視する。例えば、経路計画者は、事前設定された障害物回避命令に基づいて、カーテンにより遮られる出入口を通過することを避ける。しかしながら、ユーザは、触覚マークインタフェースにより、通路型仮想物体をカーテンに配置する場合、経路プランナは、ドアの他方側のターゲット物体への経路を計画する場合、カーテンを障害物と見做しない。カーテンの一部がロボットを遮った場合、ロボットは、経路を実行する時、カーテンを押して出入口を通過する(例えば、閉鎖したか又は半開き状態であるカーテンを押してロボットに通過させる)。幾つかの実施例において、物理対象に配置された通路型仮想対象の挿入は、3Dシーンにおける物理対象と共に移動する。これにより、物理対象の位置が変わるかどうかに関わらず、経路プランナは、物理対象を障害物と見做しない。例えば、経路プランナは、プリプログラミングされた障害物回避命令に応じて、床板に配置された小さなゴムボールを回避する。しかしながら、ユーザは、触覚マークインタフェースにより、通路タイプの仮想対象を仮想ゴムボールに配置して付着した場合、経路プランナは、向きシーンにおけるターゲット物体への経路を計画する場合、ゴムボールを障害物と見做しない。ゴムボールがちょうど前記経路に位置すれば、ロボットは、経路を実行する時に、ゴムボールに近接して該ゴムボールを押す(ゴムボールが転がるか又は押されて前進する)。
幾つかの実施例において、触覚マークインタフェースは、ユーザが仮想化3Dシーンに配置され仮想対象を操縦することを許容し、触覚対応型入力デバイスにより、ユーザに触覚フィードバックを提供する。前記入力デバイスは、仮想対象により、3D環境の応答をシミュレーションする。
幾つかの実施例において、仮想対象を仮想化物理環境における表面に配置したか又は表面に密着させた後に、ユーザは、仮想対象とインタラクションし、ユーザと仮想対象とのインタラクション方式に基づいて、異なる触覚フィードバック、仮想対象と仮想化物理環境との空間的関係、仮想対象と仮想化物理環境の物理的特徴を体験することができる。例えば、仮想化物理環境において、仮想対象の床板の表面に配置し、床板の表面で仮想対象を押すか又はドラッグすることができる。触覚対応型入力デバイスは、触覚フィードバックを提供し、仮想対象と床板表面との静的及び動的摩擦をシミュレーションする。もう1つの例において、仮想物体は、1つの表面に押されてもよい(例えば、側面が壁又は他の物体に密接するか又は下向きに床板に密接する)。触覚対応型入力デバイスは、仮想物体への、模擬表面の反力に対する触覚フィードバックを提供する。
図7Bにおいて、種々のタイプの仮想対象(例えば、ドーム718)を仮想化環境に配置することで経路計画に影響を及ぼすことを説明するための例を提供する。図7B(a)は、ロボット102がターゲット物体704に到達するための経路720-1(例えば、抵抗力及び距離が最も小さい経路)を示す。経路720-1は、ロボット又はサーバで実現される経路プランナにより、経路プランナに提供された環境情報のプリプログラミングされた経路計画命令に基づいて生成されたものである。図7B(b)は、仮想化環境の床板に一連の道路標識708を配置する場合のロボット102の経路720-2を示す。経路720-2は、まず、一連の道路標識を経て、続いて、ターゲット対象704に向くように構成される。経路プランナに提供された環境情報は、図7B(a)におけるシーンにおいて変更され、計画した経路の変更をもたらす。図7B(c)は、ドーム形状の仮想対象718-1がシーンに配置されることを示す。また、ドームは、「障害物」対象タイプである。ターゲット704へ移動する場合、経路720-3を生成して障害物718-1を回避する。物理環境に仮想ドームが存在しなくても、経路プランナに提供された環境情報を修正することで、ドームを含ませることもできる。従って、経路プランナは、ドームを取り囲む経路を生成する。図7B(d)は、ドーム形の遮蔽カバー718-2が部屋の周りに移動するペットの上方に配置されることを示す。ドーム形遮蔽カバー718-2は、リアルタイムでペットの動きに追従し、また、経路プランナは、ドーム形遮蔽カバー718-2の位置に基づいて経路を調整する。環境情報は、ペットの位置に伴って絶え間なく更新するが(例えば、ペットの幾何的中心)、リアルタイム性は大幅に簡素化した。なぜなら、ペットの形状が絶え間なく変化しても(例えば、移動、走り、転がりなど)、ペットの形状細部がドーム形遮蔽カバーの形状に置き換えられ、経路プランナが、ペットではなく、ドームを回避する経路を計画するからである。図7B(e)に示すように、床板にクラック722が存在する。床板の連続性は、前記クラックで壊されたため、これは、経路プランナの障害物であると思われる。しかしながら、通路ドーム対象718-3がクラック722の一部に配置される時、経路プランナに提供される環境情報は修正され、また、床板表面における隙間が小さくなり、経路720-5は、クラックの上方にあるドームを通過してターゲット704へ直接に前進する。図7B(f)に示すように、ターゲットへ通う途中に幾つかの障害物724が存在する。ユーザは、ドーム形状の測定対象718-4を用いて障害物間の隙間を貫通する。ターゲットを他の位置へ移動するタスクであれば、ロボット及びターゲットのうちの大きいものの寸法を測定対象718-4の寸法として選択する。1つの位置で、測定対象718-4が引っ掛かり(例えば、ユーザが通過できない)、もう1つの位置で、測定対象は、容易に通過できる。従って、ドーム測定対象718-4を2つの開口に押すことで2つの位置を試した後、ユーザは、狭い開口における対象タイプを障害物として再設定する。又は、広い開口における対象タイプを通路として再設定する。これにより、ロボットは、広い開口を介してターゲットに移動する。経路720-6は、経路プランナに提供された修正した環境情報に基づいて生成されたものである。
図7Cは、幾つかの実施例による仮想化環境における仮想対象(例えば、立方体726)の移動を示す。図7Cに示すように、仮想化物理環境において、仮想対象は、床板に沿って押され、最終的にボックス704に当接する。ユーザは仮想対象を押す場合、仮想対象の移動は、仮想化環境における床板表面の幾何的形状により制限される。仮想対象をシーンにおける物理的ボックスに押す場合、仮想対象の移動は、中止する。触覚対応型入力デバイスで提供される力フィードバックは、仮想物体が床表面に沿って押される場合の仮想物体と床表面との間の摩擦力に対応し、また、仮想物体が物理的ボックス704に押される場合に発生した反力に対応する。
幾つかの実施例において、現在提出されている混合イニシアチブ型リモートロボット制御システムは、視覚及び触覚レンダリング、経路計画及び/又は物理シミュレーションを実行する時にネットワーク遅延を考慮するメカニズムを含む。幾つかの実施例において、遅延に基づいた調整は、閾値を超える遅延を検出した場合(例えば、ネットワーク遅延を連続的に監視する)又はユーザがネットワーク遅延による影響を観察した後に遅延調整要求を出す場合に自動的にトリガされたもの(例えば、予想外及び/又は予測できないロボット動き、又はロボットのホイッピング動き)又は他の遅延監視システムによるネットワーク遅延の指示値(例えば100ms又は200ms)である。
混合イニシアチブ型リモートロボット制御のロボット経路計画及び操作制御において、遅延は、重要な考慮要因である。その原因は以下を含む。(1)ネットワークにより伝送されるべき画像及びデプスデータ量が非常に大きい。(2)ユーザ関与が不連続的であり、間欠的かつ非周期的であり、また、ロボットが自動動きを実行するための時間は多い。これらの特徴に適応するために、システムの制御システム構造は、ロボット層及び実行層に分布する。
幾つかの実施例において、実行層(例えば、実行層206)は、タスクプランナ、経路マネージャ、経路プランナ及び元マネージャを含む。ロボット層(例えば、ロボット層204)は、軌跡プランナ、コントローラ及びロボットを含む。ユーザは、触覚インタフェースを用いて高レベルのタスクを呼び出す。高レベルのタスクは、3Dシーンにおける仮想対象の触覚マーク位置又は挿入、及び仮想対象とのインタラクションを含む。これらの操作は、タスクプランナに伝達される。タスクプランナは、計画マネージャと交流する高級マネージャである。これは、タスクを微細動作計画に解析し、再計画要求を受信することができる。計画マネージャは、経路プランナから、2つのポイント間の経路を要求して受信することができる。現在開示されたフレームワークにおいて、幾つかの実施例において、経路生成は、高速探索ランダムツリーアルゴリズムに基づくものである。混合イニシアチブ型制御において、人間同士のインタラクションは、元マネージャモジュールで発生する。低レベルの元マネージャは、計画マネージャから、例えば、道路標識及び微細動作のような経路情報を受信する。これは、計画した経路及び触覚マーク経路を受信し、ロボットの動きのためにターゲット位置を生成する。ロボット層において、軌跡プランナは、ターゲット位置への軌跡を監視して制御する。触覚マーク経路は、マークポイントxを提供し、計画経路は、経路ポイントxを提供する。前記ポイントと現在のロボットの位置との間の最大距離を選択することで、該2つのポイントからターゲット位置xを選択する。
ネットワーク遅延は、KinectFusionの位置推定とマッピングの同時実行に影響を及ぼす可能性がある。遅延を補償するために、予測ターゲット位置を生成する方法を提供する。i番目の時間ステップでのロボットの現在速度がv=(a,b,c)であるとすれば、次の速度を予測する方法は、最後の幾つかのフレームの速度及び加速度を算出することである。大部のカルマンフィルタは、このような線形形態の経験モデルに基づくものである。次の速度vi+1を予測するための汎用線形モデルは、公式2である。
Figure 0007311172000001
経路ポイントの所定のタイムシーケンスに対して、行列Vを式3と定義する。
Figure 0007311172000002
vを予測位置(vm+1,vm+2,…vi+m+1, …)とする。現在の課題は、3つのパラメータベクトルα、β及びγを解くことである。これらの線形課題の一般的な解決手段は、式4に示す。
Figure 0007311172000003
前記線形予測モデルは各時間ステップで、新たなパラメータを生成し、続いて、次のターゲット位置x i+1=x +vi+1 tを予測する。ここで、tは、周期的時間遅延である。前記ターゲット位置は、軌跡プランナに送信され、ロボットの下位層自動制御を行う。
図8は、幾つかの実施形態による混合イニシアチブ型ロボット制御を提供する方法800を示すフローチャートである。混合イニシアチブ型ロボット制御を提供する方法800は、1つ又は複数のプロセッサ及びメモリを有するコンピューティング機器において実行される(802)。前記コンピューティング機器は、ロボットに通信可能に結合され、第1組のプリプログラミングされた経路計画命令に基づいてロボット用の計画経路を生成するように構成される。前記ロボットは、コンピューティング機器から受信された計画経路及びローカルに記憶された経路実行命令に基づいて物理環境においてナビゲーションをするように構成される。幾つかの実施例において、コンピューティング機器は、ロボットと一緒に配置されるサーバである(例えば、同一のローカルエリアネットワークを用いるか又は同一の部屋にある)。幾つかの実施例において、コンピューティング機器は、ロボットから離れて広域ネットワーク経由でロボットと通信可能なサーバであり、ネットワーク経由でロボットと通信する場合にネットワーク遅延が発生する可能性がある。幾つかの実施例において、コンピューティング機器は、作業者と一緒に配置されるコンピュータであり、これは、ユーザとロボットとのリモートインタラクションを促進する。
方法800によれば、コンピューティング機器は、制御ユーザインタフェース(例えば、仮想化シーンのグラフィックレンダリング702(例えば、ロボット位置でのセンサから収集された画像及びデプスデータに基づいて認識したポイントクラウド又は表面を表示する。例えば、実質的にリアルタイム更新に対応するフレームレートで)、及び仮想化シーンをマーキングして仮想対象を仮想化シーンに挿入するための種々のユーザインタフェースコントロール(例えば図7Aにおけるユーザインタフェース700のうちの706、710、712、714及び716におけるコントロール)を含む制御インタフェース700)を表示し(804)、表示生成モジュール(例えば、ディスプレイ、ヘッドアップディスプレイ、プロジェクター、タッチパネルディスプレイなど)によりコンピューティング機器に結合する。制御ユーザインタフェースは、現在ロボットを取り囲んでいる第1物理環境に対応する仮想化環境に、ユーザの移動入力(例えば、マウス、操縦レバー、タッチボード、触覚対応型指向機器などにより提供される)に基づいて仮想シーンにおいて移動する仮想ポインタ対象(例えば、仮想ポインタ705)(例えば、仮想手、カーソル、矢印形位置指示子など)を表示する。ここで、仮想化環境は、ロボット(例えば、ロボット102)と一緒に配置される第1のセンサ群(例えばRGBDカメラ106)から受信されたストリーミング環境データ(例えば、1秒当たりのビデオフレームレート(例えば、10、12、24フレーム/秒)を有するストリーミングRGB画像データ及び対応するデプスデータ)に基づいて生成されて更新されたものである(例えば、第1のセンサ群は、ロボットに固定されてもよい(例えば、ロボットの頂部、又は、ロボットの「眼」の水平面又はロボットが位置する部屋の天井板に))。
仮想化環境に仮想ポインタ対象を表示する場合、コンピューティング機器は、触覚対応型入力デバイスにより第1ユーザ入力を検出する(806)。第1ユーザ入力は、第1移動入力及び仮想化環境において仮想ポインタ対象の移動経路に沿った1つ又は複数の位置における1つ又は複数のマーク入力を含む。例えば、ユーザは、3Dにおいて入力デバイスの位置決め部分を移動することで、触覚対応型入力デバイス(例えば、触覚対応型3Dマウス114)を操作し、仮想化環境における仮想ポインタ対象(例えば、ポインタ705)の移動を引き起こす。仮想化環境における仮想ポインタ対象の位置(例えば、制御ユーザインタフェース700の可視レンダリング領域702に示すように)に基づいて、触覚対応型入力デバイスからユーザに提供される触覚フィードバックにより(例えば、触覚フィードバックにより、ユーザが体験した反力をシミュレーションした力及び/又は振動(例えば、衝撃、押し/引き/押圧などに対する抵抗力)、物理環境におけるユーザの指と表面との動的及び/又は静的摩擦、表面のテクスチャ、表面の勾配、表面の他の物理幾何的特徴など)、ユーザは、何時、前記位置を道路標識又は他のタイプのマークポイント(例えば、対象操縦のためのレバー、物理障害物を通過する通路など)とマーキングするかを決定し、触覚対応型入力デバイス(例えば、触覚対応型入力デバイス114)により、必要なマーク入力を提供することができる(例えば、シングルクリックボタン。タッチ表面でダブルクリックする。コントロールユーザインタフェースにおいてマークコントロールをアクティブ化する)。
第1ユーザ入力を検出したことに応答して(810)、コンピューティング機器は、第1移動入力に基づいて、仮想化環境において仮想環境における第1移動経路に沿って仮想ポインタ対象を移動し(812)、前記第1移動経路は、前記仮想化環境における1つ又は複数の模擬表面により制限さされる。例えば、仮想ポインタ対象は、床板の表面のみで移動可能であるが、仮想化環境に表示されている床板に沿って移動する場合、床板を貫通できない。
第1ユーザ入力を検出したことに応答して(810)、コンピューティング機器は、仮想化環境における前記第1移動経路の模擬材料及び/又は構造特徴に基づいて、前記触覚対応型入力デバイスにより、触覚フィードバックを生成する(814)。コンピューティング機器は、仮想化環境の少なくとも一部(例えば、マークポイントクラウドを順序付きポイント集合として保存する)を修正する(816)。前記少なくとも一部は、仮想化環境における1つ又は複数のマーク入力の位置に対応する。修正した仮想化環境は、仮想化環境を代替し、第1物理環境内でロボットに対して経路計画を行うための環境基礎とする。前記第1物理環境は、コンピューティング機器により、第1組のプリプログラミングされた経路計画命令に基づいて実行される。
幾つかの実施例において、仮想化環境における第1移動経路の模擬材料及び/又は構造特徴に基づいて、触覚対応型入力デバイスにより触覚フィードバックを生成するために、コンピューティング機器は、下記操作を実行する。仮想環境における、前記第1ポインタ対象の第1位置から第2位置までの移動に基づいて、コンピューティング機器は、第1ポインタ対象の移動期間において力フィードバックを生成するようにプロキシ位置を更新する。前記プロキシ位置を更新することは、前記第1位置が、前記第1移動経路に沿った、前記仮想化環境との初期接触に対応すると決定したことに基づいて、前記第1位置に最も近い表面ポイントを位置決めするように前記プロキシ位置を更新することと、前記第1位置が、前記第1移動経路に沿った、前記仮想化環境との初期接触ではないと決定したことに基づいて、前記第1位置に対応する接線制約平面と、第1位置から接線制約平面に降下する法線との交点に最も近い表面ポイントを位置決めするように前記プロキシ位置を更新することと、を含む。図4及びこれに関連する記述において、これを説明した。幾つかの実施例において、プロキシ位置を更新して第1位置に最も近い表面ポイントを位置決めする場合、光線投射のために算出された中間結果を1つ又は複数の表面の視覚レンダリングに用い、光線投射に平行するように、1つ又は複数の視覚レンダリングを実現させる。
幾つかの実施例において、仮想化環境における1つ又は複数のマーク入力の位置に対応する仮想化環境の一部を修正することは、ロボットが従う経路(例えば、マーク308)をマーキングすることを含み、第1組のプリプログラミングされた経路計画命令に基づいて生成された計画経路は、マーキングされた経路(例えば図7B(b)に示す)である。
幾つかの実施例において、仮想化環境における1つ又は複数のマーク入力の位置に対応する仮想化環境の一部を修正することは、ロボットが越えることを防止するための境界をマーキングすることを含み、第1組のプリプログラミングされた経路計画命令に生成された計画経路は、境界を越えない。
幾つかの実施例において、仮想化環境における1つ又は複数のマーク入力の位置に対応する仮想化環境の一部を修正することは、ロボットが回避する1つ又は複数の仮想障害物(例えば、障害物718-1)を配置することを含み、第1組のプリプログラミングされた経路計画命令に基づいて生成された計画経路は、前記ロボットが1つ又は複数の仮想障害物と接触することを避けることができる(例えば、図7B(c)に示す)。
幾つかの実施例において、仮想化環境における1つ又は複数のマーク入力の位置に対応する仮想化環境の一部を修正することは、第1物理環境における物理対象に対応する位置で1つ又は複数の仮想通路(例えば718-3)を配置することを含み、1つ又は複数の仮想通路が存在しない場合、第1組のプリプログラミングされた経路計画命令に基づいて生成された経路は、ロボットと物理対象との接触を阻止し、1つ又は複数の仮想通路が存在する場合、第1組のプリプログラミングされた経路計画命令に基づいて生成された経路は、ナビゲーション期間でロボットと物理対象との接触を阻止しない(例えば、図7B(e)に示す)。
幾つかの実施例において、仮想化環境における1つ又は複数のマーク入力の位置に対応する仮想化環境の一部を修正することは、前記仮想化環境における1つ又は複数のマーク入力の位置から仮想化環境をセグメンテーションし、第1組のプリプログラミングされた経路計画命令に基づいて、セグメンテーション結果に対応する1つ又は複数の物理対象をナビゲーションターゲットとマーキングする(例えば、図7Aに示すように、枠704は、ターゲットとマーキングされる)ことを含む。幾つかの実施例において、コンピューティング機器は、第2組のプリプログラミングされた対象操縦命令に基づいて、1つの又は複数の物理対象の操縦に関わる高レベルの命令を提供し、ここで、ロボットは、高レベルの命令及びローカルに記憶されたタスク実行命令に基づいて、1つ又は複数の物理対象を操縦する。例えば、高レベルの命令は「ボックス回転」である。また、ロボットは、ローカルに記憶されたタスク実行命令に基づいてボックスを回転する。前記タスク実行命令は、ボックスに近接し、ボックスの表面を認識し、ボックスの表面の堅固な位置を認識する命令を含む。該命令は、ボックスを押し、決定した位置を押し、ボックスを所定の回数で回転するために用いられる。
説明された方法800における操作の特定の順番は例だけであり、説明された順番が操作を実行するための唯一の順番であることを示唆しないことは理解されるべきである。当業者は、本明細書に記載の操作を再順序付ける種々の方式を意識する。なお、本明細書に記載の他の方法(例えば、方法900及び1000)に関わる他のプロセスの細部も、上述した図8に記載の方法800と同様な方式で適用可能である。ここで、詳細な説明を省略する。
上記情報処理方法における操作は、任意選択的に、情報処理機器における1つ又は複数の機能モジュール(例えば、汎用プロセッサ又は専用チップ)を実行することで実現する。
図9は、幾つかの実施例によるストリーミング表面からインタラクティブ対象セグメンテーションを実行する方法を示すフローチャートである。1つ又は複数のプロセッサ及びメモリを有するコンピューティング機器において、ストリーミング表面からインタラクティブ対象セグメンテーションを実行する方法900を実行する(902)。前記コンピューティング機器は、ネットワークを経由して第1物理環境において一緒に配置されるセンサ群及びロボットに通信可能に結合される。前記コンピューティング機器は、ロボットに通信可能に結合され、第1組のプリプログラミングされた経路計画命令に基づいてロボット用の計画経路を生成するように構成される。ロボットは、コンピューティング機器から受信された計画経路及びローカルに記憶された経路実行命令に基づいて物理環境においてナビゲーションをするように構成される。幾つかの実施例において、コンピューティング機器は、ロボットと一緒に配置されるロボットである(例えば、同一のローカルエリアネットワークを用いるか又は同一の部屋にある)。幾つかの実施例において、コンピューティング機器は、ロボットから離れ、広域ネットワーク経由でロボットと通信可能なサーバであり、ネットワーク経由でロボットと通信する場合、ネットワーク遅延が発生する可能性がある。幾つかの実施例において、コンピューティング機器は、作業者と一緒に配置されるコンピュータであり、これは、ユーザとロボットとのリモートインタラクションを促進する。
方法900において、コンピューティング機器は、センサ群から環境データストリームを受信する(904)。前記環境データストリームは、第1物理環境を捕捉する関連画像及びデプスデータを含む。コンピューティング機器は、表示生成モジュール(例えば、ディスプレイ112)により、ユーザインタフェース領域(例えば、図7A-7Cにおけるユーザインタフェース領域702)に、第1物理環境の仮想化表現を表示する(906)。ここで、第1物理環境の仮想化表現は、環境データストリームに基づいて生成されて更新されたものである。第1物理環境の仮想化表現を表示すると同時に、コンピューティング機器は、触覚対応型入力デバイスからマーク入力を受信する(908)。第1物理環境の仮想化表現におけるマーク入力の位置は、マーク入力により決定され、また、前記位置は、第1物理環境の仮想化表現における第1仮想表面により制約される。マーク入力を受信したことに応答して(910)、コンピューティング機器は、関連画像及びデプスデータにおけるマーク入力の位置から対象セグメンテーションを実行し(912)、環境データストリームに基づいて第1物理環境の仮想化表現に対応する時間ステップを更新し、画像データにおける、マーク入力の位置に対応する第1位置から、画素に対してクラスタリングを行い(912)、第1クラスタを形成し、前記第1クラスタ及び前記第1クラスタに対応するデプスデータに基づいて、マーキングされた第1対象をセグメンテーションし、マーキングされた第1対象及びデプスデータを各時間ステップに対応する第1物理環境の第1切断符号付き距離関数(TSDF)表現にフュージョンし、第1TSDF表現から、第1セグメンテーションポイントクラウドを取得し、前記第1TSDF表現は、マーキングされた第1対象及び第1クラスタに対応するデプスデータとフュージョンした。これは、図6及びそれに関連する記述において説明された。
幾つかの実施例において、前記マーキングされた第1対象に対応する第1物理対象のロボットがプリプログラミングされた命令に基づいて、経路計画及び/又はタスク実行を実行するように、プリプログラミングされた命令に基づいて、前記マーキングされた第1対象を含む第1セグメンテーションポイントクラウドを入力として提供する。
幾つかの実施例において、コンピューティング機器がマーク入力に応答して、触覚対応型入力デバイスにより触覚フィードバックを生成することは、マーク入力の位置が仮想化環境との初期接触に対応すると決定したことに基づいて、マーク入力位置に最も近い表面ポイントを位置決めするようにプロキシ位置を更新することと、マーク入力の位置が移動経路に沿って仮想化環境と接触した連続的な位置であると決定したことに基づいて、前記第1位置に対応する接線制約平面と、第1位置から接線制約平面に降下する法線との交点に最も近い表面ポイントを位置決めするように前記プロキシ位置を更新することと、を含む。これは、図4及びそれに関連する記述において説明された。幾つかの実施例において、時間ステップに対応する第1物理環境の第1TSDF表現を用いて、第1位置に最も近い表面ポイントを位置決めするようにプロキシ位置を更新する。
幾つかの実施例において、コンピューティング機器は、マーク入力に基づいて、マーキングされた第1対象を障害物としてマーキングする。ここで、ロボットは、第1組のプリプログラミングされた命令に基づいて生成された経路でナビゲーションを行う場合、マーキングされた第1対象を回避する(例えば、図7B(c)に示す)。
幾つかの実施例において、前記コンピューティング機器は、マーク入力に基づいて、マーキングされた第1対象をターゲットとしてマーキングする。ここで、ロボットは、第1組のプリプログラミングされた経路計画命令に基づいて生成された経路でナビゲーションを行う期間において、マーキングされた第1対象に近接する(例えば、図7B(a)-7B(f)に示す)。
幾つかの実施例において、前記コンピューティング機器は、マーク入力に基づいて、マーキングされた第1対象を通路としてマーキングする。ここで、マーキングされた第1対象を通路とマーキングしていない場合、ロボットは、第1組のプリプログラミングされた経路計画命令に基づいて生成された経路でナビゲーションを行う期間において、マーキングされた第1対象を回避し、1番目のマーキングされた対象を通路とマーキングした場合、第1組のプリプログラミングされた経路計画命令に基づいて生成された経路でナビゲーションを行う場合、前記マーキングされた第1対象を回避しない(例えば、図7B(e)に示す)。
幾つかの実施例において、前記コンピューティング機器は、マーク入力に基づいて、マーキングされた第1対象を操縦対象としてマーキングする。前記コンピューティング機器は、マーキングされた第1対象の操縦に関わる高レベルの命令をロボットに提供する。ここで、前記ロボットは、第2組のプリプログラミングされた対象操作命令に基づいて生成された高レベルの命令に応じて、マーキングされた第1対象に対応する物理対象を操縦する。
説明された方法900における操作の特定の順番は例だけであり、説明された順番が操作を実行するための唯一の順番であることを示唆しないことは理解されるべきである。当業者は、本明細書に記載の操作を再順序付ける種々の方式を意識する。なお、本明細書に記載の他のプロセスの細部も、本明細書に記載の他の方法(例えば、方法800及び1000)と同様に、図8に記載の方法900に適用可能である。ここで、詳細な説明を省略する。
任意選択的に、情報処理機器における1つ又は複数の機能モジュール(例えば、汎用プロセッサ又は専用チップ)を実行することで、上記情報処理方法における操作を実現させることができる。
図10は、幾つかの実施形態による混合イニシアチブ型ロボット制御を提供する方法を示すフローチャートである。1つ又は複数のプロセッサ及びメモリを有するコンピューティング機器において、混合イニシアチブ型ロボット制御を提供する方法1000を実行する(1002)。コンピューティング機器(例えば、サーバ110)は、ロボットに通信可能に結合され、第1組のプリプログラミングされた経路計画命令に基づいてロボット用の計画経路を生成するように構成される。ロボット(例えば、ロボット102)は、コンピューティング機器から受信された計画経路及びローカルに記憶された経路実行命令に基づいて物理環境においてナビゲーションを行うように構成される。
方法1000において、前記コンピューティング機器は、コンピューティング機器に結合される表示生成モジュールにより、制御ユーザインタフェース(例えば、制御ユーザインタフェース700)を表示し(1004)、ここで、現在ロボット(例えばロボット102)を取り囲んでいる第1物理環境に対応する仮想化環境を表示し(例えば、領域702に)、前記仮想化環境は、ロボットと一緒に配置される第1のセンサ群(例えば、3Dカメラ106)から受信されたストリーミング環境データに基づいて生成されて更新されたものである。仮想化環境を表示する場合、コンピューティング機器は、仮想化環境における第1位置に第1仮想対象を挿入する第1ユーザ入力(例えば、制御ユーザインタフェース700により)を検出する(1006)。第1ユーザ入力を検出したことに応答して、コンピューティング機器は、第1位置に第1仮想対象を挿入することで第1仮想化環境を修正する(1008)。ここで、第1位置に位置する第1仮想対象は、ロボットに、第1組のプリプログラミングされた経路計画命令に基づいて生成された第1ナビゲーション経路を物理環境において実行させる。仮想化環境における第1位置で第1仮想対象を表示し、ロボットが物理環境において第1ナビゲーション経路を実行する場合、コンピューティング機器は、触覚対応型入力装置による前記第1仮想対象への第1移動入力操作を含める第2ユーザ入力を検出する(1010)。第2ユーザ入力を検出したことに応答して、第1移動入力に基づいて、仮想化環境において、第1仮想対象を第1移動経路に沿って第2位置に移動し(1012)、前記第1移動経路は、前記仮想化環境における1つ又は複数の模擬表面により制限される。ここで、前記第2位置に位置する第1仮想対象は、ロボットに、第1組のプリプログラミングされた経路計画命令に基づいて生成された修正したナビゲーション経路を物理環境において実行させる。これは、図7B-7C及びそれに関連する記述において説明された。
幾つかの実施例において、第1仮想対象が第1移動経路に沿って仮想化環境における第2位置に移動する期間において、コンピューティング機器は、第1仮想物体の現在位置での第1仮想物体と模擬表面との模擬摩擦力に基づいて、触覚対応型入力デバイス(例えば、入力デバイス114)により触覚フィードバックを提供する。
幾つかの実施例において、第1仮想対象は、事前定義された寸法及び形状を有する。前記第1仮想対象が前記仮想化環境において第1移動経路に沿って第2位置に移動する期間において、コンピューティング機器は、前記第1仮想対象の現在の移動方向に沿った前記第1仮想対象と第1模擬表面との接触を検出する。第1仮想対象が前記第1仮想対象の現在の移動方向に沿って前記模擬表面と接触したことを検出したことに応答して、コンピューティング機器は、前記第1模擬表面から前記第1仮想対象への模擬反力に基づいて、触覚対応型入力デバイスにより触覚フィードバックを提供する。例えば、図4においてこれが説明された。
幾つかの実施例において、第1仮想対象は、事前定義された寸法及び形状を有する。前記第1仮想対象が前記仮想化環境において前記第1移動経路に沿って前記第2位置に移動する期間において、コンピューティング機器は、前記第1仮想対象が第2仮想対象と接触したことを検出し、前記第2仮想対象は、前記模擬環境における第1仮想対象の現在の移動方向に事前配置された。前記第1仮想対象が前記第1仮想対象の現在移動方向に前記第2仮想対象と接触したことを検出したことに応答して、コンピューティング機器は、前記第2仮想対象から前記第1仮想対象への模擬反力に基づいて、触覚対応型入力デバイスにより、触覚フィードバックを提供する。例えば、図4においてこれが説明された。
幾つかの実施例において、前記第1仮想対象は、障害物とマーキングされ、前記ロボットは、前記第1組のプリプログラミングされた命令に基づいて生成された経路においてナビゲーションを行う期間において、前記第1仮想対象を回避する(例えば、図7B(c)に示す)。
幾つかの実施例において、前記第1仮想対象は、ターゲットとマーキングされ、前記ロボットは、前記第1組のプリプログラミングされた命令に基づいて生成された経路においてナビゲーションを行う期間において、前記マーキングされた第1仮想対象に近接する(例えば、図7B(a)-(f)に示す)。
幾つかの実施例において、前記第1仮想対象は、通路とマーキングされ、前記ロボットが前記第1組のプリプログラミングされた命令に基づいて生成された経路においてナビゲーションを行う期間において、前記第1仮想対象の存在は、物理障害物の存在を被覆する(例えば、図7B(e)に示す)。
幾つかの実施例において、仮想化環境における第1位置に第1仮想対象を挿入する第1ユーザ入力を検出するために、コンピューティング機器は、第1模擬表面に対応する仮想化環境における第1位置への第1入力を検出することと、前記第1位置への第1入力を検出したことに応答して、触覚対応型機器により、第1触覚フィードバックを提供し、第1位置が第1模擬表面にあることを指示することと、前記仮想化環境における前記第1位置を第1仮想対象の第1境界の一部としてマーキングする第2入力を検出することと、前記仮想化環境において、第2模擬表面に対応する第2位置への第3入力を検出することと、第2位置への第2入力を検出したことに応答して、前記触覚対応型機器により、第2触覚フィードバックを提供し、第2位置が第2模擬表面にあることを指示することと、前記仮想化環境における第2位置を第1仮想対象の第2境界の一部としてマーキングする第4入力を検出することと、前記第1位置及び前記第2位置に基づいて前記第1仮想対象を生成することと、を実行する。
幾つかの実施例において、前記コンピューティング機器は、マーク入力に基づいて、マーキングされた第1対象を操縦対象としてマーキングする。コンピュータは、マーキングされた第1対象の操縦に関わる高レベルの命令をロボットに提供する。ここで、前記ロボットは、第2組のプリプログラミングされた対象操作命令に基づいて生成されたマーキングされた第1対象の高レベルの命令に対応する物理対象を操縦する。
説明された方法1000における操作の特定の順番は例だけであり、説明された順番が操作を実行するための唯一の順番であることを示唆しないことは理解されるべきである。当業者は、本明細書に記載の操作を再順序付ける種々の方式を意識する。なお、本明細書に記載の他のプロセスの細部も、本明細書に記載の他の方法(例えば、方法800及び900)と同様に、図8に記載の方法1000に適用可能である。ここで、詳細な説明を省略する。
任意選択的に、情報処理機器における1つ又は複数の機能モジュール(例えば、汎用プロセッサ又は専用チップ)を実行することで、上記処理方法における操作を実現させることができる。
図11は、幾つかの実施例による例示的なロボット102を示すブロック図である。
前記ロボット102は、1つ又は複数の処理ユニット(CPU)1102と、1つ又は複数のネットワークインタフェース1104(例えば、サーバ110へのI/Oインタフェース)と、メモリ1106と、これらのモジュール(チップ群とも呼ばれる)を接続するための1つ又は複数の通信バス1108と、を含む。メモリ1106は、例えば、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートメモリデバイスのような高速ランダムアクセスメモリを含む。任意選択的に、1つ又は複数の磁気ディスク記憶装置、1つ又は複数の光ディスク記憶装置、1つ又は複数のフラッシュ装置、又は1つ又は複数の他の不揮発性ソリッドステート記憶装置のような不揮発性メモリを含む。任意選択に、メモリ1106は、1つ又は複数の処理ユニット1102から離れるようにリモートに配置された1つ又は複数の記憶装置を含む。メモリ1106、又はメモリ1106内の不揮発性メモリ装置は、不揮発性コンピュータ読み取り可能な記憶媒体を含む。幾つかの実現形態において、メモリ1106又はメモリ1106の非一時的なコンピュータ読み取り可能な記憶媒体には、
様々な基本的なシステムサービスを処理してハードウェア関連タスクを実行するためのプロセスを含むオペレーティングシステム1116と、
ロボット102を他のコンピューティング機器に接続するためのネットワーク通信モジュール1118と、
ユーザインタフェース1110に関連する1つ又は複数の出力デバイス1112(例えば、ディスプレイ、スピーカーなど)を経由してロボット102で情報を呈示するための呈示モジュール1120と、
1つ又は複数の入力デバイス1114のうちの1つの入力装置からの1つ又は複数のユーザ入力又はインタラクションを検出し、検出した入力又はインタラクションを解釈するための入力処理モジュール1122と、
ロボット102のRGBDカメラ106を制御するためのカメラ制御ユニット1113と、ロボットのロボット操作ユニット1126を制御するためのロボット機能制御ユニット1117と、経路プランナの高レベルの命令に基づいて経路を実行するための経路実行ユニット1119と、本明細書に記載のロボット102の機能を実現させるための他のユニットと、を備える、ロボット102の機能を制御するロボット制御ユニット1124、
以上のようなプログラム、モジュール及びデータ構造、又はこれらの部分集合又は上位集合が記憶される。
上記標識した各要素は、1つ又は複数の言及された記憶装置に記憶され、上記機能を実行するための一組の命令に対応する。上記標識したモジュール又はプログラム(即ち、命令集合)は、独立したソフトウェアプログラム、プロセス、モジュール又はデータ構造として実現する必要がないため、これらのモジュールの様々な部分集合は、様々な実現形態で組み合わせられてもよいし、他の方式で再配置されてもよい。幾つかの実現形態において、任意選択的には、メモリ1106には、上記標識されたモジュール及びデータ構造の部分集合が記憶される。なお、任意選択的に、メモリ1106には、以上に説明されていない付加モジュール及びデータ構造が記憶される。
幾つかの実施例において、前記ロボット102の少なくとも一部の機能はサーバ110により実行され、これらの機能に対応するサブモジュールは、ロボット102内に位置せず、前記サーバ110内に位置してもよい。図11に示すロボット102の「モジュール」は説明のためのものに過ぎず、種々の実現形態において、本明細書に記載の機能を実現させるためのモジュールに対して異なる配置を用いることが可能である。
上記標識した各要素は、1つ又は複数の言及された記憶装置に記憶され、上記機能を実行するための一組の命令に対応する。上記標識したモジュール又はプログラム(即ち、命令集合)は、独立したソフトウェアプログラム、プロセス、モジュール又はデータ構造として実現する必要がないため、これらのモジュールの様々な部分集合は、様々な実現形態で組み合わせられてもよいし、他の方式で再配置されてもよい。幾つかの実現形態において、任意選択的には、メモリ1106には、上記標識されたモジュール及びデータ構造の部分集合が記憶される。なお、任意選択的に、メモリ1106には、以上に説明されていない付加モジュール及びデータ構造が記憶される。
図12は、幾つかの実施形態による例示的なサーバ110を示すブロック図である。サーバシステム110は、一般、1つ又は複数の処理ユニット(CPU)1202と、1つ又は複数のネットワークインタフェース1204(例えば、1つ又は複数のロボット102へのI/Oインタフェース及び1つ又は複数のユーザ側機器1300へのI/Oインタフェース)と、メモリ1206と、これらのモジュール(チップ群とも呼ばれる)を接続するための1つ又は複数の通信バス1208と、を含む。メモリ1206は、例えば、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートメモリデバイスのような高速ランダムアクセスメモリを含む。任意選択的に、1つ又は複数の磁気ディスク記憶装置、1つ又は複数の光ディスク記憶装置、1つ又は複数のフラッシュ装置、又は1つ又は複数の他の不揮発性ソリッドステート記憶装置のような不揮発性メモリを含む。任意選択に、メモリ1206は、1つ又は複数の処理ユニット1202から離れるように位置決めされた1つ又は複数の記憶装置を含む。メモリ1206、又はメモリ1206内の不揮発性メモリ装置は、不揮発性コンピュータ読み取り可能な記憶媒体を含む。幾つかの実現形態において、メモリ1206又はメモリ1206の非一時的なコンピュータ読み取り可能な記憶媒体には、
様々な基本的なシステムサービスを処理してハードウェア関連タスクを実行するためのプロセスを含むオペレーティングシステム1216と、
サーバ110を他のコンピューティング機器(例えば、ユーザ側機器1300及びロボット102(カメラ106を含む))に接続するためのネットワーク通信モジュール1218と、
ユーザインタフェース1210に関連する1つ又は複数の出力デバイス1212(例えば、ディスプレイ、スピーカーなど)を経由してサーバ110で情報を呈示するための呈示モジュール1220と、
1つ又は複数の入力デバイス1214のうちの1つの入力装置からの1つ又は複数のユーザ入力又はインタラクションを検出し、検出した入力又はインタラクションを解釈するための入力処理モジュール1222と、
仮想化環境において対象セグメンテーションを実行する対象セグメンテーションモジュール1228と、ロボットから受信された画像及びデプスデータストリームに基づいて仮想化環境を生成して更新するためのKinectFusionモジュール1230と、触覚対応型入力デバイスにより提供されたユーザ入力に基づいて、仮想化環境における入力の位置により、触覚フィードバックを生成するように構成される触覚レンダリングモジュール1232と、仮想化環境において反力及び摩擦力レンダリング、対象インタラクションモデルを生成するための物理シミュレーションモジュール1234と、仮想化環境及び仮想化環境に存在する触覚マーク及び仮想対象に基づいて計画経路を生成するための経路計画モジュール1236と、ロボットを、経路実行を実行するように制御するコントローラモジュール1238と、ネットワーク遅延に基づいて経路計画を調整するネットワーク遅延補償モジュール1240と、本明細書に記載のサーバ110の他の機能を実現させる他のモジュール1242と、を備える、サーバ110の機能を制御するサーバ側モジュール1226、
以上のようなプログラム、モジュール及びデータ構造、又はこれらの部分集合又は上位集合が記憶される。
上記標識した各要素は、1つ又は複数の言及された記憶装置に記憶され、上記機能を実行するための一組の命令に対応する。上記標識したモジュール又はプログラム(即ち、命令集合)は、独立したソフトウェアプログラム、プロセス、モジュール又はデータ構造として実現する必要がないため、これらのモジュールの様々な部分集合は、様々な実現形態で組み合わせられてもよいし、他の方式で再配置されてもよい。幾つかの実現形態において、任意選択的には、メモリ1206には、上記標識されたモジュール及びデータ構造の部分集合が記憶される。なお、任意選択的に、メモリ1206には、以上に説明されていない付加モジュール及びデータ構造が記憶される。
幾つかの実施例において、サーバ110の少なくとも一部の機能はロボット110又はユーザ側機器1300により実行され、これらの機能に対応するサブモジュールは、サーバロボット内又はユーザ内に位置してもよい。図12に示すサーバ110は、説明のためのものに過ぎず、種々の実現形態において、本明細書に記載の機能を実現させるためのモジュールに対して異なる配置を用いることが可能である。
上記標識した各要素は、1つ又は複数の言及された記憶装置に記憶され、上記機能を実行するための一組の命令に対応する。上記標識したモジュール又はプログラム(即ち、命令集合)は、独立したソフトウェアプログラム、プロセス、モジュール又はデータ構造として実現する必要がないため、これらのモジュールの様々な部分集合は、様々な実現形態で組み合わせられてもよいし、他の方式で再配置されてもよい。幾つかの実現形態において、任意選択的には、メモリ1206には、上記標識されたモジュール及びデータ構造の部分集合が記憶される。なお、任意選択的に、メモリ1206には、以上に説明されていない付加モジュール及びデータ構造が記憶される。
図13は、幾つかの実施形態による例示的なユーザ側機器1300を示すブロック図である。ユーザ側機器1300は、一般、1つ又は複数の処理ユニット(CPU)1302と、1つ又は複数のネットワークインタフェース1304(例えば、サーバ110へのI/Oインタフェース)と、メモリ1306と、これらのモジュール(チップ群とも呼ばれる)を接続するための1つ又は複数の通信バス1308と、を含む。メモリ1306は、例えば、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートメモリデバイスのような高速ランダムアクセスメモリを含む。任意選択的に、1つ又は複数の磁気ディスク記憶装置、1つ又は複数の光ディスク記憶装置、1つ又は複数のフラッシュ装置、又は1つ又は複数の他の不揮発性ソリッドステート記憶装置のような不揮発性メモリを含む。任意選択に、メモリ1306は、1つ又は複数の処理ユニット1302から離れるように位置決めされた1つ又は複数の記憶装置を含む。メモリ1206、又はメモリ1306内の不揮発性メモリ装置は、不揮発性コンピュータ読み取り可能な記憶媒体を含む。幾つかの実現形態において、メモリ1306又はメモリ1306の非一時的なコンピュータ読み取り可能な記憶媒体には、
様々な基本的なシステムサービスを処理してハードウェア関連タスクを実行するためのプロセスを含むオペレーティングシステム1316と、
サーバ110を他のコンピューティング機器に接続するためのネットワーク通信モジュール1318と、
ユーザインタフェース1310に関連する1つ又は複数の出力デバイス1312(例えば、ディスプレイ、スピーカー、触覚対応型入力デバイス114など)を経由してユーザ側機器1300で情報を呈示するための呈示モジュール1220と、
1つ又は複数の入力デバイス1314(例えば、触覚対応型入力デバイス114)のうちの1つの入力装置からの1つ又は複数のユーザ入力又はインタラクションを検出し、検出した入力又はインタラクションを解釈するための入力処理モジュール1222と、
文字処理、描画などのような種々のユーザレベルの機能を実現させるためのアプリケーションプログラム1324と、
ユーザ層モジュール138と、本明細書に記載のユーザ側機器の他の機能を実現させる他のモジュール1330と、を備える、ユーザ側モジュール1326、
以上のようなプログラム、モジュール及びデータ構造、又はこれらの部分集合又は上位集合が記憶される。
上記標識した各要素は、1つ又は複数の言及された記憶装置に記憶され、上記機能を実行するための一組の命令に対応する。上記標識したモジュール又はプログラム(即ち、命令集合)は、独立したソフトウェアプログラム、プロセス、モジュール又はデータ構造として実現する必要がないため、これらのモジュールの様々な部分集合は、様々な実現形態で組み合わせられてもよいし、他の方式で再配置されてもよい。幾つかの実現形態において、任意選択的には、メモリ1306には、上記標識されたモジュール及びデータ構造の部分集合が記憶される。なお、任意選択的に、メモリ1306には、以上に説明されていない付加モジュール及びデータ構造が記憶される。
幾つかの実施例において、サーバ110の少なくとも一部の機能はユーザ側機器1300により実行され、これらの機能に対応するサブモジュールは、ユーザ側機器1300内に位置せず、サーバ内に位置してもよい。図13に示すユーザ側機器1300は、例示的なものに過ぎず、種々の実現形態において、本明細書に記載の機能を実現させるためのモジュールに対して異なる配置を用いることが可能である。
上記標識した各要素は、1つ又は複数の言及された記憶装置に記憶され、上記機能を実行するための一組の命令に対応する。上記標識したモジュール又はプログラム(即ち、命令集合)は、独立したソフトウェアプログラム、プロセス、モジュール又はデータ構造として実現する必要がないため、これらのモジュールの様々な部分集合は、様々な実現形態で組み合わせられてもよいし、他の方式で再配置されてもよい。幾つかの実現形態において、任意選択的には、メモリ1306には、上記標識されたモジュール及びデータ構造の部分集合が記憶される。なお、任意選択的に、メモリ1306には、以上に説明されていない付加モジュール及びデータ構造が記憶される。
100 環境
104 ローカルサイト
105 リモートサイト
106 カメラ
108 作業者
110 サーバ
114 入力デバイス
116 仮想対象
118 ポインタ対象
120 中央演算機器
138 ユーザ層モジュール
200 複合現実システム構造
302 グラフィック処理ユニット
306 ポイントクラウド
700 ユーザインタフェース
702 可視レンダリング領域
704 ターゲット
705 ポインタ
706 対象タイプ選択領域
708 道路標識
710 対象形状選択領域
712 表面材料選択領域
714 表面テクスチャ選択領域
716 ステージング領域
718 仮想ドーム
718 ドーム
722 クラック
724 障害物
726 立方体
800 方法
805 ポイント

Claims (9)

  1. 混合イニシアチブ型ロボット制御を促進するヒューマンマシンインタフェースを提供する方法であって、
    1つ又は複数のプロセッサ及びメモリを有するコンピューティング機器であって、前記コンピューティング機器はロボットに通信可能に結合され、第1組のプリプログラミングされた経路計画命令に基づいて前記ロボット用の計画経路を生成するように構成され、前記ロボットは、前記コンピューティング機器から受信された前記計画経路及びローカルに記憶されている経路実行命令に基づいて物理環境においてナビゲーションをするように構成されるコンピューティング機器においては、
    前記コンピューティング機器に結合される表示生成モジュールにより、制御ユーザインタフェースを表示することであって、現在前記ロボットを取り囲んでいる第1物理環境に対応する仮想化環境において仮想ポインタ対象を表示することを含み、前記仮想化環境は、前記ロボットと一緒に配置される第1のセンサ群から受信されたストリーミング環境データに基づいて生成されて更新されたものである、ことと、
    前記仮想化環境において前記仮想ポインタ対象を表示すると同時に、触覚対応型入力デバイスにより第1ユーザ入力を検出することであって、前記仮想化環境における前記仮想ポインタ対象の移動経路に沿った1つ又は複数の位置において第1移動入力及び1つ又は複数のマーク入力を検出することを含む、ことと、
    前記第1ユーザ入力を検出したことに応答して、
    前記第1移動入力に基づいて、前記仮想化環境において、前記仮想化環境における1つ又は複数の模擬表面により制限される第1移動経路に沿って前記仮想ポインタ対象を移動し、
    前記仮想化環境における前記第1移動経路の模擬材料及び/又は構造特徴に基づいて、前記触覚対応型入力デバイスにより触覚フィードバックを生成し、
    前記仮想化環境における前記1つ又は複数のマーク入力の位置に対応する仮想化環境の少なくとも一部を修正し、前記仮想化環境を、少なくとも一部を修正した仮想化環境で代替し、少なくとも一部を修正した前記仮想化環境を前記第1物理環境における、前記コンピューティング機器が前記第1組のプリプログラミングされた経路計画命令に基づいて実行する前記ロボットの経路計画の環境基礎とする、ことと、を含む、混合イニシアチブ型ロボット制御を提供する方法。
  2. 前記仮想化環境における前記第1移動経路の模擬材料及び/又は構造特徴に基づいて、前記触覚対応型入力デバイスにより触覚フィードバックを生成することは、
    前記仮想化環境における第1ポインタ対象の第1位置から第2位置までの移動に基づいて、前記第1ポインタ対象の移動期間において力フィードバックを生成するためのプロキシ位置を更新することを含み、
    前記仮想化環境における前記第1ポインタ対象の第1位置から第2位置までの移動に基づいて、前記第1ポインタ対象の移動期間において力フィードバックを生成するためのプロキシ位置を更新することは、
    前記第1位置が、前記第1移動経路に沿った前記仮想化環境との初期接触に対応すると決定したことに基づいて、前記第1位置に最も近い表面ポイントを位置決めするように前記プロキシ位置を更新する、ことと、
    前記第1位置が、前記第1移動経路に沿った前記仮想化環境との初期接触ではないと決定したことに基づいて、前記第1位置に対応する接線制約平面と、第1位置から接線制約平面に降下する法線との交点に最も近い表面ポイントを位置決めするように前記プロキシ位置を更新する、ことと、を含む
    請求項1に記載の方法。
  3. 前記仮想化環境における前記1つ又は複数のマーク入力の位置に対応する前記仮想化環境の少なくとも一部を修正することは、前記ロボットが従う経路をマーキングすることを含み、且つ前記第1組のプリプログラミングされた経路計画命令に基づいて生成された計画経路は、マーキングされた経路である
    請求項1に記載の方法。
  4. 前記仮想化環境における前記1つ又は複数のマーク入力の位置に対応する前記仮想化環境の少なくとも一部を修正することは、前記ロボットが越えることを防止する境界をマーキングすることを含み、且つ前記第1組のプリプログラミングされた経路計画命令に生成された前記計画経路は、前記境界を越えない
    請求項1に記載の方法。
  5. 前記仮想化環境における前記1つ又は複数のマーク入力の位置に対応する前記仮想化環境の少なくとも一部を修正することは、前記ロボットが回避する1つ又は複数の仮想障害物を配置することを含み、且つ前記第1組のプリプログラミングされた経路計画命令に基づいて生成された前記計画経路は、前記ロボットが前記1つ又は複数の仮想障害物と接触することを防止する
    請求項1に記載の方法。
  6. 前記仮想化環境における前記1つ又は複数のマーク入力の位置に対応する前記仮想化環境の少なくとも一部を修正することは、前記第1物理環境における物理対象に対応する位置に1つ又は複数の仮想通路を配置することを含み、前記1つ又は複数の仮想通路が存在しない場合、前記第1組のプリプログラミングされた経路計画命令に基づいて生成された経路は、前記ロボットの前記物理対象との接触を防止し、前記1つ又は複数の仮想通路が存在する場合、前記第1組のプリプログラミングされた経路計画命令に基づいて生成された計画経路は、ナビゲーション期間で前記ロボットの前記物理対象との接触を防止しない
    請求項1に記載の方法。
  7. 前記仮想化環境における前記1つ又は複数のマーク入力の位置に対応する前記仮想化環境の少なくとも一部を修正することは、前記仮想化環境における前記1つ又は複数のマーク入力の位置から前記仮想化環境をセグメンテーションすることと、前記第1組のプリプログラミングされた経路計画命令に基づいて、セグメンテーション結果に対応する1つ又は複数の物理対象をナビゲーションターゲットとしてマーキングすることと、を含む
    請求項1に記載の方法。
  8. 混合イニシアチブ型ロボット制御を提供するコンピューティング機器であって、
    1つ又は複数のプロセッサと、
    命令を記憶するメモリと、を備え、
    前記コンピューティング機器は、ロボットに通信可能に結合され、第1組のプリプログラミングされた経路計画命令に基づいて前記ロボット用の計画経路を生成するように構成され、
    前記ロボットは、前記コンピューティング機器から受信された前記計画経路及びローカルに記憶された経路実行命令に基づいて物理環境においてナビゲーションをするように構成され、
    前記命令は前記1つ又は複数のプロセッサにより実行される時、前記プロセッサに請求項1~7のいずれか1項に記載の方法の操作を実行させる、
    混合イニシアチブ型ロボット制御を提供するコンピューティング機器。
  9. 混合イニシアチブ型ロボット制御を提供するコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ読み取り可能な記憶媒体には命令が記憶されており、前記命令は、コンピューティング機器の1つ又は複数のプロセッサにより実行される時、前記コンピューティング機器に請求項1~7のいずれか1項に記載の方法の操作を実行させる、
    混合イニシアチブ型ロボット制御を提供するコンピュータ読み取り可能な記憶媒体。
JP2021519702A 2018-10-10 2019-06-20 リモートロボット制御を提供する方法及びシステム Active JP7311172B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/156,979 US10816994B2 (en) 2018-10-10 2018-10-10 Method and system for providing remote robotic control
US16/156,979 2018-10-10
PCT/CN2019/092147 WO2020073680A1 (en) 2018-10-10 2019-06-20 Method and system for providing remote robotic control

Publications (2)

Publication Number Publication Date
JP2022504599A JP2022504599A (ja) 2022-01-13
JP7311172B2 true JP7311172B2 (ja) 2023-07-19

Family

ID=70161271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021519702A Active JP7311172B2 (ja) 2018-10-10 2019-06-20 リモートロボット制御を提供する方法及びシステム

Country Status (5)

Country Link
US (1) US10816994B2 (ja)
EP (1) EP3847535B1 (ja)
JP (1) JP7311172B2 (ja)
CN (1) CN112805673B (ja)
WO (1) WO2020073680A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7244985B2 (ja) * 2017-05-19 2023-03-23 川崎重工業株式会社 操作装置及び操作システム
US11537139B2 (en) 2018-03-15 2022-12-27 Nvidia Corporation Determining drivable free-space for autonomous vehicles
US11407111B2 (en) * 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
US11648945B2 (en) 2019-03-11 2023-05-16 Nvidia Corporation Intersection detection and classification in autonomous machine applications
JP2022538813A (ja) * 2019-06-25 2022-09-06 エヌビディア コーポレーション 自律マシン・アプリケーションのための交差点領域検出及び分類
KR20220082805A (ko) * 2019-08-07 2022-06-17 보스턴 다이나믹스, 인크. 모바일 로봇의 항행
KR20190104483A (ko) * 2019-08-21 2019-09-10 엘지전자 주식회사 로봇 시스템 및 그 제어 방법
DE112020004139T5 (de) 2019-08-31 2022-05-12 Nvidia Corporation Erstellung von karten und lokalisierung für anwendungen im bereich des autonomen fahrens
CN111775183A (zh) * 2020-07-29 2020-10-16 浙江树人学院(浙江树人大学) 一种智能互动机器人及其互动方法
US11978266B2 (en) 2020-10-21 2024-05-07 Nvidia Corporation Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications
EP4258077A1 (en) 2020-12-01 2023-10-11 OMRON Corporation Device and method for simulating mobile robot at work site
CN112987735B (zh) * 2021-02-24 2022-06-14 同济大学 一种基于Delaunay三角形的移动机器人安全路径规划方法
JP2023058243A (ja) * 2021-10-13 2023-04-25 avatarin株式会社 動画配信システム、サーバ装置及びプログラム
CN114265503B (zh) * 2021-12-22 2023-10-13 吉林大学 一种应用于笔式振动触觉反馈装置的纹理渲染方法
CN114578831B (zh) * 2022-04-28 2022-07-26 深圳鹏行智能研究有限公司 机器人的控制方法、控制装置、机器人和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140168073A1 (en) 2011-06-15 2014-06-19 University Of Washington Through Its Center For Commericialization Methods and Systems for Haptic Rendering and Creating Virtual Fixtures from Point Clouds
JP2015536489A (ja) 2012-09-24 2015-12-21 ロブアート ゲーエムベーハーROBART GmbH 床面を自律式に点検または処理するロボットおよび方法
JP2017054475A (ja) 2015-09-11 2017-03-16 富士ゼロックス株式会社 遠隔操作装置、方法及びプログラム
WO2018144846A1 (en) 2017-02-02 2018-08-09 Brain Corporation Systems and methods for assisting a robotic apparatus
DE102017104427A1 (de) 2017-03-02 2018-09-06 RobArt GmbH Verfahren zur Steuerung eines autonomen, mobilen Roboters
JP2018156649A (ja) 2017-03-16 2018-10-04 フォルヴェルク・ウント・ツェーオー、インターホールディング・ゲーエムベーハーVorwerk & Compagnie Interholding Gesellshaft Mit Beschrankter Haftung 自律走行床処理装置の動作方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502638A (en) 1992-02-10 1996-03-26 Honda Giken Kogyo Kabushiki Kaisha System for obstacle avoidance path planning for multiple-degree-of-freedom mechanism
JP3210121B2 (ja) 1992-02-10 2001-09-17 本田技研工業株式会社 移動体の障害物回避経路探索方法
JPH0887609A (ja) 1994-07-21 1996-04-02 Matsushita Electric Ind Co Ltd 画像処理装置
US5999881A (en) 1997-05-05 1999-12-07 General Electric Company Automated path planning
EP1972415B1 (en) 2007-03-23 2019-01-02 Honda Research Institute Europe GmbH Robots with collision avoidance functionality
JP5060619B2 (ja) 2007-06-08 2012-10-31 本田技研工業株式会社 モーション計画方法、モーション計画システム及び記録媒体
CN101459857B (zh) 2007-12-10 2012-09-05 华为终端有限公司 通信终端
CN101458083B (zh) 2007-12-14 2011-06-29 财团法人工业技术研究院 结构光视觉导航系统与方法
JP4730440B2 (ja) 2009-01-01 2011-07-20 ソニー株式会社 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム
IT1395018B1 (it) * 2009-07-22 2012-09-05 Surgica Robotica S R L Apparecchiatura per procedure chirurgiche minimamente invasive
KR101691939B1 (ko) 2009-08-10 2017-01-02 삼성전자주식회사 로봇의 경로 계획방법 및 장치
KR101667029B1 (ko) 2009-08-10 2016-10-17 삼성전자 주식회사 로봇의 경로 계획방법 및 장치
KR101667031B1 (ko) 2009-11-02 2016-10-17 삼성전자 주식회사 로봇의 경로 계획 장치 및 그 방법
CN101887271A (zh) 2010-07-19 2010-11-17 东莞职业技术学院 一种移动机器人的路径规划方法
US20130063560A1 (en) 2011-09-12 2013-03-14 Palo Alto Research Center Incorporated Combined stereo camera and stereo display interaction
CN102699914B (zh) 2012-05-15 2015-01-21 郑州大学 一种机器人
JP5931685B2 (ja) 2012-10-12 2016-06-08 日本電信電話株式会社 ロボット協調搬送計画装置、方法、プログラム
US8972057B1 (en) 2013-01-09 2015-03-03 The Boeing Company Systems and methods for generating a robotic path plan in a confined configuration space
US20140320629A1 (en) 2013-01-24 2014-10-30 University Of Washington Through Its Center For Commericialization Haptically-Enabled Co-Robotics for Underwater Tasks
CN103302668B (zh) 2013-05-22 2016-03-16 东南大学 基于Kinect的空间遥操作机器人的控制系统及其方法
US20160217617A1 (en) 2013-08-30 2016-07-28 Hewlett-Packard Development Company, L.P. Augmented reality device interfacing
US9947230B2 (en) 2015-08-03 2018-04-17 Amber Garage, Inc. Planning a flight path by identifying key frames
CN106527424B (zh) * 2016-09-20 2023-06-09 深圳银星智能集团股份有限公司 移动机器人及移动机器人的导航方法
CN106774347A (zh) * 2017-02-24 2017-05-31 安科智慧城市技术(中国)有限公司 室内动态环境下的机器人路径规划方法、装置和机器人
CN108422435B (zh) 2018-03-21 2020-05-12 烟台朗文汽车零部件有限公司 一种基于增强现实的远程监测及控制系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140168073A1 (en) 2011-06-15 2014-06-19 University Of Washington Through Its Center For Commericialization Methods and Systems for Haptic Rendering and Creating Virtual Fixtures from Point Clouds
JP2015536489A (ja) 2012-09-24 2015-12-21 ロブアート ゲーエムベーハーROBART GmbH 床面を自律式に点検または処理するロボットおよび方法
JP2017054475A (ja) 2015-09-11 2017-03-16 富士ゼロックス株式会社 遠隔操作装置、方法及びプログラム
WO2018144846A1 (en) 2017-02-02 2018-08-09 Brain Corporation Systems and methods for assisting a robotic apparatus
DE102017104427A1 (de) 2017-03-02 2018-09-06 RobArt GmbH Verfahren zur Steuerung eines autonomen, mobilen Roboters
JP2018156649A (ja) 2017-03-16 2018-10-04 フォルヴェルク・ウント・ツェーオー、インターホールディング・ゲーエムベーハーVorwerk & Compagnie Interholding Gesellshaft Mit Beschrankter Haftung 自律走行床処理装置の動作方法

Also Published As

Publication number Publication date
CN112805673B (zh) 2023-05-23
EP3847535B1 (en) 2023-06-14
WO2020073680A1 (en) 2020-04-16
CN112805673A (zh) 2021-05-14
EP3847535A1 (en) 2021-07-14
JP2022504599A (ja) 2022-01-13
US10816994B2 (en) 2020-10-27
US20200117213A1 (en) 2020-04-16
EP3847535A4 (en) 2021-11-10

Similar Documents

Publication Publication Date Title
JP7311172B2 (ja) リモートロボット制御を提供する方法及びシステム
JP7092445B2 (ja) リモートロボット制御を提供する方法及びシステム
CN112771476B (zh) 提供远程机器人控制的方法和系统
US11507195B2 (en) Augmented reality interaction techniques
US11830618B2 (en) Interfacing with a mobile telepresence robot
US9789612B2 (en) Remotely operating a mobile robot
Ren et al. Augmented Reality Based Actuated Monitor Manipulation from Dual Point of View
Simsarian A system for mobile robotic telepresence employing VR as the communication medium: Interface metaphors

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210409

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230301

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230629

R150 Certificate of patent or registration of utility model

Ref document number: 7311172

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150