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