以下、本発明の好ましい実施の形態を、本発明に係る通信装置を搬送ロボットシステムに用いた場合を例として、添付図面を参照して具体的に説明する。
図1~図4は、第1実施形態に係る搬送ロボットシステムを説明するための図である。図1は、第1実施形態に係る搬送ロボットシステムの概略を示す全体外観図である。図2は、第1実施形態に係る搬送ロボットシステムの概略を示すブロック図である。図3は、第1実施形態に係る搬送ロボットシステムにおける2つの通信シーケンスを説明するためのシーケンス図の一例である。図4は、制御部13および第1軸制御部213が行う通信処理を説明するためのフローチャートである。
図1に示すように、搬送ロボットシステムA1は、搬送ロボット2、搬送ロボット2に電力を供給し、かつ、搬送ロボット2を操作するロボットコントローラ1、および、搬送ロボット2とロボットコントローラ1とを接続する電源線3を備えている。
搬送ロボット2は、カセット内に多段収納された半導体基板などのワークを取り出したり、当該ワークをカセットに収納したりする作業を行うロボットである。図1に示すように、搬送ロボット2は、支持部4、旋回部5、第1アーム機構6、および第2アーム機構7を備えている。支持部4は、床面や真空チャンバに固定されており、旋回部5を昇降移動可能に、かつ、旋回可能に支持している。旋回部5は、支持部4の内部に配置されている。旋回部5は、支持部4の開口部から突出するようにして、昇降移動可能に設けられている。また、旋回部5は、支持部4に対して、鉛直方向の軸周りに旋回可能に設けられている。第1アーム機構6は、リンク機構であり、旋回部5に対して、鉛直方向に延びる軸周りに回動可能に設けられている下部アーム、下部アームの先端部分に対して、鉛直方向に延びる軸周りに回動可能に設けられている上部アーム、および、上部アームの先端部分に対して、鉛直方向に延びる軸周りに回動可能に設けられているハンドを備えている。下部アーム、上部アームおよびハンドがそれぞれ連動して回動することで、ハンドは所定の方向(図1においては左右方向)に移動する。第2アーム機構7も、第1アーム機構6と同様の構造である。第1アーム機構6と第2アーム機構7とは、それぞれ互いに独立して制御される。
搬送ロボット2は、旋回部5を旋回させることで各ハンドの移動する方向を変更し、旋回部5を昇降移動させることで各ハンドの鉛直方向の位置を変更し、第1アーム機構6の各部を回動させることで第1アーム機構6のハンドを移動させ、第2アーム機構7の各部を回動させることで第2アーム機構7のハンドを移動させる。搬送ロボット2は、これらの各動作によって、カセット内のワークを取り出したり、ワークをカセットに収納したりする。
旋回部5を昇降移動させるための駆動機構は、例えばボールねじ機構である。ボールねじ機構を駆動させる第1軸サーボモータ(図示なし)を制御することで、旋回部5の昇降位置が制御される。ボールねじ機構および第1軸サーボモータは、例えば支持部4に配置されている。旋回部5を旋回させるための駆動機構は、例えば歯車機構である。歯車機構を駆動させる第2軸サーボモータ(図示なし)を制御することで、旋回部5の旋回位置が制御される。歯車機構および第2軸サーボモータは、例えば支持部4に配置されている。第1アーム機構6を駆動させる第3軸サーボモータ(図示なし)を制御することで、第1アーム機構6のハンドの移動方向の位置が制御される。第3軸サーボモータは、例えば旋回部5に配置されている。第2アーム機構7を駆動させる第4軸サーボモータ(図示なし)を制御することで、第2アーム機構7のハンドの移動方向の位置が制御される。第4軸サーボモータは、例えば旋回部5に配置されている。
図2(a)に示すように、搬送ロボット2は、昇降コントローラ21、旋回コントローラ22、第1アームコントローラ23、および第2アームコントローラ24を備えている。昇降コントローラ21は、第1軸サーボモータの近く(例えば支持部4)に配置され、第1軸サーボモータを制御する。昇降コントローラ21は、電源部211、通信部212および第1軸制御部213を備えている。電源部211は、第1軸制御部213に電力を供給する。通信部212は、ロボットコントローラ1の通信部12と通信を行う。第1軸制御部213は、第1軸サーボモータを制御するものであり、CPU、ROM、RAMおよび入出力インターフェイスなどを備えたマイクロコンピュータによって実現されている。旋回コントローラ22は、第2軸サーボモータの近く(例えば支持部4)に配置され、第2軸サーボモータを制御する。旋回コントローラ22は、電源部221、通信部222および第2軸制御部223を備えている。電源部221は、第2軸制御部223に電力を供給する。通信部222は、ロボットコントローラ1の通信部12と通信を行う。第2軸制御部223は、第2軸サーボモータを制御するものであり、マイクロコンピュータによって実現されている。
第1アームコントローラ23は、第3軸サーボモータの近く(例えば旋回部5)に配置され、第3軸サーボモータを制御する。第1アームコントローラ23は、電源部231、通信部232および第3軸制御部233を備えている。電源部231は、第3軸制御部233に電力を供給する。通信部232は、ロボットコントローラ1の通信部12と通信を行う。第3軸制御部233は、第3軸サーボモータを制御するものであり、マイクロコンピュータによって実現されている。第2アームコントローラ24は、第4軸サーボモータの近く(例えば旋回部5)に配置され、第4軸サーボモータを制御する。第2アームコントローラ24は、電源部241、通信部242および第4軸制御部243を備えている。電源部241は、第4軸制御部243に電力を供給する。通信部242は、ロボットコントローラ1の通信部12と通信を行う。第4軸制御部243は、第4軸サーボモータを制御するものであり、マイクロコンピュータによって実現されている。なお、搬送ロボット2は、各サーボモータを駆動するための電力を供給するための電源部を備えているが、説明を省略する。当該電源部には、外部電源から直接電力を供給してもよいし、電源線3とは別に設けた電源線を介してロボットコントローラ1から供給するようにしてもよい。
第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243は、ロボットコントローラ1から入力される制御信号に応じて、それぞれ、第1軸サーボモータ、第2軸サーボモータ、第3軸サーボモータおよび第4軸サーボモータを駆動させ、各サーボモータの回動位置を検出するエンコーダの検出信号を、それぞれ、通信部212,222,232,242に出力して送信させる。また、ロボットコントローラ1から入力される信号に対する返信信号や、データ送信指令に対応するデータを送信させる。
図2(a)に示すように、ロボットコントローラ1は、電源部11、通信部12および制御部13を備えている。電源部11は、外部電源から供給される電圧を所定の電圧に変換して、制御部13に供給する。また、電源部11は、電源線3を介して、搬送ロボット2にも電力を供給する。電源線3は搬送ロボット2の内部で分岐して、各電源部211,221,231,241に接続されている。これにより、電源部11は、搬送ロボット2の各コントローラ21~24の電源部211,221,231,241に電力を供給する。
通信部12は、搬送ロボット2の各通信部212,222,232,242と通信を行う。通信部12と、搬送ロボット2の各通信部212,222,232,242とは、電源線3を介した電力線搬送通信を行う。通信部12は、制御部13より入力される信号を変調して電源線3に重畳させることで、搬送ロボット2に信号を送信する。また、通信部12は、電源線3に重畳された信号を受信し、復調して制御部13に出力する。搬送ロボット2の各通信部212,222,232,242も同様にして、それぞれ、第1軸制御部213、第2軸制御部223、第3軸制御部233、第4軸制御部243より入力される信号を送信し、受信した信号を出力する。
制御部13は、ロボットコントローラ1を制御するものであり、マイクロコンピュータによって実現されている。制御部13は、ROMに予め記憶された制御プログラムを実行することにより、ロボットコントローラ1を制御する。また、制御部13は、あらかじめ設定されている処理手順に従って搬送ロボット2を動作させるために、通信部12を介して、搬送ロボット2と信号の送受信を行う。具体的には、制御部13は、第1軸サーボモータ、第2軸サーボモータ、第3軸サーボモータおよび第4軸サーボモータを駆動させるための制御信号を、通信部12を介して、搬送ロボット2に送信する。そして、各エンコーダによって検出された検出信号を受信して、搬送ロボット2の状態を認識する。また、制御部13は、搬送ロボットシステムA1の起動時に、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243を制御するためのプログラムやデータを送信し、起動信号を送信する。また、制御部13は、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243に設定する初期パラメータをそれぞれ個別に送信する。また、制御部13は、搬送ロボットシステムA1の作業終了時に、終了信号を送信する。そして、データ送信指令を送信して、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243が送信したデータを受信する。
図2(b)に示すように、制御部13は、機能ブロックとして、衝突検知切替部131、衝突検知時間設定部132、および衝突検知時間待機部133を備えている。
衝突検知切替部131は、通信部12を介した通信信号の送信において、衝突検知時間が経過するのを待ってから送信させる第1の状態と、衝突検知時間の経過を待たずに送信させる第2の状態とを切り替える。
衝突検知時間設定部132は、衝突検知切替部131によって第1の状態に切り替えられているときの衝突検知時間を設定する。具体的には、通信を行うときに乱数を発生させ、発生させた乱数に応じて、所定範囲内の時間を衝突検知時間として設定する。これにより、ランダムな時間が衝突検知時間として設定される。衝突検知時間待機部133は、衝突検知時間設定部132で設定された衝突検知時間の経過を計時する。
制御部13は、通信を行う際、衝突検知切替部131によって第1の状態に切り替えられている場合は、衝突検知時間設定部132に衝突検知時間を設定させ、衝突検知時間待機部133によって衝突検知時間の経過が計時された後に、通信部12に通信信号を出力して、送信させる。一方、衝突検知切替部131によって第2の状態に切り替えられている場合は、通信部12にすぐに通信信号を出力して、送信させる。
第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243も、制御部13と同様に、機能ブロックとして、衝突検知切替部131、衝突検知時間設定部132、および衝突検知時間待機部133を備えている。本実施形態においては、ロボットコントローラ1、昇降コントローラ21、旋回コントローラ22、第1アームコントローラ23および第2アームコントローラ24が、本発明の「通信装置」に相当する。
ロボットコントローラ1と、昇降コントローラ21、旋回コントローラ22、第1アームコントローラ23、および第2アームコントローラ24との通信シーケンスには大きく分けて、「通信シーケンス1」と「通信シーケンス2」とがある。通信シーケンス1は、ロボットコントローラ1が通信信号を一斉に送信して、昇降コントローラ21、旋回コントローラ22、第1アームコントローラ23、および第2アームコントローラ24からの返信を待つ通信シーケンスである。通信シーケンス2は、ロボットコントローラ1が通信信号をあるコントローラ21~24に送信し返信を受信してから次の通信信号を送信する通信シーケンスである。
搬送ロボットシステムA1の起動時に、ロボットコントローラ1がプログラムやデータを送信して、起動信号を送信する場合や、搬送ロボットシステムA1の作業終了時に、ロボットコントローラ1が終了信号を送信し、データ送信指令を送信してデータを受信する場合の通信シーケンスが、通信シーケンス1に該当する。通信シーケンス1での通信の場合、衝突検知時間が設けられていないと、各コントローラ21~24から返信信号が同時に送信されて、通信信号の衝突が発生する。したがって、制御部13、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243は、通信シーケンス1での通信時には、第1の状態で通信を行う。
図3の上側に記載のように、通信シーケンス1での通信の場合、ロボットコントローラ1が通信信号を一斉に送信しても、昇降コントローラ21、旋回コントローラ22、第1アームコントローラ23、および第2アームコントローラ24は、返信信号の送信時にそれぞれ衝突検知時間を設定して、衝突検知時間の経過を待ってから返信信号を送信する。したがって、通信信号の衝突が発生しにくい。図3では、昇降コントローラ21が衝突検知時間t1を設定し、旋回コントローラ22が衝突検知時間t2を設定し、第1アームコントローラ23が衝突検知時間t3を設定し、第2アームコントローラ24が衝突検知時間t4を設定して、それぞれ返信信号を送信している。衝突検知時間t1~t4は、それぞれランダムに設定されるので、同じ時間になることは少ない。したがって、通信信号の衝突を抑制することができる。
一方、ロボットコントローラ1が、各コントローラ21~24に設定する初期パラメータを送信する場合や、搬送ロボット2の動作のために、各サーボモータを駆動させるための制御信号を送信して、エンコーダによる検出信号を受信する場合の通信シーケンスが、通信シーケンス2に該当する。通信シーケンス2での通信の場合、通信の衝突が発生しないので、第2の状態で通信を行う。
図3の下側に記載のように、通信シーケンス2での通信の場合、ロボットコントローラ1は、例えば昇降コントローラ21に通信信号を送信して、昇降コントローラ21からの返信信号を受信してから、旋回コントローラ22に通信信号を送信している。したがって、通信信号の衝突は発生しない。また、昇降コントローラ21は、衝突検知時間を設定せず、すぐに返信信号を送信するので、受信から送信までの時間が短い。同様に、ロボットコントローラ1も、衝突検知時間を設定せず、すぐに次の通信信号を送信するので、受信から送信までの時間が短い。したがって、通信にかかる時間を短縮し、通信の遅延を抑制することができる。
次に、通信処理の処理手順について、図4に示すフローチャートを参照して説明する。
図4は、ロボットコントローラ1の制御部13および昇降コントローラ21の第1軸制御部213が行う通信処理を説明するためのフローチャートである。旋回コントローラ22の第2軸制御部223、第1アームコントローラ23の第3軸制御部233、および第2アームコントローラ24の第4軸制御部243が行う通信処理は、昇降コントローラ21の第1軸制御部213が行う通信処理と同様である。これらの通信処理は、搬送ロボットシステムA1が起動されたときに開始される。各通信処理の開始時には、第1の状態に切り替えられている。
まず、制御部13は、プログラムの送信を行う(S1)。このプログラムは、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243が各サーボモータを制御するためのプログラムである。制御部13は、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243の全てを受け取り対象に設定して送信する。このとき、制御部13は、第1の状態により、衝突検知時間の経過を待って送信する。第1軸制御部213は、このプログラムを受信したか否かを判別し(S21)、受信を待つ。受信した場合(S21:YES)、返信信号を制御部13に送信する(S22)。このとき、第1軸制御部213は、第1の状態により、衝突検知時間の経過を待って送信する。制御部13は、返信信号をすべて受信したか否かを判別し(S2)、未受信のものがあれば(S2:NO)、受信を待つ。すなわち、制御部13は、プログラムを送信した先の第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243からそれぞれ返信信号を受信するまで待機する。受信できない状態が所定時間経過した場合、制御部13は、再度ステップS1を行う。返信信号をすべて受信した場合(S2:YES)、次に進む。図4では記載を省略しているが、実際には、制御部13は複数のプログラムおよびデータを送信するので、ステップS1,S2,S21,S22の処理がその回数だけ繰り返され、ステップS3に進む。
次に、制御部13は、起動信号の送信を行う(S3)。起動信号は、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243を起動させる信号である。制御部13は、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243の全てを受け取り対象に設定して送信する。このとき、制御部13は、第1の状態により、衝突検知時間の経過を待って送信する。第1軸制御部213は、起動信号を受信したか否かを判別し(S23)、受信を待つ。受信した場合(S23:YES)、返信信号を制御部13に送信する(S24)。このとき、第1軸制御部213は、第1の状態により、衝突検知時間の経過を待って送信する。また、第1軸制御部213は、起動信号を受信したことで、サーボモータを制御する状態になる。その後、第1軸制御部213は、第1の状態から第2の状態に切り替える(S25)。つまり、第1軸制御部213の衝突検知切替部131は、起動信号の受信を合図に、起動信号に対する返信信号を送信したタイミングで、第1の状態から第2の状態に切り替える。制御部13は、返信信号をすべて受信したか否かを判別し(S4)、未受信のものがあれば(S4:NO)、受信を待つ。すなわち、制御部13は、起動信号を送信した先の第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243からそれぞれ返信信号を受信するまで待機する。受信できない状態が所定時間経過した場合、制御部13は、ステップS1に戻って処理を再開する。このとき、第1軸制御部213は、返信信号を送信していた場合、第2の状態に切り替わっている(S25)が、ステップS1によるプログラムの受信を合図に、第2の状態から第1の状態に切り替える。処理の再開が所定回数(例えば3回)連続した場合は、制御部13は、エラーと判断して、エラー処理を行って、通信処理を終了する。返信信号をすべて受信した場合(S4:YES)、制御部13は、第1の状態から第2の状態に切り替える(S5)。つまり、制御部13の衝突検知切替部131は、起動信号の送信を合図に、起動信号に対する返信信号を全て受信したタイミングで、第1の状態から第2の状態に切り替える。なお、起動信号を送信したタイミングで、状態を切り替えるようにしてもよい。この場合、返信信号の未受信でステップS1に戻って処理を再開するときには、第2の状態から第1の状態に切り替える必要がある。本実施形態では、「起動信号」が本発明の「所定の信号」に相当する。
次に、制御部13は、初期パラメータの送信を行う(S6)。初期パラメータは、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243にそれぞれ個別に設定されるパラメータであり、それぞれ個別に送信される。制御部13は、第1軸制御部213を受け取り対象に設定して、第1軸制御部213の初期パラメータを送信する。このとき、制御部13は、第2の状態により、衝突検知時間を設定することなく、すぐに送信する。第1軸制御部213は、初期パラメータを受信したか否かを判別し(S26)、受信を待つ。受信した場合(S26:YES)、返信信号を制御部13に送信する(S27)。このとき、第1軸制御部213は、第2の状態により、衝突検知時間を設定することなく、すぐに送信する。また、第1軸制御部213は、受信した初期パラメータを設定する。制御部13は、返信信号を受信したか否かを判別し(S7)、受信を待つ。受信した場合(S7:YES)、次に進む。図4では記載を省略しているが、実際には、制御部13は第2軸制御部223、第3軸制御部233および第4軸制御部243にもそれぞれ初期パラメータを送信するので、ステップS6,S26,S27,S7と同様の処理が、制御部13と、第2軸制御部223、第3軸制御部233および第4軸制御部243との間で行われて、ステップS8に進む。
ステップS8およびステップS28の動作シーケンスでは、あらかじめ設定されている処理手順に従って搬送ロボット2を動作させる処理を行う。具体的には、制御部13は、第1軸制御部213に第1軸サーボモータを駆動させるための制御信号を送信する。第1軸制御部213は、受信した制御信号に応じて、第1軸サーボモータを駆動させる。次に、第1軸制御部213は、第1軸サーボモータのエンコーダの検出信号を制御部13に送信する。制御部13は、受信した検出信号に応じて処理を行う。制御部13は、これらの処理を、第2軸制御部223、第3軸制御部233および第4軸制御部243に対しても行うことで、搬送ロボット2に1つの動作を行わせる。制御部13は、あらかじめ設定されている処理手順に従って、これらの処理を繰り返す。これらの信号の送信において、制御部13、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243は、第2の状態により、衝突検知時間を設定することなく、すぐに送信する。
次に、制御部13は、作業終了のための終了信号の送信を行う(S9)。制御部13は、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243の全てを受け取り対象に設定して送信する。このとき、制御部13は、第2の状態により、衝突検知時間を設定することなく、すぐに送信する。第1軸制御部213は、終了信号を受信したか否かを判別し(S29)、受信を待つ。受信した場合(S29:YES)、第2の状態から第1の状態に切り替える(S30)。つまり、第1軸制御部213の衝突検知切替部131は、終了信号の受信を合図に、終了信号を受信したタイミングで、第2の状態から第1の状態に切り替える。そして、第1軸制御部213は、返信信号を制御部13に送信する(S31)。このとき、第1軸制御部213は、第1の状態により、衝突検知時間の経過を待って送信する。制御部13は、返信信号をすべて受信したか否かを判別し(S10)、未受信のものがあれば(S10:NO)、受信を待つ。すなわち、制御部13は、終了信号を送信した先の第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243からそれぞれ返信信号を受信するまで待機する。返信信号をすべて受信した場合(S10:YES)、制御部13は、第2の状態から第1の状態に切り替える(S11)。つまり、制御部13の衝突検知切替部131は、終了信号の送信を合図に、終了信号に対する返信信号を全て受信したタイミングで、第2の状態から第1の状態に切り替える。なお、終了信号を送信したタイミングで、状態を切り替えるようにしてもよい。
次に、制御部13は、データ送信指令の送信を行う(S12)。制御部13は、第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243の全てを受け取り対象に設定して送信する。このとき、制御部13は、第1の状態により、衝突検知時間の経過を待って送信する。第1軸制御部213は、データ送信指令を受信したか否かを判別し(S32)、受信を待つ。受信した場合(S32:YES)、蓄積されたデータを制御部13に送信し(S33)、通信処理を終了する。このとき、第1軸制御部213は、第1の状態により、衝突検知時間の経過を待って送信する。制御部13は、データをすべて受信したか否かを判別し(S13)、未受信のものがあれば(S13:NO)、受信を待つ。すなわち、制御部13は、データ送信指令を送信した先の第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243からそれぞれデータを受信するまで待機する。データをすべて受信した場合(S13:YES)、制御部13は、通信処理を終了する。
なお、図4のフローチャートに示す各通信処理は一例であって、各通信処理は上述したものに限定されない。
次に、本実施形態に係る搬送ロボットシステムA1の作用および効果について説明する。
本実施形態によると、制御部13(第1軸制御部213、第2軸制御部223、第3軸制御部233、第4軸制御部243)は、通信シーケンス1での通信時には、第1の状態で通信を行う。すなわち、衝突検知時間を設定して、衝突検知時間の経過を待ってから通信信号を送信する。したがって、通信信号の衝突が抑制される。また、制御部13(第1軸制御部213、第2軸制御部223、第3軸制御部233、第4軸制御部243)は、通信シーケンス2での通信時には、第2の状態で通信を行う。すなわち、衝突検知時間を設定せず、すぐに返信信号を送信する通信信号を送信する。したがって、通信にかかる時間を短縮することができる。これにより、通信信号の衝突を抑制し、かつ、通信の遅延を抑制することができる。
各サーボモータを駆動させるための制御信号、および、エンコーダによる検出信号の送信時に、通信かかる時間を短縮できるので、搬送ロボット2の動作を、滑らかにすることができる。搬送ロボット2の1つの動作のためには、制御部13から第1軸制御部213への制御信号の送信、第1軸制御部213から制御部13への検出信号の送信、制御部13から第2軸制御部223への制御信号の送信、第2軸制御部223から制御部13への検出信号の送信、制御部13から第3軸制御部233への制御信号の送信、第3軸制御部233から制御部13への検出信号の送信、制御部13から第4軸制御部243への制御信号の送信、および、第4軸制御部243から制御部13への検出信号の送信の8回の通信が必要になる。発明者らの実験によると、1つの動作のための通信時間を、衝突検知を行う場合と比べて、約20%短縮することができた。これにより、搬送ロボット2を滑らかに動作させることができるようになった。
本実施形態によると、衝突検知切替部131は、起動信号の送受信に基づいて第1の状態から第2の状態に切り替え、終了信号の送受信に基づいて第2の状態から第1の状態に切り替える。したがって、第1の状態と第2の状態とを切り替えるための信号を、別途、送受信する必要がない。
なお、本実施形態においては、衝突検知切替部131は、起動信号の送受信に基づいて第1の状態から第2の状態に切り替え、終了信号の送受信に基づいて第2の状態から第1の状態に切り替える場合について説明したが、これに限られない。起動信号または終了信号とは別の、第1の状態と第2の状態とを切り替えるための信号を送受信して、これに基づいて状態を切り替えるようにしてもよい。なお、本実施形態では、搬送ロボットシステムA1の全体の通信処理において、起動時と終了時の通信が通信の衝突が起こりうる通信であり、その間の通信が通信の衝突が起こらない通信であったので、その境界線で第1の状態と第2の状態とを切り替えるようにした。このように、状態の切り替えのタイミングは、全体の通信処理に基づいて、適宜設定すればよい。このとき、必ずしも信号の送受信に基づいて切り替えるようにする必要はなく、その他のトリガーに基づいて切り替えるようにしてもよい。
本実施形態においては、ロボットコントローラ1の制御部13と、搬送ロボット2の第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243とが、両方とも、衝突検知切替部131による第1の状態と第2の状態との切り替えを行う場合に説明したが、これに限られない。例えば、ロボットコントローラ1の制御部13が、第1の状態と第2の状態との切り替えを行わず、常に第1の状態としてもよい。また、ロボットコントローラ1の制御部13が、常に第2の状態としてもよい。この場合でも、通信シーケンス1での通信時には、搬送ロボット2の第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243が第1の状態で通信を行うので、通信信号の衝突が抑制される。また、通信シーケンス2での通信時には、搬送ロボット2の第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243が第2の状態で通信を行うので、通信の遅延を抑制することができる。
逆に、搬送ロボット2の第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243が、第1の状態と第2の状態との切り替えを行わず、常に第1の状態としてもよい。この場合でも、通信シーケンス1での通信時には、搬送ロボット2の第1軸制御部213、第2軸制御部223、第3軸制御部233および第4軸制御部243が第1の状態で通信を行うので、通信信号の衝突が抑制される。また、通信シーケンス2での通信時には、ロボットコントローラ1の制御部13が第2の状態で通信を行うので、通信の遅延を抑制することができる。つまり、少なくともどちらか一方が、衝突検知切替部131による第1の状態と第2の状態との切り替えを行えば、通信信号の衝突を抑制し、かつ、通信の遅延を抑制できるという効果を奏することができる。
本実施形態においては、搬送ロボット2が4個のサーボモータを備えている場合について説明したが、これに限られない。2個または3個であってもよいし、5個以上であってもよい。また、本実施形態においては、ロボットコントローラ1が搬送ロボット2のサーボモータを制御するコントローラと通信を行う場合について説明したが、これに限られない。搬送ロボット2の各ハンドは、例えば、ワークを保持するための保持機構や、ワークを検出するためのセンサを備えている。各ハンドに、当該保持機構を制御したり、当該センサの検出信号を送信するためのコントローラを設けて、ロボットコントローラ1が当該コントローラとも通信を行うようにしてもよい。
上記第1実施形態においては、電力線搬送通信を行う場合について説明したが、これに限られない。無線通信を行う場合を、第2実施形態として以下に説明する。
図5は、第2実施形態に係る搬送ロボットシステムA2の概略を示すブロック図である。図5において、第1実施形態に係る搬送ロボットシステムA1(図2(a)参照)と同一または類似の要素には、同一の符号を付している。図5に示すように、搬送ロボットシステムA2は、各通信部12,212,222,232,242が、電力線搬送通信を行うのではなく、無線通信を行う点で、第1実施形態に係る搬送ロボットシステムA1と異なる。第2実施形態においても、第1実施形態と同様の効果を奏することができる。
上記第1または第2実施形態においては、本発明に係る通信装置を搬送ロボットシステムに用いた場合について説明したが、これに限られない。本発明に係る通信装置は、他のロボットシステム(例えば溶接ロボットシステムなど)においても用いることができる。また、本発明に係る通信装置は、通信を行う様々なシステムにおいても用いることができる。
また、本発明は、通信のみを行う通信装置においても適用することができる。他の通信装置と半二重通信を行う通信装置において、通信信号の衝突が発生しうる通信を行うときは第1の状態(衝突検知時間の経過を待ってから通信信号を送信)で通信を行い、通信信号の衝突が発生しない通信を行うときは第2の状態(衝突検知時間の設定を行わずに通信信号を送信)で通信を行うようにすることで、通信信号の衝突を抑制し、かつ、通信の遅延を抑制することができる。
本発明に係る通信装置およびロボットシステムは、上述した実施形態に限定されるものではない。本発明に係る通信装置およびロボットシステムの各部の具体的な構成は、種々に設計変更自在である。