(57)【要約】【課題】異常が発生した移動ロボットを適切に回収する。【解決手段】移動ロボットの制御装置は、少なくとも前後左右に配置された４つの車輪と、車輪をそれぞれ駆動するモータと、を備える移動ロボットの制御装置である。当該制御装置は、モータの異常をそれぞれ検知する異常検知部と、異常検知部により、左右いずれか一方におけるすべての車輪に対応するモータの異常を検知した場合、異常を検知していないモータに対応する車輪の配置位置を変更する配置位置変更部と、異常を検知していないモータを駆動制御し、移動ロボットを所定の目標位置まで走行させる走行制御部と、を備える。【選択図】      図９
2019111560.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも前後左右に配置された４つの車輪と、
前記車輪をそれぞれ駆動するモータと、を備える移動ロボットの制御装置であって、
前記モータの異常をそれぞれ検知する異常検知部と、
前記異常検知部により、左右いずれか一方におけるすべての車輪に対応するモータの異常を検知した場合、前記異常を検知していないモータに対応する車輪の配置位置を変更する配置位置変更部と、
前記異常を検知していないモータを駆動制御し、前記移動ロボットを所定の目標位置まで走行させる走行制御部と、を備えることを特徴とする移動ロボットの制御装置。
【請求項２】
前記配置位置変更部は、
前記異常を検知していないモータに対応する少なくとも２つの車輪を、左右方向において互いにずれた位置に配置することを特徴とする請求項１に記載の移動ロボットの制御装置。
【請求項３】
前記移動ロボットは、
前記４つの車輪のうち、前方に配置された左右一対の車輪および後方に配置された左右一対の車輪をそれぞれ支持する車輪支持部を有し、
前記車輪支持部の少なくとも一方は、前記移動ロボットの本体部に対して鉛直方向の軸回りに回転可能に連結されており、
前記配置位置変更部は、
前記車輪支持部を前記本体部に対して前記鉛直方向の軸回りに１８０度回転させることで、前記異常を検知していないモータに対応する車輪の配置位置を変更することを特徴とする請求項１または２に記載の移動ロボットの制御装置。
【請求項４】
前記移動ロボットは、
前記モータをそれぞれ制御するモータ制御部を備え、
前記異常検知部は、
前記モータ制御部へ送信したコマンドに対する応答が無い場合、当該モータ制御部に対応する前記モータに異常が発生していると判定することを特徴とする請求項１から３のいずれか１項に記載の移動ロボットの制御装置。
【請求項５】
前記移動ロボットは、
前記モータをそれぞれ制御するモータ制御部を備え、
前記異常検知部は、
前記モータ制御部へ送信した動作コマンドに対して、当該モータ制御部に対応する前記モータが前記動作コマンドとは異なる動作を行ったことを検出した場合、当該モータ制御部に対応する前記モータに異常が発生していると判定することを特徴とする請求項１から４のいずれか１項に記載の移動ロボットの制御装置。
【請求項６】
少なくとも前後左右に配置された４つの車輪と、
前記車輪をそれぞれ駆動するモータと、を備える移動ロボットの制御方法であって、
前記モータの異常をそれぞれ検知するステップと、
左右いずれか一方におけるすべての車輪に対応する前記モータの異常を検知した場合、
前記異常を検知していないモータに対応する車輪の配置位置を変更するステップと、
前記異常を検知していないモータを駆動制御し、前記移動ロボットを所定の目標位置まで走行させるステップと、を含むことを特徴とする移動ロボットの制御方法。
【請求項７】
請求項１から５のいずれか１項に記載の移動ロボットの制御装置と、
前記制御装置と通信可能に接続された前記移動ロボットと、を備えることを特徴とする移動ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボットの制御装置および移動ロボットシステムに関する。
【背景技術】
【０００２】
近年、工場等においては自動化が進んでおり、荷物の運搬に無人搬送車等の移動ロボットが採用されている。従来、何らかの異常により無人搬送車が走行不能になった場合、停止した無人搬送車を回収するために、作業者を現場へ向かわせる必要があった。
そこで、特許文献１には、異常が発生して停止した無人搬送車を走行路から速やかに待避させるために、別の無人搬送車（救援車）によって停止した無人搬送車を牽引する点が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−５５２０公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の技術では、荷物を運搬する無人搬送車とは別に、異常が発生して停止した無人搬送車を回収するための救援車が必要となる。また、救援車が走行不能になった場合、当該救援車を回収するためには、やはり作業者を現場へ向かわせる必要がある。
そこで、本発明は、異常が発生した移動ロボットを適切に回収することができる移動ロボットの制御装置および移動ロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の一つの態様の移動ロボットの制御装置は、少なくとも前後左右に配置された４つの車輪と、前記車輪をそれぞれ駆動するモータと、を備える移動ロボットの制御装置であって、前記モータの異常をそれぞれ検知する異常検知部と、前記異常検知部により、左右いずれか一方におけるすべての車輪に対応するモータの異常を検知した場合、前記異常を検知していないモータに対応する車輪の配置位置を変更する配置位置変更部と、前記異常を検知していないモータを駆動制御し、前記移動ロボットを所定の目標位置まで走行させる走行制御部と、を備える。【０００６】
また、本発明の一つの態様の移動ロボットの制御方法は、少なくとも前後左右に配置された４つの車輪と、前記車輪をそれぞれ駆動するモータと、を備える移動ロボットの制御方法であって、前記モータの異常をそれぞれ検知するステップと、左右いずれか一方におけるすべての車輪に対応する前記モータの異常を検知した場合、前記異常を検知していないモータに対応する車輪の配置位置を変更するステップと、前記異常を検知していないモータを駆動制御し、前記移動ロボットを所定の目標位置まで走行させるステップと、を含む。【０００７】
さらに、本発明の一つの態様の移動ロボットシステムは、上記の移動ロボットの制御装置と、前記制御装置と通信可能に接続された前記移動ロボットと、を備える。
【発明の効果】
【０００８】
本発明の一つの態様によれば、異常が発生した移動ロボットを適切に回収することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、移動ロボットシステムを構成する移動体を示す斜視図である。
【図２】図２は、移動体の回転台ユニットの正面図である。
【図３】図３は、複数の移動体を備える移動ロボットを示す側面図である。
【図４】図４は、複数の移動体を備える移動ロボットを示す斜視図である。
【図５】図５は、移動体を含む制御システムのブロック図である。
【図６】図６は、異常検知部が実行する異常判定処理の一例である。
【図７】図７は、異常検知部が実行する異常判定処理の一例である。
【図８】図８は、片輪モータに異常が発生した場合の組み合わせである。
【図９】図９は、配置位置変更部が実行する走行制御処理の一例である。
【図１０】図１０は、異常発生時における配置位置の変更例である。
【図１１】図１１は、異常発生時における配置位置の変更の別の例である。
【発明を実施するための形態】
【００１０】
以下、図面を用いて本発明の実施の形態について説明する。
なお、本発明の範囲は、以下の実施の形態に限定されるものではなく、本発明の技術的思想の範囲内で任意に変更可能である。また、以下の図面においては、各構成をわかりやすくするために、実際の構造と各構造における縮尺や数等を異ならせる場合がある。
【００１１】
＜移動ロボット＞
図１は、本発明の実施形態に係る移動ロボットシステムを構成する移動体１を示す斜視図である。移動体１は、車体（シャーシ、支持体）２と、車体２に回転可能に支持された左右一対の車輪４Ａ，４Ｂとを備える。車体２は、移動体１の下部に設けられたほぼ水平なフレームである。車輪４Ａ，４Ｂは、同形同大であり、同心に配置されている。
【００１２】
車体２には、車輪４Ａ，４Ｂをそれぞれ駆動するモータ６Ａ，６Ｂが積載されている。また、車体２には、モータ６Ａ，６Ｂを駆動するための電源であるバッテリが収容されたバッテリケース８が積載されている。さらに、車体２には、モータ６Ａ，６Ｂを駆動するためのプリント基板１０Ａ，１０Ｂ，１２Ａ，１２Ｂが実装されている。ここで、プリント基板１０Ａおよび１０Ｂは、インバータやモータドライバを含む駆動回路を含み、プリント基板１２Ａおよび１２Ｂは、マイコンボードを含むメイン制御回路を含む。
なお、図１では、プリント基板１０Ａ，１０Ｂ，１２Ａ，１２Ｂが棚板上に実装されている場合について示しているが、プリント基板１０Ａ，１０Ｂ，１２Ａ，１２Ｂそのものが棚板になっていてもよい。
【００１３】
さらに、車体２には、複数（本実施形態では、３本）の支柱１４が取り付けられており、各支柱１４は、回転台ユニット１６を支持している。回転台ユニット１６は、互いに同じ直径を有する支持台１８と回転台２０とを備える。支持台１８は、支柱１４の上端に固定されている。回転台２０は、支持台１８に同心に配置されている。
【００１４】
図２に示すように、支持台１８の上面には、軸受２２が取り付けられ、軸受２２には、回転台２０の下面に設けられた回転台用金具２４が挿入されている。なお、回転台２０に軸受２２が取り付けられ、軸受２２に支持台１８の回転台用金具２４が挿入されていてもよい。いずれにせよ、回転台２０は、支持台１８（車体２）に対して鉛直方向の軸回りに回転自在に連結されている。
なお、本実施形態では、支持台１８と回転台２０とは、軸受２２を介して互いに回転可能に連結されている場合について説明するが、回転治具は軸受２２に限定されるものではなく、例えば回転盤であってもよい。
【００１５】
図１に戻って、移動体１には、回転台２０の回転角度を測定する測定装置として、フォトセンサ２６が設けられている。具体的には、図１に示すように、支持台１８にブラケット２８が取り付けられ、ブラケット２８にフォトセンサ２６が支持されている。フォトセンサ２６は、例えば２つのフォトリフレクタ２９ａ，２９ｂを有する。
【００１６】
回転台２０の外周面（側面）には、複数の白い部分と複数の黒い部分とが交互に設けられている。複数の白い部分は、互いに均等な角間隔をおいて配置され、複数の黒い部分も、互いに均等な角間隔をおいて配置されている。白い部分および黒い部分は、着色により設けてもよいし、白いテープと黒いテープとを回転台２０に貼付することにより設けてもよい。
【００１７】
フォトリフレクタ２９ａ，２９ｂの各々は、発光素子（例えば発光ダイオード）と受光素子(例えばフォトトランジスタ）とを有しており、発光素子から発せられた光のうち、回転台２０の外周面（側面）で反射した光を受光素子が受光するよう構成されている。受光素子は、受光した光の強度に応じた電気信号を出力する。受光素子が出力する電気信号のレベルは、受光素子が白い部分に対面するか黒い部分に対面するかによって異なる。したがって、回転台２０が基準の角度位置にあった時からの電気信号のレベルの変化の回数を把握することによって、回転台２０の回転角度を測定することができる。
【００１８】
また、２つのフォトリフレクタ２９ａ，２９ｂは、回転台２０に対する角度位置がそれぞれ異なるように設けられている。この角度位置の相違により、２つのフォトリフレクタ２９ａ，２９ｂの出力位相が異なるため、回転台２０の回転方向（ＣＷ、ＣＣＷ）を判別することができる。
なお、本実施形態では、回転台２０の回転角度を測定する測定装置がフォトセンサである場合について説明するが、測定装置は、フォトセンサに限定されるものではなく、回転台２０の回転角度および回転方向を測定可能でセンサ（装置）であってよい。
【００１９】
＜移動ロボット＞
図３および図４は、実施形態に係る移動ロボットシステムを構成する移動ロボット３０を示す。この移動ロボット３０は、２つの移動体１の回転台２０が連結荷台（連結部材）３２によって連結された構成を有する。
【００２０】
具体的には、図３に示すように、各回転台２０の上面における中心位置には、溝または凹部３４が形成され、連結荷台３２の下面には２つの突起３６が形成または取付けされている。突起３６は、凹部３４にそれぞれ嵌め込まれている。凹部３４および突起３６は、上面視において例えば三角形状であり、各移動体１の回転台２０に対して、連結荷台３２は回転しない。
なお、凹部３４および突起３６の形状は、三角形に限定されるものではなく、嵌合させることで連結荷台３２が回転台２０に対して回転しない構成となる形状であればよく、例えば四角形等であってもよい。
【００２１】
連結荷台３２の上面は平坦であり、当該上面には荷物３８を積載することができる。つまり、移動ロボット３０は、２つの移動体１により荷物３８を搬送可能に構成されている。
この場合、２つの移動体１のそれぞれの走行方向に応じて、連結荷台３２で連結された
２つの移動体１の回転台２０が回転するので、２つの移動体１の走行を阻害しない。
【００２２】
このように、移動ロボット３０の車輪支持部は、移動ロボット３０の本体部に対して、回転台２０の中心位置における鉛直方向の軸回りに回転可能な構成を有する。ここで、上記本体部は、本実施形態では、移動体１の回転台２０および連結荷台３２を含む。また、上記車輪支持部は、車輪４Ａおよび４Ｂを支持する部材であり、本実施形態では、車体２、車輪４Ａ，４Ｂ、モータ６Ａ，６Ｂ、バッテリケース８、プリント基板１０Ａ，１０Ｂ，１２Ａ，１２Ｂ、支柱１４および支持台１８を含む。
【００２３】
つまり、移動ロボット３０は、前後左右に配置された４つの車輪と、これら車輪をそれぞれ駆動するモータと、を備える。また、移動ロボット３０は、４つの車輪のうち、前方に配置された左右一対の車輪および後方に配置された左右一対の車輪をそれぞれ支持する車輪支持部を有し、車輪支持部は、移動ロボット３０の本体部に対して鉛直方向の軸回りに回転可能に連結された構成を有する。
なお、移動ロボット３０を構成する移動体１は２つに限定されるものではなく、荷物３８の重量に応じて、３つ以上とすることもできる。この場合、３つ以上の移動体１の回転台２０を、連結荷台３２によって連結してもよい。
【００２４】
＜制御システム＞
図５は、本発明の実施形態に係る移動ロボットシステム１００の主要部分のブロック図である。
本実施形態では、移動ロボットシステム１００は、２つの移動体１を備える移動ロボット３０と、移動体１を制御する外部コンピュータ（制御装置）４０と、を備える。移動体１は、外部コンピュータ４０と無線通信により通信可能に接続されている。無線通信の手法としては、特に限定されないが、例えば無線ＬＡＮ規格（例えば、ＩＥＥＥ８０２．１１規格シリーズ）に準拠した通信とすることができる。
【００２５】
移動体１は、モータ６Ａ，６Ｂにそれぞれ対応する２つのモータユニットを有する。具体的には、移動体１は、モータ６Ａに対応する第１のモータユニット４２Ａと、モータ６Ｂに対応する第２のモータユニット４２Ｂと、を有する。
モータユニット４２Ａ，４２Ｂは、電源４３により給電される。電源４３は、バッテリケース８（図１参照）に収容されたバッテリである。フォトセンサ２６も電源４３により給電される。
【００２６】
第１のモータユニット４２Ａは、モータ６Ａ、無線通信回路４４Ａ、メイン制御部４６Ａ、メモリ４８Ａ、モータ駆動制御部５０Ａ、駆動回路５２Ａおよび、センサ部５４Ａを有する。第２のモータユニット４２Ｂは、モータ６Ｂ、無線通信回路４４Ｂ、メイン制御部４６Ｂ、メモリ４８Ｂ、モータ駆動制御部５０Ｂ、駆動回路５２Ｂおよびセンサ部５４Ｂを有する。以下、モータ６Ａを、第１のモータ６Ａまたは右モータ６Ａと呼ぶことがあり、モータ６Ｂを、第２のモータ６Ｂまたは左モータ６Ｂと呼ぶことがある。
【００２７】
無線通信回路４４Ａ、メイン制御部４６Ａ、メモリ４８Ａ、モータ駆動制御部５０Ａおよび駆動回路５２Ａの各々は、プリント基板１０Ａまたは１２Ａ（図１参照）に実装される。無線通信回路４４Ｂ、メイン制御部４６Ｂ、メモリ４８Ｂ、モータ駆動制御部５０Ｂおよび駆動回路５２Ｂの各々は、プリント基板１０Ｂまたは１２Ｂ（図１参照）に実装される。
具体的には、無線通信回路４４Ａ、メイン制御部４６Ａ、メモリ４８Ａおよびモータ駆動制御部５０Ａは、プリント基板１２Ａに実装され、駆動回路５２Ａは、プリント基板１０Ａに実装される。無線通信回路４４Ｂ、メイン制御部４６Ｂ、メモリ４８Ｂおよびモータ駆動制御部５０Ｂは、プリント基板１２Ｂに実装され、駆動回路５２Ｂは、プリント基板１０Ｂに実装される。
【００２８】
無線通信回路４４Ａ，４４Ｂは、外部コンピュータ４０と無線通信する機能を有する。無線通信回路４４Ａ，４４Ｂは、例えばＷｉＦｉモジュールにより構成することができる。
但し、本実施形態では、第１のモータユニット４２Ａの無線通信回路４４Ａのみを通常、使用する。第２のモータユニット４２Ｂの無線通信回路４４Ｂは、無線通信回路４４Ａに異常が発生した場合の予備として使用することができる。あるいは、第２のモータユニット４２Ｂの無線通信回路４４Ｂを補助的に使用することができる。例えば、無線通信回路４４Ａを外部コンピュータ４０からの受信に使用し、無線通信回路４４Ｂを外部コンピュータ４０への送信に使用してもよい。
【００２９】
メイン制御部４６Ａ，４６Ｂの各々は、プロセッサであり、記録媒体（図示せず）に記憶されたプログラムを読み出して実行することによって、動作する。したがって、記録媒体から読み出されたプログラム（プログラムコード）自体が実施形態の機能を実現することもできる。また、当該プログラムを記録した記録媒体は本発明を構成することができる。
メイン制御部４６Ａは、無線通信回路４４Ａを用いて、外部コンピュータ４０と無線通信する。また、メイン制御部４６Ａは、モータ駆動制御部５０Ａを制御することにより、モータ６Ａの駆動を制御する。さらに、メイン制御部４６Ａは、第２のモータユニット４２Ｂのメイン制御部４６Ｂと通信可能に有線接続されている。
【００３０】
メイン制御部４６Ｂは、モータ駆動制御部５０Ｂを制御することにより、モータ６Ｂの駆動を制御する。また、メイン制御部４６Ｂは、必要に応じて、無線通信回路４４Ｂを用いて、外部コンピュータ４０と無線通信することができる。
メモリ４８Ａ，４８Ｂの各々は、メイン制御部４６Ａまたは４６Ｂが処理を行うために必要なデータを記憶する。メイン制御部４６Ａ，４６Ｂの各々は、メモリ４８Ａまたは４８Ｂに必要なデータを書き込んだり、メモリ４８Ａまたは４８Ｂから必要なデータを読み出したりすることができる。メモリ４８Ａ，４８Ｂは、揮発性メモリ（例えば、ＳＲＡＭ）であるが、不揮発性メモリ（例えば、フラッシュメモリ）であってもよい。また、メモリ４８Ａ，４８Ｂの各々が、揮発性メモリと不揮発性メモリの両方を備えていてもよい。
【００３１】
モータ駆動制御部５０Ａは、メイン制御部４６Ａからの指令に従って、モータ６Ａの駆動（例えば回転速度）を制御する。モータ駆動制御部５０Ｂは、メイン制御部４６Ｂからの指令に従って、モータ６Ｂの駆動（例えば回転速度）を制御する。モータ駆動制御部５０Ａ，５０Ｂの各々は、例えば、ＰＩＤ制御またはベクトル制御を行うことができ、例えば、マイクロプロセッサ、ASIC（Application Specific Integrated Circuit）、またはDSP（Digital Signal Processor）により構成されている。
【００３２】
また、モータ駆動制御部５０Ａ，５０Ｂは、例えばＰＩＤ制御等によりモータ６Ａ、６Ｂの速度指令値を算出し、算出した速度指令値に基づいて、ＰＷＭ制御のためのデューティー比を演算する。そして、モータ駆動制御部５０Ａ，５０Ｂは、演算したデューティー比に応じたＰＷＭ信号を駆動回路５２Ａ、５２Ｂにそれぞれ出力する。
駆動回路５２Ａは、モータ駆動制御部５０Ａの制御の下で、モータ６Ａを駆動する。駆動回路５２Ｂは、モータ駆動制御部５０Ｂの制御の下で、モータ６Ｂを駆動する。
具体的には、駆動回路５２Ａ，５２Ｂは、電源４３から電力が供給され、モータ駆動制御部５０Ａ，５０Ｂから出力されるＰＷＭ信号をもとにモータ６Ａ，６Ｂをそれぞれ駆動する。
【００３３】
センサ部５４Ａ，５４Ｂは、それぞれモータ６Ａ，６Ｂの駆動制御に用いる各種信号を検出するセンサ群であり、例えばモータ電流を検出する電流センサ、モータ位置を検出する位置センサ、モータ回転速度を検出する速度センサ、車輪の回転角度を検出するセンサなどを含む。センサ部５４Ａの出力信号は、モータ駆動制御部５０Ａに供給され、センサ部５４Ｂの出力信号は、モータ駆動制御部５０Ｂに供給される。モータ駆動制御部５０Ａ，５０Ｂによって測定された各種信号は、メイン制御部４６Ａ，４６Ｂに通知され、メイン制御部４６Ａ，４６Ｂは、通知された信号を使用して、モータ駆動制御部５０Ａ，５０Ｂにモータ６Ａ，６Ｂの駆動の制御のための指令を与える。
例えば、上記速度センサは、モータ６Ａ，６Ｂの内部に取り付けられたホールセンサであって、磁界を電気信号に変換する。モータ駆動制御部５０Ａ，５０Ｂは、速度センサの出力信号に基づいてモータ６Ａ，６Ｂの回転速度を判定することができる。すなわち、モータ駆動制御部５０Ａはモータ６Ａの回転速度を測定し、モータ駆動制御部５０Ｂはモータ６Ｂの回転速度を測定することができる。
また、モータ駆動制御部５０Ａ，５０Ｂは、それぞれ駆動回路５２Ａ，５２Ｂの電流値に基づいて、公知の計算方式で、モータ６Ａ，６Ｂのトルクを計算することができる。すなわち、モータ駆動制御部５０Ａはモータ６Ａのトルクを測定し、モータ駆動制御部５０Ｂはモータ６Ｂのトルクを測定することができる。
【００３４】
また、第１のモータユニット４２Ａのメイン制御部４６Ａには、フォトセンサ２６の２つのフォトリフレクタ２９ａ，２９ｂの出力信号も供給される。メイン制御部４６Ａは、上記の方式によって、フォトリフレクタ２９ａ，２９ｂの出力信号に基づいて、回転台２０の回転方向を判別するとともに、回転台２０の回転角度を測定する。
本実施形態では、メイン制御部４６Ａは、回転台２０の回転角度を移動体１の姿勢角として測定する。
【００３５】
＜モータの制御の動作例＞
次に、外部コンピュータ４０からの制御コマンドに基づく、モータユニット４２Ａ，４２Ｂのモータ６Ａ，６Ｂの制御の動作例について説明する。以下に説明する動作は、複数の移動体１を備える移動ロボット３０（図３および図４参照）では、各移動体１について個別に実行される。
【００３６】
外部コンピュータ４０は、モータ６Ａ，６Ｂを制御するコマンドを第１のモータユニット４２Ａに無線通信により送信する。ここで、上記コマンドは、第１のモータ６Ａの制御情報（目標速度）と、第２のモータ６Ｂの制御情報（目標速度）と、を含む。
第１のモータユニット４２Ａのメイン制御部４６Ａが無線通信回路４４Ａを介して上記制御情報を含むコマンドを受信すると、メイン制御部４６Ａは、第１のモータ６Ａの制御情報をモータ駆動制御部５０Ａに出力する。また、メイン制御部４６Ａは、第２のモータ６Ｂの制御情報をメイン制御部４６Ｂに送信する。メイン制御部４６Ｂは、メイン制御部４６Ａから第２のモータ６Ｂの制御情報を受信すると、受信した第２のモータ６Ｂの制御情報をモータ駆動制御部５０Ｂに出力する。
これにより、第１のモータ６Ａおよび第２のモータ６Ｂの回転速度が目標速度となるように制御される。
【００３７】
また、外部コンピュータ４０は、モータ６Ａ，６Ｂの状態の測定に関する測定コマンドを、第１のモータユニット４２Ａに無線通信により送信する。当該測定コマンドは、モータ６Ａ，６Ｂの状態を示す情報（モータユニット情報）を測定し、報告を指示するコマンドである。ここで、モータユニット情報は、モータ６Ａ，６Ｂの位置、速度およびトルク等のモータ６Ａ，６Ｂに関する情報や、フォトセンサ２６の出力信号、センサ部５４Ａ，５４Ｂの出力信号等を含む。
【００３８】
第１のモータユニット４２Ａのメイン制御部４６Ａが無線通信回路４４Ａを介して測定コマンドを受信すると、メイン制御部４６Ａは、第２のモータ６Ｂのモータユニット情報の測定、報告を指示するコマンドをメイン制御部４６Ｂに送信する。メイン制御部４６Ｂは、メイン制御部４６Ａから上記コマンドを受信すると、第２のモータ６Ｂのモータユニット情報をメイン制御部４６Ａに送信する。そして、メイン制御部４６Ａは、第１のモータ６Ａのモータユニット情報と、第２のモータ６Ｂのモータユニット情報とを外部コンピュータ４０へ送信するよう無線通信回路４４Ａに指示する。
【００３９】
外部コンピュータ４０は、移動体１からモータユニット情報を受信すると、受信したモータユニット情報に基づいて、移動体１の位置を推定する。そして、外部コンピュータ４０は、推定された位置情報をもとに、移動体１が予め設定された目標走行経路を走行するよう移動体１の目標速度を演算し、演算した目標速度をモータ６Ａ、６Ｂの上述した制御情報として移動体１へ送信する。
【００４０】
また、外部コンピュータ４０は、移動体１から受信する各種情報に基づいて、２台の移動体１にそれぞれ搭載されたモータ６Ａ、６Ｂに異常が発生しているか否かを判定する。そして、外部コンピュータ４０は、その判定結果に基づいて、異常を検知していないモータ（以下、「正常モータ」という。）に対応する車輪の配置位置を変更し、正常モータを駆動制御して、移動体１を所定の目標位置まで走行させる走行制御を行う。
【００４１】
移動ロボット３０が制御不可能なるような異常が発生している場合、モータ６Ａ，６Ｂを制御するモータ制御部（モータユニット）へコマンドを送信しても、ＡＣＫ／ＮＡＫ等の応答が返ってこない、もしくは、モータ制御部（モータユニット）へ送信した動作コマンド（制御情報を含むコマンド）に対して、モータが誤動作する。
そこで、本実施形態では、外部コンピュータ４０は、モータユニット４２Ａ，４２Ｂへ送信したコマンドに対する応答が無い場合、モータ６Ａ，６Ｂに異常が発生していると判定する。また、外部コンピュータ４０は、モータユニット４２Ａ，４２Ｂへ送信した動作コマンドに対して、モータ６Ａ，６Ｂが当該動作コマンドとは異なる動作を行ったことを検出した場合、モータ６Ａ，６Ｂに異常が発生していると判定する。
【００４２】
＜異常判定処理＞
図６は、外部コンピュータ４０が備える異常検知部が実行する異常判定処理のフローチャートである。この図６に示す異常判定処理は、送信したコマンドに対する応答の有無に基づいて、モータの異常を検知する場合の処理である。図６に示す処理は、移動ロボット３０が備える複数の移動体１のそれぞれに対して実行される。
まずステップＳ１において、外部コンピュータ４０は、第１のモータユニット４２Ａに対するＲｅａｄコマンドを送信する。
【００４３】
次に、ステップＳ２では、外部コンピュータ４０は、第１のモータユニット４２ＡからＲｅａｄコマンドに対する応答が返ってきたか否かを判定する。具体的には、外部コンピュータ４０は、第１のモータユニット４２ＡからＡＣＫもしくはＮＡＫが返ってきたか否かを判定する。そして、外部コンピュータ４０は、第１のモータユニット４２Ａから応答が無いと判定した場合にはステップＳ３に移行し、応答がある場合には第１のモータユニット４２Ａに対応する右モータ６Ａは正常であると判定してステップＳ５に移行する。
【００４４】
ステップＳ３では、外部コンピュータ４０は、第１のモータユニット４２Ａへのコマンド送信を所定回数（例えば３回）実行したか否かを判定し、所定回数に満たない場合にはステップＳ１へ戻り、所定回数実行したと判定した場合にはステップＳ４に移行する。ステップＳ４では、右モータ６Ａに異常が発生していると判定してステップＳ５に移行する。
【００４５】
ステップＳ５では、外部コンピュータ４０は、第２のモータユニット４２Ｂに対するＲｅａｄコマンドを送信する。
次に、ステップＳ６では、外部コンピュータ４０は、第２のモータユニット４２ＢからＲｅａｄコマンドに対する応答が返ってきたか否かを判定する。具体的には、外部コンピュータ４０は、第２のモータユニット４２ＢからＡＣＫもしくはＮＡＫが返ってきたか否かを判定する。そして、外部コンピュータ４０は、第２のモータユニット４２Ｂから応答が無いと判定した場合にはステップＳ７に移行し、応答がある場合には第２のモータユニット４２Ｂに対応する左モータ６Ｂは正常であると判定して異常判定処理を終了する
【００４６】
Ｓ７では、外部コンピュータ４０は、第２のモータユニット４２Ｂへのコマンド送信を所定回数（例えば３回）実行したか否かを判定し、所定回数に満たない場合にはステップＳ５へ戻り、所定回数実行したと判定した場合にはステップＳ８に移行する。ステップＳ８では、外部コンピュータ４０は、左モータ６Ｂに異常が発生していると判定して異常判定処理を終了する。
【００４７】
＜異常判定処理＞
図７は、外部コンピュータ４０が備える異常検知部が実行する異常判定処理のフローチャートである。この図７に示す異常判定処理は、送信した動作コマンドに対するモータの動作に基づいて、モータの異常を検知する場合の処理である。図７に示す処理は、移動ロボット３０が備える複数の移動体１のそれぞれに対して実行される。
ステップＳ１１では、外部コンピュータ４０は、モータユニット４２Ａ、４２Ｂに対して、移動ロボット３０を直進走行させるような制御情報を含む直進コマンドを送信し、ステップＳ１２に移行する。ステップＳ１２では、外部コンピュータ４０は、回転台２０の回転情報として回転角θｒを取得する。
【００４８】
次にステップＳ１３では、外部コンピュータ４０は、回転台２０の回転量が閾値を上回っているか否か、すなわち、ステップＳ１２において取得された回転角θｒが所定角度を上回っているか否かを判定する。回転角θｒが所定角度以下である場合、外部コンピュータ４０は、移動ロボット３０は直進コマンドに従って直進走行していると判定してステップＳ１４に移行する。ステップＳ１４では、外部コンピュータ４０は、移動ロボット３０が制御不可能となるような異常は発生しておらず、モータ６Ａおよび６Ｂは正常であると判定して異常判定処理を終了する。
【００４９】
一方、外部コンピュータ４０は、ステップＳ１３において回転角θｒが所定角度を上回ると判定すると、移動ロボット３０が制御不可能となる異常が発生していると判定する。そこで、外部コンピュータ４０は、以降の処理により、移動ロボット３０が備える４つのモータのうち、どのモータに異常が発生しているか否かを判定する。
ステップＳ１５では、外部コンピュータ４０は、第１のモータユニット４２Ａに回転コマンドを送信し、ステップＳ１６に移行する。ここで、回転コマンドは、モータを所定量回転させるコマンドであり、外部コンピュータ４０は、第１のモータユニット４２Ａに対して、モータ６ＡをＣＷ（時計方向）、ＣＣＷ（反時計方向）にそれぞれ回転させるコマンドを順次送信する。
ステップＳ１６では、外部コンピュータ４０は、回転台２０の回転情報として回転角θｒを取得する。
【００５０】
ステップＳ１７では、外部コンピュータ４０は、回転台２０の回転量が閾値を上回っているか否か、すなわち、ステップＳ１６において取得された回転角θｒが所定角度を上回っているか否かを判定する。回転角θｒが所定角度を上回っている場合、外部コンピュータ４０は、右モータ６Ａは回転コマンドに従って適切に回転しており、右モータ６Ａは正常であると判定してステップＳ２０に移行する。
【００５１】
一方、外部コンピュータ４０は、ステップＳ１７において回転角θｒが所定角度以下であると判定すると、ステップＳ１８に移行して、第１のモータユニット４２Ａへのコマンド送信を所定回数（例えば３回）実行したか否かを判定する。そして、送信回数が所定回数に満たない場合にはステップＳ１５へ戻り、所定回数実行したと判定した場合にはステップＳ１９に移行する。ステップＳ１９では、外部コンピュータ４０は、右モータ６Ａに異常が発生していると判定してステップＳ２０に移行する。
【００５２】
ステップＳ２０では、外部コンピュータ４０は、ステップＳ１５と同様に、第２のモータユニット４２Ｂに対するモータ６Ｂの回転コマンドを送信し、ステップＳ２１に移行する。ステップＳ２１では、外部コンピュータ４０は、回転台２０の回転情報として回転角θｒを取得する。
ステップＳ２２では、外部コンピュータ４０は、回転台２０の回転量が閾値を上回っているか否か、すなわち、ステップＳ２１において取得された回転角θｒが所定角度を上回っているか否かを判定する。回転角θｒが所定角度を上回っている場合、外部コンピュータ４０は、左モータ６Ｂは回転コマンドに従って適切に回転しており、左モータ６Ｂは正常であると判定して異常判定処理を終了する。
【００５３】
一方、外部コンピュータ４０は、ステップＳ２２において回転角θｒが所定角度以下であると判定すると、ステップＳ２３に移行して、第２のモータユニット４２Ｂへのコマンド送信を所定回数（例えば３回）実行したか否かを判定する。そして、送信回数が所定回数に満たない場合にはステップＳ２０へ戻り、所定回数実行したと判定した場合にはステップＳ２４に移行する。ステップＳ２４では、外部コンピュータ４０は、左モータ６Ｂに異常が発生していると判定して異常判定処理を終了する。
【００５４】
このように、外部コンピュータ４０は、図６および図７に示す異常判定処理により、４つのモータのそれぞれについて異常が発生しているか否かを判定する。そして、外部コンピュータ４０は、４つのモータのうち、少なくとも１つに異常が発生していると判定すると、残りの正常モータを駆動制御し、モータの検査や修理を行うための所定の目標位置まで走行させる。
ところで、４つのモータのうち、左右いずれか一方におけるすべての車輪に対応するモータに異常が発生している場合、移動ロボット３０の走行制御は不可能になる。以下、この点について説明する。
【００５５】
図８は、各移動ロボット３０において、片輪モータに異常が発生した場合の組み合わせを示す図である。図８（ａ）は、右前輪と左後輪とに異常が発生した場合、図８（ｂ）は、左前輪と右後輪とに異常が発生した場合、図８（ｃ）は、左前輪と左後輪とに異常が発生した場合、図８（ｄ）は、右前輪と右後輪とに異常が発生した場合を示している。
図８（ａ）および図８（ｂ）に示すように、前方と後方とでモータの異常発生位置が異なる場合、対角位置に残っている２つの正常モータによって走行制御が可能である。これに対して、図８（ｃ）および図８（ｄ）に示すように、前方と後方とでモータの異常発生位置が同じである場合、走行コマンドに対して右や左に大きく軌道がずれてしまい、走行制御が不可能となる。
【００５６】
そこで、外部コンピュータ４０は、４つのモータのうち、左右いずれか一方におけるすべての車輪に対応するモータに異常が発生している場合、異常を検知していないモータに対応する車輪の配置位置を変更し、走行制御が可能な状態としてから上記の目標位置まで走行させる走行制御を行う。
【００５７】
図９は、外部コンピュータ４０が備える配置位置変更部が実行する走行制御処理のフローチャートである。この図９に示す走行制御処理は、図６および図７に示す異常判定処理の判定結果を受けて実行される。
まずステップＳ２１において、外部コンピュータ４０は、上述した異常判定処理により、４つのモータのうち少なくとも１つに異常が発生しているか否かを判定する。そして、外部コンピュータ４０は、４つのモータのいずれにも異常が発生していないと判定した場合には、そのまま図９の走行制御処理を終了する。
【００５８】
一方、外部コンピュータ４０は、４つのモータのうち少なくとも１つに異常が発生していると判定した場合には、ステップＳ２２に移行し、左右いずれか一方におけるすべての車輪に対応するモータに異常が発生しているか否かを判定する。そして、外部コンピュータ４０は、図８（ｃ）および図８（ｄ）に示すように、片側モータのすべてに異常が発生していると判定した場合にはステップＳ２３に移行し、図８（ａ）および図８（ｂ）に示すように、対角位置のモータに異常が発生していると判定した場合にはステップＳ２４に移行する。
【００５９】
ステップＳ２３では、外部コンピュータ４０は、異常を検知していないモータに対応する車輪の配置位置を変更し、移動ロボット３０が走行制御可能な状態とする。
具体的には、外部コンピュータ４０は、前方に配置された左右一対の車輪を支持する車輪支持部、または後方に配置された左右一対の車輪を支持する車輪支持部を、移動ロボット３０の本体部に対して鉛直方向の軸周りに１８０°回転させる。これにより、正常モータに対応する２つの車輪が、図８（ａ）や図８（ｂ）に示すような対角位置に配置されるようにする。
【００６０】
例えば、図１０に示すように、右前輪と右後輪とに異常が発生している場合には、例えば後方の移動体（図中、符号１ｂ）の正常モータを制御し、後方の車輪を支持する車輪支持部を１８０°旋回させることで、右前輪と左後輪とに異常が発生している状態に変更する。つまり、正常モータに対応する２つの車輪を、移動ロボット３０の左右方向において互いにずれた位置に配置するようにする。
なお、図１０においては、後方の車輪支持部を１８０°回転させる場合について説明したが、前方の車輪支持部を１８０°回転させてもよい。
【００６１】
図９に戻って、ステップＳ２４では、外部コンピュータ４０は、正常モータを駆動制御し、移動ロボット３０を所定の目標位置まで走行させる走行制御を行う。ここで、当該目標位置は、移動ロボット３０の検査、修理を行うための位置とすることができる。
このとき、外部コンピュータ４０は、ステップＳ２３において車輪の配置位置を変更する処理を行っている場合には、前方の移動体１と後方の移動体１とが逆方向に走行するようなコマンドを送信する。つまり、図１０に示すように、後方の車輪支持部を旋回している場合、後方の移動体１ｂには、前方の移動体（図中、符号１ａ）とは逆方向に走行するようにコマンドを送る。例えば、前方の移動体１ａに前進コマンドを送信する場合、後方の移動体１ｂには後進コマンドを送信するようにする。
これにより、移動ロボット３０は前進することができる。
【００６２】
＜効果＞
以上のように、本実施形態では、外部コンピュータ（制御装置）４０は、移動ロボット３０の前後左右に配置された４つの車輪をそれぞれ駆動するモータの異常をそれぞれ検知する。そして、外部コンピュータ４０は、左右いずれか一方におけるすべての車輪に対応するモータの異常を検知した場合、異常を検知していないモータ（正常モータ）に対応する車輪の配置位置を変更し、正常モータを駆動制御して、移動ロボット３０を所定の目標位置まで走行させる。
このように、左右いずれか一方のすべてのモータに異常が発生して移動ロボット３０が走行不可能になった場合であっても、残りの正常モータに対応する車輪の配置位置を変更して、移動ロボット３０を走行可能な状態にすることができる。そのため、移動ロボット３０を目標位置まで適切に走行させることができる。したがって、人の手を煩わすことなく、異常が発生した移動ロボット３０を回収することができる。
【００６３】
また、外部コンピュータ４０は、上記の車輪の配置位置の変更に際し、正常モータに対応する２つの車輪を、移動ロボット３０の左右方向において互いにずれた位置に配置する。正常モータに対応する２つの車輪が左右方向に互いにずれた位置に配置されていれば、移動ロボット３０の直進および旋回を適切に制御することが可能となる。したがって、移動ロボット３０を目標位置へ適切に向かわせることができる。
【００６４】
さらに、移動ロボット３０は、４つの車輪のうち、前方に配置された左右一対の車輪および後方に配置された左右一対の車輪をそれぞれ支持する車輪支持部を有する。これら車輪支持部は、移動ロボット３０の本体部に対して鉛直方向の軸回りに回転可能に連結されている。そして、外部コンピュータ４０は、上記の車輪の配置位置の変更に際し、移動ロボット３０の一方の車輪支持部を、本体部に対して鉛直方向の軸回りに１８０°回転させる。
一方の車輪支持部を１８０°回転させることで、前方または後方に配置された左右一対の車輪を１８０度回転させることができるので、正常モータに対応する車輪を移動ロボット３０の対角位置に配置することができる。したがって、移動ロボット３０を確実に走行可能な状態とすることができる。
【００６５】
さらに、外部コンピュータ４０は、移動ロボット３０のモータ制御部（モータユニット）へ送信したコマンドに対する応答（ＡＣＫ、ＮＡＫ）が無い場合、当該モータ制御部に対応するモータに異常が発生していると判定することができる。また、外部コンピュータ４０は、移動ロボット３０のモータ制御部（モータユニット）へ送信した動作コマンドに対して、当該モータ制御部に対応するモータが動作コマンドとは異なる動作を行ったことを検出した場合にも、当該モータ制御部に対応するモータに異常が発生していると判定することができる。
したがって、各モータの異常を適切に検知することができる。
【００６６】
＜変形例＞
上記実施形態においては、モータに異常が発生した場合、連結荷台３２の向きを進行方向に対して横向きしながら進行するようにしてもよい。この場合、異常が発生していない２つのモータを用いて、一台の移動ロボットのように制御することで走行制御が可能となる。連結荷台３２の向きを進行方向に対して横向きにしながら進行する例を図１１（ａ）〜図１１（ｄ）に示す。この図１１（ａ）〜図１１（ｄ）に示すように、正常モータ間の距離が仮想的１台のロボットのトレッド幅Ｌとなる。
【００６７】
また、上記実施形態においては、各移動体１に２つの車輪４Ａ，４Ｂが設けられ、２つの車輪４Ａ，４Ｂに対応して２つのモータ６Ａ，６Ｂが設けられている。しかしながら、各移動体１に３つ以上の車輪、およびこれら３つ以上の車輪に対応する３つ以上のモータが設けられてもよい。
【００６８】
また、上記実施形態においては、第１のモータユニット４２Ａのメイン制御部４６Ａが回転台２０の回転角度を測定する場合について説明したが、第２のモータユニット４２Ｂのメイン制御部４６Ｂが測定してもよい。
【００６９】
さらに、上記実施形態においては、外部コンピュータ４０が図６、図７および図９の処理を行う場合について説明したが、移動ロボット３０が行ってもよい。つまり、移動ロボット３０自体が、モータ６Ａ，６Ｂの異常を検知し、その検知結果をもとに正常モータに対応する車輪の配置位置を変更する処理を行う制御装置として動作してもよいし、他のＰＣ等が当該制御装置として動作してもよい。
【符号の説明】
【００７０】
１…移動体、２…車体、４Ａ，４Ｂ…車輪、６Ａ，６Ｂ…モータ、２０…回転台、２６…フォトセンサ、２９ａ，２９ｂ…フォトリフレクタ、３０…移動ロボット、３２…連結荷台、３８…荷物、４０…外部コンピュータ（制御装置）
【図１】
2019111560.tif 000003
【図２】
2019111560.tif 000004
【図３】
2019111560.tif 000005
【図４】
2019111560.tif 000006
【図５】
2019111560.tif 000007
【図６】
2019111560.tif 000008
【図７】
2019111560.tif 000009
【図８】
2019111560.tif 000010
【図９】
2019111560.tif 000011
【図１０】
2019111560.tif 000012
【図１１】
2019111560.tif 000013
【国際調査報告】
2019111560.tif 000014
2019111560.tif 000015
2019111560.tif 000016