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

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

▶ 株式会社リコーの特許一覧 ▶ 国立大学法人九州大学の特許一覧

特開2023-177286情報処理装置、情報処理システム、情報処理方法、及びプログラム
<>
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図1
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図2
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図3
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図4
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図5
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図6
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図7
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図8
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図9
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図10
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図11
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図12
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図13
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図14
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図15
  • 特開-情報処理装置、情報処理システム、情報処理方法、及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023177286
(43)【公開日】2023-12-13
(54)【発明の名称】情報処理装置、情報処理システム、情報処理方法、及びプログラム
(51)【国際特許分類】
   G05D 1/00 20060101AFI20231206BHJP
   G05D 1/02 20200101ALI20231206BHJP
【FI】
G05D1/00 B
G05D1/02 H
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023085484
(22)【出願日】2023-05-24
(31)【優先権主張番号】P 2022088966
(32)【優先日】2022-05-31
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2022173809
(32)【優先日】2022-10-28
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(71)【出願人】
【識別番号】504145342
【氏名又は名称】国立大学法人九州大学
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】青木 惇季
(72)【発明者】
【氏名】山科 亮太
(72)【発明者】
【氏名】倉爪 亮
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301AA10
5H301BB14
5H301DD01
5H301DD06
5H301DD07
5H301DD15
5H301GG08
5H301GG09
5H301GG16
5H301LL01
5H301LL02
5H301LL06
5H301LL11
(57)【要約】
【課題】自律移動装置を操作する操作者が操作に対応するフィードバックに違和感を覚えることなく所望の操作を行う技術を提供する。
【解決手段】自律移動装置と通信可能な情報処理装置は、自律移動装置に対する操作者の操作指令を、現実世界に存在する自律移動装置と、現実世界を模した仮想世界に存在していて自律移動装置を模した仮想移動装置とに送出する操作指令処理部と、自律移動装置が操作者による自律移動装置の操作性を阻害する阻害因子を検出した場合に、現実世界における自律移動装置の自律動作に対応する知覚フィードバックを操作者に提供する現実モードから、仮想世界における仮想移動装置の操作指令に応じた動作に対応する知覚フィードバックを操作者に提供する仮想モードへ切替える仮想現実切替部と、を含む。
【選択図】図4
【特許請求の範囲】
【請求項1】
自律移動装置と通信可能な情報処理装置であって、
前記自律移動装置に対する操作者の操作指令を、現実世界に存在する前記自律移動装置と、前記現実世界を模した仮想世界に存在していて前記自律移動装置を模した仮想移動装置とに送出する操作指令処理部と、
前記自律移動装置が前記操作者による前記自律移動装置の操作性を阻害する阻害因子を検出した場合に、前記現実世界における前記自律移動装置の自律動作に対応する知覚フィードバックを前記操作者に提供する現実モードから、前記仮想世界における前記仮想移動装置の前記操作指令に応じた動作に対応する知覚フィードバックを前記操作者に提供する仮想モードへ切替える仮想現実切替部と、
を含む、情報処理装置。
【請求項2】
前記現実モードから前記仮想モードに切替えた後、前記自律移動装置が前記阻害因子を自律的に回避した場合に前記仮想モードから前記現実モードに切替える、請求項1に記載の情報処理装置。
【請求項3】
前記現実モードから前記仮想モードに切替えた後、前記操作指令に応じて前記仮想移動装置の動作を制御する仮想移動制御部をさらに備える、請求項1又は2に記載の情報処理装置。
【請求項4】
前記現実モードから前記仮想モードに切替えた後、前記操作指令処理部は、前記自律移動装置と前記仮想移動装置の位置偏差及び姿勢偏差の少なくとも一方が小さくなるように前記仮想移動装置の位置及び姿勢の少なくとも一方を調整する、請求項1又は2に記載の情報処理装置。
【請求項5】
前記現実モードから前記仮想モードに切替えた後、前記仮想現実切替部は、前記現実世界において前記仮想移動装置の位置に前記阻害因子がある場合は、前記自律移動装置が前記阻害因子を自律的に回避する必要があると判定し、前記阻害因子を自律的に回避する自律移動を前記自律移動装置に要求する、請求項1又は2に記載の情報処理装置。
【請求項6】
前記現実モードから前記仮想モードに切替えた後、前記仮想現実切替部は、前記現実世界において前記仮想移動装置の未来の軌跡上に前記阻害因子がある場合は、前記自律移動装置が前記阻害因子を自律的に回避する必要がないと判定し、前記仮想モードから前記現実モードに切替える、請求項1又は2に記載の情報処理装置。
【請求項7】
前記現実モードから前記仮想モードに切替えた後、前記仮想現実切替部は、前記操作指令と、前記仮想移動装置の位置及び姿勢の少なくとも一方とに応じて前記仮想移動装置の未来の軌跡を算出し、未来の軌跡上で前記阻害因子がなくなる位置を目標位置に設定し、前記阻害因子を自律的に回避して前記目標位置まで移動する自律移動を前記自律移動装置に要求する、請求項1又は2に記載の情報処理装置。
【請求項8】
前記現実モードから前記仮想モードに切替えた後、前記自律移動装置が前記現実世界において前記阻害因子により前記自律動作を阻害されることを検出した場合、あるいは、前記阻害因子とは異なる別の阻害因子により前記自律動作を阻害されることを検出した場合、前記仮想現実切替部は、前記仮想モードから前記現実モードに切替える、請求項1又は2に記載の情報処理装置。
【請求項9】
自律移動装置と、前記自律移動装置と通信可能な情報処理装置と、を含む情報処理システムであって、
前記自律移動装置は、
前記自律移動装置に対する操作者の操作指令と自律移動要求とに応じて前記自律移動装置の動作を制御する実制御部を備え、
前記情報処理装置は、
前記操作指令を、現実世界に存在する前記自律移動装置と、前記現実世界を模した仮想世界に存在していて前記自律移動装置を模した仮想移動装置とに送出する操作指令処理部と、
前記自律移動装置が前記操作者による前記自律移動装置の操作性を阻害する阻害因子を検出した場合に、前記現実世界における前記自律移動装置の動作に対応する知覚フィードバックを前記操作者に提供する現実モードから、前記仮想世界における前記仮想移動装置の前記操作指令に応じた動作に対応する知覚フィードバックを前記操作者に提供する仮想モードへ切替える仮想現実切替部と、
を含む、情報処理システム。
【請求項10】
自律移動装置と通信可能な情報処理装置による情報処理方法であって、前記情報処理装置が、
前記自律移動装置に対する操作者の操作指令を、現実世界に存在する前記自律移動装置と、前記現実世界を模した仮想世界に存在していて前記自律移動装置を模した仮想移動装置とに送出するステップと、
前記自律移動装置が前記操作者による前記自律移動装置の操作性を阻害する阻害因子を検出した場合に、前記現実世界における前記自律移動装置の自律動作に対応する知覚フィードバックを前記操作者に提供する現実モードから、前記仮想世界における前記仮想移動装置の手動動作に対応する知覚フィードバックを前記操作者に提供する仮想モードへ切替えるステップと、
を実行する、情報処理方法。
【請求項11】
自律移動装置と通信可能な情報処理装置に実行させるプログラムであって、
前記自律移動装置に対する操作者の操作指令を、現実世界に存在する前記自律移動装置と、前記現実世界を模した仮想世界に存在していて前記自律移動装置を模した仮想移動装置とに送出するステップと、
前記自律移動装置が前記操作者による前記自律移動装置の操作性を阻害する阻害因子を検出した場合に、前記現実世界における前記自律移動装置の自律動作に対応する知覚フィードバックを前記操作者に提供する現実モードから、前記仮想世界における前記仮想移動装置の前記操作指令に応じた動作に対応する知覚フィードバックを前記操作者に提供する仮想モードへ切替えるステップと、
を前記情報処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
AMR(Autonomous Mobile Robot:自律移動ロボット)等の自律移動装置は、大局的な自律移動機能と、局所的な自律移動機能とを有している。大局的な自律移動機能は、SLAM(Simultaneous Localization And Mapping:自己位置推定と地図生成)を行い、目標位置までの大局的な移動経路を算出して自律的な移動を可能にする。局所的な自律移動機能は、人又は障害物等を検知し、副目標位置までの局所的な移動経路を算出して人又は障害物等を自律的な回避を可能にする。
【0003】
一方、移動ロボットにカメラ又はマイク等を搭載し、カメラの映像又はマイクの音声等をPC(Personal Computer)等で確認しながら、操作者が移動ロボットを遠隔操作する遠隔操作型移動ロボットがある。遠隔操作型移動ロボットには、操作指示に合わせて補助的に動作を補正するSC(Shared Control:共有制御)を行うものがある。共有制御によれば、人又は障害物等を検出した場合に、操作者と移動ロボットが協働して人又は障害物等を回避し、安全な移動を実現する。
【0004】
遠隔操作型の自律移動ロボットでは、操作指示と、ロボットのカメラ等によるフィードバックから把握されるロボットの自律動作との間に相違がある場合に操作者が違和感を覚えることがある。例えば操作者がカメラの映像から障害物を知覚できないときに自律移動装置が障害物を自律的に回避すると、操作者は、なぜ自律移動装置が指示通りに動作しないのかを直感的に理解できない。その結果、ロボットの自律動作と、操作者の操作によるロボットの期待動作との間で不一致が生じ、違和感を覚えることとなる。そこで、AR(Augmented Reality:拡張現実)技術を用いてロボットの将来の軌跡又は目標位置及び目標姿勢を可視化する技術が存在する(例えば非特許文献1)。
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1には、ロボットの自律動作の将来の軌跡又は目標位置及び目標姿勢を可視化することが記載されている。可視化されたロボットの将来の軌跡等により、操作者がロボットの動作に違和感を覚える可能性は低下するものの、斯かる可視化技術は、操作者が意図した通りにロボットが動作することを補償するものではない。
【0006】
そこで、開示の技術は、自律移動装置を操作する操作者が操作に対応するフィードバックに違和感を覚えることなく所望の操作を行う技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
開示の技術は、自律移動装置と通信可能な情報処理装置であって、前記自律移動装置に
対する操作者の操作指令を、現実世界に存在する前記自律移動装置と、前記現実世界を模した仮想世界に存在していて前記自律移動装置を模した仮想移動装置とに送出する操作指令処理部と、前記自律移動装置が前記操作者による前記自律移動装置の操作性を阻害する阻害因子を検出した場合に、前記現実世界における前記自律移動装置の自律動作に対応する知覚フィードバックを前記操作者に提供する現実モードから、前記仮想世界における前記仮想移動装置の前記操作指令に応じた動作に対応する知覚フィードバックを前記操作者に提供する仮想モードへ切替える仮想現実切替部と、を含む、情報処理装置である。
【発明の効果】
【0008】
本開示によれば、自律移動装置を操作する操作者が操作に対応するフィードバックに違和感を覚えることなく所望の操作を行う技術を提供できる。
【図面の簡単な説明】
【0009】
図1】第1実施形態に係る情報処理システムのシステム構成例を示す図である。
図2】第1実施形態に係る自律移動装置のハードウェア構成例を示す図である。
図3】第1実施形態に係る情報処理装置のハードウェア構成例を示す図である。
図4】第1実施形態に係る情報処理システムの全体動作例を示す図である。
図5】第1実施形態に係る自律移動装置と仮想移動装置の位置関係を示す図である。
図6】第1実施形態に係る情報処理装置のユーザインタフェース例を示す図である。
図7】第1実施形態に係る情報処理システムの機能構成例を示す図である。
図8】第1実施形態に係る初期化シーケンス例を示す図である。
図9】第1実施形態に係る現実モードシーケンス例を示す図である。
図10】第1実施形態に係る仮想モードシーケンス例を示す図である。
図11】第1実施形態に係る自律移動要否シーケンス例を示す図である。
図12】第1実施形態に係る情報処理システムの機能構成の変形例を示す図である。
図13】第1実施形態に係る仮想モードシーケンスの変形例を示す図である。
図14】第2実施形態に係る情報処理システムのシステム構成例を示す図である。
図15】第2実施形態に係る情報処理システムのハードウェア構成例を示す図である。
図16】第2実施形態に係る情報処理装置のユーザインタフェース例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本開示の実施形態について詳細に説明する。
【0011】
(第1実施形態)
以下、情報処理システム100のシステム構成について説明する。
<システム構成>
図1は、本実施形態に係る情報処理システム100のシステム構成例を示す図である。情報処理システム100は、自律移動装置200と、自律移動装置200に通信可能に接続して自律移動装置200を操作する情報処理装置300と、を備えている。
【0012】
自律移動装置200は、例えばAMR(自律移動ロボット)である。自律移動装置200は、大局的な自律移動機能と、局所的な自律移動機能とを有している。自律移動装置200は、例えばSLAM(自己位置推定と地図生成)を行い、目標位置までの大局的な移動経路を算出して自律的に移動する。また、自律移動装置200は、例えば大局的な移動経路上で人又は障害物等を検出した場合、副目標位置までの局所的な移動経路を算出して人又は障害物等を自律的に回避する。
【0013】
また、自律移動装置200は、操作者Oが情報処理装置300を用いて遠隔操作する遠隔操作型移動ロボットである。自律移動装置200は、操作者Oの操作指示に合わせて補助的に動作を補正するSC(共有制御)を行う。操作者Oと自律移動装置200は1つのタスクを共有し、協働して自律移動装置200の制御を行う。自律移動装置200は、ネットワークNを介して情報処理装置300に通信可能に接続する。
【0014】
情報処理装置300は、例えばPC(Personal Computer)である。情報処理装置300は、通信機能を備えた装置であれば、PCに限定されない。情報処理装置300は、タブレット端末、スマートフォン、又はPDA(Personal Digital Assistant)等の情報処理装置でもよい。
【0015】
情報処理装置300は、操作者Oの操作指示を処理した操作指令(例えば前進指令、後退指令、右信地旋回指令、左信地旋回指令、加速指令、及び減速指令等)を自律移動装置200に送信する。自律移動装置200は、大局的な移動経路に沿って自律的に移動する間、操作指令に合わせて補助的に動作を補正する。例えば、自律移動装置200は、人又は障害物等を検出し、人又は障害物等を回避する局所的な移動経路を算出し、局所的な移動経路に沿って自律的に移動することで、操作指令に応じた動作を補正する。人又は障害物等は、操作者Oによる自律移動装置200の操作性を阻害する阻害因子の一例である。また、情報処理装置300と自律移動装置200との間の通信遅延(タイムラグ)等も、操作者Oによる自律移動装置200の操作性を阻害する阻害因子の一例である。
【0016】
<ハードウェア構成>
以下、情報処理システム100のハードウェア構成について説明する。
【0017】
<<自律移動装置>>
まず、図1図2を参照して自律移動装置200のハードウェア構成について説明する。図2は、本実施形態に係る自律移動装置200のハードウェア構成例を示す図である。
【0018】
図1に示すように、自律移動装置200は、本体240、一対の走行ユニット230、及び制御ユニット210を備えている。
【0019】
本体240は、金属等で形成した筐体であり、制御ユニット210を内蔵する。本体240は、一対の走行ユニット230を連結する2つの側面を備えている。
【0020】
走行ユニット230は、本体240の側面に連結した移動機構である。走行ユニット230は、例えばクローラ型の移動機構であり、自律移動装置200に全方向移動と不整地移動を可能にする。走行ユニット230は、起動輪231、2つの転輪232、履帯233、及び支持体234を備えている。
【0021】
起動輪231は、2つの転輪232より上方に位置する。起動輪231は、後述の走行制御用モータ209によって駆動して回転し、履帯233に駆動力を伝達する。2つの転輪232は、起動輪231より下方に位置する。転輪232は、履帯233の動作に応じて回転する。履帯233は、金属又はゴム等で形成した複数の履板を連結した帯体である。履帯233は、起動輪231と2つの転輪232に掛け回す。支持体234は、起動輪231と2つの転輪232を回転可能に支持し、走行ユニット230を本体240に連結する。
【0022】
なお、走行ユニット230は、移動機能を備えた装置であれば、クローラ型に限定されない。走行ユニット230は、例えば車輪型、脚型、特殊型、又はこれらを任意に組合せた移動機構でもよい。
【0023】
制御ユニット210は、自律移動装置200の全体動作を制御する。制御ユニット210は、無線通信機能、バッテリ機能、走行制御機能、及び知覚機能等を提供する。無線機能は、情報処理装置300との通信を可能にする。バッテリ機能は、自律移動装置200に電力を供給する。走行制御機能は、自律移動装置200の走行制御を可能にする。知覚機能は、自律移動装置200に視覚、聴覚、平衡覚、及び力覚等の知覚を付与する。
【0024】
図2に示すように、制御ユニット210は、無線モジュール201を備えている。また、制御ユニット210は、CPU(Central Processing Unit)202、ROM(Read Only Memory)203、及びRAM(Random Access Memory)204を備えている。或いは、制御ユニット210は、PLC(Programmable Logic Controller)を備えていてもよい。さらに、制御ユニット210は、NVRAM(Non Volatile Random Access Memory)205を備えている。
【0025】
制御ユニット210は、バッテリコントローラ206、及びバッテリ207をさらに備えている。また、制御ユニット210は、走行制御用モータドライバ208、及び2つの走行制御用モータ209を備えている。さらに、制御ユニット210は、知覚センサ211、及びバス212を備えている。
【0026】
無線モジュール201は、アンテナ、送受信回路、D/A(Digital-to-Analog)変換器、及びA/D(Analog-to-Digital)変換器等を備えている。無線モジュール201は、ネットワークNを介して情報処理装置300に通信可能に接続する。無線モジュール201は、ネットワークNを介して情報処理システム100の外部にあるクラウドサーバ又はPC等の外部装置に通信可能に接続し、各種プログラムを外部装置からダウンロードしてインストールを可能にする。
【0027】
CPU202は、自律移動装置200全体の動作を制御する。ROM203は、IPL(Initial Program Loader)等のCPU202の駆動に用いるプログラムを記憶する。RAM204は、プログラムをロードする記憶領域として、又はロードしたプログラムのワークエリアとして使用する。NVRAM205は、各種プログラム及びプログラムが利用する各種データを保存する不揮発性メモリの一例である。CPU202は、RAM204にロードした各種プログラムを実行することで各種機能を実現する。
【0028】
バッテリコントローラ206は、CPU202の指令に応じてバッテリ207の充放電を制御する。バッテリ207は、例えばリチウムイオンバッテリ等の二次電池である。バッテリ207は、バッテリコントローラ206の指令に応じて充電し、バッテリコントローラ206の指令に応じて各種ハードウェアに電力を供給する。
【0029】
走行制御用モータドライバ208は、CPU202の動作指令(位置指令及び速度指令等)に応じてモータ駆動信号を生成し、モータ駆動信号を2つの走行制御用モータ209に供給する。走行制御用モータ209は、モータ駆動信号に応じて回転し、起動輪231に回転力を伝達する。伝達効率を高めるため、走行制御用モータ209は、例えば起動輪231に内蔵したインホイールモータであるとよい。2つの走行制御用モータ209は、それぞれ走行ユニット230を駆動する。
【0030】
2つの走行制御用モータ209が正方向に回転すると、自律移動装置200が前進する。2つの走行制御用モータ209が負方向に回転すると、自律移動装置200が後退する。一方の走行制御用モータ209が停止し、他方の走行制御用モータ209が正方向に回転又は負方向に回転すると、自律移動装置200が信地旋回する。一方の走行制御用モータ209が正方向に回転し、他方の走行制御用モータ209が負方向に回転すると、自律移動装置200が超信地旋回する。
【0031】
なお、走行制御用モータ209は、走行制御用モータ209の回転角度及び回転速度等を検知するモータエンコーダを内蔵している。CPU202は、モータエンコーダが検知した回転角度及び回転速度等に基づいて自律移動装置200の位置を推定するオドメトリ(Odometry)機能を有している。なお、位置とは、例えば直交座標系の3軸(X軸、Y軸、及びZ軸)方向の位置である。
【0032】
知覚センサ211は、カメラ及びLiDAR(Light Detection And Ranging)を備えている。カメラ及びLiDARは、視覚センサの一例である。CPU202は、LiDARで時々刻々と検知する3次元点群データに基づいて自律移動装置200の位置を推定する。或いは、知覚センサ211は、LiDARの代わりにTOF(Time Of Flight)センサを備えていてもよい。CPU202は、TOFセンサで時々刻々と検知する3次元点群データに基づいて自律移動装置200の位置を推定する。
【0033】
或いは、知覚センサ211は、MEMS(Micro Electro Mechanical Systems)センサ又はIMU(Inertial Measurement Unit)等をさらに備えているとよい。MEMSセンサ又はIMUは、直交座標系の3軸方向の加速度と、直交座標系の3軸回りの角速度とを検知する。MEMSセンサ又はIMUは、平衡覚センサの一例である。CPU202は、MEMSセンサ又はIMUで時々刻々と検知する加速度等に基づいて自律移動装置200の位置を推定してもよい。
【0034】
また、知覚センサ211は、視覚センサ及び平衡覚センサに限定されない。例えば、知覚センサ211は、力覚センサ、触覚センサ、聴覚センサ、又はこれらを任意に組合せたセンサをさらに備えていてもよい。
【0035】
バス212は、各種ハードウェア間を電気的に接続する。バス212は、データ線、アドレス線、制御線等の各種信号線を備えている。バス212は、各種ハードウェア間のデータの送受信及び制御等に使用する。
【0036】
<<情報処理装置>>
次に図3を参照して、情報処理装置300(コンピュータ)のハードウェア構成例について説明する。図3は、本実施形態に係る情報処理装置300のハードウェア構成例を示す図である。
【0037】
情報処理装置300は、CPU301、ROM302、RAM303、HD304、及びHDDコントローラ305を備えている。また、情報処理装置300は、ディスプレイ306、外部機器接続I/F308、ネットワークI/F309、及びバス310を備えている。さらに、情報処理装置は、キーボード311、ポインティングデバイス312、光学ドライブ314、及びメディアI/F316を備えている。
【0038】
CPU301は、情報処理装置全体の動作を制御する。ROM302は、IPL等のCPU301の駆動に用いるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用する。HD304は、プログラム等の各種データを記憶する。HD304は、不揮発性ストレージの一例である。HDDコントローラ305は、CPU301の制御に従ってHD304に対する各種データの読出し又は書込みを制御する。
【0039】
ディスプレイ306は、カーソル、メニュー、ウィンドウ、文字、又は画像等の各種情報を表示する。外部機器接続I/F308は、各種の外部機器を接続するためのインタフェースである。外部機器は、例えば、USB(Universal Serial Bus)メモリ、プリンタ等を含む。ネットワークI/F309は、ネットワークを介してデータ通信を行うためのインタフェースである。
【0040】
ネットワークI/F309は、ネットワークNを介して自律移動装置200に通信可能に接続する。ネットワークI/F309は、ネットワークNを介して情報処理システム100の外部にあるクラウドサーバ又はPC等の外部装置に通信可能に接続し、各種プログラムを外部装置からダウンロードしてインストールを可能にする。バス310は、CPU301等の各種ハードウェア間を電気的に接続する。バス310は、アドレスバス、データバス等を含む。
【0041】
キーボード311は、文字、数値、各種指示等の入力のための複数のキーを備えた自律移動装置200の操作手段の一例である。ポインティングデバイス312は、各種指示の選択又は実行、処理対象の選択、カーソルの移動等を行う自律移動装置200の操作手段の一例である。
【0042】
光学ドライブ314は、着脱可能な記録媒体313に対する各種データの読出し又は書込みを制御する。なお、記録媒体313は、CD-R、CD-RW、DVD-R、又はDVD-RW等を含む。メディアI/F316は、フラッシュメモリ等のメディア315に対するデータの読出し又は書込みを制御する。メディア315は、不揮発性メモリの一例である。
【0043】
<情報処理システムの全体動作例>
以下、本実施形態に係る情報処理システム100の全体動作について説明する。図4は、本実施形態に係る情報処理システム100の全体動作を示す図である。
【0044】
情報処理装置300は、現実モードと仮想モードを切替える処理モード切替機能を有している。現実モードとは、現実世界RWに存在する自律移動装置200の動作に対応する知覚フィードバックを操作者Oに提供する処理モードである。仮想モードとは、現実世界RWを模した仮想世界VWに存在していて自律移動装置200を模した仮想移動装置VMの動作に対応する知覚フィードバックを操作者Oに提供する処理モードである。
【0045】
なお、仮想世界VWは、現実世界RWを模した3次元モデルであり、仮想移動装置VMは、自律移動装置200を模した3次元モデルである。仮想世界VWの3次元モデルは、LiDARで検知した現実世界RWの3次元点群データ又はカメラセンサで取得した画像データから事前に構築するか、或いはリアルタイムに構築する。仮想移動装置VMの3次元モデルは、LiDAR等で検知した自律移動装置200の3次元点群データから事前に構築する。
【0046】
また、知覚フィードバックとは、現実世界RW又は仮想世界VWから知覚する任意の知覚フィードバックを含む。例えば、知覚フィードバックは、視覚フィードバック、触覚フィードバック、力覚フィードバック、聴覚フィードバック、平衡覚フィードバック、又はこれらを任意に組合せた知覚フィードバックを含む。現実世界RWの現実画像又は仮想世界VWの仮想画像は、視覚フィードバックの一例である。現実画像はカメラ等で検知した現実世界の映像から取得し、仮想画像は仮想世界VWの3次元モデルから取得する。3次元モデルは、3D点群から明示的に作成したモデルでもよいし、ニューラルネットワーク等で暗示的に作成したモデルでもよい。
【0047】
情報処理装置300は、ユーザインタフェース部320を備えている。ユーザインタフェース部320は、操作指令処理部321、及び仮想現実切替部322を備えている。ユーザインタフェース部320の各種機能は、情報処理装置300にインストールした1以上のプログラムがCPU301等のプロセッサに実行させる処理によって実現する。
【0048】
操作指令処理部321は、操作者Oの操作指示を処理した操作指令を自律移動装置200又は仮想移動装置VMに送出する。自律移動装置200は、操作指令に応じて現実世界RWの環境Eの下で移動し、現実世界RWの知覚フィードバックをユーザインタフェース部320に提供する。仮想移動装置VMは、操作指令に応じて仮想世界VWの環境Eの下で移動し、仮想世界VWの知覚フィードバックをユーザインタフェース部320に提供する。
【0049】
ユーザインタフェース部320は、現実世界RW又は仮想世界VWの知覚フィードバックを操作者Oに提供する。操作者Oは、ユーザインタフェース部320を介して知覚フィードバックを確認しながら自律移動装置200又は仮想移動装置VMに対して操作指示を行う。操作指令処理部321は、操作指示を処理した操作指令を自律移動装置200又は仮想移動装置VMに送出する。
【0050】
自律移動装置200が操作者Oによる自律移動装置200の操作性を阻害する阻害因子(人又は障害物等)を検出した場合、仮想現実切替部322は現実モードから仮想モードに切替える。
【0051】
現実モードから仮想モードに切替えた後、操作指令処理部321は操作者Oの操作指示を処理した操作指令を仮想移動装置VMに送出する。仮想移動装置VMは、操作指令に応じて仮想世界VWの環境Eの下で移動し、仮想世界VWの知覚フィードバックをユーザインタフェース部320に提供する。ユーザインタフェース部320は、仮想世界VWの知覚フィードバックを操作者Oに提供する。操作者Oは、ユーザインタフェース部320を介して知覚フィードバックを確認しながら仮想移動装置VMに対して操作指示を行い、操作指令処理部321は、操作指示を処理した操作指令を仮想移動装置VMに送出する。
【0052】
現実モードから仮想モードに切替えた後、自律移動装置200が阻害因子(人又は障害物等)を回避した場合、仮想現実切替部322が仮想モードから現実モードに戻す。
【0053】
操作指令処理部321は、現実モードでは操作指令を自律移動装置200に送信する。自律移動装置200は、操作指令に応じて現実世界RWの環境Eの下で移動し、現実世界RWの知覚フィードバックをユーザインタフェース部320に提供する。ユーザインタフェース部320は、現実世界RWの知覚フィードバックを操作者Oに提供する。操作者Oは、ユーザインタフェース部320を介して知覚フィードバックを確認しながら自律移動装置200に対して操作指示を行い、操作指令処理部321は、操作指示を処理した操作指令を自律移動装置200に送出する。
【0054】
以降、ユーザインタフェース部320は、自律移動装置200が操作者Oによる自律移動装置200の操作性を阻害する阻害因子OB(人又は障害物等)の検出結果に応じて、現実モードと仮想モードとの間で状態遷移を繰返す。
【0055】
<自律移動装置と仮想移動装置の位置関係>
以下、自律移動装置200と仮想移動装置VMの位置関係について説明する。図5は、本実施形態に係る自律移動装置200と仮想移動装置VMの位置関係を示す図である。図中、実線の矢印は過去の軌跡を示し、破線の矢印は未来の軌跡を示している。
【0056】
図5(A)の列は、現実空間RSに存在する自律移動装置200が仮想空間VSに存在する仮想移動装置VMに追従して自律的に移動する様子を示している。第1の時刻T1では、自律移動装置200が仮想移動装置VMの第1の位置P1に追従して自律的に移動している。第2の時刻T2では、仮想移動装置VMが第2の位置P2で停止し、自律移動装置200が仮想移動装置VMの位置P2に追従して自律的に移動している。第3の時刻T3では、自律移動装置200が仮想移動装置VMに追いつき、第2の位置P2で停止している。
【0057】
図5(B)の列は、自律移動装置200が人又は障害物等の阻害因子OBを検出し、阻害因子OBを自律的に回避する様子を示している。第1の時刻T1では、自律移動装置200が操作者Oによる自律移動装置200の操作性を阻害する阻害因子OB(人又は障害物等)を検出している。第2の時刻T2では、仮想移動装置VMの未来の軌跡上にある有効な点を自律移動装置200の副目標位置SPに設定している。第3の時刻T3では、自律移動装置200が副目標位置SPに応じて阻害因子OBを自律的に回避する局所的な移動経路MRを算出し、局所的な移動経路MRに沿って副目標位置SPまで移動している。
【0058】
第1の時刻T1に示すように、現実空間RSにおいて仮想移動装置VMの位置P1に阻害因子OBがある場合、仮想世界VWでは仮想移動装置VMが阻害因子OBを通過しているため、操作者Oは阻害因子OBに気づかない。なお、仮想世界VWの3次元モデルを事前に構築した場合は、阻害因子OB自体が仮想世界VWに存在しない。そこで、自律移動装置200は自律的に阻害因子OBを回避する必要がある。
【0059】
一方、現実空間RSにおいて仮想移動装置VMの未来の軌跡上に阻害因子OBがある場合、仮想モードでは仮想移動装置VMの前方に阻害因子OBがあるため、操作者Oが阻害因子OBに気づく。従って、仮想モードである必要はなく、現実モードにおいて、操作者Oが自律移動装置200を操作して阻害因子OBを回避するか、又は自律移動装置200が阻害因子OBを自律的に回避してもよい。
【0060】
また、第3の時刻T3に示すように、仮想移動装置VMが直進し、自律移動装置200が阻害因子OBを自律的に回避する場合、仮想移動装置VMが自律移動装置200より先に進んでしまう。従って、ユーザインタフェース部320が仮想モードから現実モードに切替えた場合には、操作者Oに違和感を与える。従って、仮想移動装置VMの速度を減速させる必要がある。
【0061】
<ユーザインタフェース>
以下、情報処理装置300のユーザインタフェースについて説明する。図6は、本実施形態に係る情報処理装置300のユーザインタフェース例を示す図である。
【0062】
ユーザインタフェース部320は、自律移動装置200又は仮想移動装置VMに対する操作指示(走行指示)を、情報処理装置300のキーボード311の各種キーに割当てる。例えば、ユーザインタフェース部320は、前進指示を上矢印キーFに割当て、後退指示を下矢印キーBに割当てる。また、ユーザインタフェース部320は、右信地旋回を右矢印キーRに割当て、左信地旋回を左矢印キーLに割当てる。さらに、ユーザインタフェース部320は、加速指示をAキーAに割当て、減速指示をBキーBに割当てる。
【0063】
なお、自律移動装置200が大局的な移動経路に沿って自律的に移動する場合、操作者Oは加速又は減速のみを指示すればよいため、ユーザインタフェース部320は、加速指示と減速指示を任意のキーに割当てればよい。また、キーボード311は、ハードウェアキーボードではなく、ソフトウェアキーボードでもよい。
【0064】
現実モードでは、ユーザインタフェース部320が情報処理装置300のディスプレイ306に現実世界RWの知覚フィードバックである現実画像RIを表示する。また、仮想モードでは、ユーザインタフェース部320が情報処理装置300のディスプレイ306に仮想世界VWの知覚フィードバックである仮想画像VIを表示する。
【0065】
自律移動装置200が知覚センサ211を用いて阻害因子OB(例えば移動する人)を検出した場合、ユーザインタフェース部320が現実モードから仮想モードに切替える。現実モードでは、操作者Oは現実世界RWにおける自律移動装置200の自律動作AMを知覚するが、仮想モードでは、操作者Oは仮想世界VWにおける仮想移動装置VMの手動動作MMしか知覚しない。従って、仮想モードでは、自律移動装置200が操作者Oの指示に応じた手動動作MMとは異なる自律動作AMを行うことを操作者Oに感じさせない。
【0066】
ユーザインタフェース部320が現実モードから仮想モードに切替えた後、ユーザインタフェース部320は、自律移動装置200と仮想移動装置VMの位置偏差PDが小さくなるように仮想移動装置VMの手動動作MMにおける位置変化を自動的に減速させる。
【0067】
現実世界RWにおいて仮想移動装置VMの位置VPに阻害因子OBがある場合、仮想モードでは操作者Oが阻害因子OBに気づかない。したがって、情報処理装置300は、阻害因子OBを自律的に回避して副目標位置SPまで移動する自律移動を自律移動装置200に要求する。
【0068】
自律移動装置200は、自律移動装置200の位置RPから副目標位置SPまでの阻害因子OBを回避する局所的な移動経路を算出し、移動経路に沿った自律動作AMを行い、副目標位置SPまで移動する。自律移動装置200が阻害因子OBを回避して副目標位置SPに到達した場合、情報処理装置300は仮想モードから現実モードに戻す。
【0069】
<機能構成>
以下、情報処理システム100の機能構成について説明する。図7は、本実施形態に係る情報処理システム100の機能構成例を示す図である。
【0070】
自律移動装置200は、実制御部220を備えている。実制御部220は、現実世界RWにおける自律移動装置200の実際の動作を制御する。実制御部220は、共有制御部221、自律移動制御部222、実移動制御部223、実自己位置推定部224、及び現実知覚処理部225を備えている。なお、自律移動装置200の少なくとも一部の機能は、情報処理装置300に担当させてもよいし、情報処理システム100の外部にある他の装置に分散処理させてもよい。
【0071】
実制御部220の各種機能は、自律移動装置200(コンピュータ)にインストールした1以上のプログラムがCPU202等のプロセッサに実行させる処理によって実現する。例えば、共有制御部221、自律移動制御部222、実移動制御部223、実自己位置推定部224、及び現実知覚処理部225は、プログラムモジュールとして構成する。
【0072】
情報処理装置300は、ユーザインタフェース部320、及び仮想制御部330を備えている。ユーザインタフェース部320は、操作者Oの操作指示を取得し、知覚フィードバックを操作者Oに提供する。ユーザインタフェース部320は、操作指令処理部321、仮想現実切替部322、及び表示制御部323を備えている。
【0073】
仮想制御部330は、仮想世界VWにおける仮想移動装置VMの動作を制御する。仮想制御部330は、仮想自己位置推定部331、仮想移動制御部332、及び仮想知覚処理部333を備えている。なお、情報処理装置300の少なくとも一部の機能は、自律移動装置200に担当させてもよいし、情報処理システム100の外部にある他の装置に分散処理させてもよい。
【0074】
ユーザインタフェース部320及び仮想制御部330の各種機能は、情報処理装置300(コンピュータ)にインストールした1以上のプログラムがCPU301等のプロセッサに実行させる処理によって実現する。例えば、操作指令処理部321、仮想現実切替部322、表示制御部323、仮想自己位置推定部331、仮想移動制御部332、及び仮想知覚処理部333は、プログラムモジュールとして構成する。
【0075】
共有制御部221は、操作者Oの操作指令に合わせて補助的に自律移動装置200の動作を補正するSC(共有制御)機能を有している。共有制御部221は、知覚センサ211を用いて阻害因子OB(人又は障害物等)を検出する。自律移動装置200が例えば知覚センサ211としてLiDARを備えている場合、共有制御部221は、例えば自律移動装置200の進行方向に存在する物体との距離をもとに障害物の有無を検出する。共有制御部221は、阻害因子OBがない場合は、操作指令処理部321の操作指令を処理した動作指令(位置指令等)を実移動制御部223に送出する。共有制御部221は、阻害因子OBがある場合は、阻害因子OBを自律的に回避するため、阻害因子検出通知を仮想現実切替部322に送信する。
【0076】
また、共有制御部221は、阻害因子OBにより自律移動装置200による自律移動が阻害されることを検出した場合、回避不能な阻害因子OBを検出した旨を阻害因子検出通知として仮想現実切替部322に送信してもよい。回避不能な阻害因子OBには、自律移動装置200の通行を阻害する、人および障害物等のいずれかが少なくとも含まれる。例えば、移動する人、動的な障害物、および静的な障害物であっても動き出す障害物等は、回避不能な阻害因子OBの一例である。さらに、先に検出された阻害因子OBとは異なる別の阻害因子が、自律移動装置200の通行を阻害することもあり、共有制御部221は、別の阻害因子を検出した場合に、阻害因子検出通知を仮想現実切替部322に送信してもよい。なお、阻害因子OBの検出機能は、共有制御部221が担当するのではなく、他の機能部が担当してもよい。
【0077】
自律移動制御部222は、大局的な自律移動機能と、局所的な自律移動機能とを有している。大局的な自律移動機能は、SLAM(自己位置推定と地図生成)を行い、目標位置までの大局的な移動経路を算出し、大局的な移動経路に沿った自律的な移動を可能にする。局所的な自律移動機能は、副目標位置SPまでの局所的な移動経路を算出し、阻害因子OBの自律的な回避を可能にする。
【0078】
自律移動制御部222は、仮想現実切替部322の自律移動要求(目標位置)に応じて目標位置までの大局的な移動経路に沿った動作指令(位置指令等)を実移動制御部223に送出する。また、自律移動制御部222は、仮想現実切替部322の自律移動要求(副目標位置SP)に応じて副目標位置SPまでの局所的な移動経路MRに沿った動作指令(位置指令等)を実移動制御部223に送出する。
【0079】
実移動制御部223は、共有制御部221の動作指令(位置指令等)又は自律移動制御部222の動作指令(位置指令等)を処理して走行制御用モータドライバ208に動作指令(位置指令及び速度指令等)を送出する。動作指令は、モータの位置指令、速度指令、及び加速度指令等を含む。
【0080】
実自己位置推定部224は、現実世界RWにおける自律移動装置200の位置RPを推定する機能を有している。実自己位置推定部224は、例えばモータエンコーダ、LiDAR、TOFセンサ、MEMSセンサ、又はIMU等の知覚センサ211を用いて自律移動装置200の位置RPを推定する。なお、位置とは、例えば直交座標系における3軸(X軸、Y軸、及びZ軸)方向の位置である。実自己位置推定部224は、仮想現実切替部322の自己位置要求に応じて自律移動装置200の位置RPを仮想現実切替部322に送信する。
【0081】
現実知覚処理部225は、知覚センサ211(例えばカメラ)を用いて現実世界RWの知覚フィードバックである現実画像RIを表示制御部323に時々刻々と送信する。なお、現実知覚処理部225は、知覚センサ211(例えばマイク、力センサ、及びMEMSセンサ等)を用いて現実世界RWの知覚フィードバックである音声、力覚、及び平衡覚等を出力制御部に時々刻々と送信してもよい。
【0082】
操作指令処理部321は、操作者Oの操作指示を処理した操作指令を共有制御部221に送信する。また、操作指令処理部321は、操作者Oの操作指示を処理した操作指令を仮想移動制御部332に送出する。
【0083】
仮想現実切替部322は、操作指令処理部321と表示制御部323に処理モードを通知する。仮想現実切替部322は、操作者Oの操作開始指示に応じて現実モードに初期化する。仮想現実切替部322は、共有制御部221から阻害因子検出通知を受信する。仮想現実切替部322は、阻害因子検出通知に応じて現実モードから仮想モードに切替える。
【0084】
仮想現実切替部322は、実自己位置推定部224から自律移動装置200の位置RPを受信すると共に、仮想自己位置推定部331から仮想移動装置VMの位置VPを取得する。仮想現実切替部322は、自律移動装置200の位置RPと仮想移動装置VMの位置VPとの位置偏差PDが小さくなるように仮想移動装置VMの位置調整を行う。例えば仮想現実切替部322は、仮想移動装置VMの速度調整を行い、仮想移動装置VMの位置変化を自動的に減速する。
【0085】
また、現実世界RWにおいて仮想移動装置VMの位置に阻害因子OBがある場合は、仮想世界VWでは仮想移動装置VMが阻害因子OBを通過しているため、操作者Oが仮想モードで阻害因子OBに気づかない。そこで、仮想現実切替部322は、阻害因子を自律的に回避する必要があると判定し、阻害因子OBを自律的に回避する自律移動を自律移動装置200に要求する。
【0086】
一方、現実世界RWにおいて仮想移動装置VMの未来の軌跡上に阻害因子OBがある場合は、仮想モードでは仮想移動装置VMの前方に阻害因子OBがあるため、操作者Oが仮想モードで阻害因子OBに気づく。そこで、仮想現実切替部322は、仮想モードは必要ないと判定し、仮想モードから現実モードに戻す。
【0087】
表示制御部323は、仮想現実切替部322の処理モード通知(現実モード又は仮想モード)に応じて現実世界RWの知覚フィードバックである現実画像RI又は仮想世界VWの知覚フィードバックである仮想画像VIをディスプレイ306に表示する。
【0088】
仮想自己位置推定部331は、仮想世界VWにおける仮想移動装置VMの位置VPを推定する機能を有している。仮想自己位置推定部331は、例えば操作指令(前進指令、後退指令、右信地旋回指令、左信地旋回指令、加速指令、及び減速指令等)を用いて仮想移動装置VMの位置VPを推定する。仮想自己位置推定部331は、仮想現実切替部322の自己位置要求に応じて仮想移動装置VMの位置VPを仮想現実切替部322に送出する。
【0089】
仮想移動制御部332は、操作指令処理部321から操作指令を取得する。仮想移動制御部332は、操作指令処理部321の操作指令に従って仮想移動装置VMの動作を制御する。
【0090】
仮想知覚処理部333は、知覚センサ211(例えばLiDAR)を用いて現実世界RWを模した仮想世界VWの知覚フィードバックである仮想画像VIを表示制御部323に時々刻々と送出する。なお、仮想知覚処理部333は、知覚センサ211(例えばマイク、力センサ、及びMEMSセンサ等)を用いて現実世界RWを模した仮想世界VWの知覚フィードバックである仮想音声、仮想力覚、及び仮想平衡覚等を出力制御部に時々刻々と送信してもよい。
【0091】
<シーケンス>
次に図8図11を参照して情報処理システム100の処理手順を示すシーケンスについて説明する。
【0092】
<<初期化シーケンス>>
図8は、本実施形態に係る情報処理システム100の初期化シーケンス例を示す図である。操作者Oが操作開始指示を行うと(ステップS101)、仮想現実切替部322が処理モードを現実モードに初期化する(ステップS102)。仮想現実切替部322は、表示制御部323に処理モード(現実モード)を通知する(ステップS103)。
【0093】
表示制御部323は、処理モード通知(現実モード)に応じて現実知覚処理部225に知覚フィードバックを要求する(ステップS105)。現実知覚処理部225は、知覚フィードバック要求に応じて現実世界RWの知覚フィードバック(現実画像RI等)を表示制御部323に応答する(ステップS106)。表示制御部323は、現実世界RWの知覚フィードバックである現実画像RIをディスプレイ306に表示する(ステップS107)。
【0094】
また、仮想現実切替部322は、操作指令処理部321に処理モード(現実モード)を通知する(ステップS104)。
【0095】
<<現実モードシーケンス>>
図9は、本実施形態に係る現実モードシーケンス例を示す図である。現実モードにおいて、操作者Oは、現実画像RIを表示するユーザインタフェース部320に対して操作指示を行う(ステップS201)。操作指令処理部321は、操作指示を処理した操作指令を共有制御部221に送信する(ステップS202)。共有制御部221は、操作指令に応じて阻害因子OB(人又は障害物等)を検出する(ステップS203)。
【0096】
阻害因子OBがない場合、共有制御部221は、操作指令を実移動制御部223に送出する(ステップS204)。実移動制御部223は、操作指令に応じて自律移動装置200の実際の動作を制御する。阻害因子OBがある場合、共有制御部221は、阻害因子検出通知を仮想現実切替部322に送信する(ステップS205)。
【0097】
仮想現実切替部322は、阻害因子検出通知に応じて現実モードから仮想モードに切替える(ステップS206)。仮想現実切替部322は、表示制御部323に処理モード(仮想モード)を通知する(ステップS207)。
【0098】
表示制御部323は、処理モード通知(仮想モード)に応じて知覚フィードバックを仮想知覚処理部333に要求する(ステップS208)。仮想知覚処理部333は、仮想世界VWの知覚フィードバック(仮想画像VI等)を表示制御部323に応答する(ステップS209)。表示制御部323は、仮想世界VWの知覚フィードバックである仮想画像VIをディスプレイ306に表示する(ステップS210)。
【0099】
また、仮想現実切替部322は、操作指令処理部321に処理モード(仮想モード)を通知する(ステップS211)。
【0100】
<<仮想モードシーケンス>>
図10は、本実施形態に係る仮想モードシーケンス例を示す図である。現実モードから仮想モードに切替えた後、操作者Oは、仮想画像VIを表示するユーザインタフェース部320に対して操作指示を行う(ステップS301)。操作指令処理部321は、操作指示を処理した操作指令を仮想移動制御部332に送出する(ステップS302)。仮想移動制御部332は、操作指令に応じて仮想移動装置VMの動作を制御する。
【0101】
仮想現実切替部322は、共有制御部221に対し、自律移動装置200が自律的に回避できない阻害因子OBの有無を取得するように要求する(ステップS330)。共有制御部221は、現実知覚処理部225に対し、阻害因子OBを撮影した画像を取得するように要求する(ステップS331)。現実知覚処理部225は、カメラ等の知覚センサ211から取得した阻害因子OBの画像を共有制御部221に応答する(ステップS332)。
【0102】
共有制御部221は、阻害因子OBを写した画像に基づき、自律移動装置200の自律移動が阻害因子OBにより阻害されるかを検出して、回避不能な阻害因子OBの有無を阻害因子検出通知として仮想現実切替部322に送信する(ステップS333)。回避不能な阻害因子OB(例えば動的な障害物)が有る場合、仮想現実切替部322は、処理モードを仮想モードから現実モードに切替える(ステップS334)。回避不能な阻害因子OBが無い場合、仮想現実切替部322は、ステップS303に進む。
【0103】
回避不能な阻害因子OBが有る場合、仮想現実切替部322は、処理モード(現実モード)を表示制御部323に通知する。表示制御部323は、処理モード通知(現実モード)に応じて知覚フィードバック(現実画像RI等)を現実知覚処理部225に要求する(ステップS336)。現実知覚処理部225は、知覚フィードバック要求に応じて現実世界RWの知覚フィードバック(現実画像RI)を表示制御部323に応答する(ステップS337)。表示制御部323は、現実世界RWの知覚フィードバックである現実画像RIをディスプレイ306に表示する(ステップS338)。また仮想現実切替部322は、操作指令処理部321にも処理モード(現実モード)を通知する(ステップS339)。そして、情報処理システム100は、図9に示す現実モードシーケンスの処理に戻る。
【0104】
回避不能な阻害因子OBが無い場合、仮想現実切替部322は、仮想世界VWにおける仮想移動装置VMの位置VPを仮想自己位置推定部331に要求する(ステップS303)。仮想自己位置推定部331は、自己位置要求に応じて仮想世界VWにおける仮想移動装置VMの位置VPを推定し、仮想移動装置VMの位置VPを仮想現実切替部322に応答する(ステップS304)。
【0105】
また、仮想現実切替部322は、現実世界RWにおける自律移動装置200の位置RPを実自己位置推定部224に要求する(ステップS305)。実自己位置推定部224は、自己位置要求に応じて現実世界RWにおける自律移動装置200の位置RPを推定し、自律移動装置200の位置RPを仮想現実切替部322に応答する(ステップS306)。
【0106】
仮想現実切替部322は、自律移動装置200の位置RPと仮想移動装置VMの位置VPとの位置偏差PDを算出する(ステップS307)。仮想現実切替部322は、自律移動装置200と仮想移動装置VMの位置偏差PDを操作指令処理部321に通知する(ステップS308)。
【0107】
操作指令処理部321は、自律移動装置200と仮想移動装置VMの位置偏差PDが小さくなるように仮想移動装置VMの位置調整を行う(ステップS309)。例えば、仮想移動装置VMが直進し、自律移動装置200が阻害因子OBを回避する場合、仮想移動装置VMは自律移動装置200より先に進んでしまう。そこで、操作指令処理部321は、仮想移動装置VMの速度調整を行い、仮想移動装置VMの位置変化を自動的に減速させる。
【0108】
仮想現実切替部322は、自律移動装置200の自律移動の要否を判定する(ステップS310)。現実世界RWにおいて仮想移動装置VMの位置VPに阻害因子OBがある場合は、仮想現実切替部322は、自律移動装置200が自律的に阻害因子OBを回避する必要があると判定する。一方、現実世界RWにおいて仮想移動装置VMの未来の軌跡上に阻害因子OBがある場合は、仮想現実切替部322は、仮想モードは必要ないと判定する。
【0109】
仮想現実切替部322は、自律移動装置200の自律移動を必要とする場合は、仮想モードの自律移動要シーケンスに移行し、仮想モードを必要としない場合は、仮想モードの自律移動否シーケンスに移行する。
【0110】
<<自動移動要否シーケンス>>
図11は、本実施形態に係る自律移動要否シーケンス例を示す図である。自律移動要シーケンスに移行した場合、仮想現実切替部322は、操作指令と、仮想移動装置VMの位置に応じて仮想移動装置VMの未来の軌跡を算出する。また、仮想現実切替部322は、未来の軌跡上で阻害因子OBがなくなる位置を副目標位置SPに設定する(図5参照)。
【0111】
仮想現実切替部322は、阻害因子OBを自律的に回避して副目標位置SPに移動する自律移動要求(副目標位置SP)を自律移動制御部222に送信する(ステップS311)。自律移動制御部222は、自律移動要求(副目標位置SP)に応じて阻害因子OBを回避する局所的な移動経路MRを算出する。自律移動制御部222は、局所的な移動経路MRに沿った動作指令(位置指令等)を実移動制御部223に送出する(ステップS312)。
【0112】
実移動制御部223は、動作指令(位置指令等)に応じて走行制御用モータドライバ208に動作指令(速度指令等)を送出する。自律移動装置200が副目標位置SPに到達した場合、実移動制御部223は、自律移動完了通知を自律移動制御部222に送出する(ステップS313)。自律移動制御部222は、自律移動完了通知に応じて仮想現実切替部322に自律移動完了通知を送信する(ステップS314)。
【0113】
仮想現実切替部322は、自律移動完了通知に応じて仮想モードから現実モードに戻す(ステップS315)。すなわち、仮想現実切替部322は、仮想モードの自律移動否シーケンスに移行する。また、図10のステップS310で、仮想モードを必要としないと判定した場合も、仮想現実切替部322は、仮想モードの自律移動否シーケンスに移行する。自律移動否シーケンスでは、仮想現実切替部322が仮想モードから現実モードに戻した後(ステップS315)、仮想現実切替部322が処理モード(現実モード)を表示制御部323に通知する(ステップS316)。
【0114】
表示制御部323は、処理モード通知(現実モード)に応じて現実知覚処理部225に知覚フィードバックを要求する(ステップS317)。現実知覚処理部225は、知覚フィードバック要求に応じて現実世界RWの知覚フィードバック(現実画像RI等)を表示制御部323に応答する(ステップS318)。表示制御部323は、現実世界RWの知覚フィードバックである現実画像RIをディスプレイ306に表示する(ステップS319)。
【0115】
また、仮想現実切替部322は、操作指令処理部321に処理モード(現実モード)を通知する(ステップS320)。
【0116】
以降、情報処理システム100は、自律移動装置200が操作指令を阻害する阻害因子OB(人又は障害物等)を検出した場合に、図9に示す現実モードシーケンスと図10に示す仮想モードシーケンスとの間で状態遷移を繰返す。
【0117】
(第1実施形態の作用効果)
第1実施形態によれば、自律移動装置200が阻害因子OB(人又は障害物等)を検出した場合に、情報処理装置300は、現実モードから仮想モードに切替える。現実モードでは、現実世界RWの自律移動装置200の自律動作AMを知覚するが、仮想モードでは、仮想世界VWの仮想移動装置VMの操作指令に応じた手動動作MMしか知覚しない。従って、情報処理装置300は、自律移動装置200が操作者Oの指示とは異なる動作を行うことを操作者Oに感じさせない。
【0118】
現実モードから仮想モードに切替えた後、操作者Oは、自律移動装置200が阻害因子OBに衝突することを気にせずに操作を継続できる。一方、自律移動装置200は、阻害因子OBを自律的に回避できる。自律移動装置200が阻害因子OBを自律的に回避した場合、情報処理装置300が仮想モードから現実モードに戻すため、操作者Oは何事もなかったかのように操作を継続できる。また、自律移動装置200が阻害因子OBにより自律移動を阻害されることを検出した場合、情報処理装置300が仮想モードから現実モードに戻すため、操作者Oは阻害因子OBを手動で回避することが可能である。
【0119】
また、現実モードから仮想モードに切替えた後、自律移動装置200と仮想移動装置VMの位置偏差PDが小さくなるように、情報処理装置300が仮想移動装置VMの位置調整を行う。例えば、仮想移動装置VMが直進し、自律移動装置200が阻害因子OBを回避する場合、仮想移動装置VMが自律移動装置200より先に進んでしまうことを抑制できる。従って、情報処理装置300は、仮想モードから現実モードに戻した場合に、操作者Oに違和感を与えない。
【0120】
さらに、現実モードから仮想モードに切替えた後、現実世界RWにおいて仮想移動装置VMの位置VPに阻害因子OBがある場合は、仮想世界VWでは仮想移動装置VMが阻害因子OBを通過している。操作者Oは阻害因子OBに気づかないため、情報処理装置300は自律移動装置200が自律的に阻害因子OBを回避する必要があると判定する。従って、操作者Oが阻害因子Oに気づかなくても、自律移動装置200が阻害因子OBを自律的に回避できる。
【0121】
一方、現実モードから仮想モードに切替えた後、現実世界RWにおいて仮想移動装置VMの未来の軌跡上に阻害因子OBがある場合は、仮想モードでは仮想移動装置VMの前方に阻害因子OBがある。操作者Oは阻害因子OBに気づくため、仮想モードは必要ないと判定し、仮想モードから現実モードに戻す。従って、現実モードにおいて、自律移動装置200は操作者Oの操作指令に応じて阻害因子OBを回避するか、又は自律移動装置200が阻害因子OBを自律的に回避できる。
【0122】
加えて、仮想モードでは、情報処理装置300が自律移動装置200から現実世界RWの知覚フィードバック(現実画像RI等)を受信しない。従って、仮想モードでは、情報処理装置300と自律移動装置200との間の知覚フィードバック(現実画像RI等)の通信遅延が発生しないというコンピュータの技術的改善を提供できる。
【0123】
以上のように、本実施形態では、操作者Oが自律移動装置200を違和感なく遠隔操作する技術を提供することができる。
【0124】
(第1実施形態の変形例1)
以下、第1実施形態の変形例1について説明する。現実モードから仮想モードに切替えた後、操作者Oが仮想移動装置VMの方向を大きく変化させた場合、仮想移動装置VMの姿勢が自律移動装置200の姿勢とは大きく異なってしまう。そこで、変形例1では、自律移動装置200と仮想移動装置VMの位置偏差PDと姿勢偏差ADが小さくなるように仮想現実切替部322が仮想移動装置VMの位置調整と姿勢調整を行う。
【0125】
<機能構成>
図12は、本実施形態に係る情報処理システム100の機能構成の変形例を示す図である。自律移動装置200は実自己位置姿勢推定部401を備え、情報処理装置300は仮想自己位置姿勢推定部402を備えている。
【0126】
実自己位置姿勢推定部401は、現実世界RWにおける自律移動装置200の位置RPと姿勢RAを推定する機能を有している。実自己位置姿勢推定部401は、例えばLiDAR、TOFセンサ、MEMSセンサ、又はIMU等の知覚センサ211を用いて自律移動装置200の位置RPと姿勢RAを推定する。なお、位置とは、例えば直交座標系における3軸(X軸、Y軸、及びZ軸)方向の位置であり、姿勢とは、例えば直交座標系における3軸(X軸、Y軸、及びZ軸)回りの回転角度である。実自己位置姿勢推定部401は、仮想現実切替部322の自己位置姿勢要求に応じて自律移動装置200の位置RPと姿勢RAを仮想現実切替部322に送信する。
【0127】
仮想自己位置姿勢推定部402は、仮想世界VWにおける仮想移動装置VMの位置VPと姿勢VAを推定する機能を有している。仮想自己位置姿勢推定部402は、例えば操作指令(前進指令、後退指令、右信地旋回指令、左信地旋回指令、加速指令、及び減速指令等)を用いて仮想移動装置VMの位置VPと姿勢VAを推定する。仮想自己位置姿勢推定部402は、仮想現実切替部322の自己位置姿勢要求に応じて仮想移動装置VMの位置VPと姿勢VAを仮想現実切替部322に送出する。
【0128】
仮想現実切替部322は、実自己位置姿勢推定部401から自律移動装置200の位置RPと姿勢RAを受信し、仮想自己位置姿勢推定部402から仮想移動装置VMの位置VPと姿勢VAを取得する。
【0129】
仮想現実切替部322は、自律移動装置200の位置RPと仮想移動装置VMの位置VPとの位置偏差PDが小さくなるように仮想移動装置VMの位置調整を行う。例えば仮想現実切替部322は、仮想移動装置VMの速度調整を行い、仮想移動装置VMの位置変化を自動的に減速する。また、仮想現実切替部322は、自律移動装置200の姿勢RAと仮想移動装置VMの位置VAとの姿勢偏差ADが小さくなるように仮想移動装置VMの姿勢調整を行う。例えば仮想現実切替部322は、仮想移動装置VMの速度調整を行い、仮想移動装置VMの姿勢変化を自動的に減速する。
【0130】
<シーケンス>
図13は、本実施形態に係る仮想モードシーケンスの変形例を示す図である。現実モードから仮想モードに切替えた後、仮想現実切替部322は、仮想世界VWにおける仮想移動装置VMの位置VPと姿勢VAを仮想自己位置姿勢推定部402に要求する(ステップS401)。仮想自己位置姿勢推定部402は、自己位置姿勢要求に応じて仮想世界VWにおける仮想移動装置VMの位置VPと姿勢VAを推定し、仮想移動装置VMの位置VPと姿勢VAを仮想現実切替部322に応答する(ステップS402)。
【0131】
また、仮想現実切替部322は、現実世界RWにおける自律移動装置200の位置RPと姿勢RAを実自己位置姿勢推定部401に要求する(ステップS403)。実自己位置姿勢推定部401は、自己位置姿勢要求に応じて現実世界RWにおける自律移動装置200の位置RPと姿勢RAを推定し、自律移動装置200の位置RPと姿勢RAを仮想現実切替部322に応答する(ステップS404)。
【0132】
仮想現実切替部322は、自律移動装置200の位置RPと仮想移動装置VMの位置VPとの位置偏差PDと、自律移動装置200の姿勢RAと仮想移動装置VMの姿勢VAとの姿勢偏差ADとを算出する(ステップS405)。仮想現実切替部322は、自律移動装置200と仮想移動装置VMの位置偏差PDと姿勢偏差ADを操作指令処理部321に通知する(ステップS406)。
【0133】
操作指令処理部321は、自律移動装置200と仮想移動装置VMの位置偏差PDと姿勢偏差ADが小さくなるように仮想移動装置VMの位置調整と姿勢調整を行う(ステップS407)。操作指令処理部321は、仮想移動装置VMの位置調整と姿勢調整を行い、仮想移動装置VMの位置変化と姿勢変化を自動的に減速させる。
【0134】
(変形例1の作用効果)
変形例1によれば、現実モードから仮想モードに切替えた後、自律移動装置200と仮想移動装置VMの位置偏差PDと姿勢偏差ADが小さくなるように仮想移動装置VMの位置調整と姿勢調整を行う。従って、情報処理装置300は、仮想モードから現実モードに戻した場合に、操作者Oにより違和感を与えない。
【0135】
(第1実施形態の変形例2)
以下、第1実施形態の変形例2について説明する。変形例2では、現実モードから仮想モードに切替えた後、仮想現実切替部322が機械学習を行って事前に生成した学習済モデルを用いて仮想モードにおける自律移動装置200の自律移動の要否を判定する。
【0136】
学習モデルは、教師あり学習、教師なし学習、又は強化学習等を行って事前に生成される。学習モデルには、決定木、単純パーセプトロン、ニューラルネットワーク(深層学習)、又はクラスタリング等を用いられる。
【0137】
仮想現実切替部322は、例えば教師あり学習を行う場合、時々刻々と変化する状態データ(入力データ)と、操作者Oが阻害因子OBに気づかない状況であるか否かを示すラベルデータ(出力データ)と、を含む学習データセットを用いる。そして仮想現実切替部322は、入力データと出力データとの間の相関関係を示す学習モデルを事前に生成しておく。例えば、状態データには、阻害因子OBの位置、仮想移動装置VMの位置VP、及び自律移動装置200の位置RP等が含まれる。
【0138】
仮想現実切替部322は、時々刻々と変化する、阻害因子OBの位置、仮想移動装置VMの位置VP、及び自律移動装置200の位置RP等の状態データを入力し、学習済モデルを用いて操作者Oが阻害因子OBに気づかない状況であったか否かを判定する。
【0139】
仮想現実切替部322は、操作者Oが阻害因子OBに気づかない状況であったと判定した場合は、自律移動装置200が阻害因子OBを自律的に回避する必要があると判定し、自律移動装置200の自律移動を自律移動制御部222に要求する。
【0140】
一方、仮想現実切替部322は、操作者Oが阻害因子OBに気づく状況であったと判定した場合は、仮想モードの必要がないと判定し、仮想モードから現実モードに戻す。
【0141】
(変形例2の作用効果)
変形例2によれば、あらゆる状況の状態データを学習した学習済モデルを用いることで、操作者Oが阻害因子OBに気づかない状況であるか否かを予測できない状況でも、仮想現実切替部322が自律移動装置200の自律移動の要否を適切に判定できる。従って、操作者Oは自律移動装置200を違和感なく操作できる。
【0142】
(第2実施形態)
以下、第2実施形態に係る情報処理システム100について説明する。第2実施形態では、現実モードから仮想モードに切替えることで、ロボットアーム510の自律移動を操作者Oに感じさせない技術を提供する。
【0143】
<システム構成>
図14は、第2実施形態に係る情報処理システム100のシステム構成例を示す図である。
【0144】
自律移動装置200は、ロボットアーム510、及びエンドエフェクタ520を備えている。ロボットアーム510は、例えば6軸の多関節ロボットであり、根元から順に、基部、胴部、上腕部、前腕部、及び3軸の手首部を備えている。ロボットアーム510の基部は、例えば自律移動装置200の本体240に固定する。ロボットアーム510は、各関節部を駆動する第1軸~第6軸のアーム制御用モータを内蔵している。なお、ロボットアーム510は、多関節ロボットに限定されず、パラレルリンク型ロボット等の他の形態のロボットでもよい。
【0145】
ロボットアーム510の手首には、エンドエフェクタ520を着脱可能である。エンドエフェクタ520は、例えば多指把持式、真空吸着式、又は磁気吸着式等のハンドである。エンドエフェクタ520は、例えばハンドの指又は真空ポンプ等を駆動するエンドエフェクタ制御用モータを内蔵している。知覚センサ211(例えばカメラ)は、エンドエフェクタ520の近傍に搭載してもよい。なお、エンドエフェクタ520は、ハンドに限定されず、溶接ツール、レーザ加工ツール、締結ツール、又はこれらを任意に切替え可能なツールチェンジャを備えていてもよい。
【0146】
ロボットアーム510とエンドエフェクタ520は、制御ユニット210に電気的に接続する。制御ユニット210は、第1軸~第6軸のアーム制御用モータ、及びエンドエフェクタ制御用モータをそれぞれ制御する。ロボットアーム510とエンドエフェクタ520は、事前に教示したロボットアーム510の目標位置と目標姿勢に応じた移動経路に沿って自律的に移動する。なお、ロボットアーム510の位置と姿勢とは、ロボットアーム510の基部等に固定した基準座標系における、エンドエフェクタ520に固定したツール座標系の位置と姿勢である。
【0147】
情報処理装置300は、自律移動装置200の走行ユニット230の動作に加え、自律移動装置200に搭載したロボットアーム510及びエンドエフェクタ520の動作を遠隔操作する。情報処理装置300は、操作者Oの操作指示を処理した操作指令を自律移動装置200送信する。
【0148】
<ハードウェア構成>
図15は、第2実施形態に係る自律移動装置200のハードウェア構成例を示す図である。
【0149】
自律移動装置200は、アーム制御用モータドライバ511、第1軸~第6軸のアーム制御用モータ512、エンドエフェクタ制御用モータドライバ521、及びエンドエフェクタ制御用モータ522をさらに備えている。
【0150】
CPU202は、逆運動学を用いてロボットアーム510の目標位置と目標姿勢から第1軸~第6軸のアーム制御用モータ512の各動作指令(位置指令及び速度指令等)を算出する。CPU202は、第1軸~第6軸のアーム制御用モータ512の各動作指令(位置指令及び速度指令)をアーム制御用モータドライバ511に送出する。
【0151】
アーム制御用モータドライバ511は、CPU202の各動作指令(位置指令及び速度指令)に応じて各種モータ駆動信号を生成し、各モータ駆動信号を第1軸~第6軸のアーム制御用モータ512にそれぞれ供給する。第1軸~第6軸のアーム制御用モータ512は、各モータ駆動信号に応じて回転し、ロボットアーム510の各関節部に駆動力を伝達する。
【0152】
アーム制御用モータ512は、アーム制御用モータ512の回転角度及び回転速度等を検知するモータエンコーダを内蔵している。アーム制御用モータドライバ511は、モータエンコーダが検知した回転角度及び回転速度等に応じてアーム制御用モータ512をフィードバック制御する。
【0153】
また、CPU202は、エンドエフェクタ制御用モータ522の動作指令(位置指令及び速度指令等)をエンドエフェクタ制御用モータドライバ521に送出する。
【0154】
エンドエフェクタ制御用モータドライバ521は、CPU202の動作指令(位置指令及び速度指令等)に応じてモータ駆動信号を生成し、モータ駆動信号をエンドエフェクタ制御用モータ522に送出する。エンドエフェクタ制御用モータ522は、モータ駆動信号に応じて回転し、ハンドの指又は真空ポンプ等に駆動力を伝達する。
【0155】
エンドエフェクタ制御用モータ522は、エンドエフェクタ制御用モータ522の回転角度及び回転速度等を検知するモータエンコーダを内蔵している。エンドエフェクタ制御用モータドライバ521は、モータエンコーダが検知した回転角度及び回転速度等に応じてエンドエフェクタ制御用モータ522をフィードバック制御する。
【0156】
<ユーザインタフェース>
以下、情報処理装置300のユーザインタフェースについて説明する。図16は、本実施形態に係る情報処理装置300のユーザインタフェース例を示す図である。
【0157】
情報処理装置300は、現実モードと仮想モードを切替える処理モード切替機能を有している。現実モードとは、現実世界RWに存在するロボットアーム510の動作を知覚する知覚フィードバックを操作者Oに提供する処理モードである。仮想モードとは、現実世界RWを模した仮想世界VWに存在していてロボットアーム510を模した仮想ロボットアームVRの動作を知覚する知覚フィードバックを操作者Oに提供する処理モードである。
【0158】
情報処理装置300は、ユーザインタフェース部320を備えている。ユーザインタフェース部320は、ロボットアーム510又は仮想ロボットアームVRに対する操作指示(移動指示)を、情報処理装置300のキーボード311の各種キーに割当てる。例えば、ユーザインタフェース部320は、前進指示を上矢印キーFに割当て、後退指示を下矢印キーBに割当てる。また、ユーザインタフェース部320は、右移動を右矢印キーRに割当て、左移動を左矢印キーLに割当てる。さらに、ユーザインタフェース部320は、手首部のW軸回りの回転指示をWキーWに割当て、手首部のP軸回りの回転指示をPキーPに割当て、手首部のR軸回りの回転指示をRキーRに割当てる。
【0159】
ロボットアーム510は、事前に教示した移動経路に沿ってロボットアーム510の目標位置TPと目標姿勢TAに自律的に移動する。本例では、ロボットアーム510が目標位置TPと目標姿勢TAに到達した後、エンドエフェクタ520がワークWを目標位置TPでドロップオフする。
【0160】
ロボットアーム510が知覚センサ211(例えばカメラ)を用いて阻害因子OB(例えば移動する人)を検出した場合、ユーザインタフェース部320は、現実モードから仮想モードに切替える。現実モードでは、操作者Oは現実世界RWにおけるロボットアーム510の自律動作AMを知覚するが、仮想モードでは、操作者Oは仮想世界VWにおける仮想ロボットアームVRの操作指令に応じた手動動作MMしか知覚しない。従って、仮想モードでは、ロボットアーム510が操作者Oの指示に応じた手動動作MMとは異なる自律動作AMを行うことを操作者Oに感じさせない。
【0161】
現実モードから仮想モードに切替えた後、ユーザインタフェース部320は、ロボットアーム510と仮想ロボットアームVRの位置偏差PDと姿勢偏差ADが小さくなるように仮想ロボットアームVRの手動動作MMの位置変化と姿勢変化を自動的に減速させる。
【0162】
現実世界RWにおいて仮想ロボットアームVRの位置VPに阻害因子OBがある場合、仮想世界VWでは仮想ロボットアームVRが阻害因子OBを通過しているため、操作者Oは阻害因子OBに気づかない。従って、情報処理装置300は、阻害因子OBを自律的に回避して目標位置TPと目標姿勢TAまで移動する自律移動をロボットアーム510に要求する。
【0163】
ロボットアーム510は、ロボットアーム510の位置RPから目標位置TPと目標姿勢TAまでの阻害因子OBを回避する移動経路を算出し、移動経路に沿った自律動作AMを行い、副目標位置SPまで移動する。ロボットアーム510が阻害因子OBを回避して目標位置TPに到達した場合、情報処理装置300は仮想モードから現実モードに戻す。
【0164】
(第2実施形態の作用効果)
第2実施形態によれば、ロボットアーム510が阻害因子OB(人又は障害物等)を検出した場合に、情報処理装置300は、現実モードから仮想モードに切替える。現実モードでは、現実世界RWのロボットアーム510の自律動作AMを知覚するが、仮想モードでは、仮想世界VWの仮想ロボットアームVRの手動動作MMしか知覚しない。従って、情報処理装置300は、ロボットアーム510が操作者Oの指示とは異なる動作を行うことを感じさせない。
【0165】
現実モードから仮想モードに切替えた後、操作者Oは、ロボットアーム510が阻害因子OBに衝突することを気にせずに操作を継続できる。一方、ロボットアーム510は、阻害因子OBを自律的に回避できる。ロボットアーム510が阻害因子OBを自律的に回避した場合、情報処理装置300が仮想モードから現実モードに戻すため、操作者Oは何事もなかったかのように操作を継続できる。
【0166】
また、現実モードから仮想モードに切替えた後、ロボットアーム510と仮想ロボットアームVRの位置偏差PDと姿勢偏差ADが小さくなるように、情報処理装置300が仮想ロボットアームVRの位置調整と姿勢調整を行う。例えば、仮想ロボットアームVRが直進し、ロボットアーム510が阻害因子OBを回避する場合、仮想ロボットアームVRがロボットアーム510より先に進んでしまうことを抑制できる。従って、情報処理装置300は、仮想モードから現実モードに戻した場合に、操作者Oに違和感を与えない。
【0167】
さらに、現実モードから仮想モードに切替えた後、現実世界RWにおいて仮想ロボットアームVRの位置VPに阻害因子OBがある場合、仮想世界VWにおいて仮想ロボットアームVRが阻害因子OBを通過している。そこで、情報処理装置300はロボットアーム510が自律的に阻害因子OBを回避する必要があると判定する。従って、操作者Oが阻害因子Oに気づかなくても、ロボットアーム510が自律的に阻害因子OBを回避できる。
【0168】
加えて、仮想モードでは、情報処理装置300がロボットアーム510から現実世界RWの知覚フィードバック(現実画像RI等)を受信しない。従って、情報処理装置300と自律移動装置200との間の知覚フィードバック(現実画像RI等)の通信遅延が発生しないというコンピュータの技術的改善を提供できる。
【0169】
上記で説明した実施形態の各種機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」は、電子回路で実装するプロセッサのようにソフトウェアで各機能を実行するようにプログラミングしたプロセッサを含む。或いは、「処理回路」は、各機能を実行するように設計したASIC(ApplicaCion Specific Integrated Circuit)、又はDSP(Digital Signal Processor)等のデバイスを含む。また、「処理回路」は、FPGA(Field Programmable Gate Array)又は従来の回路モジュール等のデバイスを含む。
【0170】
本開示の態様は、例えば以下の通りである。
<1> 自律移動装置と通信可能な情報処理装置であって、
前記自律移動装置に対する操作者の操作指令を、現実世界に存在する前記自律移動装置と、前記現実世界を模した仮想世界に存在していて前記自律移動装置を模した仮想移動装置とに送出する操作指令処理部と、
前記自律移動装置が前記操作者による前記自律移動装置の操作性を阻害する阻害因子を検出した場合に、前記現実世界における前記自律移動装置の自律動作に対応する知覚フィードバックを前記操作者に提供する現実モードから、前記仮想世界における前記仮想移動装置の前記操作指令に応じた動作に対応する知覚フィードバックを前記操作者に提供する仮想モードへ切替える仮想現実切替部と、
を含む、情報処理装置である。
<2> 前記現実モードから前記仮想モードに切替えた後、前記自律移動装置が前記阻害因子を自律的に回避した場合に前記仮想モードから前記現実モードに切替える、前記<1>に記載の情報処理装置である。
<3> 前記現実モードから前記仮想モードに切替えた後、前記操作指令に応じて前記仮想移動装置の動作を制御する仮想移動制御部をさらに備える、前記<1>又は前記<2>に記載の情報処理装置である。
<4> 前記現実モードから前記仮想モードに切替えた後、前記操作指令処理部は、前記自律移動装置と前記仮想移動装置の位置偏差及び姿勢偏差の少なくとも一方が小さくなるように前記仮想移動装置の位置及び姿勢の少なくとも一方を調整する、前記<1>から前記<3>のいずれかに記載の情報処理装置である。
<5> 前記現実モードから前記仮想モードに切替えた後、前記仮想現実処理部は、前記現実世界において前記仮想移動装置の位置に前記阻害因子がある場合は、前記自律移動装置が前記阻害因子を自律的に回避する必要があると判定し、前記阻害因子を自律的に回避する自律移動を前記自律移動装置に要求する、前記<1>から前記<4>のいずれかに記載の情報処理装置である。
<6> 前記現実モードから前記仮想モードに切替えた後、前記仮想現実処理部は、前記現実世界において前記仮想移動装置の未来の軌跡上に前記阻害因子がある場合は、前記自律移動装置が前記阻害因子を自律的に回避する必要がないと判定し、前記仮想モードから前記現実モードに戻す、前記<1>から前記<5>のいずれかに記載の情報処理装置である。
<7> 前記現実モードから前記仮想モードに切替えた後、前記仮想現実切替部は、前記操作指令と、前記仮想移動装置の位置及び姿勢の少なくとも一方とに応じて前記仮想移動装置の未来の軌跡を算出し、未来の軌跡上で前記阻害因子がなくなる位置を目標位置に設定し、前記阻害因子を自律的に回避して前記目標位置まで移動する自律移動を前記自律移動装置に要求する、前記<1>から前記<6>のいずれかに記載の情報処理装置である。
<8> 前記現実モードから前記仮想モードに切替えた後、前記自律移動装置が前記現実世界において前記阻害因子により前記自律動作を阻害されることを検出した場合、あるいは前記阻害因子とは異なる別の阻害因子により前記自律動作を阻害されることを検出した場合、前記仮想現実切替部は、前記仮想モードから前記現実モードに切替える、前記<1>から前記<7>のいずれかに記載の情報処理装置。
<9> 自律移動装置と、前記自律移動装置と通信可能な情報処理装置と、を含む情報処理システムであって、
前記自律移動装置は、
前記自律移動装置に対する操作者の操作指令と自律移動要求とに応じて前記自律移動装置の動作を制御する実制御部を備え、
前記情報処理装置は、
前記操作指令を、現実世界に存在する前記自律移動装置と、前記現実世界を模した仮想世界に存在していて前記自律移動装置を模した仮想移動装置とに送出する操作指令処理部と、
前記自律移動装置が前記操作者による前記自律移動装置の操作性を阻害する阻害因子を検出した場合に、前記現実世界における前記自律移動装置の自律動作に対応する知覚フィードバックを前記操作者に提供する現実モードから、前記仮想世界における前記仮想移動装置の前記操作指令に応じた動作に対応する知覚フィードバックを前記操作者に提供する仮想モードへ切替える仮想現実切替部と、
を含む、情報処理システムである。
<10> 自律移動装置と通信可能な情報処理装置であって、
前記自律移動装置に対する操作者の操作指令を、現実世界に存在する前記自律移動装置と、前記現実世界を模した仮想世界に存在していて前記自律移動装置を模した仮想移動装置とに送出するステップと、
前記自律移動装置が前記操作者による前記自律移動装置の操作性を阻害する阻害因子を検出した場合に、前記現実世界における前記自律移動装置の自律動作に対応する知覚フィードバックを前記操作者に提供する現実モードから、前記仮想世界における前記仮想移動装置の前記操作指令に応じた動作に対応する知覚フィードバックを前記操作者に提供する仮想モードへ切替えるステップと、
を実行する、情報処理方法である。
<11> 自律移動装置と通信可能な情報処理装置に実行させるプログラムであって、
前記自律移動装置に対する操作者の操作指令を、現実世界に存在する前記自律移動装置と、前記現実世界を模した仮想世界に存在していて前記自律移動装置を模した仮想移動装置とに送出するステップと、
前記自律移動装置が前記操作者による前記自律移動装置の操作性を阻害する阻害因子を検出した場合に、前記現実世界における前記自律移動装置の自律動作に対応する知覚フィードバックを前記操作者に提供する現実モードから、前記仮想世界における前記仮想移動装置の前記操作指令に応じた動作に対応する知覚フィードバックを前記操作者に提供する仮想モードへ切替えるステップと、
を前記情報処理装置に実行させるプログラムである。
【符号の説明】
【0171】
100 情報処理システム
200 自律移動装置
210 制御ユニット
201 無線モジュール
202 CPU
203 ROM
204 RAM
205 NVRAM
206 バッテリコントローラ
207 バッテリ
208 走行制御用モータドライバ
209 走行制御用モータ
211 知覚センサ
212 バス
220 実制御部
221 共有制御部
223 実移動制御部
224 実自己位置推定部
225 現実知覚処理部
230 走行ユニット
231 起動輪
232 転輪
233 履帯
234 支持体
240 本体
300 情報処理装置
301 CPU
302 ROM
303 RAM
304 HD
305 HDDコントローラ
306 ディスプレイ
308 外部機器接続I/F
309 ネットワークI/F
310 バス
311 キーボード
312 ポインティングデバイス
313 記録媒体
314 光学ドライブ
315 メディア
316 メディアI/F
317 マイク
318 スピーカ
319 音声入出力I/F
320 ユーザインタフェース部
321 操作指令処理部
322 仮想現実切替部
323 表示制御部
330 仮想制御部
331 仮想自己位置推定部
332 仮想移動制御部
333 仮想知覚処理部
401 実自己位置姿勢推定部
402 仮想自己位置姿勢推定部
510 ロボットアーム
511 アーム制御用モータドライバ
512 アーム制御用モータ
520 エンドエフェクタ
521 エンドエフェクタ制御用モータドライバ
522 エンドエフェクタ制御用モータ
AD 姿勢偏差
AM 自律動作
MM 手動動作
E 環境
N ネットワーク
O 操作者
OB 阻害因子
P1 第1の位置
P2 第2の位置
PD 位置偏差
RI 現実画像
RP 位置
RS 現実空間
RW 現実世界
T1 第1の時刻
T2 第2の時刻
T3 第3の時刻
SP 副目標位置
SA 副目標姿勢
TP 目標位置
TA 目標姿勢
VI 仮想画像
VM 仮想移動装置
VP 位置
VR 仮想ロボットアーム
VS 仮想空間
VW 仮想世界
【先行技術文献】
【非特許文献】
【0172】
【非特許文献1】C.Brooks et al., "Visualization of Intended Assistance for Acceptance of Shared Control", IEEE/RSJ International Conference on Intelligent Robots and System (IROS), pp. 11425-11430, 2020.
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16