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