(57)【要約】【課題】人間の安全を確保すると共に、動作空間の状況に応じて生産性を簡便に向上させる移動ロボットを提供する。【解決手段】少なくとも移動のためのモータを含むアクチュエータ群と、環境下に設置され、アクチュエータ群の許容動作時間および許容動作量の少なくともいずれかの情報が記述されたタグを読み取る読取部と、読取部がタグを読み取るまでは、実行指示を受け付けた、アクチュエータ群の少なくとも一部のアクチュエータを用いて動作させる所定のタスクの実行を禁止または制限し、読取部がタグを読み取った後は、タグに記述された許容動作時間および許容動作量を限度に、禁止または制限を解除してタスクを実行する制御部とを備える移動ロボットを提供する。【選択図】図２
2018122400.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも移動のためのモータを含むアクチュエータ群と、
環境下に設置され、前記アクチュエータ群の許容動作時間および許容動作量の少なくともいずれかの情報が記述されたタグを読み取る読取部と、
前記読取部が前記タグを読み取るまでは、実行指示を受け付けた、前記アクチュエータ群の少なくとも一部のアクチュエータを用いて動作させる所定のタスクの実行を禁止または制限し、前記読取部が前記タグを読み取った後は、前記タグに記述された前記許容動作時間および前記許容動作量を限度に、禁止または制限を解除して前記タスクを実行する制御部と
を備える移動ロボット。
【請求項２】
前記制御部は、前記タグに前記許容動作時間が記述されている場合は、前記タスクの実行が可能となる位置に到達してから計時を開始する請求項１に記載の移動ロボット。
【請求項３】
前記制御部は、禁止または制限を解除して前記タスクの実行を開始した後であって、完了する前に前記タグに記述された前記許容動作時間および前記許容動作量に到達した場合は、前記タスクの実行を中断して、中断した前記タスクの終端処理を実行する請求項１または２に記載の移動ロボット。
【請求項４】
前記制御部は、前記タスクとして搬送物を搬送していた場合は、前記終端処理として、前記搬送物を予め定められた位置に載置する請求項３に記載の移動ロボット。
【請求項５】
前記制御部は、前記終端処理として、前記タグに記述された前記許容動作時間および前記許容動作量に到達した時点での位置に留まるように前記モータを制御する請求項３または４に記載の移動ロボット。
【請求項６】
前記タグにはさらに前記アクチュエータ群の動作に関する動作制限が記述されており、
前記制御部は、前記タグに前記動作制限が記述されている場合は、前記動作制限を満たすように前記タスクを実行する請求項１から５のいずれか１項に記載の移動ロボット。
【請求項７】
少なくとも移動のためのモータを含むアクチュエータ群を備える移動ロボットの制御方法であって、
前記アクチュエータ群の少なくとも一部のアクチュエータを用いて動作させる所定のタスクの実行指示を受け付けるステップと、
前記タスクの実行を禁止または制限するステップと、
環境下に設置され、前記アクチュエータ群の許容動作時間および許容動作量の少なくともいずれかの情報が記述されたタグを読み取るステップと、
前記タグに記述された前記許容動作時間および前記許容動作量を限度に、禁止または制限を解除して前記タスクを実行するステップと
を含む移動ロボットの制御方法。
【請求項８】
少なくとも移動のためのモータを含むアクチュエータ群を備える移動ロボットの制御プログラムであって、
前記アクチュエータ群の少なくとも一部のアクチュエータを用いて動作させる所定のタスクの実行指示を受け付けるステップと、
前記タスクの実行を禁止または制限するステップと、
環境下に設置され、前記アクチュエータ群の許容動作時間および許容動作量の少なくともいずれかの情報が記述されたタグを読み取るステップと、
前記タグに記述された前記許容動作時間および前記許容動作量を限度に、禁止または制限を解除して前記タスクを実行するステップと
をコンピュータに実行させる移動ロボットの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボット、移動ロボットの制御方法および制御プログラムに関する。
【背景技術】
【０００２】
自律型の移動ロボットにタスクを与えて実行させる技術が知られている。移動ロボットが移動できる空間が、他の装置も動作する空間である場合がある。このような場合に、特定の空間領域を移動禁止とする技術が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６４−１６３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年の移動ロボットは、人間が活動する空間を移動するように設計されたものが多くなってきた。人間が共存する空間では、人間の安全を確保することが最優先である。しかし、人間の安全確保のために移動ロボットの移動や動作を禁止したり制限したりする空間を必要以上に拡げると、移動ロボットの生産性を十分に活用できなくなる。特に、人間が動作する空間は、利用形態や利用時間帯などによって、状況が刻々と変化する。移動ロボットの生産性を向上させるために、プログラミングされた移動や動作を禁止したり抑制したりする空間領域を修正しようとすると、大変煩雑な作業を要する。
【０００５】
本発明は、このような問題を解決するためになされたものであり、人間の安全を確保すると共に、動作空間の状況に応じて移動ロボットの生産性を簡便に向上させるものである。
【課題を解決するための手段】
【０００６】
本発明の第１の態様における移動ロボットは、少なくとも移動のためのモータを含むアクチュエータ群と、環境下に設置され、アクチュエータ群の許容動作時間および許容動作量の少なくともいずれかの情報が記述されたタグを読み取る読取部と、読取部がタグを読み取るまでは、実行指示を受け付けた、アクチュエータ群の少なくとも一部のアクチュエータを用いて動作させる所定のタスクの実行を禁止または制限し、読取部がタグを読み取った後は、タグに記述された許容動作時間および許容動作量を限度に、禁止または制限を解除してタスクを実行する制御部とを備える。
【０００７】
このように構成された移動ロボットによれば、利用者や管理者は、移動ロボットが動作する空間の状況に応じて、移動ロボットに対して許容する動作時間や動作量を、タグを付け替えるだけで変更することができる。すなわち、動作空間の状況に応じて、移動ロボットの作業性を向上させることができる。また、タグを読み込むまでの通常動作時は、タスクの実行に対して禁止または制限が課せられており、人間の安全確保が優先される。また、監視対象をアクチュエータの動作時間および動作量の少なくともいずれかとしているので、信頼性の高いタイマやセンサのみでこれらを監視でき、故障や誤作動に起因する想定外の移動や動作が発生する虞を軽減することができる。
【０００８】
また、上記の移動ロボットにおいて制御部は、タグに許容動作時間が記述されている場合は、タスクの実行が可能となる位置に到達してから計時を開始しても良い。このように計時開始を定義することにより、タグの設置箇所を自由に設定できる。
【０００９】
また、上記の移動ロボットにおいて制御部は、禁止または制限を解除してタスクの実行を開始した後であって、完了する前にタグに記述された許容動作時間および許容動作量に到達した場合は、タスクの実行を中断して、中断したタスクの終端処理を実行するようにしても良い。その場合に、タスクとして搬送物を搬送していた場合は、終端処理として、搬送物を予め定められた位置に載置しても良い。また、タグに記述された許容動作時間および許容動作量に到達した時点での位置に留まるように移動のためのモータを制御しても良い。
【００１０】
本発明に係る移動ロボットは、タスクの内容に踏み込んでそれぞれの動作に対して許可または禁止するのではなく、タスクとは独立して監視するアクチュエータの動作時間および動作量の少なくともいずれかに基づいて制限の解除などを実行する。したがて、例えば搬送物を把持した状態でタスクの実行が中断される場合があり得るが、そのような場合でも、搬送物を適切な場所へ載置するなどの安全策を講じることができる。また、例えば傾斜面の走行時に許容動作時間に到達したような場合でも、モータを制御してその位置に留まるようにすれば、ずり下がる虞がない。
【００１１】
また、タグにはさらにアクチュエータ群の動作に関する動作制限を記述することができ、移動ロボットの制御部は、タグに動作制限が記述されている場合は、動作制限を満たすようにタスクを実行しても良い。このように動作制限を与えれば、より多岐に渡る空間状況に応じたタスクの実行を実現できる。
【００１２】
本発明の第２の態様における移動ロボットの制御方法は、少なくとも移動のためのモータを含むアクチュエータ群を備える移動ロボットの制御方法であって、アクチュエータ群の少なくとも一部のアクチュエータを用いて動作させる所定のタスクの実行指示を受け付けるステップと、当該タスクの実行を禁止または制限するステップと、環境下に設置され、アクチュエータ群の許容動作時間および許容動作量の少なくともいずれかの情報が記述されたタグを読み取るステップと、タグに記述された許容動作時間および許容動作量を限度に、禁止または制限を解除してタスクを実行するステップとを含む。
【００１３】
また、本発明の第３の態様における移動ロボットの制御プログラムは、少なくとも移動のためのモータを含むアクチュエータ群を備える移動ロボットの制御プログラムであって、アクチュエータ群の少なくとも一部のアクチュエータを用いて動作させる所定のタスクの実行指示を受け付けるステップと、当該タスクの実行を禁止または制限するステップと、環境下に設置され、アクチュエータ群の許容動作時間および許容動作量の少なくともいずれかの情報が記述されたタグを読み取るステップと、タグに記述された許容動作時間および許容動作量を限度に、禁止または制限を解除してタスクを実行するステップとをコンピュータに実行させる。
【００１４】
このような制御方法、制御プラグラムの態様であっても、第１の態様の移動ロボットと同様の効果を期待できる。
【発明の効果】
【００１５】
本発明により、人間の安全を確保すると共に、動作空間の状況に応じて移動ロボットの生産性を簡便に向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態にかかる移動ロボットの外観斜視図である。
【図２】移動ロボットの制御ブロック図である。
【図３】タスクとタスクを実行する作業空間の例を示す図である。
【図４】制限動作プログラムの実行時における動作制限条件を示す図である。
【図５】搬送物を搬送する移動ロボットの様子を示す外観斜視図である。
【図６】タグ情報の例を示す図である。
【図７】移動ロボットの処理フローを説明するフロー図である。
【発明を実施するための形態】
【００１７】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【００１８】
図１は、本実施形態にかかる移動ロボット１００の外観斜視図である。移動ロボット１００は、大きく分けて台車部１１０とアーム部１２０によって構成される。
【００１９】
台車部１１０は、主に、ベース１１１と、ベース１１１に取り付けられた２つの駆動輪１１２と１つのキャスター１１３とから構成される。２つの駆動輪１１２は、ベース１１１の対向する側方のそれぞれに、回転軸芯が一致するように配設されている。それぞれの駆動輪１１２は、不図示のモータによって独立して回転駆動される。キャスター１１３は、従動輪であり、ベース１１１から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車部１１０の移動方向に倣うように追従する。移動ロボット１００は、例えば、２つの駆動輪１１２が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば重心を通る鉛直軸周りに旋回する。
【００２０】
台車部１１０には、障害物検知や周辺環境認識のための各種センサが設けられている。カメラ１１４は、そのセンサ類の一つであり、ベース１１１の前方に２つ配置されている。カメラ１１４は、例えばＣＭＯＳイメージセンサを含み、撮影した画像信号を後述の制御部へ送信する。２つのカメラ１１４が同一の被写体を捉えれば視差画像を取得でき、制御部は、当該被写体までの距離を算出することもできる。また、マイク１１５も、センサ類の一つである。マイク１１５は、取得した音声信号を制御部へ送信する。例えば、取得された音声信号により、制御部は、移動ロボット１００の周囲に立つ人の音声を認識して、動作に反映させることができる。
【００２１】
台車部１１０には、タグに印刷されたＱＲコード（登録商標）を読み取るタグリーダ１１６が、前方と側方にそれぞれ設けられている。後述するように、タグリーダ１１６は、環境下に設置されたタグを読み取って、制御部へ送信する。移動ロボット１００は、例えば壁面に取り付けられたタグを読み取りやすくするために、駆動輪１１２を駆動していずれかのタグリーダ１１６をタグに正対させても良い。また、台車部１１０には、コントロールユニット１９０が設けられている。コントロールユニット１９０は、制御部とメモリ等を含む。
【００２２】
アーム部１２０は、主に、複数のアーム１２１、１２２、１２３と、ハンド１２４とから構成される。アーム１２１は、鉛直軸周りに回転自在に、一端がベース１１１に軸支されている。アーム１２２は、水平軸周りに回転自在に、一端がアーム１２１の他端に軸支されている。アーム１２３は、アーム１２２の他端で放射方向に回転自在に、一端がアーム１２２の他端に軸支されている。ハンド１２４は、アーム１２３の伸延方向と平行な中心軸周りに回転自在に、アーム１２３の他端に軸支されている。
【００２３】
ハンド１２４は、移動ロボット１００の作業対象物としての搬送物を把持できるように、把持機構を備える。移動ロボット１００は、搬送物を搬送するに限らず、様々な目的に適用することができる。アーム部１２０は、移動ロボット１００に与えられるタスクに応じて様々な作業対象物を把持する。例えば、レバーを把持して回転し、扉を開く作業を行うこともできる。
【００２４】
図２は、移動ロボット１００の制御ブロック図である。制御部２００は、例えばＣＰＵであり、駆動輪ユニット２１０、アームユニット２２０、センサユニット２３０、メモリ２４０、タグリーダ１６０等との間で指令やサンプリングデータ等の情報を送受信することにより、移動ロボット１０の制御に関わる様々な演算を実行する。
【００２５】
駆動輪ユニット２１０は、台車部１１０に設けられており、駆動輪１１２を駆動するための駆動回路とモータ２１１、モータ２１１の回転量を検出するエンコーダ２１２等を含む。制御部２００は、駆動輪ユニット２１０へ駆動信号を送ることにより、モータ２１１の回転制御を実行する。モータ２１１は、移動ロボット１００に搭載されたアクチュエータ群を構成する。また、エンコーダ２１２の検出信号を受け取ることにより、移動ロボット１００の移動速度、移動距離、旋回角等を演算する。
【００２６】
アームユニット２２０は、アーム部１２０に設けられており、アーム１２１、１２２、１２３およびハンド１２４を駆動するための駆動回路とアクチュエータ２２１、アクチュエータ２２１の動作量を検出するエンコーダ２２２等を含む。制御部２００は、アームユニット２２０へ駆動信号を送ることにより、アクチュエータ２２１を動作させ、アーム部１２０の姿勢制御や把持制御を実行する。アクチュエータ２２１は、移動ロボット１００に搭載されたアクチュエータ群を構成する。また、エンコーダ２２２の検出信号を受け取ることにより、アーム部１２０の稼働速度、稼働距離、姿勢等を演算する。
【００２７】
センサユニット２３０は、カメラ１１４、マイク１１５の他にも周辺環境を探索したりアーム部１２０の姿勢を監視したりする各種センサを含み、これらは、台車部１１０およびアーム部１２０に分散して配置されている。制御部２００は、それぞれのセンサに制御信号を送ることにより、その出力を取得する。例えば、カメラ１１４は、制御部２００からの制御信号に従って撮影動作を実行し、撮影したフレーム画像データを制御部２００へ送信する。
【００２８】
メモリ２４０は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ２４０は、移動ロボット１００を制御するための制御プログラム、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。特に、例えば指定された対象物を探索して持ち帰るタスクなど、特定のタスクを実行するためのタスクプログラム２４１を記憶している。また、タグ情報が読み取られていない状態において、移動ロボット１００を制限的に動作させるための制限動作プログラム２４２を記憶している。また、タスクプログラム２４１の実行が中断されたときに、移動ロボット１００に終端処理を実行させるための終端処理プログラム２４３を記憶している。具体的には後に詳述する。
【００２９】
タグリーダ１１６は、ＱＲコードリーダであり、タグに印刷されたＱＲコードを読み取って制御部２００へ送信する。ＱＲコードには、後述するように、アクチュエータ群の許容動作時間および許容動作量の少なくともいずれかの情報が、他の情報と共に記述されている。なお、本実施形態においては、このような情報が記述されたタグとしてＱＲコードが印刷されたタグを用いるが、このような情報を記述する媒体はＱＲコードに限らない。例えば、ＲＦＩＤを用いても良い。タグとしてＲＦＩＤを用いる場合は、タグリーダ１１６としてＲＦＩＤリーダを採用する。移動ロボット１００が移動する空間の状況に応じて容易に取り替えができるものであって、簡易な処理で内容を読み取れるものであれば、タグとして採用し得る。
【００３０】
また、種類の異なるタグを複数読み取れる構成としても良い。例えば、タグリーダ１１６としてＱＲコードリーダとＲＦＩＤリーダの両方を搭載しても良い。この場合、より高い安全性を確保するのであれば、ＱＲコードリーダで読み取ったＱＲコードの情報と、ＲＦＩＤリーダで読み取ったＲＦＩＤの情報とが一致する場合にのみ、後述する制限の解除を行えば良い。一方、利便性を高めたいのであれば、いずれかの情報を読み取れたら読み取った情報に従って制限の解除を行えば良い。
【００３１】
タイマ１１７は、計時用のタイマであり、制御部２００からの開始信号により計時を開始する。また、制御部２００からの問合せに対して、計時時間を返す。
【００３２】
制御部２００は、制御に関わる様々な演算を実行する機能演算部としての役割も担う。タグ解析部２０１は、タグリーダ１１６が読み取った情報を解析して、禁止または制限された動作の解除条件を設定する。動作監視部２０２は、設定された解除条件の範囲でタスクプログラム２４１が実行されているか否かを監視する。具体的には後に詳述する。
【００３３】
図３は、移動ロボット１００が実行するタスクの例と、そのタスクを実行する作業空間の例を示す図である。図は、移動ロボット１００が移動可能な作業エリア６０１と通路エリア６０２を、上方から見下ろした様子を示す。
【００３４】
作業エリア６０１は、例えばパーティションで区切られた空間であり、移動ロボット１００が作業可能なエリアの一つである。作業エリア６０１は、通路エリア６０２と、出入口６０３を介して繋がっている。
【００３５】
テーブル６１１は、作業エリア６０１の中心に設置されており、棚６１２は、出入口６０３から最奥となる壁面近傍に設置されている。移動ロボット１００は、出入口６０３から作業エリア６０１へ進入し、テーブル６１１を回避しながら移動し、棚６１２に載置された搬送物６１３を把持して出入口６０３まで帰還するタスクが与えられているとする。移動ロボット１００が実行すべき具体的な作業や動作は、タスクプログラム２４１として予めメモリ２４０に記憶されている。ユーザは、移動ロボット１００の起動時等のタイミングで、予め用意された複数の中からこのタスクプログラム２４１を指定しておく。
【００３６】
このタスクプログラム２４１には、カメラ１１４やマイク１１５等から得られる情報を利用して、障害物を回避しながら移動経路を探索して移動し、棚６１２に載置された物品の中から対象物である搬送物６１３を認識して把持し、帰還する処理が記述されている。移動ロボット１００は、例えば、通路エリア６０２の移動中にこのタスクプログラム２４１の実行が指定されていることを確認すると、出入口６０３へ向かう。この時点においては、制限動作プログラム２４２が実行されており、移動ロボット１００に許された移動や動作は制限されている。
【００３７】
ここで、制限動作プログラム２４２の実行時における動作制限条件の一例について説明する。図４は、制限動作プログラム２４２の実行時における動作制限条件を示す図である。動作制限条件は、主に、台車部１１０の移動に関する条件、アーム部１２０の稼働に関する条件、センサユニット２３０のセンサ利用に関する条件が設定されている。
【００３８】
台車部１１０の移動に関する条件としては、台車移動速度が０．６ｍ／ｓ以下に制限されている。したがって、制限動作プログラム２４２の実行時には、制御部２００が生成するモータ２１１の駆動信号は、この速度以下の駆動信号に限られる。また、台車移動時の高さＨ０は１．５ｍ以下、直径Ｒ０は２．０ｍ以下に制限されている。具体的には、図５に示すように、アーム部１２０が搬送物６１３を把持している状態であっても、移動時においては、移動ロボット１００の全体が高さＨ０、直径をＲ０の円柱空間に収まるようにアーム部１２０を縮めることが求められる。
【００３９】
アーム部１２０の稼働に関する条件としては、アーム稼働速度が０．５ｍ／ｓ以下、アーム稼働直径が２．０ｍ以下に制限されている。例えば、出入口６０３に扉が設けられており、扉を開くためにアーム部１２０を稼働させる場合には、制御部２００は、この条件を満たす駆動信号をアクチュエータ２２１へ送信しなければならない。
【００４０】
このように、台車部１１０の移動とアーム部１２０の稼働に制限を課すことにより、人間と共存する空間においても、移動ロボット１００を比較的安全に運用することができる。すなわち、このような制限により、近くに居る人間が移動ロボット１００の一部と接触したとしても、怪我をする虞は少ない。
【００４１】
センサユニット２３０のセンサ利用に関する条件としては、画像認証が不許可、音声認識が不使用に制限されている。画像認証は、例えばユーザが移動ロボット１００へ指示を与える場合に、当該ユーザが予め登録された指示を受け入れる対象者に含まれているかを判断するために利用される。音声認識は、例えば操作ボタンの操作に代えてユーザの音声指示により指示内容を認識するために利用される。
【００４２】
このように、複雑な演算が必要な処理を制限することにより、演算エラーによる誤作動を極力抑制することができる。特に、統計処理や確率論を用いた処理を利用する場合には必然的にエラーが発生し得るが、移動ロボット１００は、制限動作プログラム２４２を実行時することにより、このようなエラーを発生させない。すなわち、制限動作プログラム２４２を実行する通常動作時においては、移動ロボット１００は、不確実な結果を出力する処理を行わないので、安定的に動作する。
【００４３】
図３の説明に戻る。移動ロボット１００は、出入口６０３付近の移動開始点６２１に到達すると、出入口６０３近傍の壁面に貼着されたタグ６０４を、タグリーダ１１６により認識する。タグ６０４には、図４で説明した制限動作時の条件を解除してタスクを実行するための、新たな条件が記述されている。特に、上述のように、アクチュエータ群の許容動作時間および許容動作量の少なくともいずれかの情報が記述されている。
【００４４】
タグ６０４は、容易に取り替えることができる。例えば、作業エリア６０１を管理する管理者は、作業エリア６０１内に作業する人間が居る時間帯には第１のタグ６０４を貼り付け、人間が居ない時間帯には第２のタグ６０４を貼り付けることができる。第１のタグ６０４には、安全性を重視した制限条件を記述しておき、第２のタグ６０４には、移動ロボット１００の性能を大いに活用する制限条件を記述すれば、安全性と生産性を両立させることができる。また、作業エリア６０１のレイアウトを変更したり、使用目的を変更したりする場合にも、それぞれの状況に応じて制限条件を設定し、その制限条件を記述したタグ６０４に取り替えるだけで、移動ロボット１００の動作を最適化することができる。すなわち、タスクの内容そのものを変更するのではなく、タスクの実行のさせ方を作業エリアの状況に応じて変更することにより、安全性と生産性の両立を図っている。
【００４５】
また、管理者は、１つのタグを設置するだけで、特定の移動ロボット１００に対してのみならず、多数の移動ロボットの動作許容条件を一括して変更することができる。また、管理者は、タスクの内容自体を把握する必要がないので、面倒な作業が発生せず、安全性管理の観点においても有利である。
【００４６】
また、移動ロボット１００は、タグ６０４の読み取りにたとえ失敗した場合であっても、動作制限が課せられた状態のままなので、その動作は共存する人間にとって安全である。さらに、動作制限が解除されても許容された動作時間または動作量まで動作すれば終端処理が実行されるので、共存する人間に不都合が生じる虞も少ない。すなわち、移動ロボット１００は、できる限り予期しない動作をさせないように構成されている。
【００４７】
ここで、タグ情報として記述された動作許容条件について説明する。図６は、タグ６０４から読み取ったタグ情報の例を示す図である。タグ情報は、図４の例で示した動作制限条件と同じ条件の他に、アクチュエータ群の許容動作時間と許容動作量に関する条件を含む。
【００４８】
タグ情報は、アクチュエータ群の許容動作時間の一つとして、全体動作時間が３００秒に規定されている。すなわち、タイマ１１７の開示開始から３００秒の間は、以下に記述された条件を満たす限りにおいて、制限動作プログラム２４２の実行時に課せられた動作制限条件の禁止事項または制限事項が解除される。全体動作時間は、モータ２１１によって台車部１１０が移動し、アクチュエータ２２１によってアーム部１２０が稼働する合計の時間である。動作監視部２０２は、タイマ１１７の出力を取得して、規定された全体動作時間が経過したか否かを監視する。なお、ここでは、合計の時間を規定するが、台車部１１０が移動する台車移動時間を規定しても良い。
【００４９】
台車移動距離は１２０ｍに規定されている。台車移動距離は、モータ２１１の許容動作量としての規定である。制御部２００は、エンコーダ２１２の出力を取得して移動距離を積算し、規定された台車移動距離に到達したか否かを監視する。台車移動速度は０．９ｍ／ｓ、移動時高さは２．０ｍ、移動時直径は３．０ｍに規定されている。これらの値は、動作制限条件のそれぞれの値以上に設定されている。すなわち、動作制限条件が緩和され、作業効率の向上が図られている。
【００５０】
アーム稼働量は２０ｍに規定されている。アーム稼働量は、アクチュエータ２２１の許容動作量としての規定である。制御部２００は、エンコーダ２２２の出力を取得して稼働距離を積算し、規定されたアーム稼働量に到達したか否かを監視する。アーム稼働速度は２．０ｍ／ｓ、アーム稼働直径は４．０ｍに規定されている。これらの値は、動作制限条件のそれぞれの値以上に設定されている。すなわち、台車部１１０と同様にアーム部１２０も動作制限条件が緩和され、作業効率の向上が図られている。なお、アーム部１２０が稼働するアーム稼働時間を規定しても良い。アーム稼働時間は、例えばアーム部１２０が把持動作を開始した時点で計時が開始される。
【００５１】
タグ情報は、終端処理プログラムとして、「床面載置／停止」のプログラムを指定している。終端処理プログラムは、全体動作時間、台車移動距離、アーム稼働量（台車移動時間やアーム稼働時間が規定されている場合は、これらも含む）のいずれかが規定量に到達したとして動作監視部２０２がタスクプログラム２４１の実行を中断させた場合に、制御部２００が実行するプログラムである。終端処理プログラム２４３は、予め複数が用意されており、メモリ２４０に記憶されている。タグ情報は、そのうちの一つを指定する。
【００５２】
終端処理プログラム２４３は、「床面載置／停止」の場合、タスクプログラム２４１が中断された時点で、アーム部１２０を駆動してハンド１２４が把持している搬送物６１３を床面に載置する動作を実行すると共に、駆動輪１１２の駆動を停止してその場に留まる。移動ロボット１００が傾斜面に位置する場合は、傾斜面をずり落ちないように駆動輪１１２にトルクを与えても良い。
【００５３】
終端処理プログラム２４３は、「床面載置／帰還」の場合、搬送物を床面に載置した後に、制限動作プログラム２４２を実行して動作制限条件を満たしながら出発点まで戻る。なお、搬送物６１３は、安全な位置に載置されれば良く、床面以外にも予め安全と考えられる位置を指定しても良い。例えば、もともと載置されていた場所を指定しても良いし、搬送物６１３が比較的小さいのであれば、移動ロボット１００の平坦部を指定しても良い。
【００５４】
タグ情報は、センサユニット２３０のセンサ利用に関する条件として、画像認証を許可、音声認識を使用としている。この点においても、動作制限条件が緩和され、作業効率の向上が優先される。
【００５５】
再び図３の説明に戻る。移動ロボット１００は、制限動作時の条件を解除して、読み取ったタグ６０４に記述された条件下でタスクプログラム２４１を実行する。制御部２００は、移動開始点６２１から障害物を回避しながらパスＰを経由して棚６１２に対向する把持作業点６２２へ到達する。把持作業点６２２へ到達するまでに、例えば作業者などの障害物の存在により途中で停止し続けて全体動作時間の３００秒が経過してしまったり、経路探索に失敗して迂回路を進むうちに台車移動距離の１２０ｍを移動してしまったりした場合は、その時点で終端処理プログラム２４３を実行する。
【００５６】
移動ロボット１００は、把持作業点６２２で、棚６１２から搬送物６１３を見つけ出し、アーム部１２０を稼働して搬送物６１３を把持する。そして、搬送物６１３が移動時直径Ｒ０に収まるようにアーム部１２０を畳む。なお、この作業が完了するまでにアーム部１２０の稼働量が２０ｍに到達してしまった場合は、その時点で終端処理プログラム２４３を実行する。移動ロボット１００は、把持作業が完了したら、再び障害物を回避しながらパスＰを経由して移動開始点６２１へ戻り、タスクの実行を終了する。
【００５７】
タスクプログラム２４１が、例えば、移動開始点６２１と把持作業点６２２の往復移動のタスクと、把持作業点６２２における把持作業のタスクに分けられている場合には、タグ情報は、動作許容条件をそれぞれのタスクに対して別個に規定しても良い。別個に規定されているのであれば、例えば把持作業のタスクに対しては、移動ロボット１００が把持作業点６２２に到達した時点で、タイマ１１７の計時が開始される。また、往復移動のタスクに対しては、移動ロボット１００が把持作業のタスクを実行している間は、タイマ１１７の計時が中断される。すなわち、タイマ１１７の計時開始時点は、タグリーダ１１６がタグ６０４を読み取った時点に限らず、移動ロボット１００が対象タスクを実行できる位置に到達した時点であっても構わない。
【００５８】
次に、移動ロボット１００の全体の処理フローについて説明する。図７は、移動ロボットの処理フローを説明するフロー図である。処理フローは、例えば、移動ロボット１００の電源がオンにされた時点から開始する。
【００５９】
制御部２００は、ステップＳ１０１で、メモリ２４０から制限動作プログラム２４２を読み込み、制限動作プログラム２４２に規定された動作制限条件に従って移動ロボット１００を制御する。制限動作プログラム２４２は、指定されたタスクが与えられていないときには通路エリア６０２を巡回するなど、特定の動作を実行するように記述されていても良い。この場合、当該特定の動作は、規定された動作制限条件を満たすように実行される。
【００６０】
制御部２００は、ステップＳ１０２で、特定のタスクを取得する。タスクの取得は、例えば、ユーザが端末装置から特定のタスクプログラム２４１を選択することにより行われる。制御部２００は、対象となるタスクプログラム２４１をメモリ２４０から読み込む。制御部２００は、当該タスクが制限動作プログラム２４２による動作制限条件下でも開始できるものであれば開始する。何らかの動作が禁止されているために開始できないものであれば、タグ情報を取得するまでは、当該タスクの開始を保留する。
【００６１】
制御部２００は、ステップＳ１０３で、タグ情報を取得したか否かを確認する。タグリーダ１１６を介してタグを読み取ったのであれば、タグ解析部２０１がタグ情報を解析し、ステップＳ１０４へ進む。そうでなければ、ステップＳ１１２へ進む。ステップＳ１１２へ進んだ場合は、動作制限条件の範囲でタスクを実行して処理を終了する。
【００６２】
制御部２００は、ステップＳ１０４へ進んだら、台車移動距離をリセットし、アーム稼働量をリセットして、タイマ１１７の計時を開始する。制御部２００の機能演算部である動作監視部２０２は、読み取った動作許容条件に従って、全体動作時間、台車移動距離などの監視を開始する。制御部２００は、ステップＳ１０５へ進み、それまで課されていた動作制限条件を解除し、タグ情報の動作許容条件を満たす範囲でタスクを実行する。
【００６３】
タスクの実行中は、動作監視部２０２が、ステップＳ１０６で全体動作時間の制限時間が終了したかを確認し、ステップＳ１０７で台車移動距離が規定値まで到達したかを確認し、ステップＳ１０８でアーム稼働量が規定値まで到達したかを確認する。いずれかの条件を満たす場合は、ステップＳ１１１へ進み、タグ情報として指定された終端処理プログラム２４３をメモリ２４０から読み込んで実行する。終端処理プログラム２４３の実行が完了したら、一連の処理を終了する。
【００６４】
いずれの条件も満たさない場合は、ステップＳ１０９へ進む。なお、動作監視部２０２は、実行しているタスクが台車部１１０の移動に関するものであってアーム部１２０の稼働でないことがわかっている期間では、ステップＳ１０８をスキップしても良い。同様に、実行しているタスクがアーム部１２０の稼働に関するものであって台車部１１０の移動でないことがわかっている期間では、ステップＳ１０７をスキップしても良い。
【００６５】
制御部２００は、ステップＳ１０９で、タスクが終了したか否かを確認する。タスクが終了していなければ、動作監視部２０２による監視を継続すべく、ステップＳ１０６へ戻る。タスクが終了していれば、ステップＳ１１０へ進み、制限動作プログラム２４２の実行へ処理を戻す。制限動作プログラム２４２の実行が完了すれば、一連の処理を終了する。
【００６６】
以上の本実施形態においては、タグ情報に、アクチュエータ群の許容動作時間（例えば全体動作時間）と許容動作量（例えば台車移動距離）の両方が記述された例を説明したが、いずれか一方が記述されていても良い。許容動作時間として全体動作時間が記述されており、許容動作量が記述されていないのであれば、動作監視部２０２は、全体動作時間のみを監視する。この場合は、台車部１１０の移動距離が大きくなっても構わない。一方、許容動作量としてアーム稼働量が記述されており、許容動作時間が記述されていないのであれば、動作監視部２０２は、アーム稼働量のみを監視する。この場合は、搬送物６１３の認識に時間をかけ、ゆっくりと確実に搬送物６１３を把持することができる。
【００６７】
また、以上の本実施形態においては、搬送物を搬送するためのアーム部１２０を備えた移動ロボット１００を例として説明したが、アーム部１２０に限らずアクチュエータを備える構造体を有する移動ロボットであれば、同様に禁止や制限を解除してタスクを実行し得る。
【００６８】
また、タグ情報として記述する項目や形式は、図６を用いて説明したものに限らない。例えば、項目としてハンド１２４の把持力を規定しても良いし、アーム部１２０の可動範囲を直径ではなくＸＹＺ空間内の座標値で定義しても良い。
【００６９】
また、通常時において課されていた動作制限が解除された状態から、終端処理を実行する条件または動作制限が課せられた状態に戻す条件として、「ユーザによる指示」を加えることもできる。例えば、音声認識の使用が許されているのであれば、「ストップ」の音声を認識した場合に、制御部２００は、動作制限が課せられた状態に戻す。
【００７０】
以上の本実施形態においては、制御部２００が実行する各プログラムはメモリ２４０に予め記憶されているものとして説明したが、各プログラムは、例えば無線通信によって外部装置から移動ロボット１００へ送信されるものであっても構わない。制御部２００は、通信インタフェースを介して取得したプログラムを、ワークメモリに展開して適宜実行しても良い。
【符号の説明】
【００７１】
１００  移動ロボット、１１０  台車部、１１１  ベース、１１２  駆動輪、１１３  キャスター、１１４  カメラ、１１５  マイク、１１６  タグリーダ、１２０  アーム部、１２１、１２２、１２３  アーム、１２４  ハンド、１９０  コントロールユニット、２００  制御部、２０１  タグ解析部、２０２  動作監視部、２１０  駆動輪ユニット、２１１  モータ、２１２  エンコーダ、２２０  アームユニット、２２１  アクチュエータ、２２２  エンコーダ、２３０  センサユニット、２４０  メモリ、２４１  タスクプログラム、２４２  制限動作プログラム、２４３  終端処理プログラム、６０１  作業エリア、６０２  通路エリア、６０３  出入口、６０４  タグ、６１１  テーブル、６１２  棚、６１３  搬送物、６２１  移動開始点、６２２  把持作業点
【図１】
2018122400.tif 000003
【図２】
2018122400.tif 000004
【図３】
2018122400.tif 000005
【図４】
2018122400.tif 000006
【図５】
2018122400.tif 000007
【図６】
2018122400.tif 000008
【図７】
2018122400.tif 000009