(57)【要約】【課題】回転体の制御に乱れが生じた場合であっても、姿勢や動きのゆがみを抑制することが出来る回転制御装置、移動体、および搬送ロボットを提供する。【解決手段】回転制御装置は、第１の回転体の回転速度を目標の第１回転速度に制御する第１の制御器と、第２の回転体の回転速度を目標の第２回転速度に制御する第２の制御器と、を備え、上記第１の制御器が、上記第１の回転体における回転状態の第１測定値と上記第２の回転体における回転状態の第２測定値とを取得し、上記第１測定値と上記第２測定値との相対関係を目標の相対関係に近づける補正制御を計算し、上記補正制御を上記第１の回転体に加える第１制御モードと、上記第２の制御器が、上記第１の回転体における回転状態の第１測定値と上記第２の回転体における回転状態の第２測定値とを取得し、上記補正制御を上記第２の回転体に加える第２制御モードと、が選択的に実行される。【選択図】      図３
2019111671.tif 000002
【特許請求の範囲】
【請求項１】
第１の回転体の回転速度を目標の第１回転速度に制御する第１の制御器と、
第２の回転体の回転速度を目標の第２回転速度に制御する第２の制御器と、を備え、
前記第１の制御器が、
前記第１の回転体における回転状態の第１測定値と前記第２の回転体における回転状態の第２測定値とを取得し、
前記第１測定値と前記第２測定値との相対関係を目標の相対関係に近づける補正制御を計算し、
前記補正制御を前記第１の回転体に加える第１制御モードと、
前記第２の制御器が、
前記第１の回転体における回転状態の第１測定値と前記第２の回転体における回転状態の第２測定値とを取得し、
前記補正制御を前記第２の回転体に加える第２制御モードと、が選択的に実行される回転制御装置。
【請求項２】
前記第１の回転体の回転速度が前記第１回転速度に対して所定程度を越えて離れた場合に前記第２制御モードが選択され、
前記第１の回転体の回転速度が前記第１回転速度に対して所定程度内に近づいた場合に前記第１制御モードが選択される、請求項１に記載の回転制御装置。
【請求項３】
前記第１の制御器および前記第２の制御器の少なくとも一方が前記目標の相対関係を、外部から与えられた前記第１回転速度および前記第２回転速度に基づいて決定する、請求項１または２に記載の回転制御装置。
【請求項４】
前記第１の制御器が、
前記第１制御モードに際し、前記第１の回転体の目標回転速度として、前記第１回転速度に替えて、前記第２の回転体における回転状態の第２測定値から得られる回転速度を用い、
前記第２の制御器が、
前記第２制御モードに際し、前記第２の回転体の目標回転速度として、前記第２回転速度に替えて、前記第１の回転体における回転状態の第１測定値から得られる回転速度を用いる、請求項１から３のいずれか１項に記載の回転制御装置。
【請求項５】
前記第１の制御器および前記第２の制御器が、前記補正制御としてＰＩ制御およびＰＩＤ制御の少なくとも一方を用いる、請求項１から４のいずれか１項に記載の回転制御装置。
【請求項６】
前記第１の制御器および前記第２の制御器の少なくとも一方が、前記第１回転速度および前記第２回転速度を外部から無線通信を介して入手し、
該一方に対する他方に対し、それら第１回転速度および第２回転速度のうち該他方で用いられる方の回転速度を、有線通信を介して与える、請求項１から５のいずれか１項に記載の回転制御装置。
【請求項７】
前記第１の制御器および前記第２の制御器の双方が、前記外部と無線通信を行う機能を有するものであり、
前記第１の制御器と前記第２の制御器とで、前記外部から前記第１回転速度および前記第２回転速度を入手する役割が、通信状態に応じて切り換えられる、請求項６に記載の回転制御装置。
【請求項８】
ベースと、
前記ベースを移動させる第１の車輪と、
前記ベースを移動させる第２の車輪と、
前記第１の車輪を回転駆動する第１の駆動器と、
前記第２の車輪を回転駆動する第２の駆動器と、
前記第１の車輪および前記第１の駆動器の一方である第１の回転体の回転速度を目標の第１回転速度に制御する第１の制御器と、
前記第２の車輪および前記第２の駆動器の一方である第２の回転体の回転速度を目標の第２回転速度に制御する第２の制御器と、を備え、
前記第１の制御器は、
前記第１の回転体における回転状態の第１測定値と前記第２の回転体における回転状態の第２測定値とを取得し、
前記第１測定値と前記第２測定値との相対関係を目標の相対関係に近づける補正制御を計算し、
前記補正制御を前記第１の回転体に加える第１制御モードと、
前記第２の制御器は、
前記第１の回転体における回転状態の第１測定値と前記第２の回転体における回転状態の第２測定値とを取得し、
前記補正制御を前記第２の回転体に加える第２制御モードと、が選択的に実行される移動体。
【請求項９】
搬送物が載置される載置台を有したベースと、
前記ベースを移動させる第１の車輪と、
前記ベースを移動させる第２の車輪と、
前記第１の車輪を回転駆動する第１の駆動器と、
前記第２の車輪を回転駆動する第２の駆動器と、
前記第１の車輪および前記第１の駆動器の一方である第１の回転体の回転速度を目標の第１回転速度に制御する第１の制御器と、
前記第２の車輪および前記第２の駆動器の一方である第２の回転体の回転速度を目標の第２回転速度に制御する第２の制御器と、を備え、
前記第１の制御器は、
前記第１の回転体における回転状態の第１測定値と前記第２の回転体における回転状態の第２測定値とを取得し、
前記第１測定値と前記第２測定値との相対関係を目標の相対関係に近づける補正制御を計算し、
前記補正制御を前記第１の回転体に加える第１制御モードと、
前記第２の制御器は、
前記第１の回転体における回転状態の第１測定値と前記第２の回転体における回転状態の第２測定値とを取得し、
前記補正制御を前記第２の回転体に加える第２制御モードと、が選択的に実行される搬送ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転体の回転状態を制御する回転制御装置、移動体、および搬送ロボットに関する。
【背景技術】
【０００２】
従来、例えば搬送ロボットなどといった移動体や多関節ロボットなどにおいて、車輪や関節などといった回転体が複数備えられ、各回転体が各モータで駆動されて各回転体における回転状態が個別に制御されることで移動体やロボットの姿勢や動きが制御される技術が知られている。【０００３】
例えば特許文献１には、モータの回転基準を示した基準信号と、そのモータについて検出された回転角とを位相差同期（ＰＬＬ）制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−７８３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数の回転体それぞれについて回転状態が基準信号に同期される場合であっても、信号遅延やノイズなどが原因で回転体の制御に乱れが生じた場合は、回転体の相互間では同期が乱れてしまい、移動体の姿勢や動きがゆがんでしまう。【０００６】
そこで、本発明は、回転体の制御に乱れが生じた場合であっても、姿勢や動きのゆがみを抑制することが出来る回転制御装置、移動体、および搬送ロボットを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る回転制御装置は、第１の回転体の回転速度を目標の第１回転速度に制御する第１の制御器と、第２の回転体の回転速度を目標の第２回転速度に制御する第２の制御器と、を備え、上記第１の制御器が、上記第１の回転体における回転状態の第１測定値と上記第２の回転体における回転状態の第２測定値とを取得し、上記第１測定値と上記第２測定値との相対関係を目標の相対関係に近づける補正制御を計算し、上記補正制御を上記第１の回転体に加える第１制御モードと、上記第２の制御器が、上記第１の回転体における回転状態の第１測定値と上記第２の回転体における回転状態の第２測定値とを取得し、上記補正制御を上記第２の回転体に加える第２制御モードと、が選択的に実行される。【０００８】
本発明の一態様に係る移動体は、ベースと、上記ベースを移動させる第１の車輪と、上記ベースを移動させる第２の車輪と、上記第１の車輪を回転駆動する第１の駆動器と、上記第２の車輪を回転駆動する第２の駆動器と、上記第１の車輪および上記第１の駆動器の一方である第１の回転体の回転速度を目標の第１回転速度に制御する第１の制御器と、上記第２の車輪および上記第２の駆動器の一方である第２の回転体の回転速度を目標の第２回転速度に制御する第２の制御器と、を備え、上記第１の制御器が、上記第１の回転体における回転状態の第１測定値と上記第２の回転体における回転状態の第２測定値とを取得し、上記第１測定値と上記第２測定値との相対関係を目標の相対関係に近づける補正制御を計算し、上記補正制御を上記第１の回転体に加える第１制御モードと、上記第２の制御器が、上記第１の回転体における回転状態の第１測定値と上記第２の回転体における回転状態の第２測定値とを取得し、上記補正制御を上記第２の回転体に加える第２制御モードと、が選択的に実行される。【０００９】
本発明の一態様に係る搬送ロボットは、搬送物が載置される載置台を有したベースと、上記ベースを移動させる第１の車輪と、上記ベースを移動させる第２の車輪と、上記第１の車輪を回転駆動する第１の駆動器と、上記第２の車輪を回転駆動する第２の駆動器と、上記第１の車輪および上記第１の駆動器の一方である第１の回転体の回転速度を目標の第１回転速度に制御する第１の制御器と、上記第２の車輪および上記第２の駆動器の一方である第２の回転体の回転速度を目標の第２回転速度に制御する第２の制御器と、を備え、上記第１の制御器が、上記第１の回転体における回転状態の第１測定値と上記第２の回転体における回転状態の第２測定値とを取得し、上記第１測定値と上記第２測定値との相対関係を目標の相対関係に近づける補正制御を計算し、上記補正制御を上記第１の回転体に加える第１制御モードと、上記第２の制御器が、上記第１の回転体における回転状態の第１測定値と上記第２の回転体における回転状態の第２測定値とを取得し、上記補正制御を上記第２の回転体に加える第２制御モードと、が選択的に実行される。
【発明の効果】
【００１０】
本発明によれば、回転体の制御に乱れが生じた場合であっても、第１の回転体および第２の回転体の一方が他方に追随して回転するので、第１の回転体および第２の回転体を搭載した移動体やロボットの姿勢や動きにおけるゆがみが抑制される。
【図面の簡単な説明】
【００１１】
【図１】本発明の搬送ロボットの一実施形態を示す斜視図である。
【図２】本発明の実施形態に係る搬送ロボットを含む制御システムのブロック図である。
【図３】外部コンピュータと２つのモータユニットの動作手順を示す図である
【図４】制御コマンドのフォーマット例を示す図である。
【図５】第２のモータユニットにおける車輪用モータの回転速度例を示す図である。
【図６】測定コマンドのフォーマット例を示す図である。
【図７】第２のモータユニットの状態報告のフォーマット例を示す図である。
【図８】第１のメイン制御部によって実行される追従制御を示す図である。
【図９】第１のモータユニットにおける車輪用モータの回転速度例を示す図である。
【図１０】旋回動作における追従制御を示す図である。
【図１１】追従制御の第１の別例を示す図である。
【図１２】追従制御の第２の別例を示す図である。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照しながら本発明に係る実施の形態を説明する。
＜搬送ロボット＞
図１は、本発明の搬送ロボットの一実施形態を示す斜視図である。
本実施形態の搬送ロボット１は、本発明の移動体の一実施形態にも相当する。この搬送ロボット１は、例えば工場内における資材の搬送などに用いられる。
【００１３】
搬送ロボット１は、車体（ベース）２と、車体２に支持されて回転する２つの車輪４Ａ，４Ｂとを備える。車体２は、搬送ロボット１の下部に設けられたほぼ水平なフレームである。車輪４Ａ，４Ｂは、同形同大であり、同心に配置されている。
【００１４】
車体２には、車輪４Ａ，４Ｂをそれぞれ駆動する２つの車輪用モータ６Ａ，６Ｂが搭載されている。また、車体２には、車輪用モータ６Ａ，６Ｂを駆動するための電源であるバッテリが収容されたバッテリケース８が搭載されている。さらに、車体２には、車輪用モータ６Ａ，６Ｂを駆動するためのプリント基板１０Ａ，１０Ｂ，１２Ａ，１２Ｂが実装されている。ここで、プリント基板１０Ａおよび１０Ｂは、インバータやモータドライバを含む駆動回路を含み、プリント基板１２Ａおよび１２Ｂは、マイコンボードを含むメイン制御回路を含む。
なお、図１では、プリント基板１０Ａ，１０Ｂ，１２Ａ，１２Ｂが棚板上に実装されている場合について示しているが、プリント基板１０Ａ，１０Ｂ，１２Ａ，１２Ｂそのものが棚板になっていてもよい。
さらに、車体２には、複数の支柱１４が取り付けられており、支柱１４は荷台１６を支持している。
＜制御システム＞
【００１５】
図２は、本発明の実施形態に係る搬送ロボット１を含む制御システムのブロック図である。搬送ロボット１は、搬送ロボット１を遠隔操作する外部コンピュータ（外部の制御装置）４０と無線通信で通信することができる。無線通信の手法としては、限定されないが、例えばＷｉ−Ｆｉ（登録商標）であってよい。
【００１６】
搬送ロボット１は、２つのモータユニット、すなわち第１のモータユニット４２Ａと第２のモータユニット４２Ｂを有する。これら２つのモータユニット４２Ａ，４２Ｂは、図１に示す２つの車輪４Ａ，４Ｂと１対１に対応しており、２つのモータユニット４２Ａ，４２Ｂのそれぞれが、対応する車輪４Ａ，４Ｂを駆動する車輪用モータ６Ａ，６Ｂを含んでいる。以下の説明では、第１のモータユニット４２Ａと第２のモータユニット４２Ｂそれぞれに対応した各要素を区別する場合には「第１の」、「第２の」という表記を用いて区別する場合がある。
モータユニット４２Ａ，４２Ｂは、電源４３により給電される。電源４３は、バッテリケース８（図１参照）に収容されたバッテリである。
【００１７】
本実施形態では、２つのモータユニット４２Ａ，４２Ｂは、ハードウェアとして互いに同等の構造を有しており、それぞれ、車輪用モータ６Ａ，６Ｂ、無線通信回路４４Ａ，４４Ｂ、メイン制御部４６Ａ，４６Ｂ、メモリ４８Ａ，４８Ｂ、モータ駆動制御部５０Ａ，５０Ｂ、駆動回路５２Ａ，５２Ｂおよび速度センサ５４Ａ，５４Ｂを有する。
【００１８】
第１のモータユニット４２Ａの無線通信回路４４Ａ、メイン制御部４６Ａ、メモリ４８Ａ、モータ駆動制御部５０Ａおよび駆動回路５２Ａは、ハードウェアとしては２つのプリント基板に分けて実装されており、図１に示す４つのプリント基板１０Ａ，１０Ｂ，１２Ａ，１２Ｂのうち、第１の車輪４Ａ側に位置する２つのプリント基板１０Ａ，１２Ａに実装される。具体的には、無線通信回路４４Ａ、メイン制御部４６Ａ、メモリ４８Ａおよびモータ駆動制御部５０Ａは、下段のプリント基板１２Ａに実装され、駆動回路５２Ａは、上段のプリント基板１０Ａに実装される。
【００１９】
第２のモータユニット４２Ｂの無線通信回路４４Ｂ、メイン制御部４６Ｂ、メモリ４８Ｂ、モータ駆動制御部５０Ｂおよび駆動回路５２Ｂも同様に、ハードウェアとしては２つのプリント基板に分けて実装されており、図１に示す４つのプリント基板１０Ａ，１０Ｂ，１２Ａ，１２Ｂのうち、第２の車輪４Ｂ側に位置する２つのプリント基板１０Ｂ，１２Ｂに実装される。具体的には、無線通信回路４４Ｂ、メイン制御部４６Ｂ、メモリ４８Ｂおよびモータ駆動制御部５０Ｂは、下段のプリント基板１２Ｂに実装され、駆動回路５２Ｂは、上段のプリント基板１０Ｂに実装される。
【００２０】
２つの無線通信回路４４Ａ，４４Ｂは、いずれも外部コンピュータ４０と無線通信する機能を有する。本実施形態では、外部コンピュータ４０との無線通信に第１の無線通信回路４４Ａが通常は使用され、第２の無線通信回路４４Ｂは、例えば第１の無線通信回路４４Ａの故障などが原因で通信不良が生じた場合の予備として使用される。なお、第２の無線通信回路４４Ｂは、第１の無線通信回路４４Ａの補助として使用されてもよい。例えば、第１の無線通信回路４４Ａが外部コンピュータ４０からの受信に使用され、第２の無線通信回路４４Ｂが外部コンピュータ４０への送信に使用されてもよい。
【００２１】
本実施形態では、メイン制御部４６Ａ，４６Ｂの各々は例えばプロセッサであり、記録媒体（図示せず）に記憶されたプログラムを各々が読み出して実行することによって、２つのメイン制御部４６Ａ，４６Ｂを併せたものが本発明の回転制御装置の一実施形態として動作する。したがって、記録媒体から読み出されたプログラム（プログラムコード）自体が本実施形態ではメイン制御部４６Ａ，４６Ｂの機能を実現することになる。また、当該プログラムを記録した記録媒体は本発明の実施形態を構成することができる。
【００２２】
第１のメイン制御部４６Ａは、無線通信回路４４Ａを用いて、外部コンピュータ４０と無線通信する。また、第１のメイン制御部４６Ａは、モータ駆動制御部５０Ａを制御することにより、車輪用モータ６Ａの駆動を制御する。さらに、第１のメイン制御部４６Ａは、第２のメイン制御部４６Ｂに通信可能に有線接続されている。
【００２３】
第２のメイン制御部４６Ｂも、モータ駆動制御部５０Ｂを制御することにより、車輪用モータ６Ｂの駆動を制御する。また、第２のメイン制御部４６Ｂは、第１のメイン制御部４６Ａで通信不良が生じた場合に無線通信回路４４Ｂを用いて、第１のメイン制御部４６Ａに替わって外部コンピュータ４０と無線通信する。
【００２４】
メモリ４８Ａ，４８Ｂの各々は、メイン制御部４６Ａ，４６Ｂの各々が処理を行うために必要なデータを記憶する。メイン制御部４６Ａ，４６Ｂの各々は、メモリ４８Ａ，４８Ｂから必要なデータを読み出す。本実施形態のメモリ４８Ａ，４８Ｂは、揮発性メモリ（例えば、ＳＲＡＭ）であるが、不揮発性メモリ（例えば、フラッシュメモリ）であってもよい。また、メモリ４８Ａ，４８Ｂの各々が、揮発性メモリと不揮発性メモリの両方を備えていてもよい。
【００２５】
モータ駆動制御部５０Ａ，５０Ｂは、メイン制御部４６Ａ，４６Ｂからの指令に従って、車輪用モータ６Ａ，６Ｂの駆動（例えば回転速度）を制御する。モータ駆動制御部５０Ａ，５０Ｂの各々は、例えばＰＩＤ（Proportional-Integral-Differential）制御やベクトル制御を行うことができ、例えば、マイクロプロセッサ、ASIC（Application Specific Integrated Circuit）、またはDSP（Digital Signal Processor）である。
駆動回路５２Ａ，５２Ｂの各々は、モータ駆動制御部５０Ａ，５０Ｂの制御の下で、車輪用モータ６Ａ，６Ｂを駆動する。
【００２６】
速度センサ５４Ａ，５４Ｂの各々は、車輪用モータ６Ａ，６Ｂの回転速度を示す電気信号を出力する。速度センサ５４Ａ，５４Ｂの各々は、例えば、車輪用モータ６Ａまたは６Ｂの内部に取り付けられたホールセンサーであって、磁界を電気信号に変換する。モータ駆動制御部５０Ａ，５０Ｂの各々は、速度センサ５４Ａ，５４Ｂの出力信号に基づいて車輪用モータ６Ａ，６Ｂの回転速度を計算する。すなわち、モータ駆動制御部５０Ａ，５０Ｂの各々は、対応する車輪用モータ６Ａ，６Ｂの回転速度を測定する。測定された車輪用モータ６Ａ，６Ｂの回転速度の値は、メイン制御部４６Ａ，４６Ｂに通知され、メイン制御部４６Ａ，４６Ｂは、車輪用モータ６Ａ，６Ｂの回転速度の値を使用して、モータ駆動制御部５０Ａ，５０Ｂに車輪用モータ６Ａ，６Ｂの駆動の制御のための指令を与える。
【００２７】
また、モータ駆動制御部５０Ａ，５０Ｂの各々は、駆動回路５２Ａ，５２Ｂの電流値に基づいて、公知の計算方式で、車輪用モータ６Ａ，６Ｂのトルクを計算することができる。すなわち、駆動回路５２Ａ，５２Ｂは車輪用モータ６Ａ，６Ｂのトルクを測定することができる。測定された車輪用モータ６Ａ，６Ｂのトルクの値は、メイン制御部４６Ａ，４６Ｂに通知され、メイン制御部４６Ａ，４６Ｂは、車輪用モータ６Ａ，６Ｂのトルクの値を使用して、モータ駆動制御部５０Ａ，５０Ｂに車輪用モータ６Ａ，６Ｂの駆動の制御のための指令を与えることができる。
＜モータの制御の動作例＞
外部コンピュータ４０からの制御コマンドに基づいてモータユニット４２Ａ，４２Ｂが車輪用モータ６Ａ，６Ｂを制御する制御動作の例を説明する。
【００２８】
図３は、外部コンピュータ４０と２つのモータユニット４２Ａ，４２Ｂの動作手順を示す図である。なお、モータユニット４２Ａ，４２Ｂの動作については、通信スレッド６１Ａ，６１Ｂと制御スレッド６２Ａ，６２Ｂとに分けて示されている。
【００２９】
外部コンピュータ４０は、予定された軌跡を搬送ロボット１に描かせるために、搬送ロボット１が有する２つの車輪用モータ６Ａ，６Ｂそれぞれの目標速度を算出し、その目標速度を指示した制御コマンドを搬送ロボット１に無線通信で送信する。搬送ロボット１では、通常は第１のモータユニット４２Ａが制御コマンドを受信する。
図４は、制御コマンドのフォーマット例を示す図である。
【００３０】
図４に示すように、制御コマンドのフォーマットの例は、コマンドタイプを示すフィールドと、目標達成時間（Duration）を示すフィールドと、第１の装置ＩＤ（第１のモータユニット４２Ａの装置ＩＤ）を示すフィールドと、第１の車輪用モータ６Ａの目標速度を示すフィールドと、第２の装置ＩＤ（第２のモータユニット４２Ｂの装置ＩＤ）を示すフィールドと、第２の車輪用モータ６Ｂの目標速度を示すフィールドとを有する。
【００３１】
コマンドタイプを示すフィールドは、送信されるコマンドが目標速度を設定する制御コマンドであることを示すビット列を含む。目標達成時間を示すフィールドは、当該制御コマンドの受信後に車輪用モータ６Ａ，６Ｂが目標速度に到達するまでの時間を示すビット列を含む。装置ＩＤを示すフィールドは、当該制御コマンドによって制御されるべき車輪用モータを有するモータユニットのＩＤを示すビット列を含む。すなわち、装置ＩＤを示す２つのフィールドの各々は、第１のモータユニット４２Ａの装置ＩＤを示すビット列、または第２のモータユニット４２Ｂの装置ＩＤを示すビット列を含む。第１のモータユニット４２Ａの装置ＩＤを示すフィールドの直後の目標速度を示すフィールドは、第１の車輪用モータ６Ａの目標速度を示すビット列を含む。第２のモータユニット４２Ｂの装置ＩＤを示すフィールドの直後の目標速度を示すフィールドは、第２の車輪用モータ６Ｂの目標速度を示すビット列を含む。
【００３２】
この制御コマンドにおいて、例えば、目標達成時間が１００ｍｓを指定し、第１の車輪用モータ６Ａの目標速度が１００ｒｐｍを指定し、第２の車輪用モータ６Ｂの目標速度が２００ｒｐｍを指定することを想定する。この場合には、制御コマンドの受信後１００ｍｓの時間で、第１のモータユニット４２Ａは車輪用モータ６Ａの回転速度を１００ｒｐｍに制御し、第２のモータユニット４２Ｂは車輪用モータ６Ｂの回転速度を２００ｒｐｍに制御すべきであることを、制御コマンドは意味する。
【００３３】
図３に戻り、第１のモータユニット４２Ａでは、無線通信回路４４Ａが制御コマンドを受信すると、メイン制御部４６Ａは、２つの車輪用モータ６Ａ，６Ｂそれぞれの目標速度を比較して、搬送ロボット１の動作が直進動作であるか旋回動作であるかを判定する。即ち、２つの目標速度が等しい場合は直進動作であると判定され、２つの目標速度が異なる場合は旋回動作であると判定される。
【００３４】
また、第１のモータユニット４２Ａから第２のモータユニット４２Ｂへ第２の車輪用モータ６Ｂの目標速度を指示した制御コマンドが有線通信で送信される。この制御コマンドのフォーマットは、図４に示すフォーマットから第１のモータユニット４２Ａ用の装置ＩＤと目標速度が削除されたフォーマットになっている。
＜加速制御＞
【００３５】
制御コマンドによって目標速度が指示されたモータユニット４２Ａ，４２Ｂは、それぞれ、目標達成時間で目標速度に達するための制御計画を作成する。即ち、メイン制御部４６Ａ，４６Ｂが、目標達成時間までの各瞬間での車輪用モータ６Ａ，６Ｂの瞬時目標速度を決定する。ここでいう各瞬間とは、一定の制御周期ずつ離れている各時点のことである。また、瞬時目標速度の決定は、例えば、各モータの現在の回転速度と、制御コマンドに指定されたそのモータの目標速度と、制御コマンドに指定された目標達成時間に基づいて、補間によって行われる。
【００３６】
具体的には、上記の想定例の制御コマンドを受信した時点で２つの車輪用モータ６Ａ，６Ｂがいずれも停止していた場合（回転速度が０ｒｐｍの場合）、第１のメイン制御部４６Ａは、例えば１ｍｓごとに１ｒｐｍずつ第１の車輪用モータ６Ａの回転速度を上昇させるように、１ｍｓおきの各瞬間の瞬時目標速度を決定する。また、第２のメイン制御部４６Ｂは、例えば１ｍｓごとに２ｒｐｍずつ第２の車輪用モータ６Ｂの回転速度を上昇させるように、１ｍｓおきの各瞬間の瞬時目標速度を決定する。これにより、１００ｍｓの経過後に、第１の車輪用モータ６Ａの回転速度は１００ｒｐｍに到達し、第２の車輪用モータ６Ｂの回転速度は２００ｒｐｍに到達する。この例では、メイン制御部４６Ａ，４６Ｂは例えば直線補間を利用して瞬時目標速度を決定するが、他の補間アルゴリズムが利用されてもよい。
【００３７】
上記のように、車輪用モータ６Ａ，６Ｂの瞬時目標速度を決定したメイン制御部４６Ａ，４６Ｂは、メモリ４８Ａ，４８Ｂに車輪用モータ６Ａ，６Ｂの瞬時目標速度を格納する。
【００３８】
この後、メイン制御部４６Ａ，４６Ｂは、制御計画に従って、モータ駆動制御部５０Ａ，５０Ｂを制御して車輪用モータ６Ａ，６Ｂの回転速度を加速制御する。すなわち、メイン制御部４６Ａ，４６Ｂは、各瞬間に車輪用モータ６Ａ，６Ｂの瞬時目標速度をメモリ４８Ａ，４８Ｂから読み出して、車輪用モータ６Ａ，６Ｂの回転速度が瞬時目標速度になるようにモータ駆動制御部５０Ａ，５０Ｂを制御することを、一定の制御周期で繰り返す。上記の例では、各モータの制御周期は１ｍｓであるが、制御周期は１ｍｓに限らず、例えば５ｍｓであってもよい。
＜等速制御＞
【００３９】
上述した加速制御によって車輪用モータ６Ａ，６Ｂが目標速度に到達すると、メイン制御部４６Ｂが、第２のモータユニット４２Ｂの車輪用モータ６Ｂの回転速度を目標速度に保つ等速制御を実行する。
【００４０】
図５は、第２のモータユニット４２Ｂにおける車輪用モータ６Ｂの回転速度例を示す図である。図５の横軸は経過時間を示し、縦軸は車輪用モータ６Ｂの回転速度を示している。
【００４１】
第２の車輪用モータ６Ｂは、加速制御によって目標達成時間（Duration）の間に目標速度に到達する。その後、等速制御が行われることにより、第２の車輪用モータ６Ｂの回転速度は目標速度に保たれる。
【００４２】
しかし、例えばノイズなどといった外乱が生じた場合には、モータユニット４２Ｂにおける制御が乱れ、車輪用モータ６Ｂの回転速度が目標速度から逸脱してしまう場合がある。また、本実施形態では、第２のモータユニット４２Ｂが第１のモータユニット４２Ａから有線通信で制御コマンドを受信しているので、有線通信の堅牢性により、制御コマンドの通信遅延による制御の乱れが抑制されているが、第２のモータユニット４２Ｂが第１のモータユニット４２Ａと並行して外部コンピュータ４０から制御コマンドを無線通信によって受信する場合には、通信遅延なども上記外乱の原因となり得る。
＜追従制御＞
【００４３】
本実施形態では、このような外乱が第２のモータユニット４２Ｂで生じた場合であっても、予定された軌跡を搬送ロボット１が描くように、第１のモータユニット４２Ａでは図３に示すように追従制御が実行される。
この追従制御が開始されると第１のメイン制御部４６Ａは、第２のメイン制御部４６Ｂに対し、モータ情報を要求する測定コマンドを有線通信で送信する。
図６は、測定コマンドのフォーマット例を示す図である。
【００４４】
図６に示すように、測定コマンドのフォーマットの例は、コマンドタイプを示すフィールドと、状態測定開始時期を示すフィールドと、報告継続期間を示すフィールドと、報告の周期（測定の周期）を示すフィールドとを有する。コマンドタイプを示すフィールドは、送信されるコマンドが測定コマンドであることを示すビット列を含む。
【００４５】
第２のモータユニット４２Ｂでは、測定コマンドを受信したメイン制御部４６Ｂは、測定コマンドをメモリ４８Ｂに格納する。また、メイン制御部４６Ｂは、測定コマンドで指定された状態測定開始の時期に、状態測定を実行する。具体的には、メイン制御部４６Ｂは、第２の車輪用モータ６Ｂの回転速度およびトルクをモータ駆動制御部５０Ｂに測定させて、回転速度およびトルクの測定値をモータ駆動制御部５０Ｂから受け取る。測定完了後、メイン制御部４６Ｂは、第２のモータユニット４２Ｂのモータ情報として、測定結果を示す状態報告を第１のモータユニット４２Ａに有線通信で送信する。
図７は、第２のモータユニット４２Ｂの状態報告のフォーマット例を示す図である。
【００４６】
図７に示すように、状態報告のフォーマットの例は、報告タイプを示すフィールドと、速度を示すフィールドと、トルクを示すフィールドとを有する。報告タイプのフィールドは、この報告が第２のモータユニット４２Ｂの状態報告であることを示すビット列を含む。速度のフィールドは速度の測定値を示すビット列を含む。トルクのフィールドは、トルクの測定値を示すビット列を含む。
【００４７】
第２のモータユニット４２Ｂの状態報告を受信すると、第１のモータユニット４２Ａのメイン制御部４６Ａは、第１の車輪用モータ６Ａの回転状態を、状態報告で示された第２の車輪用モータ６Ｂの回転状態に追従させる追従制御（後述）を実行する。
【００４８】
以降、測定コマンドで指定された報告の周期（測定の周期）毎に、第２のモータユニット４２Ｂのメイン制御部４６Ｂは状態測定を実行して第１のモータユニット４２Ａへ第２のモータユニット４２Ｂの状態報告を有線通信で送信する。このような測定と報告は、測定コマンドで指定された報告継続期間が経過するまで、繰り返される。報告継続期間が経過すると、第２のモータユニット４２Ｂは状態測定および状態報告の送信を終了する。なお、報告継続期間としては無期限が指定される場合もあり、その場合には、測定停止コマンドが受信されるまで測定と報告が繰り返される。
図８は、第１のメイン制御部４６Ａによって実行される追従制御を示す図である。
【００４９】
図８に示す例では、第２のモータユニット４２Ｂから送信される状態報告に含まれている速度の測定値とトルクの測定値のうち、速度の測定値が用いられて追従制御が実行される。また、図８に示す追従制御は、上述した速度判定で直進動作であると判定された場合に実行される。
【００５０】
追従制御では、第１のメイン制御部４６Ａは、モータ駆動制御部５０Ｂに第１の車輪用モータ６Ａの速度を測定させ、測定で得られた回転速度の測定値θ１を、第２のモータユニット４２Ｂから得られた第２の車輪用モータ６Ｂの回転速度の測定値θ２から除算する。これにより、２つの車輪用モータ６Ａ，６Ｂにおける回転速度差が算出される。
【００５１】
第１のメイン制御部４６Ａは、この回転速度差に基づいて、ＰＩ制御における比例動作７１と積分動作７２を算出する。このＰＩ制御は、回転速度差がゼロに近づくように第１の車輪用モータ６Ａの回転速度を補正する補正制御となる。第１のメイン制御部４６Ａは、第１の車輪用モータ６Ａに対して制御コマンドで与えられた目標速度にこの補正制御の成分を加算して、補正された目標速度を算出する。そして第１のメイン制御部４６Ａは、第１の車輪用モータ６Ａがその補正された目標速度となるようにモータ駆動制御部５０Ａを制御する。
【００５２】
図９は、第１のモータユニット４２Ａにおける車輪用モータ６Ａの回転速度例を示す図である。図９の横軸は経過時間を示し、縦軸は車輪用モータの回転速度を示している。また、図９には、第１の車輪用モータ６Ａの回転速度例が実線で示され、第２の車輪用モータ６Ｂの回転速度例が破線で示されている。
【００５３】
第１の車輪用モータ６Ａの回転速度は、第２の車輪用モータ６Ｂと同様の加速制御によって目標達成時間（Duration）の間に目標速度に到達する。その後、図８に示す追従制御が行われることにより、第１の車輪用モータ６Ａの回転速度は、第２の車輪用モータ６Ｂの回転速度に追従する。即ち、第２の車輪用モータ６Ｂの回転速度が目標速度に保たれている場合も、上述したような外乱が生じた場合も、第１の車輪用モータ６Ａの回転速度は、第２の車輪用モータ６Ｂの回転速度と同様の回転速度になる。この結果、搬送ロボット１は、第２のモータユニット４２Ｂで外乱が生じた場合にも直進動作を保つことになる。
【００５４】
ところで、ノイズなどによる外乱は第１のモータユニット４２Ａでも生じ得る。そこで、本実施形態では、目標速度に対して閾値が設けられており、第１のメイン制御部４６Ａでこの閾値と回転速度が比較されることによって外乱の発生が検知される。即ち、第１の車輪用モータ６Ａにおける回転速度の測定値が目標速度から乖離して閾値を越えた場合には、第１のモータユニット４２Ａで外乱が生じたと見做される。但し、第２の車輪用モータ６Ｂにおける回転速度の測定値が先に閾値を越えている場合には、第１の車輪用モータ６Ａにおける回転速度は追従制御に伴って閾値を越えたことになるので、第１のモータユニット４２Ａで外乱が生じたとは見做されない。
【００５５】
図３に示すように、加速制御が終わってから第１のモータユニット４２Ａでの外乱発生が検知されるまでのフェーズ１では、第２のモータユニット４２Ｂで等速制御が実行され、第１のモータユニット４２Ａで追従制御が実行される。そして、第１のモータユニット４２Ａでの外乱発生が検知された後のフェーズ２では、第１のモータユニット４２Ａで等速制御が実行され、第２のモータユニット４２Ｂで追従制御が実行される。即ち、第１のモータユニット４２Ａと第２のモータユニット４２Ｂとで制御動作が交代する。このような制御動作の交代に際し、第１のモータユニット４２Ａから第２のモータユニット４２Ｂに対し、モータ情報の報告停止を要求する制御コマンドが送信されるとともに、追従制御の開始を要求する制御コマンドも送信される。これらの制御コマンドを送信した後、第１のモータユニット４２Ａは等速制御を実行するとともに、第２のモータユニット４２Ｂに対し、定期的にモータ情報を報告する。そして、制御コマンドを受信した第２のモータユニット４２Ｂは、第２の車輪用モータ６Ｂの回転速度を第１の車輪用モータ６Ａの回転速度に追従させる追従制御を実行する。
【００５６】
フェーズ２の等速制御中に、第１の車輪用モータ６Ａにおける回転速度が閾値範囲内に納まった場合には、第１のモータユニット４２Ａでの外乱が終了したと見做される。そして、外乱終了後のフェーズ３では、再び第１のモータユニット４２Ａと第２のモータユニット４２Ｂとで制御動作が交代し、第２のモータユニット４２Ｂで等速制御が実行され、第１のモータユニット４２Ａで追従制御が実行される。
【００５７】
このように外乱の発生および終了の検知に従って第１のモータユニット４２Ａと第２のモータユニット４２Ｂとで制御動作が交代することにより、図９に示すように、いずれのモータユニット４２Ａ，４２Ｂで外乱が生じた場合であっても（即ちいずれのフェーズであっても）、第２の車輪用モータ６Ｂと第１の車輪用モータ６Ａとで相互に回転速度が追従することになり、直進動作が維持される。
＜カーブ動作における追従制御＞
【００５８】
次に、カーブ動作における追従制御について説明する。カーブ動作の場合にも上述した制御動作の交代が行われるが、以下では説明の便宜上、第１のモータユニット４２Ａで追従制御が行われる場合を例として説明する。
図１０は、カーブ動作における追従制御を示す図である。
【００５９】
カーブ動作の場合には、第１の車輪用モータ６Ａの回転速度と第２の車輪用モータ６Ｂの回転速度は、予定されたカーブ半径に応じた比率に保たれる。即ち、上述した速度判定でカーブ動作であると判定された場合には、目標速度の比率γが求められ、追従制御ではこの比率γが保たれるように第１の車輪用モータ６Ａの回転速度が制御される。
【００６０】
具体的には、第１のメイン制御部４６Ａは、モータ駆動制御部５０Ｂに第１の車輪用モータ６Ａの速度を測定させる。また、第１のメイン制御部４６Ａは、第２のモータユニット４２Ｂから得られた第２の車輪用モータ６Ｂの回転速度の測定値θ２に対して目標速度の比率γを積算し、積算結果から第１の車輪用モータ６Ａの速度の測定値θ１を除算する。
【００６１】
これにより、２つの車輪用モータ６Ａ，６Ｂにおける回転速度の比率が目標速度の比率γに保たれるような第１の車輪用モータ６Ａの回転速度と、測定された第１の車輪用モータ６Ａの回転速度との差分が求められる。
【００６２】
第１のメイン制御部４６Ａは、この差分に基づいて、ＰＩ制御における比例動作７１と積分動作７２を算出する。このＰＩ制御は、この差分がゼロに近づき２つの車輪用モータ６Ａ，６Ｂにおける回転速度の比率が比率γに近づくように第１の車輪用モータ６Ａの回転速度を補正する補正制御となる。第１のメイン制御部４６Ａは、第１の車輪用モータ６Ａに対して制御コマンドで与えられた目標速度にこの補正制御の成分を加算して、補正された目標速度を算出する。そして第１のメイン制御部４６Ａは、第１の車輪用モータ６Ａがその補正された目標速度となるようにモータ駆動制御部５０Ａを制御する。
【００６３】
このような追従制御の結果、２つの車輪用モータ６Ａ，６Ｂにおける回転速度の比率は、目標速度の比率γに保たれることになり、搬送ロボット１は、外乱が生じた場合にも、予定された旋回動作を保つことになる。
＜追従制御の別例＞
【００６４】
次に、上述した追従制御に替わって実行され得る別の追従制御について説明する。但し、直進動作時における追従制御について説明し、旋回動作時における追従制御については説明を省略する。また、第１のモータユニット４２Ａで追従制御が行われる場合を例として説明する。
図１１は、追従制御の第１の別例を示す図である。
【００６５】
図８に示す追従制御でＰＩ制御が用いられているのに対し、図１１に示す追従制御ではＰＩＤ制御が用いられる。即ち、第１のメイン制御部４６Ａは、図８に示す追従制御と同様に算出した２つの車輪用モータ６Ａ，６Ｂにおける回転速度差に基づいて、ＰＩＤ制御における比例動作７１と積分動作７２と微分動作７３とを算出する。このＰＩＤ制御も、ＰＩ制御と同様に、回転速度差がゼロに近づくように第１の車輪用モータ６Ａの回転速度を補正する補正制御となるが、微分動作７３が追加されているため、急激な外乱が生じた場合であっても速やかな補正が実現する。なお、ＰＩ制御もＰＩＤ制御も簡素なロジックにより高い精度が得られる制御であるので、ＰＩ制御やＰＩＤ制御が用いられることで高速かつ高精度な制御が実現される。
【００６６】
第１のメイン制御部４６Ａは、第１の車輪用モータ６Ａに対して制御コマンドで与えられた目標速度にこの補正制御の成分を加算し、第１の車輪用モータ６Ａが補正された目標速度となるようにモータ駆動制御部５０Ａを制御する。
図１２は、追従制御の第２の別例を示す図である。
【００６７】
図１２に示すように、追従制御の第２の別例では、制御コマンドで与えられた目標速度に替えて、第２のモータユニット４２Ｂから得られた第２の車輪用モータ６Ｂの回転速度の測定値θ２が用いられる。即ち、第１のメイン制御部４６Ａは、この測定値θ２が示す回転速度に、ＰＩ制御による補正制御の成分を加算して、補正された目標速度を算出する。そして第１のメイン制御部４６Ａは、第１の車輪用モータ６Ａがその補正された目標速度となるようにモータ駆動制御部５０Ａを制御する。
【００６８】
このような追従制御によれば、例えば第１のモータユニット４２Ａと第２のモータユニット４２Ｂとで継続的な制御ズレなどが生じた場合であっても、第１の車輪用モータ６Ａの回転速度が第２の車輪用モータ６Ｂの回転速度に追従することになる。
【００６９】
なお、上記説明では、１台の搬送ロボットを有する搬送システムが例示されているが、本発明は、例えば複数台の搬送ロボットで１つのパレットなどを搬送する搬送システムに適用されてもよい。
【００７０】
また、上記説明では、回転制御装置によって回転速度が制御される回転体として、移動体を移動させる車輪やモータが例示されているが、本発明の回転制御装置は、ロボットの関節や、工場などで一繋がりのシートを送る一連の搬送ロールなどの回転速度を制御する
ものであってもよい。
【００７１】
また、上記説明では、追従制御において回転速度の相対関係が維持される例が示されているが、本発明では、回転速度に替えてトルクの相対関係が維持されてもよいし、あるいは、回転角度の相対関係が維持されてもよい。
【符号の説明】
【００７２】
１…移動体（自動装置）、２…車体（支持体）、６Ａ，６Ｂ…車輪用モータ、４０…外部コンピュータ（外部の制御装置）、４２Ａ…第１のモータユニット、４２Ｂ…第２のモータユニット、４４Ａ…無線通信回路、４６Ａ，４６Ｂ…メイン制御部、５０Ａ，５０Ｂ…モータ駆動制御部、５２Ａ，５２Ｂ…駆動回路 
【図１】
2019111671.tif 000003
【図２】
2019111671.tif 000004
【図３】
2019111671.tif 000005
【図４】
2019111671.tif 000006
【図５】
2019111671.tif 000007
【図６】
2019111671.tif 000008
【図７】
2019111671.tif 000009
【図８】
2019111671.tif 000010
【図９】
2019111671.tif 000011
【図１０】
2019111671.tif 000012
【図１１】
2019111671.tif 000013
【図１２】
2019111671.tif 000014
【国際調査報告】
2019111671.tif 000015
2019111671.tif 000016
2019111671.tif 000017
2019111671.tif 000018