(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】作業現場でモバイルロボットをシミュレーションする装置及び方法
(51)【国際特許分類】
B25J 9/22 20060101AFI20240312BHJP
B23Q 15/00 20060101ALI20240312BHJP
B25J 19/00 20060101ALI20240312BHJP
B25J 19/06 20060101ALI20240312BHJP
G05D 1/223 20240101ALI20240312BHJP
G05D 1/224 20240101ALI20240312BHJP
G05D 1/229 20240101ALI20240312BHJP
G05D 1/242 20240101ALI20240312BHJP
G05D 1/622 20240101ALI20240312BHJP
G05D 1/644 20240101ALI20240312BHJP
G06N 7/06 20060101ALI20240312BHJP
G06T 11/60 20060101ALI20240312BHJP
G05D 1/43 20240101ALN20240312BHJP
G05D 105/20 20240101ALN20240312BHJP
G05D 111/63 20240101ALN20240312BHJP
【FI】
B25J9/22 A
B23Q15/00 B
B25J19/00 Z
B25J19/06
G05D1/223
G05D1/224
G05D1/229
G05D1/242
G05D1/622
G05D1/644
G06N7/06
G06T11/60 300
G05D1/43
G05D105:20
G05D111:63
(21)【出願番号】P 2022566828
(86)(22)【出願日】2021-11-17
(86)【国際出願番号】 JP2021042214
(87)【国際公開番号】W WO2022118656
(87)【国際公開日】2022-06-09
【審査請求日】2023-05-25
(31)【優先権主張番号】10202011988T
(32)【優先日】2020-12-01
(33)【優先権主張国・地域又は機関】SG
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100189555
【氏名又は名称】徳山 英浩
(72)【発明者】
【氏名】バンガル ラマムルティ,スワミナタン
(72)【発明者】
【氏名】ティアガラジャー,ガナベンタン
(72)【発明者】
【氏名】ナガラジャン,ラジャ
(72)【発明者】
【氏名】ゴー,ザカリアー ションシオン
【審査官】松本 泰典
(56)【参考文献】
【文献】特開2011-100306(JP,A)
【文献】特開平07-328968(JP,A)
【文献】国際公開第2020/073680(WO,A1)
【文献】特開平11-104984(JP,A)
【文献】特開2007-249632(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00-87
B25J 9/22
B23Q 15/00
B25J 19/00
B25J 19/06
G06N 7/06
G06T 11/60
(57)【特許請求の範囲】
【請求項1】
作業現場でモバイルロボットをシミュレーションする装置であって、
作業現場の環境をマッピングする1以上のセンサと、
プロセッサと、
を備え、
前記プロセッサは、
前記1以上のセンサによって取得された前記環境の画像をディスプレイに表示し、
前記1以上のセンサの入力に基づいて前記環境のマッピングを実行し、
前記環境内の1以上の物体を検知し、
前記ディスプレイに表示された環境内に表示するための仮想モバイルロボットのグラフィックを生成し、
表示された環境内における前記仮想モバイルロボットの移動を制御するためのユーザ入力を受信する、
ように前記装置を動作させる命令を実行するように構成され、
前記仮想モバイルロボットは、当該仮想モバイルロボットが前記表示された環境内を移動するときに、前記環境内で検知された1以上の物体を回避するように構成され
、
前記表示された環境内に1以上のウェイポイントを追加するためのユーザ入力を受信し、当該1以上のウェイポイントに従って前記仮想モバイルロボットの移動をナビゲートする、ように動作可能であり、
前記1以上のウェイポイントのいずれかで前記仮想モバイルロボットが実行するタスクを設定するとともに、前記タスクの実行をシミュレーションするためのグラフィックスを表示する、ように動作可能である、装置。
【請求項2】
作業現場でモバイルロボットをシミュレーションする装置であって、
作業現場の環境をマッピングする1以上のセンサと、
プロセッサと、
を備え、
前記プロセッサは、
前記1以上のセンサによって取得された前記環境の画像をディスプレイに表示し、
前記1以上のセンサの入力に基づいて前記環境のマッピングを実行し、
前記環境内の1以上の物体を検知し、
前記ディスプレイに表示された環境内に表示するための仮想モバイルロボットのグラフィックを生成し、
表示された環境内における前記仮想モバイルロボットの移動を制御するためのユーザ入力を受信する、
ように前記装置を動作させる命令を実行するように構成され、
前記仮想モバイルロボットは、当該仮想モバイルロボットが前記表示された環境内を移動するときに、前記環境内で検知された1以上の物体を回避するように構成され
、
前記仮想モバイルロボットの移動のシミュレーションを表示するためのデータを処理するために、位置データを含むデータをサーバに送信し、
前記仮想モバイルロボットのシミュレーションを、5Gネットワークを介して前記ディスプレイにリアルタイムで表示するために、前記サーバからストリーミングされたデータを受信する、
ように動作可能であり、
前記サーバは、前記装置及び前記環境内で動作する1以上の他の装置の位置データを受信し、当該受信した位置データに基づいて前記環境内の交通を制御するように構成され、
前記サーバからストリーミングされたデータは、前記装置及び前記1以上の他の装置の交通状況を含み、
前記仮想モバイルロボットの移動のシミュレーションは、前記装置と前記1以上の他の装置との間の衝突が抑えられるように前記交通状況を考慮する、
装置。
【請求項3】
作業現場でモバイルロボットをシミュレーションする装置であって、
作業現場の環境をマッピングする1以上のセンサと、
プロセッサと、
を備え、
前記プロセッサは、
前記1以上のセンサによって取得された前記環境の画像をディスプレイに表示し、
前記1以上のセンサの入力に基づいて前記環境のマッピングを実行し、
前記環境内の1以上の物体を検知し、
前記ディスプレイに表示された環境内に表示するための仮想モバイルロボットのグラフィックを生成し、
表示された環境内における前記仮想モバイルロボットの移動を制御するためのユーザ入力を受信する、
ように前記装置を動作させる命令を実行するように構成され、
前記仮想モバイルロボットは、当該仮想モバイルロボットが前記表示された環境内を移動するときに、前記環境内で検知された1以上の物体を回避するように構成され
、
初期化工程中に前記環境内の地面に向けられた前記環境のキャプチャ画像を処理し、
前記ディスプレイ内に表示された地面上にグラフィック指標を表示し、
前記初期化工程が完了した後に前記仮想モバイルロボットのグラフィックを表示する、
ように動作可能である、装置。
【請求項4】
作業現場でモバイルロボットをシミュレーションする装置であって、
作業現場の環境をマッピングする1以上のセンサと、
プロセッサと、
を備え、
前記プロセッサは、
前記1以上のセンサによって取得された前記環境の画像をディスプレイに表示し、
前記1以上のセンサの入力に基づいて前記環境のマッピングを実行し、
前記環境内の1以上の物体を検知し、
前記ディスプレイに表示された環境内に表示するための仮想モバイルロボットのグラフィックを生成し、
表示された環境内における前記仮想モバイルロボットの移動を制御するためのユーザ入力を受信する、
ように前記装置を動作させる命令を実行するように構成され
、
前記仮想モバイルロボットは、当該仮想モバイルロボットが前記表示された環境内を移動するときに、前記環境内で検知された1以上の物体を回避するように構成され、
前記仮想モバイルロボットに搭載される前記作業現場で特定の機能を有する積載物を選択するためのユーザ入力を受信し、当該搭載された積載物を有する前記仮想モバイルロボットのシミュレーションを可能にする、ように動作可能である、装置。
【請求項5】
作業現場でモバイルロボットをシミュレーションする装置であって、
作業現場の環境をマッピングする1以上のセンサと、
プロセッサと、
を備え、
前記プロセッサは、
前記1以上のセンサによって取得された前記環境の画像をディスプレイに表示し、
前記1以上のセンサの入力に基づいて前記環境のマッピングを実行し、
前記環境内の1以上の物体を検知し、
前記ディスプレイに表示された環境内に表示するための仮想モバイルロボットのグラフィックを生成し、
表示された環境内における前記仮想モバイルロボットの移動を制御するためのユーザ入力を受信する、
ように前記装置を動作させる命令を実行するように構成され、
前記仮想モバイルロボットは、当該仮想モバイルロボットが前記表示された環境内を移動するときに、前記環境内で検知された1以上の物体を回避するように構成され
、
人間の目には見えない1以上の特徴のためのグラフィックスを表示するように動作可能であり、
前記1以上の特徴は、
前記作業現場でレーザを照射する能力を有する前記仮想モバイルロボット及び/又は他の検知された物体によって投影されたレーザの視界、
放射線放出源から放出される放射線、
のうちの1以上を含み、
前記仮想モバイルロボットは、移動中に前記1以上の特徴を回避するように構成されている、装置。
【請求項6】
前記環境内で検知された1以上の物体は、前記環境内で移動可能な1以上の物体を含む、請求項1
~5のいずれか1つに記載の装置。
【請求項7】
前記環境のマッピング中にマップが生成され、
前記装置は、前記マップ及び前記マップ内の1以上の検知された物体の情報を、記録のためにサーバに送信するように動作可能であり、
前記サーバは、前記環境内に存在する1以上の装置からの入力を受信して、前記マップ及び/又は前記マップ内の1以上の検知された物体の情報を更新し、前記装置が更新されたマップ及び/又は前記マップ内の1以上の物体の更新された情報を使用可能なように構成されている、請求項
1~6のいずれか1つに記載の装置。
【請求項8】
前記マップは、3次元マップであり、
前記3次元マップを2次元マップに変換し、当該2次元マップを前記サーバに送信する、ように動作可能である、請求項
7に記載の装置。
【請求項9】
前記仮想モバイルロボットによって決定された1以上の移動経路のデータを前記サーバに送信する、ように動作可能である、請求項
7又は8に記載の装置。
【請求項10】
前記表示された環境において前記仮想モバイルロボットの進入が許可されているゾーン及び/又は前記仮想モバイルロボットの進入が許可されていないゾーンを1以上選択するためのユーザ入力を受信する、ように動作可能である、請求項1~9のいずれか1つに記載の装置。
【請求項11】
前記積載物は、6軸以上のロボット運動をサポートするモバイルマニピュレータであり、前記モバイルマニピュレータは、1以上の生産タスクの実行をシミュレーションするように構成可能である、請求項
4に記載の装置。
【請求項12】
前記仮想モバイルロボットの移動のシミュレーションに基づいて、前記仮想モバイルロボットのワークサイクルタイム及び/又は前記仮想モバイルロボットの利用情報を推定する、ように動作可能である、請求項1~
11のいずれか1つに記載の装置。
【請求項13】
前記仮想モバイルロボットの1以上の動作パラメータを設定するためのユーザ入力を受信するように動作可能であり、
前記1以上の動作パラメータは、
前記仮想モバイルロボットの移動速度及び最大移動速度、
前記仮想モバイルロボットの回転速度及び最大回転速度、
前記仮想モバイルロボットの回転半径、
前記仮想モバイルロボットの加速/減速、
前記仮想モバイルロボットと前記環境内の物体との間の隙間、
前記仮想モバイルロボットがライン又はエリアに進入又は横断するときの抵抗レベル、
前記仮想モバイルロボットがライン又はエリアに進入又は横断するときの優先レベル、
のうちの1以上を含む、請求項1~
12のいずれか1つに記載の装置。
【請求項14】
複数の仮想モバイルロボットは、前記表示された環境内を移動するように生成され、各仮想モバイルロボットは、互いに回避すべき物体とみなす、請求項1~
13のいずれか1つに記載の装置。
【請求項15】
前記仮想モバイルロボットが前記環境内で自律的にナビゲートされるように設定することによって、前記仮想モバイルロボットのマッピング、ナビゲーション、及び/又は動作に関連する情報を収集するか、或いは、
ユーザが前記仮想モバイルロボットを前記環境内で移動させるための入力を行うことによって、前記仮想モバイルロボットのマッピング、ナビゲーション、及び/又は動作に関する情報を収集する、
ように動作可能である、請求項1~1
4のいずれか1つに記載の装置。
【請求項16】
ハンドヘルド型のモバイル機器である、請求項1~
15のいずれか1つに記載の装置。
【請求項17】
作業現場でモバイルロボットをシミュレーションするためのシステムであって、請求項1~1
6のいずれか1つに記載の装置と、請求項
2、7~9のいずれか1つに記載のサーバを含むクラウドシステムとを備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業現場でモバイルロボットをシミュレーションする装置及び方法に関し、具体的には、モバイルロボットをシミュレーションし、及び/又は作業現場における1以上のモバイルロボットの配置を計画するために必要な情報を収集するための装置及び方法に関する。
【背景技術】
【0002】
生産ラインや製造工場などの作業現場では、物体/物品の搬送、生産作業の実行、及び/又は環境の検査などのタスクを行うように、自律型モバイルロボットが使用される。これらのロボットは、指示された場所の間を移動するために指示を受けるなど、人間とのインタラクションが可能である。
【0003】
現在、これらの自律型モバイルロボットを作業現場に配置する計画を立てることは、時間がかかり、困難である。ロボットの最適な配置方法を決定するためには、作業現場の多くの情報を手作業で収集しなければならない。また、計画段階では、ロボットが配置された後のシナリオをユーザがイメージすることは困難である。更に、ロボットが配置された後に、更なるロボットを追加する計画を立てることも困難である。
【0004】
また、作業現場でロボットのデモンストレーションやテストを行うには、各ロボットがかなり大きく、搬送することが困難な場合もあるので、必ずしも実際的ではない。また、生産拠点が遠隔地にある場合には、ロボットを現地に派遣してデモンストレーションやテストを行うことが、困難であったり、コストがかかったり、不可能であったりする。
【発明の概要】
【0005】
本開示の一例によれば、独立請求項に記載されているように、作業現場でモバイルロボットをシミュレーションする装置及び方法が提供される。
【0006】
また、システムの請求項において、作業現場でモバイルロボットをシミュレーションするシステムが提供される。いくつかのオプション機能は、従属請求項に定義されている。
【図面の簡単な説明】
【0007】
【
図1】本開示の一実施例に係る装置を備えるシステム構造を示す図である。
【
図2】本開示の一実施例に係る方法のフローチャートを示す図である。
【
図3】仮想モバイルロボットのシミュレーションの前に行われる初期化ステップを示すグラフィカルユーザインタフェースの画面図である。
【
図4】仮想モバイルロボットが配置されたグラフィカルユーザインタフェースの画面を切り取った図であって、仮想モバイルロボットが強調表示されている図である。
【
図5】仮想モバイルロボットが配置されたグラフィカルユーザインタフェースの画面を示す図である。
【
図6】本開示の一実施例の仮想モバイルロボットに搭載するためのユーザ選択可能な積載物を含む積載物リストの例を示す図である。
【
図7】本開示の一実施例の仮想モバイルロボットに搭載するためのユーザ選択可能な積載物を含む積載物リストの例を示す図である。
【
図8】本開示の一実施例に係るグラフィカルユーザインタフェースにおける異なる積載物を搭載した仮想モバイルロボットの4つの画面のうちの1つを示す図である。
【
図9】本開示の一実施例に係るグラフィカルユーザインタフェースにおける異なる積載物を搭載した仮想モバイルロボットの4つの画面のうちの1つを示す図である。
【
図10】本開示の一実施例に係るグラフィカルユーザインタフェースにおける異なる積載物を搭載した仮想モバイルロボットの4つの画面のうちの1つを示す図である。
【
図11】本開示の一実施例に係るグラフィカルユーザインタフェースにおける異なる積載物を搭載した仮想モバイルロボットの4つの画面のうちの1つを示す図である。
【
図12】特定の積載物が搭載された仮想モバイルロボットを示す図であって、特定の積載物のアニメーションがオフの状態を示す図である。
【
図13】
図12の仮想モバイルロボットを示す図であって、特定の積載物のアニメーションがオンの状態を示す図である。
【
図14】3次元(3D)マップから2次元(2D)マップへのマップ変換処理を説明するための図である。
【
図15】本開示の一実施例における5Gネットワークの利用を説明する図である。
【発明を実施するための形態】
【0008】
生産ラインや製造工場では、生産工程や製造工程を促進するために、自律型モバイルロボットが配置されることがある。各モバイルロボットは、機械又は装置を搭載し、搭載された機械又は装置を使用してタスクを実行するためにモバイルロボットをモバイルステーションに搬送し得る。本開示においては、「積載物(payload)」という用語が、搭載された機械又は装置を指すために、使用される。
【0009】
これらの自律型モバイルロボットを作業現場に配置する計画を立てることは、時間がかかり、困難である。例えば、計画及び配置に6ヶ月から12ヶ月かかることもある。ロボットの最適な配置方法を決定するためには、作業現場の多くの情報を収集しなければならない。例えば、間取り図、現場の画像、機器の位置などである。また、計画段階では、ロボットが配置された後のシナリオをユーザがイメージすることは困難である。ロボットが配置された後であっても、更なるロボットを追加する計画を立てることは困難である。
【0010】
本開示の実施例は、モバイルロボットの計画及び配置のための時間を、簡略化し、数週間という短い期間に短縮可能な装置及び方法を提供することができる。具体的には、本装置及び方法は、計画のために作業現場から情報を収集するための簡単で便利な解決策を提供する。また、本装置及び方法は、潜在的なユーザに対して、モバイルロボットの能力をデモンストレーションしたり、モバイルロボットの配置後のシナリオをシミュレーションしたりするためのデモンストレーションツールを提供する。
【0011】
本装置は、情報を収集するために作業現場に存在しなければならない。本開示の一例において、本装置は、スマートフォン、タブレット端末、ラップトップなどの手持ち可能なモバイル機器であってもよい。別の例において、本装置は、可動式のモバイルベースを有する現実のモバイルロボット(作業現場に存在する現実のロボット)であってもよい。また、本装置は、ユーザによって押されることができる可動式のカートであってもよい。モバイルベースは、モバイルロボットを移動させるための車輪及び/又はトラックを有してもよい。モバイルロボットは、それ自体で作業現場を移動するように構成されてもよい。また、モバイルロボットは、ユーザによって遠隔操作されて作業現場を移動されてもよい。可動式のカートの場合、同様に車輪及び/又はトラックを備えるモバイルベースを有し、ユーザによって押し回されてもよい。
【0012】
本装置は、ナビゲーション/エリアマッピングの目的で使用される1以上のセンサを備えるとともに、画像(写真又はビデオ)を取得するための1以上のカメラを備えてもよい。「マッピング」という用語は、作業現場の環境のためのマップを作成する目的で、作業現場の環境をスキャン又は感知することを意味する。マッピングは、マップの一部を作成する工程、又はマップ全体を作成する工程を意味する。マッピング入力とは、全体又は一部のマップを作成するためのデータをいう。このようなマッピング入力は、1以上のセンサから得ることができる。また、1以上のセンサは、レーザセンサ(LiDARシステム用など)、赤外線センサ、超音波センサなどであってもよいし、それらを含んでもよい。LiDARは、レーザ光を対象物に照射し、その反射をセンサで測定することによって距離を測る(測距)技術に関するものである。レーザの反射時間や波長の違いを利用して、対象物をデジタル3次元(3D)表現することができる。
【0013】
本装置は、SLAM(Simultaneous Localization and Mapping)機能を有するように構成されてもよい。SLAMは、例えば、AMCL(Adaptive Monte Carlo Localization)アルゴリズムを用いて実行することができる。AMCLアルゴリズムは、2次元(2D)のマップ上を移動する、すなわち2Dマップ上でナビゲートされる物体(AMCLノードとして知られる)の確率的な定位システムに関するものである。AMCLノードは、LiDARによるレーザスキャンやレーザマップと連携するように構成されているが、ソナーやステレオなどの他のセンサデータと連携するように拡張されてもよい。SLAMとAMCLとが含まれる場合、環境の2Dマップ(通常は環境の上面図)を作成する必要がある。
【0014】
本装置は、ソフトウェアを操作又は実行するように構成されている。このソフトウェアは、モバイルオペレーティングシステム(GoogleのAndoroid、iphoneオペレーティングシステムなど)のモバイルアプリケーションや、ポータブルコンピュータ(ノートブック、ラップトップなど)のオペレーティングシステム(Windows、MacOSなど)上で実行されるアプリケーションなどであってもよい。ソフトウェアは、作業現場の環境のナビゲーション/エリアマッピングを行うために、1以上のセンサと連携する。また、ソフトウェアは、後で詳しく説明するように、ユーザがナビゲーション/エリアマッピングに関するデータ以外のデータ(サイクルタイム、利用率など)を取得するのに役立つ。ソフトウェアは、表示用の仮想モバイルロボットを作成し、作成された仮想モバイルロボットの動作及び/又は操作を作業現場の環境でシミュレーションするように構成されている。ソフトウェアは、ユーザがソフトウェアを構成及び/又は使用することを容易にするために、グラフィカルユーザインタフェースを提供してもよい。
【0015】
本装置は、LCD、LED、又はOLEDスクリーンなどのディスプレイを有してもよい。ディスプレイは、ソフトウェアのグラフィカルユーザインタフェースを表示するために使用される。本装置は、ディスプレイの背景として作業現場の環境を表示し、その表示された環境中に、作成された仮想モバイルロボットを重ね合わせたり、拡張したりするように構成されてもよい。環境は、1以上のカメラで取得されてもよい。また、1以上のセンサは、レーザセンサ、赤外線センサ、超音波センサなどの他の種類のセンサであってもよい。これらのセンサは、環境をマッピングし、環境を表すグラフィックをレンダリングするためのデータを提供して、ディスプレイに表示させることができる。背景として表示される環境は、マッピング入力に基づいて作成された完全な仮想環境(例えば、仮想環境は完全に家具付きの環境をシミュレーションすることができる)、又はオーバーレイを使用した部分的な仮想環境、又はカメラで取得されたものの上に補強されたもの(例えば、仮想モバイルロボットを妨害することができる壁及び/又は他の物体のみが強調表示される、地面は意図的にメッシュで提供される、など)であってもよい。仮想グラフィックコンテンツ及び/又はグラフィックオーバーレイの外観は、カスタマイズ可能であってもよい。
【0016】
ユーザは、仮想モバイルロボットの動作を制御するために入力を行うことができる。このようなユーザの入力は、配備される実際のモバイルロボットをプログラムするために使用することができる。作業現場での情報収集のために実際のモバイルロボットを遠隔操作する場合には、ユーザが遠隔地にいる場所にディスプレイが設置され、仮想モバイルロボットのシミュレーション及び/又はシミュレーションからの情報収集のために、仮想モバイルロボットを操作するためのグラフィカルユーザインタフェースをユーザに提供することができる。仮想モバイルロボットのグラフィックは、移動可能な物体が表示されていれば、どのような形態でもよい。例えば、凝ったデザインのない単純な球体や箱型の物体であってもよい。また、実際のモバイルロボットをリアルに表現したグラフィックであってもよい。
【0017】
一例として、本装置は、以下のようにジョブa)~e)を実行するように構成される。
【0018】
a)1以上のセンサからの入力に基づいて、作業現場の環境のマップを生成する。マップは、2次元(2D)及び/又は3次元(3D)のマップであってもよい。本開示における「マップ」の全ての言及は、このマップを指す。2Dマップは、環境の上面図であってもよい。一例として、3Dマップは、最初に作成され、その後、2Dマップに変換されてもよい。マップは、まず、装置を作業現場の環境の周りで移動させて、環境をスキャンしてマッピングすることによって生成されてもよい。マップが生成された後、定位データ、グローバル経路データ、静止物体及び/又は動的物体を含む障害物に関連する物体データ、及び/又は他の情報が収集されてもよい。動的物体の例としては、人間、機械、及び/又は床に置かれているランダムなものを挙げることができる。或いは、装置が作業現場の環境を移動する際にマップが生成され、同時に定位データ、グローバル経路データ、静止物体及び/又は動的物体を含む障害物に関する物体データ、及び/又はその他の情報を収集することも可能である。
【0019】
b)定位データ、すなわち、生成されたマップ上での仮想モバイルロボットの位置に関するデータを取得する。作業現場の環境に存在する本装置は、仮想モバイルロボットのハードウェアとみなすことができる。従って、本装置が位置を追跡する場合、本装置の位置を利用して仮想モバイルロボットの位置を追跡することができる。定位とは、本装置がマップ上で位置を追跡することである。定位は、本装置が1以上のセンサから収集したデータに基づいて環境内での位置を推定するために使用するプロセスである。例えば、定位には2つのタイプがある。レーザ定位は、本装置のレーザセンサ(LiDARスキャナなど)からのデータをマップと合わせて使用し、その位置を算出するものである。これは、本装置が環境(又は操作空間)内の位置を追跡するためのデフォルトの方法として設定されてもよい。任意で、本装置は光を用いて環境内での位置を追跡してもよい。この場合、光源を用意する必要がある。これは、本装置がスマートフォンなどのモバイル機器の場合はトーチライト機能、及び/又は、本装置がユーザによって制御される実際のモバイルロボットや、ユーザによって押される移動可能なカートの場合は取り付けられたヘッドライトであってもよい。光定位プロセスは、物体が本装置に対して頻繁に移動するような動的な環境下で用いられ、物体及び/又は本装置の過去の位置に基づいて定位を行うことができる。定位の間、マップと1以上のセンサから収集したデータを比較し、仮想モバイルロボットの位置を修正する。この情報により、本装置は、マップ上の仮想モバイルロボットの位置を追跡することができる。
【0020】
c)仮想モバイルロボットのために本装置によって自動計算された1以上のルート又は経路などのグローバル経路データを取得する。これらの自動計算された経路は、作業現場に配置され得る実際のモバイルロボットへの指示又はガイダンスとして使用することができる。経路の自動計算には、コストベースの経路計画と呼ばれる経路計画方式が用いられてもよい。この方式では、ゴール(ユーザがソフトウェア上で設定したウェイポイントなど)への進行を指示された仮想モバイルロボットが、マップ上の情報に基づいて、仮想モバイルロボットの現在地からゴールに到達するまでの最も効率的な経路をマップ上で探索する。この経路はグローバル経路と呼ばれ、2点間の最適な経路となる。仮想モバイルロボットは、この経路に沿ってゴールに向かうが、その過程でマップに記録されていない障害物(仮想モバイルロボットの移動を妨げている物体であって、マップに記録されていないもの)を回避することができる。本装置がマップにない物体を検知した場合、本装置は、仮想モバイルロボットのローカル経路を変更してその物体を回避する。仮想モバイルロボットがグローバル経路に沿って進むことができない場合、本装置は、マップ上の情報に基づいて、仮想モバイルロボットの新しいグローバル経路を再計画してもよい。
【0021】
d)仮想モバイルロボットに対する静止物体及び/又は動的物体を含む障害物に関連する物体データを取得し、マップに対するその移動及び位置を記録する。そのような物体は、1以上のセンサを使用して検知される。
【0022】
e)任意で、サイクルタイム及び稼働率データなど、作業効率の向上に関連するその他の情報を収集する。サイクルタイムとは、仮想モバイルロボットに割り当てられたタスクを仮想的に実行することを含むワークサイクルを仮想モバイルロボットが完了するまでの時間をいう。また、稼働率データとは、仮想モバイルロボットがどの程度利用されているかを示すデータである。また、他の例としては、作業現場での移動のための交通状況を挙げることができる。
【0023】
例えば、本装置は、以下の6種類の入力(i)~(vi)をユーザから受信するように構成されてもよい。
【0024】
(i)ユーザは、本装置の移動に伴って、ディスプレイに表示された環境中の特定のポイント又はエリアにウェイポイントを入力してもよい。例えば、ディスプレイがタッチスクリーンである場合、ユーザはディスプレイに表示されている環境中のポイント又はエリアを選択し、それをウェイポイントとして設定してもよい。また、グラフィカルユーザインタフェースを介して、作成されたマップ上のポイント又はエリアを選択することによって、ウェイポイントが設定されてもよい。各ウェイポイントには、コメントが付けられたり、ゴールが設定されたりしてもよい。例えば、仮想モバイルロボットの二次電池の充電をシミュレーションするための充電エリア、仮想モバイルロボットに搭載された積載物を交換するためのエリア、仮想モバイルロボットの修理エリア、仮想モバイルロボットによる特定の生産/倉庫作業を行うためのエリアなど、特定の行動を行うためのポイント又はエリアとしてウェイポイントが設定されてもよい。また、ウェイポイントは、本装置によってシミュレーションされる仮想モバイルロボットの経路をナビゲートするためのガイドとしても機能する。ウェイポイントには、仮想モバイルロボットがウェイポイント間を移動する際の優先順位を示す番号が付けられてもよい。
【0025】
(ii)ユーザは、環境内において、仮想モバイルロボットが進入を許可されている1以上のゾーン又はエリア、及び/又は仮想モバイルロボットが進入を許可されていないゾーン又はエリアを区画してもよい。特定のゾーンが進入するのに好ましい場合、又は完全には許可されていない場合、経路計画の目的のために、これらの区画されたゾーン又はエリアに、抵抗又は優先レベルが割り当てられてもよい。抵抗及び優先度の詳細は以下に提供される。
【0026】
(iii)ユーザは、本装置によって実行されるソフトウェアのグラフィカルユーザインタフェースを介して、経路計画パラメータを入力してもよい。経路計画パラメータは、仮想モバイルロボットが環境内をどのように移動するかを制御する。経路計画パラメータの非網羅的なリストは、以下の通りである。
1)仮想モバイルロボットの最大移動速度及び最大回転速度。
2)仮想モバイルロボットの回転半径。
3)経路計画グリッドのグリッド解像度。経路計画グリッドは、上述したコストベースの経路計画と呼ばれる経路計画方式に関連してもよい。例えば、概念的には、この経路計画方式の「コストベース」の側面又はグリッド解像度は、生成される2Dマップ(上面図)を経路計画グリッドと呼ばれる離散的な100mmのマス目(通常は十分な大きさ)に分割し、各マス目にコストを割り当てる。自由な(何もない)マス目(障害物が近くにない正方形)のコストは、0.1であってもよい。壁及び他の固定物を含むマス目のコストは、無限大であり、仮想モバイルロボットは、コストが高すぎるため、これらのマス目には絶対に入らないことになる。
4)仮想モバイルロボットの速度の速さ及び遅さ。例えば、マップ上の特定のウェイポイント、及び/又は、ポイント又はエリアでの仮想モバイルロボットの移動速度を設定してもよい。いくつかのエリアでは、交通制御、安全性、又はその他の目的で仮想モバイルロボットを減速させる必要がある場合がある。
5)仮想モバイルロボットのパディング(padding)及び隙間(高速及び低速時)。これは、仮想モバイルロボットを環境中の物体からどの程度の隙間又は距離を有する必要があるかをいう。
6)特定のウェイポイント、及び/又は、マップ上のポイント又はエリアでの仮想モバイルロボットの回転速度。
7)選択されたウェイポイントでの仮想モバイルロボットの加速/減速、及び/又は、ユーザが環境内で仮想モバイルロボットを駆動するときの加速/減速。
8)抵抗のあるセクタ、抵抗のあるラインの抵抗量。セクタは、例えば、ユーザがグリッドのマス目を選択することによってマップ上に設定したゾーン又はエリアである。ラインとは、ユーザによってマップ上に設定された境界線をいう。ここで「抵抗」とは、マップ上に設定された抵抗のあるセクタ及び/又はラインを横切るためのコストを意味する。これは、仮想モバイルロボットが、特定のセクタを駆動すること及び/又はラインを横断することにどの程度抵抗し、代替の経路を見つけるかを定義する値である。抵抗のあるセクタ又はラインを通過するためのコストは、その抵抗値に乗じて算出されてもよい。例えば、通常のエリア又はセクタにはコスト値として1が付与され、抵抗値を1に設定すると抵抗の動作がオフになる。
9)仮想モバイルロボットが横断又は追従するのに好ましいライン、仮想モバイルロボットが進入するのに好ましいセクタ、及び/又は仮想モバイルロボットが移動するのに好ましい方向。例えば、同じ抵抗値が優先度のレベルを示すために使用されてもよいし、別の優先度の値が優先度のレベルを示すために使用されてもよい。
【0027】
(iv)ユーザは、ユーザの要求に応じて、1以上のセンサの定位パラメータを制御/調整してもよい。なお、以下ではミリメートル(mm)の単位で示しているが、他の測定単位も同様に適用可能である。
【0028】
レーザ定位を使用する場合、定位パラメータの例は以下の通りである。
-定位スコアに基づいてサンプル数を変化させるフラグ。有効にすると、仮想モバイルロボットが移動し且つ定位スコアが高いときに、サンプル数を少なくすることができる。これにより、本装置の中央演算処理装置(CPU)又は計算機の負荷が軽減される。
-定位に使用するレーザの設定に要求される間隔(程度)を調整するパラメータである。このパラメータは、互いに近すぎる読み取り値を破棄するように設定される。これにより、本装置のCPU又は計算機の負荷が低減する。
-レーザ定位中に作成されるマップグリッドのグリッド解像度(mm)。これはスキャン解像度に関連する。この値を下げると、定位の精度は向上するが、本装置のメモリ使用量(RAM使用量など)が増加する。
-線形移動量のミリ単位の誤差。これは、本装置の線形走行距離計の読み取り値の許容誤差(mm)をいう。設定値が高すぎると、サンプルポーズが広がりすぎて本装置が位置を特定できなくなる。設定値が低すぎると、本装置が位置を特定できない可能性がある。
-装置の回転角に対する誤差の度合い。これは、本装置の回転方向の走行距離計の読み取り値の許容誤差(度数)をいう。設定値が高すぎると、サンプルポーズが分散しすぎて本装置が位置を特定できなくなる。また、設定値が低すぎると、本装置が定位できない可能性がある。
-1mm当たりの直線移動の誤差の度合い。これは、1mmの直線移動当たりのロボットの回転の許容誤差(度数)をいう。設定値が高すぎると、サンプルポーズが広がりすぎて本装置が位置を特定できなくなる。また、設定値が低すぎると、本装置が定位できない可能性がある。
-定位に使用するサンプルポーズの数。これは、スキャンの解像度に関係する。この値を大きくすると、定位の計算量が増加する。この値が低すぎると、本装置が定位できなくなる。
-定位する前に本装置が移動する距離(mm)。これは、装置の定位の頻度に関連する。このパラメータを調整することで、本装置のCPU又は計算機の負荷を低減することができる。本装置は、リストされた距離値を超えて移動した場合のみ定位する。
-本装置が定位を開始する前に曲がる角度(度数)。これは、本装置の定位の頻度に関連する。このパラメータを調整することで、装置のCPU又は計算機の負荷を低減することができる。本装置は、リストされた角度値を超えて回転した場合のみ定位する。
【0029】
光の定位を利用する場合における、定位のパラメータの例を以下に示す。なお、以下に述べる光源とは、本装置に搭載されたもの、又は本装置と連携するために別途用意されたものをいう。
-光源の地面からの最低高さ(mm)。この値は、概算値であり、実際の値よりも低くすべきである。この値は、有効な範囲を設定して誤検知をなくすために使用される。
-地面からの光源の最大高さ(mm)。この値は、概算値であり、実際の値よりも高くすべきである。この値は、有効な範囲を設定して誤検知をなくすために使用される。
-光源の最小長さ(mm)。この値は、概算値であり、実際の値よりも僅かに低くすべきである。
-光源の最大長さ(mm)。この値は、概算値であり、実際の値よりも僅かに高くすべきである。
【0030】
(v)ユーザは、仮想モバイルロボットが特定のタスクを実行するように設定してもよい。また、タスクの継続時間が設定されてもよい。任意で、仮想モバイルロボットによるタスクの実行を示すシミュレーション(例えば、アニメーションビデオの形態)が提供されてもよい。一例として、仮想モバイルロボットは、以下のことが行われると、あたかも現実のモバイルロボットであるかのように、環境内で移動し且つ動作するように設定されてもよい。
-環境のマップが生成される。
-仮想モバイルロボットに特有のウェイポイントがユーザによってマップ上に設定される。
-仮想モバイルロボットがウェイポイント間をどのように移動するのかが設定される。
-作業現場のウェイポイントで行われるべきタスク又は行動が設定される。
仮想モバイルロボットの動作に伴い、サイクルタイムや稼働率などの仮想モバイルロボットの作業効率に関する情報が算出される。
【0031】
(vi)ユーザは、様々な積載物のリストから積載物を選択して搭載してもよい。また、ユーザは、ユーザが希望するカスタマイズされた積載物のCADモデル、及び/又は、ユーザが必要とするカスタマイズされたモバイルロボットのCADモデルを入力してもよい。
【0032】
本装置のソフトウェアは、2以上の仮想モバイルロボット、及び/又は、2以上の仮想モバイルロボットが配備されている場合に交通状況をシミュレーションするための1以上の物体を含むように構成されてもよい。各仮想モバイルロボットは、仮想モバイルロボットについて上述した内容に従って構成されてもよい。作成される1以上の物体は、ある場所に置かれた家具、建物の構造、及び/又は機器などの静止物体であってもよい。また、作成される1以上の物体は、人、モバイル機器、及び/又は他のモバイル物体などの動的物体であってもよい。交通データは、交通制御管理のためにシミュレーションから収集されてもよい。また、ソフトウェアは、1以上の仮想モバイルロボット及び環境内の任意の作成された物体のシミュレーションをユーザが見ることができるように構成されてもよい。
【0033】
図1には、上述したような装置を備えるシステム100のシステム構造の一例が示されている。
図1において、本装置は、102の参照符号が付されている。装置102は、作業現場の環境に存在して、作業現場でのモバイルロボットの配置を計画するための情報を収集したり、作業現場で働く仮想モバイルロボットの動作及び操作のシミュレーションを実行したりする。具体的には、装置102は、前述のa)~e)の仕事を行う。
【0034】
本実施例において、装置102は、タッチスクリーン画面を有するスマートフォンであり、モバイルアプリケーション103を実行するように構成されている。装置102は、作業現場の環境でマッピング及び定位処理107を行うために、LiDARシステム用のセンサを含む1以上のセンサ109(3Dスキャナ/センサ)を備える。また、1以上のセンサ109は、カメラを有する。装置102は、ユーザ120に対して、カメラで取得された環境を背景として表示するとともに、アプリケーション103によって作成され且つ背景に重ね合わされ又は付加された仮想モバイルロボットを表示するためのグラフィカルユーザインタフェース105(GUI)を提供する。更に、GUI105は、ユーザ120に対して、以下の機能を提供する。
1)例えば、タッチスクリーン画面上にタッチで操作可能な仮想モバイルパッド又はジョイスティックを設けることによって行うことができる仮想モバイルロボットの動作を制御すること;
2)仮想モバイルロボットに搭載される積載物を、積載物リストから選択すること;
3)前述の6種類のユーザ入力(i)~(vi)を受け付けること;
4)仮想モバイルロボット、任意の積載物、環境に表示される任意の物体、及び/又は表示される環境をカスタマイズすること;
5)環境に表示されるとともに、定位時、経路の自動計算時、及び/又は物体検知時に考慮される任意の物体を追加すること;及び
6)ユーザがカスタマイズした積載物、ユーザがカスタマイズした仮想モバイルロボット、及び/又は、環境に表示されるユーザが作成した任意の物体のCADモデルを保存のためにアップロードすること。
【0035】
装置102は、仮想マシン(VM)技術を使用することができるクラウドシステム104と連携する。例えば、クラウドサービスは、仮想マシンを使用して、一度に複数のユーザに仮想アプリケーションリソースを提供することができる。仮想マシン(VM)は、プログラムを実行し、アプリケーションを展開するために、物理的なコンピュータの代わりにソフトウェアを使用するコンピューティングリソースであってもよい。物理的な「ホスト」マシン上で、1以上の仮想「ゲスト」又は「クライアント」マシンが実行されてもよい。各仮想マシンは、独自のオペレーティングシステムを実行し、全てのVMが同じホスト上で動作している場合でも、他のVMとは別に機能することができる。
【0036】
具体的には、装置102は、以下に説明するクラウドシステム104内の複数のサーバと連携する。別の例では、複数のサーバが、以下に説明する各サーバの作業範囲を処理してもよいことが理解される。
【0037】
本実施例では、クラウドシステム104は、以下のクラウドストレージを管理するストレージサーバ106を有する。
1)前述の仮想モバイルロボットに搭載される装置102でユーザが選択可能な積載物のデータ(画像、テキスト、音声など)、及び
2)積載物、ユーザがカスタマイズした積載物、仮想モバイルロボット、ユーザがカスタマイズした仮想モバイルロボット、及び/又は、環境に表示することができる任意の作成された物体のCADモデルのデータ。
【0038】
装置102は、動作中に必要に応じて、上述のデータをサーバ106にダウンロードしたり、サーバ106からアップロードしたりする。また、別の例では、そのようなデータは、装置102がアクセス可能なローカルメモリにローカルに保存されてもよい。また、サーバ106は、装置102のような装置の複数のユーザのユーザカウントを管理し、アプリケーション103を使用するためにログインした各ユーザの認証を行うように構成されてもよい。
【0039】
クラウドシステム104は、自律型インテリジェント車両(AIV)マッピングソフトウェア(モバイルプランナーとも呼ばれる)を実行するためのプランニングサーバ108を更に備える。このプランニングサーバ108は、装置102によって提供されるマッピング入力から作業現場のマップを作成し、仮想モバイルロボットのためのAIV構成を管理するためのコントロールセンターとして機能する。プランニングサーバ108は、装置102のような複数の装置や実在するモバイルロボットのマッピングや設定をサポートすることができる。なお、AIVとは、装置102で作成された仮想モバイルロボットのことをいう。本実施例において、モバイルプランナーは、サーバベースのアプリケーションである。従って、マップを作成するためのマッピング処理は、装置102ではなく、サーバ108で行われる。装置102がマッピング入力をサーバ108に提供するだけで、サーバ108は、作成されたマップを返信する。別の例において、モバイルプランナーは、装置102で実行されるローカルアプリケーションであってもよい。
【0040】
また、クラウドシステム104は、仮想モバイルロボットの動作を現場の環境でシミュレーションするために必要な処理を行うソフトウェア(フリートマネージャとも呼ばれる)を実行するためのシミュレーションサーバ110を備えている。フリートマネージャは、作業現場の環境における現実及び/又は仮想のモバイルロボットを制御することができる。フリートマネージャは、環境内の複数の現実及び/又は仮想のモバイルロボットを設定するための集中設定プラットフォームを提供する。また、フリートマネージャは、複数の現実及び/又は仮想のモバイルロボットのための中央マップ管理プラットフォームを提供する。フリートマネージャを使用して集中的に行われたユーザ設定と、フリートマネージャで集中的に収集されたマップ情報とは、複数の現実及び/又は仮想のモバイルロボットに自動的に伝搬されることができる。フリートマネージャは、更に、ジョブの列を管理し、ジョブを使用可能な現実及び/又は仮想のモバイルロボットにマッチングさせ、割り当てられたジョブを実行するために、環境内の複数の現実及び/又は仮想のモバイルロボットを派遣する。また、フリートマネージャは、複数の現実及び/又は仮想のモバイルロボットの交通管理を行い、衝突を抑えたり、効率的な移動を確保したりする。現実及び/又は仮想のモバイルロボットの位置及び軌道情報は、フリートマネージャによって共有される。フリートマネージャは、環境内の複数の同一の装置102及び/又は現実のモバイルロボット、及び他の自動化装置(現実及び/又は仮想のモバイルロボットを除く)を備えられるソフトウェアクライアントの統合及び通信の単一ポイントとして機能する。本実施例において、フリートマネージャは、サーバベースのアプリケーションである。別の例において、フリートマネージャは、フリートマネージャの一部又は全ての機能が前記装置で実行されるローカルアプリケーションとして提供されてもよい。
【0041】
仮想モバイルロボットの移動のシミュレーション中に、ユーザが仮想モバイルロボットと共に装置102を移動させて、仮想モバイルロボットが動的物体を回避する(すなわち、迂回する)ことを可能にするために定位を実行しない場合でも、仮想モバイルロボットのシミュレーションは、未だ継続され、フリートマネージャからのリアルタイムの更新に基づいて表示されることができる。フリートマネージャは、作業現場に配置された他の現実及び/又は仮想のモバイルロボットからの更新情報に基づいて、作業現場の交通状況に関するリアルタイムの更新を提供することができる。他の現実及び/又は仮想のモバイルロボットによって検知された動的物体は、装置102が仮想モバイルロボットのための定位を実行するために周囲にいなくても、仮想モバイルロボットのために記録及びマッピングすることができる。
【0042】
クラウドシステム104は、典型的にはイベントがリアルタイムで発生したときに、工場の活動を管理及び報告することによって、製造動作を推進するために使用される製造実行システム(MES)サーバ112を備える。MESサーバ112は、原材料から完成品への変換を追跡し、文書化するために製造業で使用されることができる。MESサーバ112は、製造の意思決定者が生産出力を向上させるために工場内の現状をどのように最適化できるかを理解するのに役立つ情報を提供することができる。MESサーバ112は、生産プロセスの複数の要素(例えば、入力、人員、機械、及びサポートサービス)の制御を可能にするために、リアルタイムで動作することができる。MESサーバ112は、環境内の現実及び/又は仮想の機器/機械、及び/又は環境内の現実及び/又は仮想のモバイルロボットによって実行される製造工程を管理、調整、監視、及び制御するために使用される。
【0043】
モバイルプランナー、フリートマネージャ、及びMESサーバ112は、装置102のような複数の装置をサポートするために、互いに通信することができる。
【0044】
図2は、作業現場の情報を収集するために、カメラ及びLiDARシステムを備えるスマートフォンである
図1の装置102によって実行される方法の一例を示すフローチャートである。また、この方法は、仮想モバイルロボットの移動や動作のシミュレーションを提供する。ステップ202においては、ユーザが装置102の
図1のモバイルアプリケーション103を起動する。起動に先立って、ユーザは、アプリケーション103にログインすることを要求され、アプリケーション103を使用するためのアクセスが与えられる前に、アプリケーションと通信しているサーバによって正常に認証されてもよい。起動後に、
図1のGUI105にメニューが表示され、ユーザが実行する機能を選択できるようにしてもよい。機能の1つとして、作業現場のマップを作成するマッピングを行うことができる。
【0045】
ステップ204において、アプリケーション103は、ユーザがマッピングを実行するように選択したとき又はアプリケーション103の起動時に、マップを作成するためにマッピングが必要か否かをチェックする。作業現場のマップが既に存在する場合(例えば、モバイルプランナー又はフリートマネージャによってアップロード又は更新された場合、又は以前に作成された場合)、マッピングは必要なく、工程はステップ222に進む。装置102は、モバイルプランナー又はフリートマネージャと通信して、既存のマップを取得したり、既存のマップの更新情報を取得したりしてもよい。一例として、アプリケーション103は、マップが既に存在する場合、再マッピングを進めるか否かをユーザに促してもよい。マッピングが必要な場合、ステップ206において、3Dマッピングが開始される。この例において、ユーザは、環境をスキャンして環境の3Dマップを作成するために、装置102を作業現場の周りに移動させなければならない。マッピング工程の間、装置102を3Dマップ内で検知して記録するために、環境内に静止/動的物体が提供されてもよい。装置102は、3Dマッピングのために、
図1の1以上のセンサ109から入力を得る。3Dマップが作成された後、3Dマップから2Dマップ(環境の上面図)が作成される。本方法は、2Dマップが作成されてユーザが終了を選択した後、ステップ224で終了する。或いは、ユーザは、GUI105を介して指示を出し、仮想モバイルロボットのシミュレーションを行うなどの他の機能(すなわち、ステップ222)を実行したり、ステップ208に進んでユーザが2Dマップの編集を希望するか否かをユーザに確認したりすることができる。
【0046】
ユーザが2Dマップの編集を希望する場合(又は、フリートマネージャが2Dマップの更新情報を有している場合)、ユーザ(又はフリートマネージャ)は、ステップ210でマップの編集に進む。マップの編集は、ウェイポイントの追加及びウェイポイントで達成すべき目標の設定、許可/不許可ゾーンのマーキング、経路計画パラメータの編集、及び前述の6種類のユーザ入力(i)~(vi)のそれぞれ(i)、(ii)、(iii)、(v)に従ってシミュレーションされる仮想モバイルロボットのタスクの設定を含んでもよい。また、マップの編集は、マップ上の特定の位置及び/又はエリアに静止/動的な物体を追加することも含んでもよい。
【0047】
マップが既に編集されており、ユーザがステップ208で2Dマップの編集を希望しない場合、ステップ212で、仮想モバイルロボットによる自動経路計画のためのシミュレーションを実行することができる。ステップ212は、ステップ210でマップの編集が行われた後に進むこともできる。
【0048】
ステップ212では、仮想モバイルロボットが、カメラによって取得された作業現場の環境の画像を背景にして、装置102のディスプレイ上に出現するように作成される。その後、ステップ214において、仮想モバイルロボットは、編集されたマップに設定された目標/タスクに応じて自律的に移動するように設定される。本実施例では、ユーザが、装置を携帯して、設定された目標/タスクに応じて自動的に移動するように設定された仮想モバイルロボットに追従することで、装置102が仮想モバイルロボットの定位を行うことができる。装置102は、仮想モバイルロボットと共に移動しながら、環境中のマップに載っていない又は記録されていない動的物体を検知し、ステップ216でそれらをマップに記録させる。そのような動的物体の検知時において、動的物体が仮想モバイルロボットの移動を妨害する場合、ステップ218で、仮想モバイルロボットが動的物体を回避する(すなわち、迂回する)ように移動することをガイドするために、定位中の1以上のセンサの入力に基づいてローカル経路計画が決定される。例えば、グローバルに計画された経路内(仮想モバイルロボットの前方)に物体が発見されたとき、仮想ロボットは停止し、経路を変更し、次の目標に向かって進む。そのような動的物体が検知されない場合、仮想モバイルロボットは、動的物体を気にすることなく、あるウェイポイントから別のウェイポイントへ最適な態様で移動するように、ステップ220でグローバル経路計画に従う。静止物体の情報は、マップ作成時に収集されているので、自律的なナビゲーション中の仮想モバイルロボットの移動が静止物体の存在を考慮していることは理解される。マップされておらず、新たに環境に含まれ、仮想モバイルロボットの移動を妨害する静止物体は、ステップ216で検知された動的物体と同じ方法で取り扱われる。ユーザによってシミュレーションが終了されるか、仮想モバイルロボットによって設定された目標/タスクが達成されると、ステップ224で本方法は終了する。
【0049】
別の例において、仮想モバイルロボットは、設定された目標/タスクに従って、ステップ214で2Dマップ内に出現し、自律的にナビゲートするように構成されている。ユーザは、装置102を携帯して仮想モバイルロボットに追従するのではなく、仮想モバイルロボットが、取得された環境内で自律的なナビゲーションを自動的に行い、目標/タスクを達成して回る様子をディスプレイ上で見る。この場合、仮想モバイルロボットは、環境内を移動する際に、ステップ216で既にマップにマッピング又は記録されている動的物体のみを検知する。仮想モバイルロボットは、定位工程をシミュレーションしてステップ218でローカル経路計画に基づいて移動し、マッピングされた動的物体を回避又は迂回する。例えば、グローバルに計画された経路内(仮想モバイルロボットの前方)に物体が発見されたとき、仮想ロボットは、停止し、経路を変更し、次の目標に向かって進む。そのような動的物体が検知されない場合、仮想モバイルロボットは、ステップ220において、動的物体を気にすることなく、あるウェイポイントから別のウェイポイントへ最適な態様で移動するように、グローバル経路計画に従う。静止物体の情報は、マップ作成時に収集されているので、自律的なナビゲーション中の仮想モバイルロボットの移動が静止物体の存在を考慮していることは理解される。ユーザによってシミュレーションが終了されるか、仮想モバイルロボットによって設定された目標/タスクが達成されると、ステップ224で本方法は終了する。
【0050】
ステップ204に戻って、本方法は、マッピングが必要でなく、2Dマップが既に作成されているとき、又はユーザの要求に応じて、ステップ222に進む。ステップ222では、設定された目標/タスクに基づいて仮想モバイルロボットを自律的にナビゲートさせる(ステップ214など)代わりに、ユーザが、仮想モバイルパッド又はジョイスティックなどのGUI105によって提供される制御を使用して、作業現場の周りで仮想モバイルロボットを手動で制御して駆動する。ユーザは、装置102を移動させて、仮想モバイルロボットが駆動されるときに追従することを選択できる。この場合、装置102が仮想モバイルロボットに対して行う定位が発生し、装置102がマッピング又は記録すべき(仮想モバイルロボットの移動を妨害する)マッピングされていない動的物体を検知することができる。ユーザが装置102を移動させず仮想モバイルロボットに追従しないことを選択した場合、仮想モバイルロボットは、最後のマップ作成中に取得された(又は、フリートマネージャによって最後に更新された)環境で駆動される。
【0051】
任意で、ユーザは、ステップ222で、仮想モバイルロボットに搭載する積載物を追加し、積載物と共に動作中の仮想モバイルロボットのシミュレーションを見てもよい。仮想モバイルロボット及び/又は積載物の音声をオン/オフするために、1以上の画面上のボタン又はメニューオプションを提供してもよい。音声がオンのとき、仮想モバイルロボット及び/又は積載物が発する音を含むリアルなシミュレーションが提供される。また、仮想モバイルロボット及び/又は積載物のアニメーションをオン/オフ又は縮小するオプションがあってもよい。この場合、仮想モバイルロボット及び/又は積載物が静止画像となり、動作中の仮想モバイルロボット及び/又は積載物のアニメーションを最小限に抑えることができる。
【0052】
図3は、
図1のグラフィカルユーザインタフェース105を示す図である。
図3は、
図1の装置102のカメラで取得された作業現場の表示された環境を、その上に物体を添加して示す図である。以下の
図3に関する説明では、
図1の構成要素と
図2のステップとを参照している。仮想モバイルロボットがシミュレーションで表示される前に、例えば、
図2のステップ212又は222において、ユーザは、装置102のカメラによって取得される地面302の画像を取得するように装置102に指示することによって、初期化工程において添加又はシミュレーション処理を初期化することを要求してもよい。この初期化工程の目的は、1以上のセンサ109を較正して定位の準備を整え、環境のマップが既に作成されている場合には、環境のマップ内で装置102の位置を検知し、選択された場所に仮想モバイルロボットをユーザに配置させることにある。
【0053】
本実施例において複数のスポットで構成されるメッシュ304は、1以上のセンサ109の助けを借りて装置102が地面302の検知に成功すると、地面302上に添加される。
図3に示された壁306のような静止物体は、表示された環境においてそれらの上にグラフィックが添加される。これらのグラフィックスは、壁306を強調してディスプレイ上でより鮮明に表示させる。これらのグラフィックスは、仮想モバイルロボットの移動をガイドするためのマーカーとしても機能してよく、例えば、仮想モバイルロボットが、マークされたポイント、線、又はエリアに衝突したり、交差したりするのを抑えてもよい。ユーザが選択した地面302上の位置に仮想モバイルロボットを配置する処理を開始するために、ユーザが押圧する「配置」ボタン308が設けられている。また、添付又はシミュレーションの工程を終了するために、ユーザが選択する十字形を有する「終了」ボタン310が設けられている。
図4は、
図3のメッシュ状の地面302上に仮想モバイルロボット402が配置されているグラフィックスを示す切り取り画面図である。地面302上の仮想モバイルロボット402の周囲には、リング404が表示される。このリング404は、仮想モバイルロボット402が、仮想モバイルロボット402の近くにある隣接する物体との間で維持すべき隙間又は距離を示すために使用することができる。この隙間又は距離は、カスタマイズ可能である。また、リング404は、カーソルのように機能し、仮想モバイルロボット402がユーザによって選択されたときに表示される。仮想モバイルロボット402が選択されたとき、仮想モバイルロボット402の本体は、
図4に示すように強調表示されてもよい。
【0054】
図5は、ユーザが選択した位置で
図4の仮想モバイルロボット402が地面302に置かれた後、当該仮想モバイルロボット402を含む画面
図500(横向き)の一例を示している。このような画面
図500は、
図2のステップ222で表示されてもよい。画面
図500は、
図1のグラフィカルユーザインタフェース105のページ間をトグルするためのバックボタン508及びフォワードボタン510を備えている。また、ユーザがクリックして積載物のリストを表示し、ユーザがリストから積載物を選択して仮想モバイルロボット402に搭載するための「積載物選択」ボタン506が設けられている。仮想モバイルロボット402は、
図5では積載物が搭載されていないように描かれている。画面
図500の右上には、パラメータ502が表示されている。具体的には、画面
図500の右上には、仮想モバイルロボット402がユーザによって駆動されるときの駆動速度と、仮想モバイルロボット402が回転するように制御されるときの回転速度の2つが表示されている。これらのパラメータは、ユーザが監視するために表示することができる例に過ぎない。その他のパラメータ(例えば、前述した6種類のユーザ入力(i)~(vi)のうち(iii)に挙げた経路計画パラメータ)が表示されてもよい。また、画面
図500は、
図1の装置102のタッチスクリーンディスプレイ上でのタッチを介して、仮想モバイルロボット402を作業現場で駆動するために操作可能な仮想ジョイスティック504を含んでいる。仮想モバイルロボット402のユーザによる駆動セッションは、将来の参照のために動画として記録されてもよい。
【0055】
図6及び
図7は、
図5の仮想モバイルロボット402に搭載する積載物をユーザが選択するための、
図5を参照して説明した積載物のリストの例を示す図である。リストに含まれる積載物の例としては、物体を搬送するためのコンベアトップ602と、物体を移動させるためのモバイルマニピュレータ(MoMa)604と、特定の物体を保持するように設計されたカートロボットトップ702、及び紫外線(UVC)トップ704とを挙げることができる。更に、コンベアトップ602については、仮想モバイルロボット402が、ユーザによって物理的ステーションに予め設定されたゴール、すなわちウェイポイントに到達したときに、コンベアトップ602から物理的ステーション(環境内の実際の物体)に移動するようにアニメーション化された仮想カートンボックスを存在させることができる。モバイルマニピュレータ604は、6軸以上のロボット運動軸を有してもよい。モバイルマニピュレータ604は、モバイルマニピュレータ604に取り付けられた所定の仮想グリッパを用いてピッキング動作を行うようにアニメーションする仮想ロボットアームを備えている。なお、仮想グリッパのデザインは、全ての積載物のCADモデルと同様に、CADモデルとして取り込まれてもよい。
図8~
図11は、
図1のグラフィカルユーザインタフェース105の4つの画面図を示している。
図8~
図11の4つの画面図には、4台の仮想モバイルロボット800,900,1000,1100がそれぞれ示されている。各仮想モバイルロボットは、異なる積載物を搭載している。仮想モバイルロボット800は、コンベアトップを搭載している。仮想モバイルロボット900は、カートロボットトップを搭載している。仮想モバイルロボット1000は、ユーザコントロールパネルトップを搭載している。仮想モバイルロボット1100は、UVCトップを搭載している。4つの画面図のそれぞれは、仮想モバイルロボットに搭載する積載物をユーザが選択するための
図10の積載物リスト1002が、グラフィカルユーザインタフェース105の片側のウィンドウに配置できることを示している。
【0056】
また、
図7のUVCトップ704の紫外線の強度レベルが調整されてもよい。更に、UVCトップ704によって照射される紫外線は、オン/オフされてもよい。
図12及び
図13は、いずれも、UVCトップ1204を搭載した仮想モバイルロボット1200の画面図である。
図12及び
図13は、UVCトップ1204からの紫外線1304の照射をオン又はオフにすることができる作業量シミュレーションオプション又はボタン1202を示している。
図12では、紫外線がオフに切り替えられ、
図13では、紫外線がオンに切り替えられる。
図12及び
図13は、リアルなシミュレーションを行うために、各積載物に固有のアニメーションが提供されていることを示している。同様に、赤外線やレーザビーム、及び/又は他の電磁波の光線など、人間が見ることのできない放射線又は発光を表示したり、アニメーションにしたりしてもよい。シミュレーション中の現実又は仮想のモバイルロボットによるナビゲーションは、これらの放射線又は発光を考慮に入れてもよい。
【0057】
図14は、マッピング工程中に
図1の装置102のLiDARシステムによって作成することができる作業現場の環境の3Dマップ1402の一例と、3Dマップ1402から変換して得ることができる作業現場の環境の2Dマップ1404(例えば、dxf形式のファイル)の一例とを示している。
【0058】
図15は、
図1のサーバ108及び110が、モバイルプランナー及びフリートマネージャ1504をそれぞれ提供する
図1のクラウドシステム104を示している。
図15は、
図1の装置102のディスプレイに表示される仮想モバイルロボットのシミュレーションの画面
図1502を示している。この画面
図1502は、
図1のグラフィカルユーザインタフェース105によって提供される。
図15の例では、クラウドシステム104が5Gネットワークを介して装置102と通信することが重要な特徴として図示されている。5Gネットワークは、データ通信時の待機時間を低減するのに役立つとともに、より信頼性の高く且つエラーのないデータ通信を提供する。5Gネットワークが使用される場合、よりスムーズなシミュレーションを提供することができる。また、装置102は、作業現場の環境でデータを収集するために使用される拡張現実(AR)装置として知られている。5Gネットワークを使用する場合、3つの重要なステップ1508,1510,1512が関係する。
【0059】
ステップ1508では、AR装置がデータを収集するように使用される。このステップでは、ユーザがAR装置に収集したいデータを手動で入力したり、
図1の1以上のセンサ109(センサ一式)を使ってAR装置にデータを自動的に収集させたりしてもよい。AR装置に対して自動データ収集が有効にされた場合、ユーザはAR装置を携帯し、仮想モバイルロボットの移動に追従して、AR装置のセンサ一式を介して仮想モバイルロボットの定位を行ってもよい。しかしながら、ユーザがAR装置を仮想モバイルロボットと一緒に移動させず、他のAR装置、マップ内の物体を監視するために使用される他の機器、及び/又は環境内に存在する実際のモバイルロボットによって静止及び/又は動的物体が更新される所定の又は既存のマップを、仮想モバイルロボットに自動的に探索させてもよい。
【0060】
ステップ1510では、AR装置が、ステップ1508で収集したデータを、5Gネットワークを介して、シミュレーションソフトウェア(フリートマネージャや他のソフトウェアでもよい)に、シミュレーションタスクとして送信する。この例において、シミュレーションソフトウェアは、
図1のシミュレーションサーバ110上で実行される。その後、シミュレーションが自動化され、シミュレーションを表示するためのデータがAR装置に送信されて表示される。シミュレーションの自動化とは、仮想モバイルロボットが自律的に自力でナビゲートするように設定されている場合をいう(例えば、
図2のステップ214)。また、ユーザは、手動でシミュレーションを選択してもよい。この場合、仮想モバイルロボットを自律的にナビゲートさせてデータを収集するのではなく、ユーザが仮想モバイルロボットを駆動して(例えば、
図2のステップ222)データを収集することになる。シミュレーションソフトウェアに転送される収集データには、精緻な2Dマップ、精緻なゴール位置、自律型インテリジェント車両(AIV)の経路計画(AIVとは仮想モバイルロボットをいい、経路計画はローカル経路計画でもグローバル経路計画でもよい)、AIVのジョブスケジュール、AIVの移動時間、ボトルネック位置(例えば、交通量の多い位置、物体の回避が困難な位置、ジョブの実行が遅い又は非効率な位置など)、及びAIVの使用率(AIVの使用統計)が含まれてもよい。
【0061】
ステップ1512では、AR装置は、5Gネットワークを介して、シミュレーションサーバ110からシミュレーション結果を取得する。シミュレーション結果は、AR装置のディスプレイにリアルタイムで表示してもよい。或いは、シミュレーション結果を記録し、ユーザが後からAR装置のディスプレイで事前に記録されたシミュレーションを見て、シミュレーションによって提供されるデモンストレーションを習得し、及び/又は、シミュレーションを研究して改善案を提供してもよい。
【0062】
5Gネットワーク及びフリートマネージャなどのソフトウェアの助けを借りて、AR装置は、1台の仮想モバイルロボットだけでなく、作業現場の環境で動作する複数の仮想及び/又は現実のモバイルロボットをスムーズに視覚化するように使用されてもよい。環境内で動作する1以上の仮想モバイルロボット及び/又は各現実のモバイルロボットを制御する各装置は、フリートマネージャを実行するサーバ(例えば、
図1の110)と自身に関するデータを通信するように構成されてもよい。フリートマネージャは、中央交通制御装置として機能し、各AR装置にデータを提供して、環境内の交通状況をシミュレーションしたグラフィックを表示するように指示する。このようにして、AR装置の視野内に現れる1以上の仮想及び/又は現実のモバイルロボットを、フリートマネージャからの入力により環境の一部として視覚化することができ、環境内の全ての視覚化された仮想モバイルロボットは、仮想モバイルロボットがシミュレーション内の現実の物体であるかのように動作する。
【0063】
本開示の実施例で説明した装置(例えば、装置102)の一例、又は
図1を参照して説明したサーバのいずれか1つは、バスを介して電子通信を行う以下のコンポーネントを有してもよい。
1.ディスプレイ;
2.不揮発性メモリ及び/又は非一時的なコンピュータ可読媒体;
3.ランダムアクセスメモリ(以下、「RAM」);
4.N個の処理コンポーネント(「1以上のコントローラー」、「1以上のプロセッサ」、「1以上の中央演算処理装置」など);
5.インターネット/イントラネット、及び/又はワイヤレスネットワーク通信のためのN個のトランシーバを含むトランシーバコンポーネント;
6.ユーザコントロール、すなわち、ユーザ入力装置;
7.カメラなどの画像取得コンポーネント(項目7は、
図1を参照して説明したサーバのオプションである);
8.任意で、オーディオ信号取得コンポーネント(例えば、マイクロフォン);
9.任意で、オーディオスピーカー;
10.ナビゲーション/エリアマッピングを目的とした1以上のセンサ及び/又はコンポーネント(項目10は、
図1を参照して説明したサーバのオプションである);及び
11.ユーザ入力デバイス(マウス、ジョイスティック、キーボード、ユーザのジェスチャを検知するセンサなど)、オーディオスピーカー、ディスプレイ、画像取得コンポーネント、及び/又はオーディオ信号取得コンポーネントに接続するための入出力インターフェース。
【0064】
ディスプレイは、一般に、グラフィカルコンテンツ(例えば、
図1のグラフィカルユーザインタフェース105)の提示をユーザに提供するように動作し、様々なディスプレイ(例えば、CRT、LCD、HDMI、マイクロプロジェクタ、OLEDディスプレイ)のいずれかによって実現されてもよい。ディスプレイは、タッチスクリーンであってもよい。この場合、タッチスクリーンは、ユーザコントロールの一部、すなわちユーザ入力装置の一部である。
【0065】
一般的に、不揮発性メモリは、データと、モバイルプラットフォームの機能コンポーネントに関連付けられたコードを含む実行可能コードとを保存する(例えば、永続的に保存する)ように機能する。例えば、不揮発性メモリには、ブートローダコード、モデムソフトウェア、オペレーティングシステムコード、ファイルシステムコード、及び簡単のために描かれていない当業者によく知られている他のコードが含まれる。
【0066】
多くの実施例において、不揮発性メモリは、フラッシュメモリ(例えば、NAND又はNORメモリ)によって実現されるが、他のタイプのメモリも利用できることは確かである。不揮発性メモリからコードを実行することも可能であるが、不揮発性メモリ内の実行可能コードは、典型的には、RAMにロードされ、N個の処理コンポーネントの1以上によって実行される。
【0067】
1以上のコンピュータプログラムは、任意の機械又はコンピュータ可読媒体に本質的に非一時的に記憶されてもよい。コンピュータ可読媒体は、磁気ディスク又は光ディスク、メモリチップ、又はモバイルプラットフォームとのインターフェースに適した他のストレージデバイスなどのストレージデバイスを含んでもよい。また、機械又はコンピュータ可読媒体は、インターネットシステムに例示されるような有線媒体、又は、無線LAN(WLAN)システムに例示されるような無線媒体を含んでもよい。
【0068】
RAMに関連するN個の処理コンポーネント(又は「1以上のプロセッサ」)は、一般的に、機能コンポーネントを有効にするために不揮発性メモリに記憶された命令を実行するように動作する。当業者(通常の知識を有する者を含む)であれば理解できるように、N個の処理コンポーネントは、ビデオプロセッサ、モデムプロセッサ、DSP、グラフィック処理ユニット(GPU)、及びその他の処理コンポーネントを含んでもよい。
【0069】
トランシーバコンポーネントは、N個のトランシーバチェーンを含んでもよく、これらは無線ネットワークを介して外部デバイスと通信するために使用されてもよい。N個のトランシーバチェーンのそれぞれは、特定の通信方式に関連するトランシーバを表してもよい。例えば、各トランシーバは、ローカルエリアネットワーク、セルラーネットワーク(WIFIネットワーク、CDMAネットワーク、GPRSネットワーク、UMTSネットワーク、5Gネットワークなど)、及び他のタイプの通信ネットワークに特有のプロトコルに対応してもよい。いくつかの実施例では、トランシーバコンポーネントが通信ネットワークと通信することで、接続されたデバイスの位置を決定することができる。
【0070】
ナビゲーション/エリアマッピング用の1以上のセンサ及び/又はコンポーネントは、画像(写真又はビデオ)を取得するための画像取得コンポーネントであってもよいし、それを含んでもよい。1以上のセンサは、レーザセンサ(例えばLiDARスキャナ)、赤外線、及び/又は超音波センサであってもよいし、それらを含んでもよい。
【0071】
要約すると、本開示の例は、以下の特徴を有する。
【0072】
作業現場でモバイルロボットをシミュレーションするための装置(例えば、
図1の102)であって、作業現場の環境をマッピングする(このマッピングはマップ又は部分的マップをカバーする)1以上のセンサ(例えば、
図1の109)と、プロセッサと、を備える。当該プロセッサは、1以上のセンサによって取得された環境の画像をディスプレイに表示し、1以上のセンサの入力に基づいて環境のマッピングを実行し、環境内の1以上の物体(静止物体及び/又は動的物体を含む)を検知し、ディスプレイに表示された環境内に表示するための仮想モバイルロボット(例えば、
図4及び
図5の402、
図8の800、
図9の900、
図10の1000、
図11の1100、
図12及び
図13の1200など)のグラフィックスを生成し、表示された環境内における仮想モバイルロボットの移動を制御するためのユーザ入力(仮想モバイルロボットによる自律的なナビゲーションのためのウェイポイント/ゴール、仮想ジョイスティックやモバイルパッドなどによる手動駆動信号など)を受信する、ように装置を動作させる命令を実行するように構成されている。仮想モバイルロボットは、仮想モバイルロボットが表示された環境内を移動するときに、環境内で検知された1以上の物体を回避する(すなわち、迂回する)ように構成されている。
【0073】
環境内で検知された1以上の物体は、環境内で移動可能な1以上の物体(動的物体)を含んでもよい。
【0074】
前記装置は、表示された環境内に1以上のウェイポイントを追加するためのユーザ入力を受信し、当該1以上のウェイポイントに従って仮想モバイルロボットの移動をナビゲートする、ように動作可能であってもよい。
【0075】
前記装置は、1以上のウェイポイントのいずれかで仮想モバイルロボットが実行するタスクを設定するとともに、タスクの実行をシミュレーションするためのグラフィックスを表示する、ように動作可能であってもよい。
【0076】
環境のマッピング中にマップ(例えば、
図14の1402及び1404)が生成されてもよい。前記装置は、マップ及びマップ内の1以上の検知された物体の情報を、記録のためにサーバ(例えば、
図2の108及び/又は110-モバイルプランナー及びフリートマネージャの一方又は両方がマップを受信するように構成され得る)に送信するように動作可能である。サーバは、環境内に存在する1以上の装置(例えば、マッピング/位置/物体検知機能を有する任意の装置、本装置と同様の他の装置、現実又は仮想のモバイルロボットなど)から入力を受信して、マップ及び/又はマップ内の1以上の検知された物体の情報を更新し、前記装置が更新されたマップ及び/又はマップ内の1以上の物体の更新された情報を使用可能なように構成されている。
【0077】
マップは、3次元マップ(例えば、
図14の1402)であってもよい。前記装置は、3次元マップを2次元マップ(例えば、
図14の1404)に変換し、当該2次元マップをサーバに送信する、ように動作可能であってもよい。
【0078】
前記装置は、仮想モバイルロボットによって決定された1以上の移動経路のデータ(例えば、ローカル経路計画)をサーバに送信する、ように動作可能であってもよい。
【0079】
前記装置は、仮想モバイルロボットの移動のシミュレーションを表示するためのデータを処理するために、サーバ(例えば、
図1の110)にデータを送信し、仮想モバイルロボットのシミュレーションを、5Gネットワークを介してディスプレイにリアルタイムで表示するために、サーバからストリーミングされたデータを受信する、ように動作可能であってもよい。サーバは、前記装置及び環境内で動作する1以上の他の装置の位置データを受信し、当該受信した位置データに基づいて環境内の交通を制御するように構成されてもよい。仮想モバイルロボットの移動のシミュレーションは、前記装置と前記1以上の他の装置との間の衝突が抑えられるように交通状況を考慮してもよい。
【0080】
前記装置は、初期化工程中に環境内の地面に向けられた環境のキャプチャ画像を処理し、ディスプレイ内に表示された地面上にグラフィック指標(例えば、
図3の304)を表示し、初期化工程が完了した後に仮想モバイルロボットのグラフィックを表示する、ように動作可能であってもよい。
【0081】
前記装置は、表示された環境において仮想モバイルロボットの進入が許可されているゾーン及び/又は仮想モバイルロボットの進入が許可されていないゾーンを1以上選択するためのユーザ入力を受信する、ように動作可能であってもよい。
【0082】
前記装置は、仮想モバイルロボットに搭載される作業現場で特定の機能を有する積載物(例えば、
図6の602及び604、
図7の702及び704、
図10の1004、及び
図12の1204)を選択するためのユーザ入力を受信し、当該搭載された積載物を有する仮想モバイルロボットのシミュレーションを可能にする、ように動作可能であってもよい。
【0083】
積載物は、6軸以上のロボット運動をサポートするモバイルマニピュレータであってもよく、モバイルマニピュレータは、1以上の生産タスクの実行をシミュレーションするように構成されてもよい。
【0084】
前記装置は、仮想モバイルロボットの移動のシミュレーションに基づいて、仮想モバイルロボットのワークサイクルタイム及び/又は仮想モバイルロボットの利用情報を推定する、ように動作可能であってもよい。
【0085】
前記装置は、仮想モバイルロボットの1以上の経路計画パラメータを設定するためのユーザ入力を受信する、ように動作可能であってもよい。
前記1以上の動作パラメータは、
仮想モバイルロボットの移動速度及び最大移動速度、
仮想モバイルロボットの回転速度及び最大回転速度、
仮想モバイルロボットの回転半径、
仮想モバイルロボットの加速/減速、
仮想モバイルロボットと環境内の物体との間の隙間、
仮想モバイルロボットがライン又はエリアに進入又は横断するときの抵抗レベル、
仮想モバイルロボットがライン又はエリアに進入又は横断するときの優先レベル、
のうちの1以上を含んでもよい。
【0086】
複数の仮想モバイルロボットは、表示された環境内を移動するように(例えば、ユーザの要求に応じて、又は交通状況をシミュレーションするためにフリートマネージャによって)生成されてもよく、各仮想モバイルロボットは、互いに回避すべき物体とみなしてもよい。
【0087】
前記装置は、人間の目には見えない1以上の特徴のためのグラフィックスを表示する、ように動作可能であってもよい。
前記1以上の特徴は、
作業現場でレーザを照射する能力を有する仮想モバイルロボット及び/又は他の検知された物体によって投射されたレーザの視界、
放射線放出源から放出される放射線、
のうちの1以上を含んでもよい。
仮想モバイルロボットは、移動中に前記1以上の特徴を回避するように構成されてもよい。
【0088】
前記装置は、仮想モバイルロボットが環境内で自律的にナビゲートされるように設定することによって、仮想モバイルロボットのマッピング(全体マップ又は部分マップの作成)、ナビゲーション(例えば、定位データ、仮想モバイルロボットによって自動計算されたローカル/グローバル経路計画など)、及び/又は動作(例えば、サイクルタイム、稼働時間、交通状況、その他の作業効率の関連パラメータなど)に関連する情報を収集するか、或いは、ユーザが仮想モバイルロボットを環境内で移動させるための入力を行うことによって、仮想モバイルロボットのマッピング、ナビゲーション、及び動作に関連する情報を収集する、ように動作可能であってもよい。
【0089】
装置は、ハンドヘルド型のモバイル機器であってもよい。
【0090】
作業現場でモバイルロボットをシミュレーションする方法(例えば、
図2の200)であって、1以上のセンサ(例えば、
図1の109)によって取得された作業現場の環境の画像をディスプレイに表示し、1以上のセンサの入力に基づいて環境のマッピングを実行し、環境内の1以上の物体を検知し、ディスプレイに表示された環境内に表示するための仮想モバイルロボットのグラフィックス(例えば、
図4及び
図5の402、
図8の800、
図9の900、
図10の1000、
図11の1100、及び
図12及び
図13の1200)を生成し、表示された環境内における仮想モバイルロボットの移動を制御するためのユーザ入力を受信することを含み、仮想モバイルロボットは、表示された環境内を移動しているときに、環境内で検知された1以上の物体を回避するように構成されてもよい。
【0091】
作業現場でモバイルロボットをシミュレーションするためのシステム(例えば、
図1の100)であって、このシステムは、本明細書の概要で上述した装置(例えば、
図1の102)と、本明細書の概要で上述したいずれかのサーバ(例えば、
図2の108及び/又は110)を含むクラウドシステム(例えば、
図1の104)と、を備える。
【0092】
本明細書及び特許請求の範囲において、文脈が明らかに他を示していない限り、「備える(comprising)」という用語は、「のみからなる」という意味での排他的な意味ではなく、「少なくとも含む」という意味での非排他的な意味を有する。同じことが、「備える(comprise)」や「備える(comprises)」など、この言葉の他の形に対応する文法的な変更についても当てはまる。
【0093】
本開示では、本発明をいくつかの例及び実施例に関連して説明してきたが、本発明はそのように限定されるものではなく、添付の特許請求の範囲内に入る様々な明らかな変更及び同等の配置をカバーするものである。本発明の特徴は、特許請求の範囲の中で特定の組み合わせで表現されているが、これらの特徴は、任意の組み合わせ及び順序で配置できることが企図されている。