(57)【要約】【課題】通信信号の衝突を防止し、かつ、通信の遅延を抑制することができるロボットシステムを提供する。【解決手段】複数のサーボモータを有するロボット２と、ロボット２を操作するロボットコントローラ１とを備えているロボットシステムＡ１において、ロボット１は、対応するサーボモータをそれぞれ制御する各コントローラ２１〜２４を備えている。そして、ロボットコントローラ１と各コントローラ２１〜２４とは、半二重通信を行っており、ロボットコントローラ１は、各コントローラ２１〜２４に同じ通信信号を送信する際に、一斉送信を行わずに、いずれか１つに通信信号を送信し、送信先のコントローラ（２１，２２，２３，２４）から返信信号を受信したときに、他のコントローラ（２１，２２，２３，２４）に前記通信信号を送信する。また、ロボットコントローラ１および各コントローラ２１〜２４は、衝突検知時間の経過を待たずに信号の送信を行う。【選択図】図２
2019042824.tif 000002
【特許請求の範囲】
【請求項１】
複数の駆動部を有するロボットと、前記ロボットを操作するロボットコントローラと、
を備えており、
前記ロボットは、前記駆動部ごとに、対応する駆動部をそれぞれ制御する駆動コントローラを備えており、
前記ロボットコントローラと前記駆動コントローラとは、半二重通信を行っており、
前記ロボットコントローラは、複数の前記駆動コントローラに同じ通信信号を送信する際に、一斉送信を行わずに、複数の前記駆動コントローラのうちのいずれか１つに前記通信信号を送信し、送信先の駆動コントローラから返信信号を受信したときに、他の駆動コントローラに前記通信信号を送信し、
前記ロボットコントローラおよび前記駆動コントローラは、衝突検知のためのランダムな時間である衝突検知時間の経過を待たずに信号の送信を行う、
ことを特徴とするロボットシステム。
【請求項２】
前記ロボットコントローラは、前記通信信号を送信した駆動コントローラから、所定時間内に返信信号を受信しない場合は、当該駆動コントローラに再度、前記通信信号を送信する、
請求項１に記載のロボットシステム。
【請求項３】
前記ロボットコントローラは、前記駆動コントローラへの前記通信信号の再送信を所定回数行っても、返信信号を受信できなかった場合には、他の駆動コントローラに前記通信信号を送信する、
請求項２に記載のロボットシステム。
【請求項４】
前記ロボットコントローラと前記駆動コントローラとは、電力線搬送通信を行う、
請求項１ないし３のいずれかに記載のロボットシステム。
【請求項５】
前記ロボットは、ワークの搬送を行う搬送ロボットである、
請求項１ないし４のいずれかに記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットとロボットコントローラとの間で半二重通信を行うロボットシステムに関する。
【背景技術】
【０００２】
ロボットとコントローラとの接続線を減少させるために、接続を電源線だけにして、電力線搬送通信により通信を行うシステムが知られている。例えば、特許文献１には、操作装置側の第１制御部と、エンドエフェクタ側の第２制御部とが、電源ケーブルを用いた電力線搬送通信により通信を行う産業用ロボットが開示されている。
【０００３】
図６は、２つのエンドエフェクタを備える産業用ロボットの概略を示すブロック図である。操作装置１００の電源部１１０に接続する電源線３００は、途中で分岐して、第１エンドエフェクタ２００の電源部２１０、および、第２エンドエフェクタ２５０の電源部２６０に接続している。電源部１１０は、電源線３００を介して、電源部２１０および電源部２６０に電力を供給する。操作装置１００の通信部１２０は、電源線３００を介した電力線搬送通信により、第１エンドエフェクタ２００の通信部２２０、および、第２エンドエフェクタ２５０の通信部２７０と通信を行う。操作装置１００の制御部１３０は、通信部１２０および通信部２２０を介して、制御部２３０に第１エンドエフェクタ２００の操作信号を送信し、通信部１２０および通信部２７０を介して、制御部２８０に第２エンドエフェクタ２５０の操作信号を送信する。したがって、操作装置１００と第１エンドエフェクタ２００および第２エンドエフェクタ２５０との間を接続する接続線を削減することができる。
【０００４】
通信部１２０と各通信部２２０，２７０とは、送信および受信で同じ周波数帯を利用して、半二重通信を行う。通信部１２０と各通信部２２０，２７０とは、同じ電源線３００を介して通信を行うので、通信信号の衝突が発生しうる。例えば、操作装置１００が第１エンドエフェクタ２００および第２エンドエフェクタ２５０に一斉通信で通信信号を送信した場合、何の対策もしていないと、第１エンドエフェクタ２００および第２エンドエフェクタ２５０が受信した通信信号に対する返信信号を同時に送信するので、通信信号の衝突が発生する。通信信号の衝突を抑制するために、制御部１３０および各制御部２３０，２８０は、送信前に、衝突検知のためのランダムな時間（以下では、「衝突検知時間」とする）の経過を待ってから、通信信号の送信を行う。
【０００５】
図７は、図６に示す産業用ロボットにおける、例えば起動信号の送信時の通信シーケンスを説明するためのシーケンス図である。当該通信シーケンスでの通信の場合、操作装置１００が起動信号を一斉に送信しても、第１エンドエフェクタ２００および第２エンドエフェクタ２５０は、返信信号の送信時にそれぞれ衝突検知時間を設定して、衝突検知時間の経過を待ってから返信信号を送信する。図７では、第１エンドエフェクタ２００が衝突検知時間ｔ１を設定し、第２エンドエフェクタ２５０が衝突検知時間ｔ２を設定して、それぞれ返信信号を送信している。衝突検知時間ｔ１，ｔ２は、それぞれランダムに設定されるので、同じ時間になることは少ない。また、返信信号の送信時に他からの返信信号が送信されていれば送信を遅らせる。したがって、通信信号の衝突を抑制することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１２９００３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、操作装置１００、第１エンドエフェクタ２００および第２エンドエフェクタ２５０が衝突検知時間の経過後に通信信号の送信を行うために、通信に時間がかかるという問題がある。また、この問題は、電力線搬送通信に限定されるものではなく、無線通信においても発生する。
【０００８】
本発明は、上記した事情のもとで考え出されたものであって、通信信号の衝突を防止し、かつ、通信の遅延を抑制することができるロボットシステムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明の第１の側面によって提供されるロボットシステムは、複数の駆動部を有するロボットと、前記ロボットを操作するロボットコントローラとを備えており、前記ロボットは、前記駆動部ごとに、対応する駆動部をそれぞれ制御する駆動コントローラを備えており、前記ロボットコントローラと前記駆動コントローラとは、半二重通信を行っており、前記ロボットコントローラは、複数の前記駆動コントローラに同じ通信信号を送信する際に、一斉送信を行わずに、複数の前記駆動コントローラのうちのいずれか１つに前記通信信号を送信し、送信先の駆動コントローラから返信信号を受信したときに、他の駆動コントローラに前記通信信号を送信し、前記ロボットコントローラおよび前記駆動コントローラは、衝突検知のためのランダムな時間である衝突検知時間の経過を待たずに信号の送信を行うことを特徴とする。この構成によると、ロボットコントローラは、複数の駆動コントローラに通信信号を一斉送信するのではなく、複数の駆動コントローラの１つずつに通信信号を送信し、送信先の駆動コントローラから返信信号を受信したときに、次の駆動コントローラに通信信号を送信する。したがって、通信信号の衝突を防止することができる。また、ロボットコントローラおよび駆動コントローラは衝突検知時間の経過を待たずに信号の送信を行う。したがって、通信にかかる時間を短縮することができ、通信の遅延を抑制することができる。
【００１０】
本発明の好ましい実施の形態においては、前記ロボットコントローラは、前記通信信号を送信した駆動コントローラから、所定時間内に返信信号を受信しない場合は、当該駆動コントローラに再度、前記通信信号を送信する。この構成によると、通信に失敗した場合に、返信信号の受信を待ち続けてしまうことを防止できる。
【００１１】
本発明の好ましい実施の形態においては、前記ロボットコントローラは、前記駆動コントローラへの前記通信信号の再送信を所定回数行っても、返信信号を受信できなかった場合には、他の駆動コントローラに前記通信信号を送信する。この構成によると、通信の失敗に対する再送信を際限なく行うことを防止でき、通信時間が長くなることを抑制することができる。
【００１２】
本発明の好ましい実施の形態においては、前記ロボットコントローラと前記駆動コントローラとは、電力線搬送通信を行う。この構成によると、通信専用の接続線を設ける必要がない。
【００１３】
本発明の好ましい実施の形態においては、前記ロボットは、ワークの搬送を行う搬送ロボットである。この構成によると、ロボットコントローラと搬送ロボットとの通信において、通信信号の衝突を防止し、かつ、通信の遅延を抑制することができる。
【発明の効果】
【００１４】
本発明によると、ロボットコントローラは、複数の駆動コントローラに通信信号を一斉送信するのではなく、複数の駆動コントローラの１つずつに通信信号を送信し、送信先の駆動コントローラから返信信号を受信したときに、次の駆動コントローラに通信信号を送信する。したがって、通信信号の衝突を防止することができる。また、ロボットコントローラおよび駆動コントローラは衝突検知時間の経過を待たずに信号の送信を行う。したがって、通信にかかる時間を短縮することができ、通信の遅延を抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係る搬送ロボットシステムの概略を示す全体外観図である。
【図２】第１実施形態に係る搬送ロボットシステムの概略を示すブロック図である。
【図３】第１実施形態に係る搬送ロボットシステムにおける通信シーケンスを説明するためのシーケンス図である。
【図４】制御部が行う送信処理と第１軸制御部が行う受信処理とを説明するためのフローチャートである。
【図５】第２実施形態に係る搬送ロボットシステムの概略を示すブロック図である。
【図６】従来の産業用ロボットの概略を示すブロック図である。
【図７】従来の産業用ロボットにおける、例えば起動信号の送信時の通信シーケンスを説明するためのシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、本発明の好ましい実施の形態を、添付図面を参照して具体的に説明する。
【００１７】
図１〜図４は、第１実施形態に係る搬送ロボットシステムを説明するための図である。図１は、第１実施形態に係る搬送ロボットシステムの概略を示す全体外観図である。図２は、第１実施形態に係る搬送ロボットシステムの概略を示すブロック図である。図３は、第１実施形態に係る搬送ロボットシステムにおける通信シーケンスを説明するためのシーケンス図である。図４は、ロボットコントローラ１の制御部１３が行う送信処理と、昇降コントローラ２１の第１軸制御部２１３が行う受信処理とを説明するためのフローチャートである。
【００１８】
図１に示すように、搬送ロボットシステムＡ１は、搬送ロボット２、搬送ロボット２に電力を供給し、かつ、搬送ロボット２を操作するロボットコントローラ１、および、搬送ロボット２とロボットコントローラ１とを接続する電源線３を備えている。
【００１９】
搬送ロボット２は、カセット内に多段収納された半導体基板などのワークを取り出したり、当該ワークをカセットに収納したりする作業を行うロボットである。図１に示すように、搬送ロボット２は、支持部４、旋回部５、第１アーム機構６、および第２アーム機構７を備えている。支持部４は、床面や真空チャンバに固定されており、旋回部５を昇降移動可能に、かつ、旋回可能に支持している。旋回部５は、支持部４の内部に配置されている。旋回部５は、支持部４の開口部から突出するようにして、昇降移動可能に設けられている。また、旋回部５は、支持部４に対して、鉛直方向の軸周りに旋回可能に設けられている。第１アーム機構６は、リンク機構であり、旋回部５に対して、鉛直方向に延びる軸周りに回動可能に設けられている下部アーム、下部アームの先端部分に対して、鉛直方向に延びる軸周りに回動可能に設けられている上部アーム、および、上部アームの先端部分に対して、鉛直方向に延びる軸周りに回動可能に設けられているハンドを備えている。下部アーム、上部アームおよびハンドがそれぞれ連動して回動することで、ハンドは所定の方向（図１においては左右方向）に移動する。第２アーム機構７も、第１アーム機構６と同様の構造である。第１アーム機構６と第２アーム機構７とは、それぞれ互いに独立して制御される。
【００２０】
搬送ロボット２は、旋回部５を旋回させることで各ハンドの移動する方向を変更し、旋回部５を昇降移動させることで各ハンドの鉛直方向の位置を変更し、第１アーム機構６の各部を回動させることで第１アーム機構６のハンドを移動させ、第２アーム機構７の各部を回動させることで第２アーム機構７のハンドを移動させる。搬送ロボット２は、これらの各動作によって、カセット内のワークを取り出したり、ワークをカセットに収納したりする。
【００２１】
旋回部５を昇降移動させるための駆動機構は、例えばボールねじ機構である。ボールねじ機構を駆動させる第１軸サーボモータ（図示なし）を制御することで、旋回部５の昇降位置が制御される。ボールねじ機構および第１軸サーボモータは、例えば支持部４に配置されている。旋回部５を旋回させるための駆動機構は、例えば歯車機構である。歯車機構を駆動させる第２軸サーボモータ（図示なし）を制御することで、旋回部５の旋回位置が制御される。歯車機構および第２軸サーボモータは、例えば支持部４に配置されている。第１アーム機構６を駆動させる第３軸サーボモータ（図示なし）を制御することで、第１アーム機構６のハンドの移動方向の位置が制御される。第３軸サーボモータは、例えば旋回部５に配置されている。第２アーム機構７を駆動させる第４軸サーボモータ（図示なし）を制御することで、第２アーム機構７のハンドの移動方向の位置が制御される。第４軸サーボモータは、例えば旋回部５に配置されている。
【００２２】
図２に示すように、搬送ロボット２は、昇降コントローラ２１、旋回コントローラ２２、第１アームコントローラ２３、および第２アームコントローラ２４を備えている。昇降コントローラ２１は、第１軸サーボモータの近く（例えば支持部４）に配置され、第１軸サーボモータを制御する。昇降コントローラ２１は、電源部２１１、通信部２１２および第１軸制御部２１３を備えている。電源部２１１は、第１軸制御部２１３に電力を供給する。通信部２１２は、ロボットコントローラ１の通信部１２と通信を行う。第１軸制御部２１３は、第１軸サーボモータを制御するものであり、ＣＰＵ、ＲＯＭ、ＲＡＭおよび入出力インターフェイスなどを備えたマイクロコンピュータによって実現されている。旋回コントローラ２２は、第２軸サーボモータの近く（例えば支持部４）に配置され、第２軸サーボモータを制御する。旋回コントローラ２２は、電源部２２１、通信部２２２および第２軸制御部２２３を備えている。電源部２２１は、第２軸制御部２２３に電力を供給する。通信部２２２は、ロボットコントローラ１の通信部１２と通信を行う。第２軸制御部２２３は、第２軸サーボモータを制御するものであり、マイクロコンピュータによって実現されている。
【００２３】
第１アームコントローラ２３は、第３軸サーボモータの近く（例えば旋回部５）に配置され、第３軸サーボモータを制御する。第１アームコントローラ２３は、電源部２３１、通信部２３２および第３軸制御部２３３を備えている。電源部２３１は、第３軸制御部２３３に電力を供給する。通信部２３２は、ロボットコントローラ１の通信部１２と通信を行う。第３軸制御部２３３は、第３軸サーボモータを制御するものであり、マイクロコンピュータによって実現されている。第２アームコントローラ２４は、第４軸サーボモータの近く（例えば旋回部５）に配置され、第４軸サーボモータを制御する。第２アームコントローラ２４は、電源部２４１、通信部２４２および第４軸制御部２４３を備えている。電源部２４１は、第４軸制御部２４３に電力を供給する。通信部２４２は、ロボットコントローラ１の通信部１２と通信を行う。第４軸制御部２４３は、第４軸サーボモータを制御するものであり、マイクロコンピュータによって実現されている。なお、搬送ロボット２は、各サーボモータを駆動するための電力を供給するための電源部を備えているが、説明を省略する。当該電源部には、外部電源から直接電力を供給してもよいし、電源線３とは別に設けた電源線を介してロボットコントローラ１から供給するようにしてもよい。「第１軸サーボモータ」、「第２軸サーボモータ」、「第３軸サーボモータ」および「第４軸サーボモータ」が本発明の「駆動部」に相当し、「昇降コントローラ２１」、「旋回コントローラ２２」、「第１アームコントローラ２３」および「第２アームコントローラ２４」が本発明の「駆動コントローラ」に相当する。
【００２４】
第１軸制御部２１３、第２軸制御部２２３、第３軸制御部２３３および第４軸制御部２４３は、ロボットコントローラ１から入力される制御信号に応じて、それぞれ、第１軸サーボモータ、第２軸サーボモータ、第３軸サーボモータおよび第４軸サーボモータを駆動させ、各サーボモータの回動位置を検出するエンコーダの検出信号を、それぞれ、通信部２１２，２２２，２３２，２４２に出力して送信させる。また、ロボットコントローラ１から入力される信号に対する返信信号や、データ送信指令に対応するデータを送信させる。
【００２５】
図２に示すように、ロボットコントローラ１は、電源部１１、通信部１２および制御部１３を備えている。電源部１１は、外部電源から供給される電圧を所定の電圧に変換して、制御部１３に供給する。また、電源部１１は、電源線３を介して、搬送ロボット２にも電力を供給する。電源線３は搬送ロボット２の内部で分岐して、各電源部２１１，２２１，２３１，２４１に接続されている。これにより、電源部１１は、搬送ロボット２の各コントローラ２１〜２４の電源部２１１，２２１，２３１，２４１に電力を供給する。
【００２６】
通信部１２は、搬送ロボット２の各通信部２１２，２２２，２３２，２４２と通信を行う。通信部１２と、搬送ロボット２の各通信部２１２，２２２，２３２，２４２とは、電源線３を介した電力線搬送通信を行う。通信部１２は、制御部１３より入力される信号を変調して電源線３に重畳させることで、搬送ロボット２に信号を送信する。また、通信部１２は、電源線３に重畳された信号を受信し、復調して制御部１３に出力する。搬送ロボット２の各通信部２１２，２２２，２３２，２４２も同様にして、それぞれ、第１軸制御部２１３、第２軸制御部２２３、第３軸制御部２３３、第４軸制御部２４３より入力される信号を送信し、受信した信号を出力する。通信部１２と各通信部２１２，２２２，２３２，２４２とは、電源線３を介して、同じ周波数帯を利用する半二重通信を行う。
【００２７】
制御部１３は、ロボットコントローラ１を制御するものであり、マイクロコンピュータによって実現されている。制御部１３は、ＲＯＭに予め記憶された制御プログラムを実行することにより、ロボットコントローラ１を制御する。また、制御部１３は、あらかじめ設定されている処理手順に従って搬送ロボット２を動作させるために、通信部１２を介して、搬送ロボット２と信号の送受信を行う。具体的には、制御部１３は、第１軸サーボモータ、第２軸サーボモータ、第３軸サーボモータおよび第４軸サーボモータを駆動させるための制御信号を、通信部１２を介して、搬送ロボット２に送信する。そして、各エンコーダによって検出された検出信号を受信して、搬送ロボット２の状態を認識する。また、制御部１３は、搬送ロボットシステムＡ１の起動時に、第１軸制御部２１３、第２軸制御部２２３、第３軸制御部２３３および第４軸制御部２４３を制御するためのプログラムやデータを送信し、起動信号を送信する。また、制御部１３は、第１軸制御部２１３、第２軸制御部２２３、第３軸制御部２３３および第４軸制御部２４３に設定する初期パラメータをそれぞれ個別に送信する。また、制御部１３は、搬送ロボットシステムＡ１の作業終了時に、終了信号を送信する。そして、データ送信指令を送信して、第１軸制御部２１３、第２軸制御部２２３、第３軸制御部２３３および第４軸制御部２４３が送信したデータを受信する。
【００２８】
本実施形態において、制御部１３は、通信を行う際、衝突検知時間を設定せず、衝突検知時間の経過を待たずに、通信部１２に通信信号を出力して、送信させる。また、制御部１３は、各コントローラ２１〜２４に同じ通信信号を送信する場合でも、各コントローラ２１〜２４に一斉に通信信号を送信することはしない。この場合、制御部１３は、いずれか１つのコントローラ（２１，２２，２３，２４）に通信信号を送信し、これに対しての返信信号を受信してから、別のコントローラ（２１，２２，２３，２４）に同じ通信信号を送信する。また、第１軸制御部２１３、第２軸制御部２２３、第３軸制御部２３３および第４軸制御部２４３も、制御部１３と同様、通信を行う際、衝突検知時間を設定せず、衝突検知時間の経過を待たずに、それぞれ通信部２１２，２２２，２３２，２４２に通信信号を出力して、送信させる。第１軸制御部２１３、第２軸制御部２２３、第３軸制御部２３３および第４軸制御部２４３は、ロボットコントローラ１から通信信号を受信した場合、受信した通信信号に対応する処理を行って、すぐに返信信号を送信する。
【００２９】
つまり、ロボットコントローラ１と、昇降コントローラ２１、旋回コントローラ２２、第１アームコントローラ２３、および第２アームコントローラ２４との通信シーケンスは、図３のようになっている。
【００３０】
図３に示すように、当該通信シーケンスでは、ロボットコントローラ１は、例えば昇降コントローラ２１に通信信号を送信して、昇降コントローラ２１からの返信信号を受信してから、旋回コントローラ２２に通信信号を送信する。そして、旋回コントローラ２２からの返信信号を受信してから、第１アームコントローラ２３に通信信号を送信し、第１アームコントローラ２３からの返信信号を受信してから、第２アームコントローラ２４に通信信号を送信する。したがって、通信信号の衝突は発生しない。また、各コントローラ２１〜２４は、衝突検知時間を設定せず、すぐに返信信号を送信するので、受信から送信までの時間が短い。同様に、ロボットコントローラ１も、衝突検知時間を設定せず、すぐに次の通信信号を送信するので、受信から送信までの時間が短い。したがって、通信にかかる時間を短縮し、通信の遅延を抑制することができる。
【００３１】
搬送ロボットシステムＡ１は、ロボットコントローラ１が、各コントローラ２１〜２４にそれぞれ設定する初期パラメータを送信する場合や、搬送ロボット２の動作のために、各サーボモータを駆動させるための制御信号を送信する場合だけでなく、ロボットコントローラ１が各コントローラ２１〜２４に同じ通信信号を送信する場合でも、当該通信シーケンスで通信を行う。ロボットコントローラ１が各コントローラ２１〜２４に同じ通信信号を送信する場合というのは、例えば、起動時に、サーボモータを制御するためのプログラムやデータを送信する場合や、起動信号を送信する場合、搬送ロボットシステムＡ１の作業終了時に、終了信号を送信する場合などがある。
【００３２】
次に、通信処理の処理手順について、図４に示すフローチャートを参照して説明する。
【００３３】
図４は、ロボットコントローラ１の制御部１３が行う送信処理と、昇降コントローラ２１の第１軸制御部２１３が行う受信処理とを説明するためのフローチャートである。旋回コントローラ２２の第２軸制御部２２３、第１アームコントローラ２３の第３軸制御部２３３、および第２アームコントローラ２４の第４軸制御部２４３が行う受信処理は、昇降コントローラ２１の第１軸制御部２１３が行う受信処理と同様である。
【００３４】
制御部１３が行う送信処理は、ロボットコントローラ１が搬送ロボット２に通信信号を送信するとき、例えば、起動時のプログラムやデータの送信、起動信号の送信、初期パラメータの送信、各サーボモータを駆動させるための制御信号の送信、作業終了時の終了信号やデータ送信指令の送信などのときに実行される。
【００３５】
まず、送信する通信信号に応じた準備が行われる（Ｓ１）。また、送信先を示す変数Ｎに初期値「１」が設定され、送信のリトライ回数を示す変数Ｒに初期値「０」が設定される。次に、第Ｎ軸制御部に通信信号が送信される（Ｓ２）。具体的には、制御部１３は、第Ｎ軸制御部を受け取り対象に設定して、通信部１２に通信信号を出力し、通信部１２に送信させる。このとき、制御部１３は、衝突検知時間を設定することなく、すぐに通信信号を送信させる。次に、第Ｎ軸制御部から返信信号を受信したか否かが判別される（Ｓ３）。返信信号を受信していない場合（Ｓ３：ＮＯ）、通信信号の送信時から計時されている時間が所定時間を経過したか否かが判別される（Ｓ４）。所定時間は適宜設定されている。所定時間を経過していない場合（Ｓ４：ＮＯ）、ステップＳ３に戻る。そして、返信信号を受信する（Ｓ３：ＹＥＳ）か、所定時間を経過する（Ｓ４：ＹＥＳ）まで、ステップＳ３，Ｓ４の判別が繰り返される。
【００３６】
ステップＳ４において、所定時間を経過した場合（Ｓ４：ＹＥＳ）、通信が失敗したと判断され、送信のリトライ回数を示す変数Ｒが「２」であるか否かが判別される（Ｓ５）。すなわち、第Ｎ軸制御部への送信のリトライを２回したか否かが判別される。変数Ｒが「２」でない場合（Ｓ５：ＮＯ）、すなわち、まだリトライをしていない（Ｒ＝０）か、リトライが１回目（Ｒ＝１）である場合、変数Ｒを「１」増加させて（Ｓ６）、ステップＳ２に戻って、第Ｎ軸制御部への送信のリトライが行われる。変数Ｒが「２」の場合（Ｓ５：ＹＥＳ）、すなわち、リトライが２回目（Ｒ＝２）である場合、第Ｎ軸制御部への送信は中止して、ステップＳ８に進む。この場合、第Ｎ軸制御部への送信を中止した回数がカウントされる。所定の期間にこのカウントが例えば３回あった場合は、通信に異常があると判定され、通信異常に対応するための処理が行われる。なお、本実施形態では、リトライを２回行う場合について記載しているが、リトライを行う回数は限定されない。リトライを行う回数は１回だけでもよいし、３回以上としてもよい。また、リトライを行わず、１度通信を失敗すれば当該送信を中止するようにしてもよい。また、所定時間の経過を判別せず、返信信号を受信するまで、ステップＳ３を繰り返すようにしてもよい。
【００３７】
ステップＳ３において、返信信号を受信した場合（Ｓ３：ＹＥＳ）、第Ｎ軸制御部への送信が成功したと判断され、返信信号に対応した処理が行われる（Ｓ７）。例えば、返信信号が、サーボモータを駆動させるための制御信号に対するエンコーダによる検出信号である場合は、当該検出信号が制御にフィードバックされる。また、返信信号が、データ送信指令に対して読み出されたデータである場合は、当該データは図示しない記憶部に記憶される。そして、送信先を示す変数Ｎが「４」であるか否かが判別される（Ｓ８）。変数Ｎと比較される数値は、送信先の数に応じて設定される。本実施形態では、送信先が第１軸制御部２１３、第２軸制御部２２３、第３軸制御部２３３および第４軸制御部２４３の４つなので、変数Ｎが「４」と比較される。変数Ｎが「４」でない場合（Ｓ８：ＮＯ）、すなわち、まだすべての送信先に送信を行っていない場合、変数Ｎを「１」増加させて（Ｓ９）、ステップＳ２に戻って、第Ｎ軸制御部への送信が行われる。このとき、リトライ回数を示す変数Ｒは初期値「０」に戻される。変数Ｎが「４」の場合（Ｓ８：ＹＥＳ）、すなわち、すべての送信先に送信を行った場合、送信処理は終了される。
【００３８】
第１軸制御部２１３が行う受信処理は、搬送ロボットシステムＡ１が起動されたときに開始される。
【００３９】
まず、制御部１３から通信信号を受信したか否かが判別される（Ｓ２１）。通信信号を受信していない場合（Ｓ２１：ＮＯ）、ステップＳ２１に戻って、通信信号を受信するまで、ステップＳ２１の判別が繰り返される。通信信号を受信した場合（Ｓ２１：ＹＥＳ）、当該通信信号に対応した処理が行われる（Ｓ２２）。例えば、受信した通信信号がサーボモータを駆動させるための制御信号の場合は、第１軸制御部２１３は、当該制御信号に応じて第１軸サーボモータを駆動させ、エンコーダによって第１軸サーボモータの回動位置を検出する。また、受信した通信信号がデータ送信指令の場合は、第１軸制御部２１３は、当該データ送信指令に応じたデータを読み出す。そして、制御部１３に返信信号が送信されて（Ｓ２３）、ステップＳ２１に戻る。このとき、第１軸制御部２１３は、衝突検知時間を設定することなく、すぐに返信信号を送信する。第１軸制御部２１３が受信した通信信号がサーボモータを駆動させるための制御信号の場合は、エンコーダによる検出信号が返信信号として送信される。また、第１軸制御部２１３が受信した通信信号がデータ送信指令の場合は、読み出されたデータが返信信号として送信される。
【００４０】
なお、図４のフローチャートに示す通信処理は一例であって、制御部１３が行う送信処理、および、第１軸制御部２１３が行う受信処理は、上述したものに限定されない。
【００４１】
次に、本実施形態に係る搬送ロボットシステムＡ１の作用および効果について説明する。
【００４２】
本実施形態によると、制御部１３は、各コントローラ２１〜２４に通信信号を送信する場合、いずれか１つのコントローラ（２１，２２，２３，２４）に通信信号を送信し、これに対しての返信信号を受信してから、別のコントローラ（２１，２２，２３，２４）に通信信号を送信する。したがって、通信信号の衝突を防止することができる。また、通信信号の衝突が発生しないので、衝突検知時間を設定する必要がない。制御部１３、第１軸制御部２１３、第２軸制御部２２３、第３軸制御部２３３、および第４軸制御部２４３は、通信を行う際、衝突検知時間を設定せず、衝突検知時間の経過を待たずにすぐに送信を行う。したがって、通信にかかる時間を短縮することができ、通信の遅延を抑制することができる。なお、制御部１３は一斉送信を行わずに、各コントローラ２１〜２４に通信信号をそれぞれ送信するが、通信信号の送信から返信信号の受信までにかかる時間は、衝突検知時間と比べて短いので、４回の送受信を行っても、衝突検知時間の経過を待つ場合よりも短い時間で通信を行うことができる。
【００４３】
各サーボモータを駆動させるための制御信号、および、エンコーダによる検出信号の送信時にも、衝突検知時間の経過を待たないので、搬送ロボット２の動作を、滑らかにすることができる。搬送ロボット２の１つの動作のためには、制御部１３から第１軸制御部２１３への制御信号の送信、第１軸制御部２１３から制御部１３への検出信号の送信、制御部１３から第２軸制御部２２３への制御信号の送信、第２軸制御部２２３から制御部１３への検出信号の送信、制御部１３から第３軸制御部２３３への制御信号の送信、第３軸制御部２３３から制御部１３への検出信号の送信、制御部１３から第４軸制御部２４３への制御信号の送信、および、第４軸制御部２４３から制御部１３への検出信号の送信の８回の通信が必要になる。発明者らの実験によると、１つの動作のための通信時間を、衝突検知を行う場合と比べて、約２０％短縮することができた。これにより、搬送ロボット２を滑らかに動作させることができるようになった。
【００４４】
本実施形態によると、制御部１３は、第Ｎ軸制御部（Ｎ＝１，２，３，４）に通信信号を送信したときに、返信信号が受信されない状態が所定時間経過した場合、再度通信信号を送信する。これにより、通信が失敗したときに、返信信号の受信を待ち続けてしまうことを防止できる。また、本実施形態によると、制御部１３は、第Ｎ軸制御部への送信のリトライを２回しても、返信信号を受信できなかった場合には、第Ｎ軸制御部への送信は中止して、他の第Ｎ軸制御部への送信を開始する。これにより、送信のリトライを際限なく行うことを防止でき、通信時間が長くなることを抑制することができる。
【００４５】
本実施形態においては、搬送ロボット２が４個のサーボモータを備えている場合について説明したが、これに限られない。２個または３個であってもよいし、５個以上であってもよい。また、本実施形態においては、ロボットコントローラ１が搬送ロボット２のサーボモータを制御するコントローラと通信を行う場合について説明したが、これに限られない。搬送ロボット２の各ハンドは、例えば、ワークを保持するための保持機構や、ワークを検出するためのセンサを備えている。各ハンドに、当該保持機構を制御したり、当該センサの検出信号を送信するためのコントローラを設けて、ロボットコントローラ１が当該コントローラとも通信を行うようにしてもよい。
【００４６】
上記第１実施形態においては、電力線搬送通信を行う場合について説明したが、これに限られない。無線通信を行う場合を、第２実施形態として以下に説明する。
【００４７】
図５は、第２実施形態に係る搬送ロボットシステムＡ２の概略を示すブロック図である。図５において、第１実施形態に係る搬送ロボットシステムＡ１（図２参照）と同一または類似の要素には、同一の符号を付している。図５に示すように、搬送ロボットシステムＡ２は、各通信部１２，２１２，２２２，２３２，２４２が、電力線搬送通信を行うのではなく、無線通信を行う点で、第１実施形態に係る搬送ロボットシステムＡ１と異なる。第２実施形態においても、第１実施形態と同様の効果を奏することができる。
【００４８】
上記第１または第２実施形態においては、本発明に係るロボットシステムを搬送ロボットシステムとした場合について説明したが、これに限られない。本発明に係るロボットシステムは、例えば溶接ロボットシステムなどの他のロボットシステムであってもよい。本発明は、ロボットとロボットを操作するロボットコントローラとを備えたロボットシステムにおいて、ロボットの各部とロボットコントローラとが半二重通信を行う場合に、適用することができる。
【００４９】
本発明に係るロボットシステムは、上述した実施形態に限定されるものではない。本発明に係るロボットシステムの各部の具体的な構成は、種々に設計変更自在である。
【符号の説明】
【００５０】
Ａ１，Ａ２    ：搬送ロボットシステム
１      ：ロボットコントローラ
１１    ：電源部
１２    ：通信部
１３    ：制御部
２      ：搬送ロボット
２１    ：昇降コントローラ（駆動コントローラ）
２１１  ：電源部
２１２  ：通信部
２１３  ：第１軸制御部
２２    ：旋回コントローラ（駆動コントローラ）
２２１  ：電源部
２２２  ：通信部
２２３  ：第２軸制御部
２３    ：第１アームコントローラ（駆動コントローラ）
２３１  ：電源部
２３２  ：通信部
２３３  ：第３軸制御部
２４    ：第２アームコントローラ（駆動コントローラ）
２４１  ：電源部
２４２  ：通信部
２４３  ：第４軸制御部
４      ：支持部
５      ：旋回部
６      ：第１アーム機構
７      ：第２アーム機構
３      ：電源線
【図１】
2019042824.tif 000003
【図２】
2019042824.tif 000004
【図３】
2019042824.tif 000005
【図４】
2019042824.tif 000006
【図５】
2019042824.tif 000007
【図６】
2019042824.tif 000008
【図７】
2019042824.tif 000009