(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022014996
(43)【公開日】2022-01-21
(54)【発明の名称】情報処理装置と情報処理方法およびプログラム
(51)【国際特許分類】
G05D 1/02 20200101AFI20220114BHJP
【FI】
G05D1/02 H
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2020117565
(22)【出願日】2020-07-08
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100093241
【弁理士】
【氏名又は名称】宮田 正昭
(74)【代理人】
【識別番号】100101801
【弁理士】
【氏名又は名称】山田 英治
(74)【代理人】
【識別番号】100095496
【弁理士】
【氏名又は名称】佐々木 榮二
(74)【代理人】
【識別番号】100086531
【弁理士】
【氏名又は名称】澤田 俊夫
(74)【代理人】
【識別番号】110000763
【氏名又は名称】特許業務法人大同特許事務所
(72)【発明者】
【氏名】幸 太一
(72)【発明者】
【氏名】鳥居 邦在
(72)【発明者】
【氏名】渡辺 諒
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301BB05
5H301CC03
5H301CC06
5H301CC10
5H301GG08
5H301GG09
5H301GG17
(57)【要約】
【課題】安全に効率よく移動タスクを実行できるようにする。
【解決手段】ノード配置判定部251は、移動装置の形状情報と、インタラクション部29で受け付けたノード設定操作で設定されたノードの位置を示す位置情報と、障害物の位置を示す地図情報に基づき、配置されたノードの位置で移動装置と障害物との衝突を生じる場合に配置変更が必要か判別する。配置変更が必要な場合、その旨をインタラクション部29からユーザに通知する。インタラクション部29は、配置変更操作を受け付けて、ノード配置判定部251は、配置変更の必要がないノードと配置変更後のノードをノード保持部252に保持させる。経路計画部253は、ノード保持部252に保持されているノードを用いて経路計画を生成する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
移動装置に関する移動装置情報と、配置されたノードに関する情報に基づき、前記ノードの配置変更が必要か判別するノード配置判定部
を備える情報処理装置。
【請求項2】
前記配置されたノードに関する情報は、前記ノードの位置を示す位置情報と障害物の位置を示す地図情報を含み、
前記ノード配置判定部は、前記配置されたノードの位置で前記移動装置と前記障害物との衝突を生じる場合に前記配置変更が必要と判別する
請求項1に記載の情報処理装置。
【請求項3】
前記移動装置情報は、前記移動装置の形状情報を含む
請求項1に記載の情報処理装置。
【請求項4】
前記形状情報は、前記移動装置で物品を搬送する場合に物品搬送状態である前記移動装置の形状を示す情報である
請求項3に記載の情報処理装置。
【請求項5】
前記ノード配置判定部は、移動効率の低下を生じる場合に前記配置変更が必要と判別する
請求項1に記載の情報処理装置。
【請求項6】
前記ノード配置判定部は、障害物登録履歴を利用して前記ノードの配置変更が必要か判別する
請求項1に記載の情報処理装置。
【請求項7】
前記ノード配置判定部は、前記配置変更が必要と判別した場合、再配置する候補位置を算出する
請求項1に記載の情報処理装置。
【請求項8】
前記ノード配置判定部は、配置変更前のノードの位置から所定距離より近く障害物と衝突しない位置を前記候補位置とする
請求項7に記載の情報処理装置。
【請求項9】
前記ノード配置判定部は、前記配置変更が必要と判別した場合にその旨をインタラクション部からユーザへ通知する
請求項7に記載の情報処理装置。
【請求項10】
前記ノード配置判定部は、前記配置変更が必要と判別した場合、前記候補位置を前記インタラクション部から通知する
請求項7に記載の情報処理装置。
【請求項11】
移動装置に関する移動装置情報と、配置されたノードに関する情報に基づき、前記ノードの配置変更が必要かノード配置判定部で判別すること
を含む情報処理方法。
【請求項12】
移動装置の移動管理をコンピュータで実行するプログラムであって、
移動装置に関する移動装置情報と、配置されたノードに関する情報に基づき、前記ノードの配置変更が必要か判別する手順
を前記コンピュータで実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この技術は、情報処理装置と情報処理方法およびプログラムに関し、安全に効率よく移動タスクを実行できるようにする。
【背景技術】
【0002】
従来、自律移動ロボット等の移動装置を用いる場合、障害物を避けながら目的位置まで移動するために、障害物を示す地図を参照して移動経路を設定することが行われている。また、特許文献1では、比較的近接したノード間のみにエッジを設定して、ルート生成の際の経路の候補を最小化することにより、演算処理などの負荷を過大にせずに円滑な移動経路を容易に且つ柔軟に生成することが行われている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、移動装置は、経路方向に沿って移動する場合に限らず、経路方向に対して移動装置の向きが変更される場合がある。例えば、移動装置は通路の端で通路の側端と平行な向きで待機しており、タスクが割り当てられて通路の中央を移動する場合には、移動装置の向きを変更する必要がある。また、右折や左折あるいはUターンする場合だけでなく、他の移動装置との衝突を回避する場合等でも、移動装置の向きが変更される。このように移動装置の向きが変更される場合、移動装置と経路側面が近接していると、移動装置の向きが変更されたとき経路側面に移動装置が接触してしまうおそれがある。
【0005】
そこで、この技術では、安全に効率よく移動タスクを実行できる情報処理装置と情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
この技術の第1の側面は、
移動装置に関する移動装置情報と、配置されたノードに関する情報に基づき、前記ノードの配置変更が必要か判別するノード配置判定部
を備える情報処理装置にある。
【0007】
この技術においては、ノード配置判定部は、移動装置に関する移動装置情報例えば移動装置の形状情報と、配置されたノードに関する情報例えばノードの位置を示す位置情報と障害物の位置を示す地図情報に基づき、配置されたノードの位置で移動装置と障害物との衝突を生じる場合に配置変更が必要と判別する。また、ノード配置判定部は、移動効率の低下を生じる場合に配置変更が必要と判別する。さらに、ノード配置判定部は、障害物登録履歴を利用してノードの配置変更が必要か判別してもよい。なお、移動装置の形状情報は、移動装置で物品を搬送する場合に物品搬送状態である移動装置の形状を示す情報を用いる。
【0008】
ノード配置判定部は、配置変更が必要と判別した場合、配置変更前のノードの位置から所定距離より近くて障害物と衝突しない位置を、再配置する候補位置として算出する。また、ノード配置判定部は、配置変更が必要と判別した場合にその旨をインタラクション部からユーザに通知する。また、ノード配置判定部は、配置変更が必要と判別した場合、候補位置をインタラクション部から通知する。
【0009】
この技術の第2の側面は、
移動装置に関する移動装置情報と、配置されたノードに関する情報に基づき、前記ノードの配置変更が必要かノード配置判定部で判別すること
を含む情報処理方法にある。
【0010】
この技術の第3の側面は、
移動装置の移動管理をコンピュータで実行するプログラムであって、
移動装置に関する移動装置情報と、配置されたノードに関する情報に基づき、前記ノードの配置変更が必要か判別する手順
を前記コンピュータで実行させるプログラムにある。
【0011】
なお、本技術のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ上でプログラムに応じた処理が実現される。
【図面の簡単な説明】
【0012】
【
図1】移動装置システムの構成を例示した図である。
【
図3】移動タスクの実行中にノードの設定操作を受け付ける場合の動作を例示したフローチャートである。
【
図4】移動装置と障害物の関係を例示した図である。
【
図5】移動装置が障害物と衝突する場合を例示した図である。
【
図6】移動装置システムの他の構成を例示した図である。
【
図7】移動装置とサーバの構成を例示した図である。
【発明を実施するための形態】
【0013】
以下、本技術を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.移動装置システムについて
2.移動装置に本技術を適用した場合の実施の形態
2-1.移動装置の構成
2-2.移動装置の動作
3.移動装置を制御するサーバに本技術を適用した場合の実施の形態
3-1.移動装置とサーバの構成
3-2.サーバの動作
4.変形例
5.応用例
【0014】
<1.移動装置システムについて>
図1は、移動装置システムの構成を例示している。移動装置システム10は、1または複数の移動装置20を用いて構成されている。
【0015】
移動装置システム10では、移動装置20で移動タスクを受け付けて、移動タスクを実行するための経路計画を生成する。さらに、移動装置20は、経路計画が示す経路を移動するように経路追従を行い、移動タスクを実行する。
【0016】
移動タスクは、無人搬送車(AGV:Automated Guided Vehicle)等のロボットである移動装置20の移動を伴うタスクであり、移動タスクは、任意の移動装置または所定の機能や能力を有する移動装置、あるいは指定された移動装置等で行う場合がある。また、移動タスクは、単にある地点に到達してタスクを行う(検査など)場合もあれば、更に別の地点への移動(搬送など)等を行う場合もある。
【0017】
経路計画の生成では、例えば環境に最終目的地を示すノードや最終目的地までの中継地を示すノードを有するノード群と、直接通行可能なノード間を結んだエッジを示すエッジ群で構成されたトポロジカルマップを利用して、現在地と最終目的地の間で、どのノードやエッジを経由するかを決定する。経路計画の手法としてはダイクストラアルゴリズムなどが用いられる。
【0018】
経路追従では、次ノードまで移動できるように、移動装置の周辺を示す地図と移動装置の自己位置の推定結果に基づいて、例えば次ノードまでの軌道を計画する。
【0019】
<2.移動装置に本技術を適用した場合の実施の形態>
次に移動装置(例えば無軌道の無人搬送車)に本技術を適用した場合の実施の形態の構成について説明する。
【0020】
<2-1.移動装置の構成>
図2は、移動装置の構成を例示している。移動装置20は、センサ部21、周辺地図生成部22、自己位置推定部23、移動装置情報保持部24,情報処理部25、経路追従部26、駆動制御部27、駆動部28、インタラクション部29、通信部30を有している。
【0021】
センサ部21は、外界センサと内界センサを有している。センサ部21の外界センサは、移動装置の周辺環境に関する情報(例えば周囲の物体等に関する情報)を取得する。外界センサは、例えば測距センサ(LIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)やTOF(Time Of Flight),ステレオカメラ等)が用いられる。外界センサは、周囲の物体までの距離を示すセンシングデータ(「測距データ」ともいう)を生成して周辺地図生成部22や自己位置推定部23へ出力する。また、センサ部21の内界センサは、移動装置自身に関する情報(例えば移動装置の位置や姿勢およびその変化等を示す情報)を取得する。内界センサは、例えば位置センサや角度センサ、加速度センサ、ジャイロセンサ等が用いられる。内界センサは、生成したセンシングデータ(「内界センシングデータ」ともいう)を自己位置推定部23へ出力する。
【0022】
周辺地図生成部22は、センサ部21で生成された測距データに基づき周辺に位置する障害物を示す地図情報を生成する。周辺地図生成部22は、生成した地図情報を情報処理部25へ出力する。
【0023】
自己位置推定部23は、センサ部21で生成された内界センシングデータあるいは内界センシングデータと外界センサで生成された測距データに基づき自己位置を推定する。また、自己位置推定部23は、移動装置20の外部で検出された自己位置を示す情報を、例えば通信部30を介して取得してもよい。自己位置推定部23は自己位置を示す自己位置情報を情報処理部25と経路追従部26へ出力する。
【0024】
移動装置情報保持部24は、移動装置の移動時に必要とされる領域を判別するための移動装置情報を保持している。移動装置情報は、移動装置の形状情報を含む。また、移動装置情報は、形状情報だけでなく性能情報等が含まれてもよい。例えば、移動装置が2個の車輪を左右に設けた対向二輪型ロボットである場合、移動装置の形状情報では、旋回中心から前方側の移動装置端部までの最大サイズと旋回中心から後方側の移動装置端部までの最大サイズ,移動装置幅等が示されており、移動装置の性能情報では、移動装置の駆動方式や旋回半径,移動装置の移動速度等が示されている。移動装置情報保持部24は、保持している移動装置情報を情報処理部25へ出力する。
【0025】
情報処理部25は、ノード配置判定部251、ノード保持部252、経路計画部253を有している。
【0026】
ノード配置判定部251は、インタラクション部29で受け付けたノード設定操作で示されたノードの位置について、移動装置情報や地図情報、自己位置情報に基づき配置変更が必要か判別する。例えば、ノード配置判定部251は、自己位置情報で示された位置からノード設定操作で示されたノードの位置に移動する場合、あるいはノード設定操作で示されたノードの位置から次のノードの位置に移動する場合、移動装置情報と地図情報およびノード設定操作で示されたノードの位置と自己位置情報等に基づき、移動装置が障害物に衝突するか判別する。なお、本技術における衝突とは接触も含み、衝突によって移動できなくなる場合に限らず、衝突が生じても移動し続ける場合も含む)。ノード配置判定部251は、移動装置が障害物に衝突しない場合、配置変更は必要ないと判別して、ノード設定操作で示されたノードを経路計画で利用可能なノードとする。また、ノード配置判定部251は、移動装置が障害物に衝突する場合、配置変更が必要であると判別して、配置変更が必要であることを示す配置変更指示情報を生成してインタラクション部29へ出力する。また、ノード配置判定部251は、配置変更指示情報に配置変更が必要な理由や候補位置を含めて、配置変更を適切に行えるようにしてもよい。例えばノード配置判定部251は、移動装置が障害物に衝突する場合、配置変更前のノードの位置から所定距離より近くて障害物と衝突しない位置を候補位置として算出する。
【0027】
配置変更指示情報を受け取ったユーザは配置変更操作を行い、インタラクション部29は配置変更操作で示されたノードの位置を受け付ける。なお、ノードの配置変更では、ノード設定操作で示したノードの位置を変更してもよく、例えば移動装置が障害物と生じないように新たにノードを設けてもよい。
【0028】
ノード保持部252は、ノード配置判定部251で配置変更が必要ないと判別されたノードと配置変更後のノードを記憶する。
【0029】
経路計画部253は、ノード保持部252に保持されているノードから、インタラクション部29で受け付けた移動タスクの実行に用いるノードやエッジを選択して、目的地までのノードとエッジを順に示す経路計画を生成して経路追従部26へ出力する。なお、経路計画部253は、通信部30を介して受信した他の移動装置の自己位置情報や経路計画に基づき、例えば他の移動装置と見合ったまま身動きが取れない状況とならないように経路計画を生成する。
【0030】
経路追従部26は、情報処理部25の経路計画部253から供給された経路計画で示された経路を移動装置20で追従させる。経路追従部26は、例えば周辺地図生成部22で生成された地図情報と自己位置推定部23の推定結果、および経路計画部253で生成された経路計画に基づき、現在地から最初のノードまでの軌道、現在のノードから次のノードまでの軌道を計画する。経路追従部26は、軌道探索アルゴリズムとして例えばA*アルゴリズムやRRT(Rapidly-exploring Random Tree)アルゴリズムを用いて、移動装置20の周辺環境の認識と、次のノードあるいは目的地に向けた軌道探索を行い、その時点での最適な移動速度や角速度等の決定を繰り返すことで、動的な障害物があっても衝突を回避して移動動作を行えるようにする。経路追従部26は、計画した軌道を駆動制御部27へ出力する。
【0031】
駆動制御部27は、経路追従部26で計画された軌道を移動するように駆動信号を生成して駆動部28へ出力する。
【0032】
駆動部28は、車輪と駆動源(例えばモータ)等を用いて構成されており、駆動制御部27からの駆動信号に基づき駆動源で車輪を駆動して移動装置20を移動させる。
【0033】
インタラクション部29は、操作スイッチや操作レバー,操作ボタン,表示デバイス、GUI(Graphical User Interface)等を用いて構成されている。インタラクション部29は、ユーザによって指示された移動タスクの受け付けやノードの受け付け等を行う。例えば、インタラクション部29は、周辺地図生成部22で生成された地図情報等に基づき、障害物の位置を示す地図を表示する。また、インタラクション部29は、自己位置推定部23等で推定された自己位置を地図上に表示する。インタラクション部29は、移動タスクの受け付けを行い、地図上に目的地を設定して、設定された目的地を経路計画部253へ通知する。さらに、インタラクション部29は、移動タスクを実行する際に通過するノードを受け付ける。なお、ノードの配置は手動で行ってもよく、他の移動装置の位置や経路計画を利用して効率よく移動タスクを行うことができるように、ノード配置ツール等を用いてもよい。なお、ノード配置ツールは、ノードの配置を自動的に行うアプリケーションプログラムである。インタラクション部29は、配置したノードに対してノード配置判定部251から配置変更指示情報が供給された場合、例えば移動装置と障害物が衝突することを示す警告通知をユーザに対して、画像や音声等で行う。また、配置変更指示情報に候補位置が含まれている場合、候補位置を地図上に表示してユーザに選択させることで、安全に効率よく移動タスクを実行できるようにノードの配置変更を容易に行えるようになる。
【0034】
通信部30は、他の移動装置20と無線通信を行う。無線通信は、例えば、LTE、WCDMA(登録商標)、5Gなどのいずれかを使用するセルラ通信を含んでもよく、Wi-Fi、ブルートゥース(登録商標)などのいずれかを使用する近距離無線通信を含んでもよい。通信部30は、他の移動装置20と無線通信を行い、例えば自己位置推定部23で推定した自己位置や情報処理部25生成した経路計画を他の移動装置20へ送信して、あるいは他の移動装置20で推定された自己位置や生成された経路計画を受信して、互いの位置や経路を把握して、効率よく移動タスクを行えるようにする。
【0035】
<2-2.移動装置の動作>
移動装置は、移動タスクを受け付けて、受け付けた移動タスクを実行する前にノード設定処理を行い、配置変更が必要ないノードや配置変更後のノードのみを用いて経路計画を生成する。また、移動装置は、移動タスクの実行中にノードの設定操作を受け付けて、ノードを追加できるようにしてもよい。
【0036】
図3は、移動タスクの実行中にノードの設定操作を受け付ける場合の動作を例示したフローチャートである。
【0037】
ステップST1で移動装置は移動処理を行う。移動装置20は経路計画に基づいて移動動作を行いステップST2に進む。
【0038】
ステップST2で移動装置は自己位置情報を更新する。移動装置20は、移動動作を行っていることから自己位置情報を最新の自己位置を示す情報に更新してステップST3に進む。
【0039】
ステップST3で移動装置は地図情報を更新する。移動装置20は、移動動作を行っており、センサ部21で観測可能な領域が変化することから、新たに観測可能となった領域を含むように地図情報を更新してステップST4に進む。
【0040】
ステップST4で移動装置はノード設定操作が行われたか判別する。移動装置20は、ノード設定操作が行われたか判別して、ノード設定操作が行われたと判別していない場合にステップST1に戻り、ノード設定操作が行われたと判別した場合にステップST5に進む。
【0041】
ステップST5で移動装置は障害物との距離を算出する。移動装置20はノード設定操作で示されたノード位置から障害物までの距離を地図情報に基づいて算出してステップST6に進む。
【0042】
ステップST6で移動装置は移動装置情報の読み出しを行う。移動装置20は、保持している移動装置情報を読み出してステップST7に進む。
【0043】
ステップST7で移動装置は配置変更が必要ないか判別する。移動装置20は、ステップST5で算出した距離とステップST6で読み出した移動装置情報に基づき、ステップST4で設定されたノードの配置変更が必要ないか判別する。移動装置20は、設定されたノードの位置で障害物と衝突しない場合に配置変更が必要ないと判別してステップST8に進み、障害物と衝突する場合に配置変更が必要と判別してステップST9に進む。
【0044】
ステップST8で移動装置はノード保存処理を行う。移動装置20はステップST4で設定されたノードを経路計画で利用可能なノードとして保存する。さらに、保存されたノードを含めて新たに経路計画の生成を行いステップST1に戻る。
【0045】
ステップST9で移動装置は配置変更指示通知を行う。移動装置20は、ステップST4でノード設定操作を行ったユーザに対して、ノードの配置変更が必要であることを示す配置変更指示通知を行ってステップST10に進む。なお、配置変更指示通知では、配置変更が必要な理由や候補位置を通知してもよい。
【0046】
ステップST10で移動装置は配置変更操作を受け付ける。移動装置20は、配置変更後のノードを受け付けて、経路計画で利用可能なノードとして保存する。さらに、保存されたノードを含めて新たに経路計画の生成を行いステップST1に戻る。
【0047】
図4は、移動装置と障害物の関係を例示している。移動装置20は、例えば対向二輪型ロボットであり、本体部201に対して2個の車輪202L,202Rが左右対称に設けられて独立に駆動される。また、車輪の軸を回転軸として本体部201が回転して倒れてしまうことがないように、本体部201の前方にキャスタ203が設けられている。
【0048】
移動装置20は、車輪202L,202Rの回転方向と回転速度を制御することで種々の動作を行うことができる。例えば、車輪202L,202Rの回転方向と回転速度を等しくすれば、前方あるいは後方に直進することができる。また、車輪202L,202Rの回転方向が逆方向で回転速度を等しくすれば、車輪の中点PScを中心に旋回することができる。さらに、回転速度を異なる速度とすれば、左右方向に移動できる。
【0049】
このような移動装置20では、中点PScを中心として車輪202L(202R)から中点PScまでの距離を半径とする領域よりも本体部201が大きい場合、移動装置20の向きを替えたときに障害物と衝突する衝突点を生じる。例えば、中点PScを中心として本体部201の先端から中点PScまでの距離を半径とする領域ALf内に障害物が位置していると、移動装置20の向きを替えたときに本体部201の先端は障害物に衝突する衝突点CPfとなる。また、中点PScを中心として本体部201の左右後端から中点PScまでの距離を半径とする領域ALb内に障害物が位置していると、移動装置20の向きを替えたときに、本体部201の左右後端は障害物に衝突する衝突点CPbとなる。
【0050】
したがって、移動装置20は、向きを替えたときに衝突点を生じないようにノードの位置を調整する。移動装置20のノード配置判定部251は、移動装置情報に基づき領域ALf,ALbを判別する。また、ノード配置判定部251は、周辺地図生成部22で生成された地図情報と自己位置推定部23の推定結果やノード設定操作で示されたノードの位置に基づき、領域ALf,ALbの領域内に障害物が含まれるか判別する。ノード配置判定部251は、現在地からノード設定操作で示されたノードの位置への移動において、領域ALf,ALbの領域内に障害物が含まれない場合は、ノード設定操作で示されたノードの配置変更が必要ないと判別して、ノード設定操作で示されたノードを経路計画で利用可能なノードとする。また、ノード配置判定部251は、領域ALf,ALbの領域内に障害物が含まれる場合はノードの配置変更が行われるようにする。
【0051】
図5は、移動装置が障害物と衝突する場合を例示している。
図5の(a)に示すように、現在地で
図4に示す領域ALbに障害物が含まれており、ノード設定操作で示されたノードNDtの方向に向きを変えて移動する場合、移動装置20の右側後端が障害物と衝突するおそれがある。この場合、ノード配置判定部251は、ノードの配置変更が必要と判別する。また、
図5の(b)に示すように、ノードNDtが障害物に接近しており、移動装置20がノードNDtの位置となる前に、
図4に示す領域ALfに障害物が含まれると移動装置20の先端が障害物と衝突するおそれがある。この場合、ノード配置判定部251は、ノードの配置変更が必要と判別する。
【0052】
ノード配置判定部251は、ノードの配置変更が必要と判別した場合に配置変更指示情報を生成する。配置変更指示情報は、ノード設定操作で示されたノードの配置変更が必要であることを通知するだけでなく、上述のように、配置変更が必要な理由例えばノード設定操作で示されたノードの位置の方向に向きを変えたときに障害物との衝突を生じることや、移動中に障害物と衝突を生じることを示す情報を含めてもよい。また、配置変更指示情報には、上述のように候補位置を示す情報を含めてもよい。
【0053】
配置変更指示情報を受け取ったユーザは、例えば移動装置20が障害物と衝突しないように配置変更操作を行い、インタラクション部29は配置変更操作で示されたノードを受け付ける。配置変更操作では、ノード設定操作で示したノードの位置を変更してもよく、移動装置20が障害物と衝突を生じないように新たにノードを設定してもよい。例えば、
図5(a)に示す場合、配置変更操作によってノードの位置を黒丸の位置から白丸の位置に移動すれば、移動装置20の向きの変化が少なくなり障害物との衝突を防ぐことができる。また、黒丸の位置が目的地である場合は白丸の位置にノードを新たに設定してもよい。また、
図5(b)に示す場合、配置変更操作によってノードNDtの位置を黒丸の位置から白丸の位置に移動すれば、移動装置20は障害物から離れた位置となり障害物との衝突を防ぐことができる。また、黒丸の位置が目的地である場合は三角印の位置にノードを新たに設定することで目的地への侵入角度が調整されて、障害物との衝突を防ぐことができる。
【0054】
このように、移動装置は、移動装置に関する移動装置情報と、配置されたノードに関する情報に基づき、ノードの配置変更が必要か判別されて、配置変更が必要ないノードと配置変更が必要である場合は配置変更後のノードのみを用いて経路計画が生成されるので、衝突や衝突によって移動が困難となることがなく、移動タスクを安全に効率よく移動タスクを実行できる。
【0055】
<3.移動装置を制御するサーバに本技術を適用した場合の実施の形態>
ところで、上述の実施の形態では、移動装置が個々に独立して移動動作を行う場合について説明したが、サーバで各移動装置を制御して効率よく移動タスクを行ってもよい。
図6は、移動装置システムの他の構成を例示しており、移動装置システム10aは、1または複数の移動装置20aの動作をサーバ40で制御する。サーバ40は、移動タスクを受け付けていずれかの移動装置20aへ割り当てる。さらに、サーバ40は、割り当てた移動タスクを実行するために用いる経路計画を生成して対応する移動装置に送信する。
【0056】
<3-1.移動装置とサーバの構成>
図7は移動装置とサーバの構成を例示している。移動装置20aは、センサ部21、周辺地図生成部22、自己位置推定部23、移動装置情報保持部24、経路追従部26、駆動制御部27、駆動部28、通信部30を有しており、各部は、移動装置20と同様に構成されている。
【0057】
センサ部21は、外界センサと内界センサを有している。センサ部21の外界センサは、移動装置の周辺環境に関する情報を取得して測距データを周辺地図生成部22や自己位置推定部23へ出力する。また、センサ部21の内界センサは、移動装置自身に関する情報を取得して内界センシングデータを自己位置推定部23へ出力する。
【0058】
周辺地図生成部22は、センサ部21で生成された測距データに基づき周辺に位置する障害物を示す地図情報を生成する。周辺地図生成部22は、生成した地図情報をサーバ40へ通信部30を介して出力する。
【0059】
自己位置推定部23は、センサ部21で生成された内界センシングデータあるいは内界センシングデータと外界センサで生成された測距データに基づき自己位置を推定する。また、自己位置推定部23は、移動装置20の外部で検出された自己位置を示す情報を、例えば通信部30を介して取得してもよい。自己位置推定部23は自己位置を示す自己位置情報を経路追従部26へ出力するとともに、通信部30を介してサーバ40へ出力する。
【0060】
移動装置情報保持部24は、移動装置の移動時に必要とされる領域を判別するための移動装置情報を保持している。移動装置情報は、移動装置の形状情報を含む。また、移動装置情報は、形状情報だけでなく性能情報等が含まれてもよい。移動装置情報保持部24は、保持している移動装置情報をサーバ40へ通信部30を介して出力する。形状情報の判別は、移動装置に予め登録されていてもよく、ユーザによって入力されてもよい。また、他の移動装置や、移動装置の走行環境に備えられたカメラ、ミリ波レーダー、LiDAR等のセンサによって判別されたうえで登録がされてもよい。
【0061】
経路追従部26は、通信部30を介してサーバ40から供給された経路計画で示された経路を移動装置20で追従させる。経路追従部26は、例えば周辺地図生成部22で生成された地図情報と自己位置推定部23の推定結果、およびサーバ40で生成された経路計画に基づき、現在地から最初のノードまでの軌道、現在のノードから次のノードまでの軌道を計画する。経路追従部26は、計画した軌道を駆動制御部27へ出力する。
【0062】
駆動制御部27は、経路追従部26で計画された軌道を移動するように駆動信号を生成して駆動部28へ出力する。
【0063】
駆動部28は、車輪と駆動源等を用いて構成されており、駆動制御部27からの駆動信号に基づき駆動源で車輪を駆動して移動装置20を移動させる。
【0064】
通信部30は、サーバ40と無線通信を行う。無線通信は、例えば、LTE、WCDMA(登録商標)、5Gなどのいずれかを使用するセルラ通信を含んでもよく、Wi-Fi、ブルートゥース(登録商標)などのいずれかを使用する近距離無線通信を含んでもよい。通信部30は、サーバ40と無線通信を行い、例えば周辺地図生成部22で生成された地図情報や自己位置推定部23で推定した自己位置、移動装置情報保持部24から読み出した移動装置情報をサーバ40へ送信する。また、通信部30は、サーバ40で生成された経路計画を受信して経路追従部26へ出力する。
【0065】
サーバ40は、通信部41、地図処理部42、地図記憶部43、移動装置情報記憶部44、タスク計画部45、情報処理部46を有している。
【0066】
通信部41は、移動装置20の通信部30と無線通信を行うことができるように構成されている。無線通信は、上述のようにセルラ通信を含んでもよく、近距離無線通信を含んでもよい。通信部41は、移動装置20と無線通信を行い、移動装置20で生成された地図情報や推定された自己位置を示す自己位置情報を受信する。通信部41は、受信した地図情報や自己位置情報を地図処理部42へ出力する。また、通信部41は、移動装置情報を受信して移動装置情報記憶部44へ出力する。さらに、通信部41は情報処理部46の経路計画部463で生成された経路計画を移動装置20へ送信する。
【0067】
地図処理部42は、移動装置20のそれぞれで生成された地図情報を統合して、環境全体で移動装置20の通行が可能な領域を示す移動可能領域地図を生成する。また、地図処理部42は、移動装置と別個に設けられている外界センサで取得されたセンシングデータに基づいて移動可能領域地図を生成してもよく、外部機器等から予め生成されている移動可能領域地図を取得してもよい。また、地図処理部42は、移動可能領域の変化に応じて移動可能領域地図を更新する。例えば、地図処理部42は、障害物の設置や移動・撤去等によって移動装置20の通行が可能な移動可能領域が変化したことを判別したとき移動可能領域地図を自動的に更新する。
【0068】
地図記憶部43は、地図処理部42で生成された移動可能領域地図を記憶する。また、移動装置情報記憶部44は、移動装置毎の移動装置情報を記憶する。移動装置情報は、個々の移動装置20との通信によって取得してもよく、予めユーザが移動装置情報を入力してもよい。
【0069】
タスク計画部45は、ユーザ等から行われた移動タスク要求を受け付けて、移動タスクを行う移動装置を移動装置の性能等に応じて決定する。さらに、タスク計画部45は、移動装置と移動装置に割り当てた移動タスクを示すタスク割り当て情報を情報処理部46へ出力する。
【0070】
情報処理部46は、ノード配置判定部461、ノード保持部462、経路計画部463を有している。
【0071】
ノード配置判定部461は、移動可能領域地図に基づき通行可能な経路にノードを自動的に配置して、配置したノードの位置において、移動装置情報や地図情報、自己位置情報に基づき配置変更が必要か判別する。例えば、ノード配置判定部461は、自己位置情報で示された位置から配置したノードの位置に移動する場合、あるいは配置したノードの位置から次のノードの位置に移動する場合、移動装置情報と地図情報およびノード設定操作で示されたノードの位置と自己位置情報等に基づき、移動装置が障害物に衝突するか判別する。ノード配置判定部251は、移動装置が障害物に衝突しない場合、配置変更は必要ないと判別して、ノード設定操作で示されたノードを経路計画で利用可能なノードとする。また、ノード配置判定部461は、移動装置が障害物に衝突する場合、配置変更は必要であると判別して配置変更処理を行い、ノードの位置の変更や新たなノードの設定を行い、配置変更後のノードを経路計画で利用可能なノードとする。
【0072】
ノード保持部252は、ノード配置判定部251で配置変更が必要ないと判別されたノードと配置変更後のノードを移動装置毎に記憶する。
【0073】
経路計画部463は、ノード保持部462に保持されているノードから、移動装置に割り当てられた移動タスクの実行に用いる移動装置に応じたノードを順次選択して経路計画を生成する。経路計画部463は生成した経路計画を対応する移動装置へ通信部41を介して出力する。
【0074】
<3-2.サーバの動作>
サーバ40は、移動可能領域地図に基づき移動装置が通行する経路を示す地図、例えばノードとノード間をエッジで結んだトポロジカルマップを生成する。さらに、サーバ40は移動可能領域地図と移動装置情報および自己位置情報に基づき、ノードの位置からの移動あるいはノード位置への移動の際に移動装置と障害物が衝突を生じるか判別して、衝突を生じる場合は配置変更処理を行い、衝突を生じないようにノードの位置の調整や新たなノードを設定して、配置変更が必要ないと判別されたノードと配置変更後のノードを保持する。なお、衝突しない場所は無数に存在することから、ノード上で行いたいタスクを処理できるように設定する。例えば、割り当てた移動タスクに基づき、近づきたい位置を自動的に設定して、その位置から最も近く、かつ衝突しない位置へのノードの移動あるいは新たなノードの設定を行う。
【0075】
また、サーバ40は、受け付けた移動タスクを移動装置に割り当てて、割り当てた移動タスクを移動装置で実行するために用いるノードを順次選択して経路計画を生成して移動装置へ出力する。なお、ノードの配置変更は、経路計画を生成する前に行う場合に限らず、経路計画を生成する際に行ってもよい。例えば、経路計画に基づいて移動装置の現在地から最初のノードに移動する場合や目的地を示すノードに移動する場合、移動装置と障害物との衝突を生じないようにノードの配置変更を行ってもよい。
【0076】
このように、サーバ40は、移動装置毎にノードの配置変更が必要か判定して、配置変更が必要ないノードと配置変更後のノードのみを用いて経路計画を生成するので、移動装置と障害物との衝突を生じることなく各移動装置で移動タスクを実行させることができる。また、サーバ40は、移動装置システム10aの各移動装置20aの位置や移動装置情報を考慮して移動タスクの割り当てや経路を設定できるので、移動装置の混雑を生じないように、あるいは移動装置の混雑を避けて経路を設定できるようになり、効率よく移動タスクを処理できる。
【0077】
<4.変形例>
ところで、上述の実施の形態では、対向二輪型ロボットを用いた場合を例示したが、移動装置は他の構成であってもよい。
図8は移動装置の他の構成を例示している。
図8の(a)は、駆動が1系統であって操舵輪を有するステアリング型ロボット、
図8の(b)は四足歩行ロボット、
図8の(c)は、45度傾いた樽型のローラーで覆われた車輪であるメカナムホイールを用いたロボットを示している。このようなステアリング型ロボットや四足歩行ロボット、メカナムホイールを用いたロボットでも、ロボットの向きを変える場合に衝突点を生じるおそれがある。したがって、移動装置が
図8に示すような構成である場合でも、移動装置20あるいはサーバ40は、移動装置と障害物が衝突しないようにノードの配置変更を行うことで、移動装置が障害物に衝突することなく移動タスクを実行できるようになる。
【0078】
また、移動装置は物品等を搬送する場合、物品を搭載したことにより移動装置のサイズが本体部よりも大きくなると、移動装置が障害物に衝突しなくとも搭載した物品が障害物に衝突する場合が生じる。そこで、移動装置20あるいはサーバ40は、物品を搭載したときの移動装置の大きさを用いてノードの配置変更を判別してもよい。
【0079】
例えば、移動装置20の情報処理部25で障害物との衝突を判別する場合、インタラクション部29は、物品の搬送である移動タスクを受け付ける際に、搬送する物品のサイズ情報をユーザに入力させる。ノード配置判定部251は、移動装置情報と受け付けたサイズ情報に基づき物品の搭載状態における移動装置の大きさを算出して、算出した移動装置の大きさを用いて、移動装置(または搭載されている物品)と障害物が衝突しないように、ノードの配置変更処理を行う。
【0080】
また、サーバ40の情報処理部46で障害物との衝突を判別する場合、例えば搬送する物品のサイズを予め登録しておき、物品の搬送である移動タスクを移動装置に割り当てる際に、ノード配置判定部251は、移動装置情報と搬送する物品のサイズ情報に基づき物品の搭載状態における移動装置の大きさを算出して、算出した移動装置の大きさを用いて、移動装置(または搭載されている物品)と障害物が衝突しないように、ノードの配置変更処理を行う。また、物品のサイズは、移動装置の備えられたカメラやミリ波レーダー、LiDAR等のセンサにより判別され登録されてもよい。また、物品を搬送する移動装置以外の移動装置に訴和えられたセンサにより判別されてもよく、その他に、移動装置の走行する場所に備えられたセンサなどによって登録がされてもよい。
【0081】
このように、搭載する物品のサイズを考慮して障害物との衝突を判別すれば、種々のサイズの物品を搬送する場合に、ノードの位置を最適な位置として、障害物との衝突を生じることなく移動タスクを実行できるようになる。
【0082】
また、移動装置20あるいはサーバ40は、周辺環境を示す地図情報だけでなく、過去の障害物登録履歴を利用してノードの位置の変更が必要か判別してもよい。例えば障害物登録履歴を利用することで、障害物により近づけなくなる領域を事前に判別することが可能となる。したがって、障害物により近づけなくなる領域をノードの設定時に通知すれば、ノードの位置の変更を生じることがないようにノードを設定できるようになる。なお、障害物登録履歴をどの程度の期間だけ保持するか、およびどの程度の期間の障害物登録履歴を利用するかは、予め設定されたパラメータあるいはユーザによって設定されたパラメータに基づき決定してもよい。
【0083】
また、上述の実施の形態では、周辺環境を示す地図情報を用いているが、移動装置とは別個に設けられたセンサ、例えば監視カメラを用いて取得された通行人や他の移動装置の経路を地図情報に含めれば、通行人等の邪魔になる位置を判別することが可能となる。したがって、通行人等の障害となる領域をノードの設定時に通知すれば、ノードの位置の変更を生じることがないようにノードを設定できるようになる。なお、通行人や他の移動装置の経路をどの程度の期間だけ保持するか、およびどの程度の期間だけ保持された情報を利用するかは、予め設定されたパラメータあるいはユーザによって設定されたパラメータに基づき決定してもよい。
【0084】
さらに、上述の実施の形態は、周辺環境を示す地図情報で示された障害物との衝突を判別したが、移動装置20あるいはサーバ40は、移動効率が低下する場合に、ノードの配置変更が必要と判別してもよい。例えば他の移動装置の自己位置や経路計画に基づき、他の移動装置と並走や交差あるいはすれ違い等を生じるおそれがある場合に、移動装置がノードの配置位置となり他の移動装置の通行の妨げとなると、移動装置は移動装置システムの移動効率を低下させてしまう。このような場合、移動装置20あるいはサーバ40は他の移動装置の通行の妨げとならないようにノードの配置変更を行うことで、各移動装置が安全に効率よく移動タスクを実行できるようになる。
【0085】
<5.応用例>
本開示に係る技術は、様々な分野へ適用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、船舶等のいずれかの種類の移動装置に搭載される装置として実現されてもよい。また、工場における生産工程で用いられる機器や建設分野で用いられる機器、農業や林業等で用いられる機器に搭載される装置として実現されてもよい。このような分野に適用すれば、移動装置の通行可能領域が作業状況に応じて変化する環境でも、複数の機器を用いて効率よく作業等を行うことが可能となる。
【0086】
明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0087】
例えば、プログラムは記録媒体としてのハードディスクやSSD(Solid State Drive)、ROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、BD(Blu-Ray Disc(登録商標))、磁気ディスク、半導体メモリカード等のリムーバブル記録媒体に、一時的または永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【0088】
また、プログラムは、リムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトからLAN(Local Area Network)やインターネット等のネットワークを介して、コンピュータに無線または有線で転送してもよい。コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0089】
なお、本明細書に記載した効果はあくまで例示であって限定されるものではなく、記載されていない付加的な効果があってもよい。また、本技術は、上述した技術の実施の形態に限定して解釈されるべきではない。この技術の実施の形態は、例示という形態で本技術を開示しており、本技術の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【0090】
また、本技術の情報処理装置は、以下のような構成も取ることができる。
(1) 移動装置に関する移動装置情報と、配置されたノードに関する情報に基づき、前記ノードの配置変更が必要か判別するノード配置判定部を備える情報処理装置。
(2) 前記配置されたノードに関する情報は、前記ノードの位置を示す位置情報と障害物の位置を示す地図情報を含み、
前記ノード配置判定部は、前記配置されたノードの位置で前記移動装置と前記障害物との衝突を生じる場合に前記配置変更が必要と判別する(1)に記載の情報処理装置。
(3) 前記移動装置情報は、前記移動装置の形状情報を含む(1)または(2)に記載の情報処理装置。
(4) 前記形状情報は、前記移動装置で物品を搬送する場合に物品搬送状態である前記移動装置の形状を示す情報である(3)に記載の情報処理装置。
(5) 前記ノード配置判定部は、移動効率の低下を生じる場合に前記配置変更が必要と判別する(1)乃至(4)のいずれかに記載の情報処理装置。
(6) 前記ノード配置判定部は、障害物登録履歴を利用して前記ノードの配置変更が必要か判別する(1)乃至(5)のいずれかに記載の情報処理装置。
(7) 前記ノード配置判定部は、前記配置変更が必要と判別した場合、再配置する候補位置を算出する(1)乃至(6)のいずれかに記載の情報処理装置。
(8) 前記ノード配置判定部は、配置変更前のノードの位置から所定距離より近く障害物と衝突しない位置を前記候補位置とする(7)に記載の情報処理装置。
(9) 前記ノード配置判定部は、前記配置変更が必要と判別した場合にその旨をインタラクション部からユーザへ通知する(7)または(8)に記載の情報処理装置。
(10) 前記ノード配置判定部は、前記配置変更が必要と判別した場合、前記候補位置を前記インタラクション部から通知する(7)乃至(9)のいずれかに記載の情報処理装置。
【符号の説明】
【0091】
10,10a・・・移動装置システム
20,20a・・・移動装置
21・・・センサ部
22・・・周辺地図生成部
23・・・自己位置推定部
24・・・移動装置情報保持部
25・・・情報処理部
26・・・経路追従部
27・・・駆動制御部
28・・・駆動部
29・・・インタラクション部
30,41・・・通信部
40・・・サーバ
42・・・地図処理部
43・・・地図記憶部
44・・・移動装置情報記憶部
45・・・タスク計画部
46・・・情報処理部
201・・・本体部
202L,202R・・・車輪
203・・・キャスタ
251,461・・・ノード配置判定部
252,462・・・ノード保持部
253,463・・・経路計画部