(57)【要約】      （修正有）【課題】単一のシステムで制御されていなくても、あるいは、互いにコミュニケーションを取らなくても、経由地点や目的地点で互いに衝突することなく、与えられたタスクを効率よく実行することのできる自律移動体を提供する。【解決手段】計画された移動経路に沿って移動する自律移動体であって、他の自律移動体とその動作状況とを認識する外界センサ１３１、１３２と、外界センサによって他の自律移動体が、同時刻に自機の経由地点または目的地点に位置することを予測した場合に、動作状況から推定される他の自律移動体のタスクと、自機のタスクとの優先度の比較に基づいて、移動を継続するか中断するかを判断する移動判断部と、移動判断部の判断に基づいて移動ユニットを制御する移動制御部とを備える自律移動体。【選択図】図３
2019219735.tif 000002
【特許請求の範囲】
【請求項１】
計画された移動経路に沿って移動する自律移動体であって、
他の自律移動体とその動作状況とを認識する外界センサと、
前記外界センサによって前記他の自律移動体が、同時刻に自機の経由地点または目的地点に位置することを予測した場合に、前記動作状況から推定される前記他の自律移動体のタスクと、自機のタスクとの優先度の比較に基づいて、移動を継続するか中断するかを判断する移動判断部と、
前記移動判断部の判断に基づいて移動ユニットを制御する移動制御部と
を備える自律移動体。
【請求項２】
前記移動判断部は、前記目的地点が充電池に電力を供給する給電ポイントである場合に、前記他の自律移動体の充電タスクと自機の充電タスクとの、充電に対する優先度の比較に基づいて、移動を継続するか中断するかを判断する請求項１に記載の自律移動体。
【請求項３】
前記外界センサは、前記他の自律移動体の呈示部が呈示する電力の残容量情報を読み取り、
前記移動判断部は、前記残容量情報に基づいて、前記他の自律移動体の充電に対する優先度を定める請求項２に記載の自律移動体。
【請求項４】
前記他の自律移動体に自機のタスクに関する情報を呈示する呈示部を備える請求項１から３のいずれか１項に記載の自律移動体。
【請求項５】
前記移動判断部は、前記他の自律移動体が、自機と同種の自律移動体でないと認識した場合は、移動を中断すると判断する請求項１から４のいずれか１項に記載の自律移動体。
【請求項６】
前記他の自律移動体と相互通信を行う通信部を備え、
前記移動制御部は、前記相互通信が確立されている間は、前記移動判断部の判断によらず、前記相互通信の通信結果に基づいて前記移動ユニットを制御する請求項１から５のいずれか１項に記載の自律移動体。
【請求項７】
計画された移動経路に沿って移動する自律移動体の制御プログラムあって、
外界センサを用いて他の自律移動体とその動作状況とを認識する認識ステップと、
前記認識ステップによって前記他の自律移動体が、同時刻に自機の経由地点または目的地点に位置することを予測した場合に、前記動作状況から推定される前記他の自律移動体のタスクと、自機のタスクとの優先度の比較に基づいて、移動を継続するか中断するかを判断する移動判断ステップと、
前記移動判断ステップの判断に基づいて移動ユニットを制御する移動制御ステップと
をコンピュータに実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律移動体、および自律移動体の制御プログラムに関する。
【背景技術】
【０００２】
特定の環境下で複数の自律型移動ロボットが与えられたタスクをそれぞれ実行する技術が知られるようになってきた。例えば、特許文献１には複数の掃除ロボットが互いに異なる経路を移動しながら掃除を実行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１７４３７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特定の環境下で自律移動する複数の自律移動体が、例えば統括サーバにより単一のシステムで制御されている場合や、共通のフォーマットに則った通信手段により互いにコミュニケーションを取り合える場合であれば、それぞれが円滑な自律移動を行い得る。しかし、近年では互いに独立した自律移動体が特定の環境下で別個のタスクを実行する状況も増えてきている。このような状況においては、自律移動体同士で互いに協調して移動経路や目的地が重ならないように調整することが難しく、円滑な自律移動が妨げられる。
【０００５】
本発明は、このような問題を解決するためになされたものであり、単一のシステムで制御されていなくても、あるいは、互いにコミュニケーションを取らなくても、経由地点や目的地点で互いに衝突することなく、与えられたタスクを効率よく実行することのできる自律移動体およびその制御プログラムを提供するものである。
【課題を解決するための手段】
【０００６】
本発明の第１の態様における自律移動体は、計画された移動経路に沿って移動する自律移動体であって、他の自律移動体とその動作状況とを認識する外界センサと、外界センサによって他の自律移動体が、同時刻に自機の経由地点または目的地点に位置することを予測した場合に、動作状況から推定される他の自律移動体のタスクと、自機のタスクとの優先度の比較に基づいて、移動を継続するか中断するかを判断する移動判断部と、移動判断部の判断に基づいて移動ユニットを制御する移動制御部とを備える。
【０００７】
このように、動作状況から推定される他の自律移動体のタスクと自機のタスクの優先度の比較に基づいて移動を継続するか中断するかを判断しているので、単一のシステムで制御されていなくても、あるいは、互いにコミュニケーションを取らなくても、与えられたタスクを安全かつ効率よく実行することができる。
【０００８】
上記の自律移動体において、移動判断部は、目的地点が充電池に電力を供給する給電ポイントである場合に、他の自律移動体の充電タスクと自機の充電タスクとの、充電に対する優先度の比較に基づいて、移動を継続するか中断するかを判断しても良い。実行中のタスクが共に給電ポイントへ移動して充電作業を行うという充電タスクである場合に、それぞれの電力残容量を比較するなどして調整を行えば、それぞれの自律移動体が安全かつ確実に充電タスクを実行することができる。また、このような判断を行うことにより、たとえ同じシステムの下で制御されていなくても、他の自律移動体と擬似的な協調動作を行うことができる。
【０００９】
この場合、外界センサは、他の自律移動体の呈示部が呈示する電力の残容量情報を読み取り、移動判断部は、残容量情報に基づいて、他の自律移動体の充電に対する優先度を定めると良い。このように、他の自律移動体の呈示部に表示された情報を利用すれば、電力の残容量情報を含め他の自律移動体の情報を比較的容易に取得することができる。
【００１０】
また、上記の自律移動体は、他の自律移動体に自機のタスクに関する情報を呈示する呈示部を備えても良い。呈示部の呈示により他の自律移動体が自機のタスクに関する情報を認識すれば、当該他の自律移動体がそれに応じた移動動作を行ってくれることを期待できる。
【００１１】
また、上記の自律移動体において、移動判断部は、他の自律移動体が、自機と同種の自律移動体でないと認識した場合は、移動を中断すると判断すると良い。他の自律移動体がどのような自律移動体であるか判断できない場合は、外界センサによって取得される外観情報に基づいて動作状況を正確に把握することが難しいことがある。他の自律移動体が同種の自律移動体でない場合に移動を中断することで、より高い安全性を確保できる。
【００１２】
また、上記の自律移動体は、他の自律移動体と相互通信を行う通信部を備え、移動制御部は、相互通信が確立されている間は、移動判断部の判断によらず、相互通信の通信結果に基づいて移動ユニットを制御するようにしても良い。相互通信が可能であれば、通信を利用したコミュニケーションにより他の自律移動体と協調動作を行えば良い。互いにコミュニケーションを行ってそれぞれの移動動作を確定する方がより安全である。一方で、通信が確立されていない場合でも、自律移動体は、移動判断部の判断によって移動動作を安定的に行うことができる。
【００１３】
本発明の第２の態様における自律移動体の制御プログラムは、計画された移動経路に沿って移動する自律移動体の制御プログラムあって、外界センサを用いて他の自律移動体とその動作状況とを認識する認識ステップと、認識ステップによって他の自律移動体が、同時刻に自機の経由地点または目的地点に位置することを予測した場合に、動作状況から推定される他の自律移動体のタスクと、自機のタスクとの優先度の比較に基づいて、移動を継続するか中断するかを判断する移動判断ステップと、移動判断ステップの判断に基づいて移動ユニットを制御する移動制御ステップとをコンピュータに実行させる。
【００１４】
このように、動作状況から推定される他の自律移動体のタスクと自機のタスクの優先度の比較に基づいて移動を継続するか中断するかを判断しているので、単一のシステムで制御されていなくても、あるいは、互いにコミュニケーションを取らなくても、与えられたタスクを安全かつ効率よく実行することができる。
【発明の効果】
【００１５】
本発明により、単一のシステムで制御されていなくても、あるいは、互いにコミュニケーションを取らなくても、経由地点や目的地点で互いに衝突することなく、与えられたタスクを効率よく実行することのできる自律移動体およびその制御プログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係る移動ロボットの外観斜視図である。
【図２】移動ロボットの制御ブロック図である。
【図３】一例における移動判断の状況を説明する図である。
【図４】他の例における移動判断の状況を説明する図である。
【図５】優先して移動する状況を説明する図である。
【図６】タスク優先度のルックアップテーブルの例である。
【図７】移動ロボットの移動に関する処理フローを示すフロー図である。
【図８】他の例における移動判断の状況を説明する図である。
【発明を実施するための形態】
【００１７】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【００１８】
図１は、本実施形態に係る移動ロボット１００の外観斜視図である。移動ロボット１００は、自律移動体の一例である。移動ロボット１００は、大きく分けて台車部１１０と本体部１２０によって構成される。
【００１９】
台車部１１０は、円筒形状の筐体内に、それぞれが走行面に接地する２つの駆動輪１１１と１つのキャスター１１２とを支持している。２つの駆動輪１１１は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪１１１は、不図示のモータによって独立して回転駆動される。駆動輪１１１は、移動ロボットを移動させるための移動ユニットの一例である。キャスター１１２は、従動輪であり、台車部１１０から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車部１１０の移動方向に倣うように追従する。
【００２０】
移動ロボット１００は、例えば、２つの駆動輪１１１が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば台車部１１０の２つの駆動輪１１１のほぼ中央を通る鉛直軸周りに旋回する。すなわち、移動ロボット１００は、２つの駆動輪１１１の回転方向、回転速度がそれぞれ制御されることにより、任意の方向へ並進、旋回することができる。
【００２１】
台車部１１０は、上面の周縁部にレーザスキャナ１３２を備える。レーザスキャナ１３２は、水平面内の一定の範囲をステップ角ごとにスキャンして、それぞれの方向に障害物が存在するか否かを出力する。さらに、障害物が存在する場合には、その障害物までの距離を出力する。
【００２２】
また、台車部１１０は、外周面に受電端子１１３を備える。受電端子１１３は、後述する給電端子と接触して電力の供給を受ける。移動ロボット１００は、搭載する充電池の電力残容量が基準値を下回ったことを検出した場合に、給電端子が位置する給電ポイントまで移動し受電端子１１３を給電端子に接触させて充電池の充電を行う充電タスクを発生させる。
【００２３】
本体部１２０は、主に、台車部１１０の上面に搭載された胴部１２１、胴部１２１の上面に載置された頭部１２２、胴部１２１の側面に支持されたアーム１２３、アーム１２３の先端部に設置されたハンド１２４、およびＬＥＤバー１４２を備える。アーム１２３とハンド１２４は、不図示のモータを介して駆動され、様々な物体を制御された姿勢で把持する。図は、搬送物の一例として容器を把持している様子を示す。胴部１２１は、不図示のモータの駆動力により、台車部１１０に対して鉛直軸周りに回転することができる。したがって、移動ロボット１００は、把持部が搬送物を把持して特定方向を向く姿勢を保ったまま任意の方向へ移動することもできる。
【００２４】
ＬＥＤバー１４２は、複数のＬＥＤおよび導光材を有する発光装置であり、ＬＥＤのそれぞれが鉛直軸に対して放射方向へ発光するように、胴部１２１の上部の円環状の外周部に設置されている。ＬＥＤバー１４２は、発光色や点滅周期を変化させることができ、そのパターンにより移動ロボット１００の動作状況やタスクに関する情報を周囲に呈示することができる。また、胴部１２１には、コントロールユニット１９０が設けられている。コントロールユニット１９０は、後述の制御部とメモリ等を含む。
【００２５】
頭部１２２は、主に、ステレオカメラ１３１および表示パネル１４１を備える。ステレオカメラ１３１は、同じ画角を有する２つのカメラユニットが互いに離間して配置された構成を有し、それぞれのカメラユニットで撮像された画像を画像データとして出力する。
【００２６】
表示パネル１４１は、例えば液晶パネルであり、キャラクターの顔をイラストで表示したり、移動ロボット１００に関する情報をテキストやアイコンで呈示したりする。表示パネル１４１にキャラクターの顔を表示すれば、表示パネル１４１が擬似的な顔部であるかの印象を周囲の観察者に与えることができる。また、表示パネル１４１は、表示面にタッチパネルを有し、ユーザからの指示入力を受け付けることができる。
【００２７】
頭部１２２は、不図示のモータの駆動力により、胴部１２１に対して鉛直軸周りに回転することができる。したがって、ステレオカメラ１３１は、任意の方向の対象物を撮影することができ、また、表示パネル１４１は、任意の方向へ向けて表示内容を呈示することができる。なお、以降の説明においては、図示するように、移動ロボット１００が移動する移動平面をｘｙ平面、移動平面に対する鉛直軸方向をｚ軸と定める。
【００２８】
図２は、移動ロボット１００の制御ブロック図である。制御部２００は、例えばＣＰＵであり、本体部１２０のコントロールユニット１９０に格納されている。台車駆動ユニット２１０は、駆動輪１１１を駆動するための駆動回路やモータを含む。制御部２００は、台車駆動ユニット２１０へ駆動信号を送ることにより、駆動輪１１１の回転制御を実行する。また、制御部２００は、台車駆動ユニット２１０からエンコーダ等のフィードバック信号を受け取って、台車の移動方向を把握する。台車駆動ユニット２１０は、制御部２００と協働して、移動制御部としての機能を担う。
【００２９】
上体駆動ユニット２２０は、アーム１２３およびハンド１２４を含む把持部、胴部１２１および頭部１２２を駆動するための駆動回路やモータを含む。制御部２００は、上体駆動ユニット２２０へ駆動信号を送ることにより、把持制御や、胴部１２１および頭部１２２の回転制御を実行する。また、制御部２００は、上体駆動ユニット２２０からエンコーダ等のフィードバック信号を受け取って、把持部の状態や胴部１２１および頭部１２２の向きを把握する。
【００３０】
センサユニット１３０は、他の移動ロボットや障害物、周囲に存在する人物、把持している搬送対象物などを検出する各種センサを含み、台車部１１０および本体部１２０に分散して配置されている。ステレオカメラ１３１およびレーザスキャナ１３２は、センサユニット１３０を構成する要素である。制御部２００は、センサユニット１３０に制御信号を送ることにより、各種センサを駆動してその出力信号や出力データを取得する。制御部２００は、これらの出力信号や出力データを解析して、他の移動ロボット１００やその動作状況などを認識する。すなわち、センサユニット１３０は、制御部２００と協働して、他の自律移動体やその動作状況などを認識する外界センサとしての機能を担う。
【００３１】
メモリ２５０は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ２５０は、移動ロボット１００を制御するための制御プログラムの他にも、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル、比較画像データ等を記憶している。メモリ２５０は、移動ロボット１００が自律移動する環境を表現する環境地図を格納していても良い。
【００３２】
ユーザＩＦ２６０は、ユーザが移動ロボット１００へ指示を入力する入力部であり、表示パネル１４１に重畳されたタッチパネルはその一部である。また、物理的なスイッチに限らず、マイクを用いた音声入力や、ステレオカメラ１３１を用いたジェスチャー入力などをユーザＩＦ２６０として組み込んでも良い。
【００３３】
呈示ユニット１４０は、ユーザや周囲に存在する人物、他の移動ロボットなどに移動ロボット１００の動作状況やタスクに関する情報を周囲に直接的または間接的に呈示する呈示部としての機能を担い、台車部１１０および本体部１２０に分散して配置されている。表示パネル１４１およびＬＥＤバー１４２は、呈示ユニット１４０を構成する要素である。呈示ユニット１４０は、他にもスピーカや振動子などを含んでも良い。制御部２００は、呈示ユニット１４０に制御信号を送ることにより、それぞれの要素を動作させる。
【００３４】
充電ユニット２７０は、受電端子１１３、充電池、充電池回路を含む。充電池は、例えばニッケル水素充電池である。充電池回路は、受電端子１１３から供給される電力の入力を調整する充電調整回路、充電池の残容量を検出する残容量検出回路、駆動モータ等の各要素へ電力を供給する電力供給回路を含む。制御部２００は、充電を制御するために充電調整回路へ制御信号を送ったり、充電タスクを発生させるために残容量検出回路から残容量信号を受け取ったりする。
【００３５】
制御部２００は、制御に関わる様々な演算を実行する機能演算部としての役割も担う。移動判断部２０１は、他の移動ロボットが同時刻に移動ロボット１００の経由地点または目的地点に位置することを外界センサによって予測した場合に、当該他の自律移動体のタスクをその動作状況から推定して、移動を継続するか中断するかを判断する。具体的な判断手法については後に詳述する。
【００３６】
近時、複数の移動ロボットを自律移動させて、さまざまなタスクを同時並行的に実行させたいという要望が高まっている。例えば工場などの管理された環境下で複数の移動ロボットにそれぞれ別個のタスクを実行させる場合には、それらの移動ロボットを統括的に管理するサーバを設置して、サーバがそれぞれの移動ロボットの移動やタスクの実行を制御するようにシステムを構築できる。サーバで統括的な管理を行わなくても、共存する人間が制限されているような管理された環境においては、共通のフォーマットに則った通信手段により互いにコミュニケーションを取り合える移動ロボットのみを利用することもできる。この場合は、それぞれの移動ロボットが通信手段によって互いにコミュニケーションを取り合い、移動経路やタスクの実行を調整し合うことができる。
【００３７】
しかし、複数の移動ロボットに別々のタスクを実行させたい環境は、年々拡がりを見せている。例えば、空港であったり、ショッピングモールであったり、テーマパークであったりする。このような多くの人が集う環境においては、移動ロボットに要求されるタスクもさまざまであり、単一のシステムで管理される移動ロボットのみでこれらのタスクを全て賄うことが困難になってきた。また、困難なだけでなく、例えば、荷物を運搬する移動ロボットと清掃を行う移動ロボットとを単一のシステムで管理することに合理性はあまり認められない。そこで、単一のシステムや共通の通信手段で括られる群に属さずとも、他の移動ロボットと干渉せず、与えられたタスクを安全かつ円滑に実行する移動ロボットが望まれるようになってきている。本実施形態における移動ロボット１００は、このような要望に応えるものである。
【００３８】
上述のように、移動ロボット１００は、他の移動ロボットとコミュニケーションを取るための通信装置を備えていない。また、複数の移動ロボットを統括的に管理するサーバから指令を受ける通信装置も備えていない。このような移動ロボット１００においては、与えられたタスクを安全、円滑かつ着実に実行するために、経由地点や目的地点で他の移動ロボットと衝突しそうな場合に、どのように動作するかがひとつの重要なポイントとなる。このような場合における移動ロボット１００の動作を、具体例を用いて説明する。
【００３９】
図３は、一例における移動判断の状況を説明する図である。ここで、移動ロボット１０１は、緊急度の高いタスクを実行している他の移動ロボットであり、上述の移動ロボット１００と同様の構成を備えるものとする。また、移動ロボット１０２は、充電タスクを実行中の自機であり、やはり上述の移動ロボット１００と同様の構成を備えるものとする。移動ロボット１０１と移動ロボット１０２は、独立してそれぞれのタスクを実行しており、通信手段を用いて互いにコミュニケーションを取り合うことはない。
【００４０】
他の移動ロボットである移動ロボット１０１は、ｘ軸方向へ移動している。自機である移動ロボット１０２は、壁面近くに設けられた給電ユニット８１０の給電端子８１１に、自身が備える受電端子１１３を接触させるべく、ｙ軸方向へ移動している。給電ユニット８１０は、移動ロボットの充電池に電力を供給する給電ポイントの一例であり、充電タスクを実行する場合の目的地点となる。
【００４１】
自機である移動ロボット１０２は、給電ユニット８１０へ向かって計画した移動経路に沿って移動し、ある時刻に点線の円で示す経由地点を通過する予定である。点線の円は、その時刻における移動ロボット１０２のおよその外形投影領域を表す。他の移動ロボット１０１は、そのまま計画通りにｘ軸方向へ移動すると、当該時刻において移動ロボット１０２の経由地点と交錯する。すなわち、他の移動ロボット１０１が予定通り移動し、自機である移動ロボット１０１も予定通り移動すれば、両者は接触してしまう状況である。
【００４２】
自機である移動ロボット１０２は、ステレオカメラ１３１やレーザスキャナ１３２で外界の状況を観察しながら自律移動している。制御部２００は、自律移動中に、ステレオカメラ１３１が捉えた画像を画像解析することにより側方の移動ロボット１０１を認識すると、続いてその動作状況を確認する。確認すべき動作状況は、予め複数の項目として設定されており、制御部２００は、センサユニット１３０の出力を利用して、移動ロボット１０１の動作状況を確認する。制御部２００は、確認すべき動作状況の一つとしてまず、移動ロボット１０１の移動方向とその速度を確認する。
【００４３】
制御部２００は、ステレオカメラ１３１から画像データを連続的に取得することにより、その差分から、移動ロボット１０１の移動方向とその速度を演算する。あるいは、レーザスキャナ１３２の出力を連続的に取得することにより、移動ロボット１０１の移動方向とその速度を演算しても良い。制御部２００は、認識した移動ロボット１０１の形状や色などに応じて、いずれのセンサに基づいて移動ロボット１０１の移動方向とその速度を演算するかを選択しても良い。
【００４４】
演算した移動方向とその速度から、ある時刻における自機（移動ロボット１０２）の経由地点に当該他の移動ロボット１０１が位置すると制御部２００が認識した場合は、続いて、移動判断部２０１が、移動を継続するか中断するかを判断する。移動判断部２０１は、移動を継続するか中断するかの判断を、確認した移動ロボット１０１の動作状況から推定されるそのタスクと、自機のタスクとの優先度の比較に基づいて行う。
【００４５】
図示するように、移動ロボット１０１は、与えられたタスクが例えば所定の棚から救命器具を取ってくるような救急タスクである場合に、表示パネル１４１に救急を示すアイコンを表示し、ＬＥＤバー１４２で救急を表すパターン光を発光している。さらには、頭部１２２を回転させている。
【００４６】
自機である移動ロボット１０２の制御部２００は、このような表示や発光を認識し、移動ロボット１０１が救急タスクを実行していることを認識する。そして、移動判断部２０１は、自機のタスクである充電タスクと比較して、救急タスクの優先度が高いことを確認し、移動を中断すると判断する。この判断を受けて制御部２００は、移動ロボット１０２が停止するように台車駆動ユニット２１０を制御する。なお、タスク優先度は、例えばメモリ２５０にルックアップテーブルとして予め格納されている。ルックアップテーブルについては、後述する。このようにして、自機である移動ロボット１０２は、接触を避けるべく、救急タスクを実行している他の移動ロボット１０１を先に通過させてから、移動を再開する。
【００４７】
移動ロボット１０２は、他の移動ロボット１０１へ自身の充電タスクを示すべく、表示パネル１４１に充電タスクに関する情報、例えば図示するような電池のアイコンを表示すると良い。また、充電タスクを表す発光パターンでＬＥＤバー１４２を発光させると良い。移動ロボット１０１は、同種の移動ロボット１００であるので、移動ロボット１０２を他の移動ロボットとして認識し、表示パネル１４１のアイコン等を観察して充電タスクを推定し、自身のタスクと優先度を比較して移動を継続する。
【００４８】
図４は、他の例における移動判断の状況を説明する図である。自機である移動ロボット１０２は、図３の例と同様に、充電タスクを実行中である。本例においては、他の移動ロボット１０１も充電タスクを実行しており、共に給電ユニット８１０へ向かって移動している状況である。すなわち、点線の円で示す目的地点が共通し、他の移動ロボット１０１が予定通り移動し、自機である移動ロボット１０１も予定通り移動すれば、両者は接触してしまう状況である。
【００４９】
自機である移動ロボット１０２の制御部２００は、ステレオカメラ１３１やレーザスキャナ１３２の出力から移動ロボット１０１を認識すると、その移動方向とその速度を確認し、自機の経由地点または目的地点と交錯するか否かを判断する。移動ロボット１０１は、表示パネル１４１に充電タスクの実行を示すアイコンを表示しているので、制御部２００は、ステレオカメラ１３１の出力画像を解析することにより、移動ロボット１０１が充電タスクを実行していることを認識する。制御部２００は、移動ロボット１０１の移動方向と実行中のタスク（＝充電タスク）とから、移動ロボット１０１の目的地点が給電ユニット８１０であり、自機の目的地点と重なることを予測する。
【００５０】
移動判断部２０１は、自機のタスクも移動ロボット１０１のタスクも共に充電タスクであることを認識したら、同一タスク時の優先判断によりそれぞれのタスクの優先度を決定する。充電タスクとして共通する場合には、充電を急ぐべき事情である「充電に対する優先度」を考慮する。例えば、それぞれの移動ロボットに搭載された充電池の残容量により、優先度を判断する。
【００５１】
図示するように、表示パネル１４１に表示している電池のアイコンは、セグメントの塗り潰しにより搭載されている充電池の残容量を示している。図中、網掛けがされているセグメントが多いほど、残容量が多いことを表している。図によれば、移動ロボット１０１の充電池の残容量は、電池のアイコンにおいて５個のセグメントのうち２個のセグメントが網掛けされているので、満充電に対して１／５以上２／５未満である。一方、移動ロボット１０２の充電池の残容量は、１個のセグメントが網掛けされているので、満充電に対して１／５未満である。
【００５２】
制御部２００は、ステレオカメラ１３１の出力画像から、移動ロボット１０１の充電池の残容量が１／５以上２／５未満であることを認識する。移動判断部２０１は、自機の充電池の残容量が１／５未満であることと比較して、自機の方が充電を急ぐべきであり、充電タスクに対して移動ロボット１０１よりも優先度が高いと判断する。すなわち、目的地である給電ユニット８１０へ向かう移動を継続すると判断する。この判断を受けて制御部２００は、移動ロボット１０２が移動を継続するように台車駆動ユニット２１０を制御する。なお、充電池の残容量情報は、このようなアイコン形式に限らず、他の態様をもって呈示ユニット１４０で呈示しても良い。また、他の情報も同時に呈示されていても構わない。
【００５３】
図５は、自機である移動ロボット１０２が優先して移動する状況を説明する図である。制御部２００は、優先して移動している間は、表示パネル１４１に優先動作中であることを周囲に示すアイコンや文字を表示させる。このとき、周囲の人や移動ロボットが認識しやすいように、上体駆動ユニット２２０に制御信号を送って頭部１２２を回転させても良い。また、制御部２００は、優先動作中を表す発光パターンでＬＥＤバー１４２を発光させる。
【００５４】
移動ロボット１０２のこのような呈示により、移動を中断する側の移動ロボット１０１は、移動ロボット１０２と同種の移動ロボットであれば、コミュニケーションを取るための通信装置を互いに備えていなくても、相手側が優先動作を行っていることを認識できる。すなわち、移動ロボット１０２の表示パネル１４１の表示やＬＥＤバー１４２の発光パターンをステレオカメラ１３１で捉えることにより、移動ロボット１０２の優先動作を認識できる。移動ロボット１０１は、移動ロボット１０２が充電を終えて退避した後に、給電ユニット８１０まで移動して充電を開始する。
【００５５】
図６は、タスク優先度のルックアップテーブルの例である。タスク優先度のルックアップテーブルは、共有する環境下を自律移動するそれぞれの移動ロボットがユーザから与えられ得る、あるいは自発的に発生させ得る各タスクに対して、優先順位が定められている。ここでは、タスクとして、「緊急走行」「呼出指令」「ガイド走行」「充電」「搬送物搬送」「帰還」が用意されており、この順に優先順位が下がっていくように定められている。「緊急走行」は、図３の例における移動ロボット１０１のタスクである「救急タスク」を包含するタスクである。「呼出指令」は、ユーザ等から呼び出された場合に、呼出地点へ移動するタスクである。「ガイド走行」は、ユーザを案内するタスクである。「帰還」は、待機所へ戻るタスクである。これらタスクの種類は、移動ロボットが担う役割に応じて、適宜変更される。また、優先順位についても、システムを設計する設計思想に応じて変更され得る。
【００５６】
移動判断部２０１は、自機のタスクと、他の移動ロボットのタスクのそれぞれの優先順位を比較し、自機のタスクの方が高ければ移動を継続すると判断し、低ければ移動を中断すると判断する。タスクの優先順位が同じであれば、同一タスク時の優先判断を考慮する。同一タスク時の優先判断は、図４の充電タスクの例では残容量であったように、各タスクに対して予め定められている。「緊急走行」であれば、移動速度が速い方を優先し、「呼出指令」であれば、一般ユーザに呼び出されている場合よりもシステム管理者に呼び出されている場合を優先する。「ガイド走行」であれば、案内している人数の多い方を優先し、「搬送物搬送」であれば、搬送物が大きい方を優先する。「帰還」であれば、帰還後に実行が予定されているタスクの数が多い方を優先する。同一タスクであるときに、何れの事項を優先させるかは、移動ロボットの役割や使用環境に応じて適宜設定され得る。
【００５７】
次に、移動ロボット１００の移動に関する処理フローについて説明する。図７は、移動ロボット１００の移動に関する処理フローを示すフロー図である。フローは、タスクが与えられて開始し、目的地に到着して終了するまでを表す。
【００５８】
制御部２００は、ステップＳ１０１で、タスクを実行するために必要な移動の移動経路を計画する。移動経路の計画は、例えば、メモリ２５０に格納された環境地図を参照して行う。例えば搬送物を搬送するタスクであれば、搬送先はユーザによって指定されるので、制御部２００は、環境地図を参照して現在地から搬送先までの移動経路を計画する。現在地は、例えば、センサユニット１３０として搭載するＧＰＳユニットの出力により認識される。  
【００５９】
制御部２００は、ステップＳ１０２で、計画に沿って自機が移動するように、台車駆動ユニット２１０を制御する。制御部２００は、移動中はセンサユニット１３０からの出力信号や出力データを継続的に取得して、障害物や接近する移動体が存在しないかを監視する。障害物を発見した場合には、回避する経路を生成して当該障害物を回避する。制御部２００は、ステップＳ１０３で、自機の移動経路に対し経由地点または目的地点に同時刻に位置すると予測される他の移動体が存在するか否かを確認する。存在しなければステップＳ１１４へ進み、存在すればステップＳ１０４へ進む。
【００６０】
制御部２００は、ステップＳ１０４で、発見した移動体が自律移動体であるか否かを判断する。自律移動体でないと判断したら、発見した対象が人である場合を含め、当該対象の移動を優先させるべく、ステップＳ１０５で自機の移動を停止させる。そして、ステップＳ１０６で当該対象である移動体が退去したと判断できるまで、停止状態を維持して待機する。移動体が退去したと判断できたら、ステップＳ１１４へ進む。
【００６１】
制御部２００は、ステップＳ１０４で、発見した移動体が自律移動体であると判断したら、ステップＳ１０７へ進み、当該自律移動体の動作状況を確認する。制御部２００は、動作状況を確認した結果から当該自律移動体のタスクを推定する。そして、移動判断部２０１は、ステップＳ１０８で、推定した当該タスクと自機のタスクの優先順位を比較する。推定した当該タスクの優先順位よりも自機のタスクの優先順位の方が高い場合には、移動を継続すると判断して、ステップＳ１０９へ進む。制御部２００は、ステップＳ１０９で、移動ロボット１００が移動を継続するように台車駆動ユニット２１０を制御し、ステップＳ１１４へ進む。
【００６２】
ステップＳ１０８で、推定した当該タスクの優先順位よりも自機のタスクの優先順位の方が高くない場合には、移動判断部２０１は、ステップＳ１１０へ進み、両者の優先順位が等しいか否かを確認する。等しい場合には、ステップＳ１１１へ進み、等しくない場合には、移動を中断すると判断して、ステップＳ１１２へ進む。
【００６３】
移動判断部２０１は、ステップＳ１１１へ進んだ場合は、両者のタスクが同一であるとして、当該タスクに設定された優先判断の項目を確認する。そして、当該項目に対する両者の優先度判定を行い、自機の優先度の方が高ければステップＳ１０９へ進み、低ければステップＳ１１２へ進む。
【００６４】
制御部２００は、ステップＳ１１２で、移動ロボット１００が移動を中断するように台車駆動ユニット２１０を制御する。すなわち、移動ロボット１００を停止させる。制御部２００は、移動を中断している間も発見した自律移動体の観察を続ける。そして、ステップＳ１１３で、自機が移動を再開すると当該自律移動体と衝突する可能性があるか否かを判断する。衝突する可能性があると判断したら、移動の中断を継続して待機する。衝突する可能性がないと判断したらステップＳ１１４へ進む。
【００６５】
制御部２００は、ステップＳ１１４で、目的地に到着したか否かを確認する。目的地に到着していない場合には、ステップＳ１０２へ戻り、移動制御を継続する。目的地に到着した場合には、一連の移動制御を終了する。
【００６６】
なお、タスクの優先度の比較の結果、自機が移動を継続した場合に（ステップＳ１０９へ進んだ場合に）、他の自律移動体が移動を中断せず接近してきた場合には、自機である移動ロボット１００は、接触を回避すべく移動を中断するか退避動作を行うと良い。また、ステップＳ１０７で、接近する他の自律移動体のタスクを推定できない場合には、ステップＳ１１２へスキップするようにしても良い。
【００６７】
次に、他の例における移動判断について説明する。図８は、他の例における移動判断の状況を説明する図である。図８の状況は、接近する他の移動ロボット１０３が、自機である移動ロボット１０２とは異種の自律移動体である点でこれまでの状況と異なる。移動ロボット１０３は、移動ロボット１０２とは異なる性質を有し、その性質に応じたタスクが与えられている。もちろん、移動ロボット１０３にタスクを与えるユーザは、移動ロボット１０２のユーザとは異なる場合もある。
【００６８】
このような状況において制御部２００が点線の円で示す経由地点において移動ロボット１０３と交錯すると予想した場合には、移動判断部２０１は、移動を中断すると判断する。対象が他種の自律移動体である場合には、センサユニット１３０から取得される外観情報に基づいて動作状況を正確に把握することが難しいことがあるので、このように移動動作を中断することで高い安全性を確保できる。ただし、他種の自律移動体であっても、その外観情報から動作状況を正確に把握することができ、そのタスクを推定できる場合には、移動判断部２０１は、移動を継続すると判断しても良い。
【００６９】
以上、移動ロボット１００により本実施形態を説明したが、本実施形態を実施し得る移動ロボットは、通信装置を備えないものに限らない。例えば、一つの群に属する複数の移動ロボットは、通信装置を使ってコミュニケーションを取ってそれぞれの移動を互いに調整し、群に属さない他の移動ロボットを認識した場合に、上記の制御を行うようにしても良い。あるいは、他の移動ロボットと相互通信が確立されている間は、移動判断部２０１の判断によらず当該相互通信の通信結果に基づいて移動制御を行い、相互通信が確立されていない場合に、移動判断部２０１の判断で移動制御を行うようにしても良い。他の移動ロボットと通信装置を介してコミュニケーションを取る場合は、サーバを介しても良い。その場合、サーバが主体的にコミュニケーションを制御しても構わない。
【符号の説明】
【００７０】
１００、１０１、１０２、１０３  移動ロボット、１１０  台車部、１１１  駆動輪、１１２  キャスター、１１３  受電端子、１２０  本体部、１２１  胴部、１２２  頭部、１２３  アーム、１２４  ハンド、１３０  センサユニット、１３１  ステレオカメラ、１３２  レーザスキャナ、１４０  呈示ユニット、１４１  表示パネル、１４２  ＬＥＤバー、１９０  コントロールユニット、２００  制御部、２０１  移動判断部、２１０  台車駆動ユニット、２２０  上体駆動ユニット、２５０  メモリ、２６０  ユーザＩＦ、２７０  充電ユニット、８１０  給電ユニット、８１１  給電端子
【図１】
2019219735.tif 000003
【図２】
2019219735.tif 000004
【図３】
2019219735.tif 000005
【図４】
2019219735.tif 000006
【図５】
2019219735.tif 000007
【図６】
2019219735.tif 000008
【図７】
2019219735.tif 000009
【図８】
2019219735.tif 000010