以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
<<実施形態1>>
(システム構成)
図1に、本実施形態の無線通信システムを含む製造装置の全体構成の例を示す。図1では、ロボットアーム101が、ロボット制御線103によってロボット制御装置102と接続される。ロボットアーム101の各関節にはそれぞれモータが備えられ、ロボットアーム101は、ロボット制御装置102からロボット制御線103を用いて伝えられる機器制御信号に従って動作する。ロボット制御線103は、例えば、業界標準のCAN(Control Area Network)規格に準拠する信号線であってもよく、ロボットに対して機器制御信号を与えられる他の方式に従う信号線であってもよい。
ロボットアーム101の先端となるハンド部108には、組立工程の対象物となるワーク部材を撮影するためのカメラ109と、このカメラ109にケーブルやコネクタなどで電気的に接続された無線移動局110とが備えられる。カメラ109で撮影された画像データは、無線移動局110から無線制御局204へ無線信号として送信される。また、無線制御局204から無線信号として送信されたコマンドデータは、無線移動局110で受信された後にカメラ109へ転送される。すなわち、無線制御局204と、無線移動局110との間で、無線通信システムが構成される。
無線制御局204は、無線信号として送信または受信されるデータを転送するための伝送ケーブル211〜213により、複数の無線送受信部201〜203に接続される。また、複数の無線送受信部201〜203は、それぞれに対応する複数のアンテナを有する。無線送受信部201〜203は、伝送ケーブル211〜213を介して無線制御局204から受け取った送信データを、無線信号に変換して、対応するアンテナを介して通信の相手装置である無線移動局110へ送信する。同様に、無線送受信部201〜203は、アンテナを介して受信した無線信号からデータを取得し、これらの受信データを、伝送ケーブル211〜213を介して無線制御局204へ転送する。
さらに、無線送受信部201〜203は、アンテナを介して無線信号が検出されるかどうか、すなわち無線チャネルが占有されているかを判定し、判定した結果をチャネル占有情報として、伝送ケーブル211〜213を介して無線制御局204へ通知する。なお、ここでの「占有」とは、厳密な意味での占有ではなく、その無線チャネルが使用されているか否かであってもよい。すなわち、例えば、遠方でその無線チャネルが使用されている場合は、同時にその無線チャネルを使用されうるため実際は「占有」状態とはならないが、この場合であっても、無線チャネルが使用されていて他の通信ができない状態を以下では「占有」と呼ぶ。
無線チャネルが占有されているかは、受信電界強度を測定することによって他の装置からの無線信号を検出することにより判定されてもよい。また、受信された無線パケットを解析し、パケットのヘッダなどから、その無線パケットを含む無線信号がどの程度の時間長だけ継続的に送信されるかの情報を参照することによって、無線チャネルが専有されているかが判定されてもよい。また、無線チャネルの占有状態をリアルタイムに判定でき、チャネル占有情報を生成できる方法であれば、これら以外の方法が用いられてもよい。
伝送ケーブル211〜213は、例えばメタリックケーブルや光ファイバなどであってもよく、様々な種類の有線通信用のケーブルを使用することができる。また、無線送受信部201〜203と無線制御局204との間で、上述の送信データ、受信データ、チャネル占有情報がやりとりできる構成であれば、単一の信号線を時分割で使用する構成であってもよく、複数の信号線を含む構成であってもよい。なお、伝送ケーブル211〜213は、アンテナを介して受信した無線信号をそのまま無線制御局204に中継し、無線制御局204で生成した無線信号をアンテナに中継するものであってもよい。この場合には、上述の占有状態の判定、送信データの無線信号への変換、無線信号の優先信号への変換等の、本実施形態において無線送受信部201〜203の機能として説明される機能は、無線制御局204に集約されてもよい。
無線制御局204は、カメラリンクケーブル105を介して画像解析装置104と接続される。図2は、カメラリンクケーブル105に含まれる信号線の概念図である。カメラリンクケーブル105には、図2に示すように、例えば、画像データ、CC(カメラ制御)信号、SerTC(コマンド)信号、SerTFG(レスポンス)信号を転送するための信号線が含まれる。画像解析装置104による解析結果は、信号線106を介して、ロボット制御装置102へ送信され、ロボット制御装置102は、その解析結果に応じて、ロボットアーム101の動作を制御する。
図1の製造装置においては、ロボットアーム101は空間内を自由に可動し、その先端のハンド部の向きも変化する。このため、ロボットアーム101のハンド部に装着された無線移動局110のアンテナの向きも様々に変化する。また、ロボットアーム101の位置によっては、無線移動局110と相手装置(無線送受信部201〜203)との間に障害物が存在する可能性もある。このような場合において、ミリ波帯の無線信号のような直進性の強い電波を用いると、障害物によって通信が遮断されデータの送受信に失敗する場合がある。また、このような障害物がない場合であっても、無線移動局110のアンテナの指向性によって、無線移動局110のアンテナの向きと相手装置のアンテナの向きとによっては、同様にデータの送受信に失敗する場合がある。
このような問題を解決するために、図1の製造装置においては、無線制御局204が無線信号を送受信するための複数の無線送受信部を、ロボットステーション107上の異なる場所に設置する。なお、図1の例では、複数の無線送受信部をロボットステーション107上の異なる場所に設置しているが、無線送受信部にそれぞれ備えられた複数のアンテナが異なる位置に配置されていれば、空間ダイバーシチ効果を得ることができる。無線送受信部201〜203のそれぞれに対応する複数のアンテナを空間的に離れた位置に設置することにより、無線通信において、空間ダイバーシチ効果を得ることができる。これにより、例えば、3個の無線送受信部201〜203のうち2個が無線移動局110との通信に失敗しても、残りの1個が無線移動局110との通信に成功することで、無線移動局110と無線制御局204との間の通信が成功することとなる。したがって、このような構成により、通信の成功率を向上させることができる。
この場合の、無線移動局110と無線制御局204との間での通信方法の具体例について説明する。無線移動局110は、無線移動局110が送信した送信信号をそれぞれ異なる位置に配置された複数の無線送受信部201〜203が受信できるように、開口角の大きな広指向性アンテナを用いて、データを無線パケットの形式で送信する。無線送受信部201〜203は、それぞれがこの無線パケットを受信し、受信した無線パケットを復調して受信データを取得する。取得された受信データは、伝送ケーブル211〜213を介して、無線制御局204へ転送される。無線制御局204は、伝送ケーブル211〜213を介して受け取った受信データに対して、誤り訂正復号や誤り検出を行い、正しく復調され誤りが含まれていない受信データを選択する。このように、受信に成功したデータを複数の受信データから選択して取得することにより、無線制御局204は、受信時において空間ダイバーシチ効果を得ることができる。なお、無線制御局204は、無線送受信部201〜203を無線信号の形式のまま受信して、最大比合成、選択合成、等利得合成等を実行することにより、空間ダイバーシチ効果を得てもよい。
また、無線制御局204は、無線送受信部201〜203を介して、コマンドデータを無線パケットの形式に変換して無線信号として送信する。ただし、すべての無線送受信部201〜203が同時に無線信号を送信すると、これらの無線信号が互いに衝突し、無線移動局110はこれらの無線信号を正しく受信することができない。したがって、無線制御局204は、時間的に使用する無線送受信部201〜203(使用するアンテナ)を切り替えて、同じデータを複数回送信する。
すなわち、例えば、無線制御局204は、最初に伝送ケーブル211を介して送信データを無線送受信部201へ転送し、無線送受信部201は、この送信データを第1の無線パケットに変換して、無線信号として無線移動局110へ送信する。そして、この第1の無線パケットの送信が完了した後、無線制御局204は、伝送ケーブル212を介して同じ送信データを無線送受信部202へ転送する。そして、無線送受信部202は、この送信データを第2の無線パケットに変換して、無線信号として無線移動局110へ送信する。さらに、この第2の無線パケットの送信が完了した後、無線制御局204は、伝送ケーブル213を介して無線送受信部203へ同じ送信データを転送する。そして、無線送受信部203は、この送信データを第3の無線パケットに変換して無線信号として無線移動局110へ送信する。このように、複数回のデータ送信のうちの1回についてのデータの送信に使用するアンテナを、その複数回のデータ送信のうちの他の1回についてのデータの送信に使用するアンテナと異ならせることにより、送信時の空間ダイバーシチ効果を得ることができる。
なお、送信データを複数の無線送受信部201〜203から送信しても、受信に成功しうる場合、例えば、CDMAを用いてRAKE受信できる場合などは、複数の無線送受信部201〜203から同時に送信データを送信してもよい。なお、この場合でも、少なくとも1つの無線送受信部から送信データが送信されればよく、送信データを複数回送信する場合は、送信回ごとに、任意の1つ以上の無線送受信部を選択して、選択された無線送受信部を用いて送信データを送信するようにしてもよい。
(無線制御局の構成)
図3は、無線制御局204の構成例を示すブロック図であり、併せて無線送受信部201〜203との接続例を示した図である。無線制御局は、上述のように、空間ダイバーシチ効果を得ながらコマンドデータを無線移動局110へ送信するために、可能な限りそのコマンドデータを複数回、それぞれ異なる無線送受信部201〜203を用いて送信する。このとき、無線制御局204は、無線移動局110からの信号とコマンドデータを含む送信信号とが衝突しないように、無線移動局110が送出する信号がない時間区間(無信号区間)において信号を送信する。具体的には、例えば、無信号区間の時間長を特定し、その時間長を、データの送信に要する時間長(送信データの時間長)で除算した結果の値以下の回数だけ、その送信データを送信するようにする。以下、無線制御局204の構成と共に、詳細な動作について説明する。
無線制御局204は、カメラリンクコネクタ222を備える。カメラリンクコネクタ222は、カメラリンクケーブル105を介して画像解析装置104と接続される。本実施形態では無線制御局204と画像解析装置104とは別個の機器で、カメラリンクケーブル105によってケーブル接続される例について説明するが、無線制御局204及び画像解析装置104は、例えば一体化されて単一の筐体に組み込まれていてもよい。
図3において、無線移動局110から送信された無線パケットは、無線送受信部201〜203のそれぞれにおいて受信及び復調され、伝送ケーブル211〜213を介して受信データとして無線制御局204へ転送される。無線制御局204は、伝送ケーブル接続部221を備え、伝送ケーブル接続部221は、伝送ケーブル211〜213を介して受け取った受信データを、受信パケット選択部231へ転送する。受信パケット選択部231は、これらの受信データのそれぞれに対して誤り訂正復号処理又は誤り検出処理を行い、受信に成功した(正しく復号できた)受信データを選択し、選択した受信データを受信パケット解析部232へ転送する。受信パケット解析部232は、受け取った受信パケットに保持されているパケット種別を示す情報を解析する。そして、受信パケット解析部232は、解析結果により、受信データが画像データである場合はカメラリンクコネクタ222の画像端子へ、受信データがレスポンスデータである場合はSerTFG端子へ、それぞれこの受信データを出力する。また、受信パケット解析部232は、受信データが相手装置(無線移動局110)からの画像データである場合は、その結果を送信タイミング決定部251に出力する。
無線送受信部201〜203は、この無線パケットが無線チャネルを占有している時間区間(有信号区間)を判定し、その結果をチャネル占有情報として無線制御局204へ転送する。そして、無線制御局204の伝送ケーブル接続部221は、これらのチャネル占有情報を受け取り、無線信号検出部241へ転送する。無線信号検出部241は、無信号区間特定部242および送信タイミング決定部251に対して、チャネルが占有されていることを示すCCA信号を送信する。無線信号検出部241は、無線送受信部201〜203から受領したチャネル占有情報のうち、少なくとも1つのチャネル占有情報が無線チャネルの占有を示している時間区間において、CCA信号をアクティブ状態にし、有信号区間であることを通知する。一方、どのチャネル占有情報も無線チャネルの占有を示していない場合、無線信号検出部241は、CCA信号を非アクティブにし、無信号区間であることを通知する。なお、本実施形態の無線通信においては、有信号区間と無信号区間とが周期的に繰り返される。
なお、無線送受信部201〜203は復調等の機能を有さないアンテナであってもよい。この場合、無線信号検出部241は、アンテナ(無線送受信部201〜203)に直接接続されて、アンテナを介して他の装置からの信号を検出した場合はCCA信号をアクティブ状態にし、検出されない場合はCCA信号を非アクティブ状態としてもよい。また、無線信号検出部241は、複数の無線送受信部201〜203(複数のアンテナ)のうち、所定数以上の無線送受信部において他の装置からの信号が検出されない場合にCCA信号を非アクティブ状態としてもよい。例えば、半数以上の無線送受信部において、他の装置からの信号が検出されなければ、CCA信号を非アクティブ状態としてもよい。なお、この所定数が複数の無線送受信部201〜203の数(複数のアンテナの本数)に等しい場合は、無線信号検出部241は、少なくとも1つの無線送受信部において信号が検出された場合にCCA信号をアクティブ状態とすることとなる。なお、無線信号検出部241は、他の任意の装置からの無線信号を検出した場合はCCA信号をアクティブとしてもよいし、相手装置(無線移動局110)からの信号を検出した場合にのみ、CCA信号をアクティブとしてもよい。このとき、他の任意の装置からの無線信号を検出した場合にCCA信号をアクティブとすることにより、通信中の他のシステムへ干渉を与える確率を低減することができる。また、相手装置からの信号を検出した場合にのみCCA信号をアクティブとすることにより、例えば、特に自システムの優先度が高い場合に、他の優先度の低いシステムが通信中であることにより、自システムの処理の遅延が増大することを防ぐことができる。
無信号区間特定部242は、受け取ったCCA信号に基づいて、周期的に生じる有信号区間と無信号区間とのうち、他の装置からの信号が検出されない無信号区間の時間長を特定する。特定した時間長は、送信回数決定部243へ出力される。送信回数決定部243は、受信した時間長と、無線移動局110への送信データの時間長とに基づいて、送信データを送信する回数を決定する。これらの動作については、後述する。
図4に、無線制御局204が受信する画像パケット、無線信号検出部241が出力するCCA信号、無線制御局204が画像解析装置104からSerTC信号として受け取るコマンドデータ、及び無線移動局110へのコマンドパケットのタイミング図を示す。エリアセンサ型のカメラ109は、例えば、横方向のラインごとに画像データを生成してカメラリンクの画像データとして出力する。そのためカメラリンクの画像データ信号線には、1ラインごとに有効なデータが周期的に出力される(有信号区間)と共に、隣接するラインデータの間には有効なデータが存在しない時間区間(無信号区間)が発生する。この時間区間は、一般に水平ギャップと呼ばれる。
無線移動局110は、カメラ109からカメラリンク経由で受け取った、ラインごとの画像データを無線パケットの形式に変換して無線信号として無線チャネル上に送出する。なお、無線移動局110は、1ラインの画像データを1個の無線パケットとして送信するが、複数ラインの画像データをまとめて1個の無線パケットに集約して送信してもよく、また、逆に1ラインの画像データを複数個の無線パケットに分割して送信してもよい。これらは、実際に使用される無線通信方式の、許容最大パケット長、データ伝送速度などの特性に依存して選択される。なお、いずれの方法を用いた場合であっても、パケット又はバーストが周期的に発生し、2つのパケット間又はバースト間に無信号区間が生じるものとする。なお、以下では、画像データを保持した無線パケットを画像パケットと呼ぶ。
無線移動局110は、カメラ109から、例えばN−1番目のラインに関する画像データをカメラリンク経由で受け取ると、これを画像パケットとして無線送信する。そして、無線制御局204に接続されている無線送受信部201〜203のうちの少なくとも1つは、図4に示すようにN−1番目の画像パケット301としてこれを受信する。同様に、カメラ109から出力されたN番目及びN+1番目のラインにおける画像データも無線移動局110によって画像パケットとして送信される。そして、無線送受信部201〜203のうちの少なくとも1つは、それぞれN番目の画像パケット302及びN+1番目の画像パケット303として受信する。
無線送受信部201〜203は、これらの画像パケット301〜303を受信すると、これらの画像パケットによって無線チャネルが占有されていることを示すチャネル占有情報を、無線制御局204へ通知する。無線信号検出部241は、これらのチャネル占有情報を参照し、無信号区間特定部242と送信タイミング決定部251に対して、CCA信号を出力する。このCCA信号は、図4に示すように、画像パケット301〜303が無線チャネル上に存在している時間区間(有信号区間)はアクティブ状態を示し、存在していない時間区間(無信号区間)は非アクティブ状態を示す。
無線通信では、それぞれ無線チャネル上でのデータ伝送速度として、一般に1種類以上の伝送速度がそれぞれの標準規格で定められ、カメラリンク上での画像データの伝送速度と、その画像データを伝送するための無線パケットのデータ伝送速度とは異なりうる。そのため、それぞれのラインの画像データがカメラリンクケーブル上で伝送されるために必要な時間長と、各ラインの画像データとしての画像パケット301〜303が無線チャネルを占有する時間長とは異なる場合がある。しかしながら、カメラ109は、すべてのラインにおいて同じ量の画像データを一定の時間間隔で出力する。このため、1つの画像に含まれるすべてのラインの画像データの伝送が完了するまでの時間長は一定となり、CCA信号のアクティブ期間(有信号区間)の長さも一定となる。同様に、画像伝送中は、CCA信号の非アクティブ期間(無信号区間)の時間長も一定長となる。
無線制御局204は半二重の無線通信を行うため、無線移動局110から無線パケットを受信している時は自局から無線パケットを送信することはできない。したがって、図4に示すように、N番目の画像パケット302を受信している間に無線制御局204が画像解析装置104からSerTC信号としてコマンドデータ480を受け取った場合にも、すぐに送出されるわけではない。本実施形態では、このコマンドデータ480は、一度、送信パケット生成部252内に記憶される。このとき、送信タイミング決定部251は、無線信号検出部241からCCA信号を受け取り、CCA信号がアクティブであるか非アクティブであるかを監視する。そして、N番目の画像パケット302の受信が完了すると、CCA信号はアクティブ状態から非アクティブ状態へ遷移し、CCA信号に立下りエッジが発生する。送信タイミング決定部251は、この立下りエッジを検出した後、無線機の送受信動作を切り替えるために必要となる一定時間だけ待った後、パケット送信制御部253に対してパケット送信を指示する。なお、送信タイミング決定部251は、受信パケット解析部232から受信した、受信パケットが相手装置(無線移動局110)からの画像データであるかを示す情報に基づいて、画像データの受信中におけるCCA信号の状態を監視するようにしてもよい。すなわち、例えば、送信タイミング決定部251は、画像データの受信中でなければ、CCA信号の状態を監視せずに、任意のタイミングでパケットを送信するように、パケット送信制御部253に指示してもよい。
パケット送信制御部253は、この指示を受けて、送信パケット生成部252によって記憶されているコマンドデータを伝送ケーブル接続部221、及び、例えば、伝送ケーブル211を経由して無線送受信部201へ転送する。そして、無線送受信部201は、このコマンドデータを第1のコマンドパケット401としてアンテナから送信する。本実施形態では、送信ダイバーシチ効果によって信頼性の高い無線通信を行うために、同じコマンドデータを、複数の無線送受信部からそれぞれコマンドパケットとして順番に送信する。そのため、第1のコマンドパケット401の送信が完了すると、パケット送信制御部253は同じコマンドデータを伝送ケーブル接続部221、及び伝送ケーブル212を経由して無線送受信部202へ転送する。そして、無線送受信部202は、このコマンドデータを第2のコマンドパケット402として、既に送信された第1のコマンドパケット401の後に送信アンテナから送信する。同様に、第2のコマンドパケット402の送信が完了すると、パケット送信制御部253は、さらに同じコマンドデータを伝送ケーブル接続部221、及び伝送ケーブル213を経由して無線送受信部203へ転送する。そして、無線送受信部203は、このコマンドデータを第3のコマンドパケット403として第2のコマンドパケット402の後に送信する。
カメラからカメラリンクへ出力される画像データにおいて、各ラインの画像データの量や時間的な長さ、およびラインごとの画像データが生成される周期は、同じカメラでは常に一定であるが、異なる種類のカメラでは異なりうる。これに伴い、画像の各ラインデータを受信する時の、CCA信号の挙動も使用されるカメラの種類によって異なる。図5は他のカメラを使用した場合における、受信パケット、CCA信号、コマンドデータ、及び送信パケットの生じるタイミングを示すタイミング図である。図5では、図4の場合と比較して各ラインの画像データが生成される周期は変わらないが、それぞれのラインの画像データ量が多く、結果としてCCA信号の非アクティブ期間(無信号区間)の時間長が短くなっている。
ここで、図5においても、N番目の受信パケット312を受信している間に無線制御局204が画像解析装置104からSerTC信号としてコマンドデータ480を受信するものとする。このとき、受信されたコマンドデータ480は、一度、送信パケット生成部252に記憶される。また、送信タイミング決定部251は、無線信号検出部241からのCCA信号を監視し、N番目の受信パケットの受信終了点となるCCA信号の立下りエッジを検出すると、パケット送信制御部253に対してパケット送信を指示する。パケット送信制御部253は、この指示を受けて、送信パケット生成部252に記憶されているコマンドデータを、上述の手順と同様に、無線送受信部201〜203のそれぞれを用いて順番に送信しようと試みる。
この時、図5に示すように、第1のコマンドパケット411および第2のコマンドパケット412は、無線チャネルが無線移動局110の送信する画像パケットによって占有されていない時間区間に送信される。このため、無線移動局110はこれらのコマンドパケットを受信することができる。一方、第3のコマンドパケット413については、その送信が完了する前に、無線移動局110が、N+1番目のラインの画像パケット313の送信を開始してしまう。このため、無線移動局110が送信するN+1番目のラインの画像パケット313と、無線制御局204が送信する第3のコマンドパケット413とが、無線チャネル上で衝突を起こすことになる。この結果、無線制御局204は画像データの受信に失敗し、同様に、無線移動局110はコマンドデータの受信に失敗してしまう。
このような問題を解決するために、本実施形態では、上述のように、無信号区間特定部242が無信号区間の時間長を特定し、送信回数決定部243がその時間長の間に送信できるコマンドデータの数を決定する。具体的には、無信号区間特定部242は、無線信号検出部241からのCCA信号を観測し、図6に示すようにN−1番目の受信パケット311とN番目の受信パケット312の間に存在する無信号区間の時間長T1を特定する。そして、無信号区間特定部242は特定した時間長T1を送信回数決定部243に引き渡す。送信回数決定部243は、コマンドデータを送信するための1個のコマンドパケットの既知の時間長と、受信した時間長T1とに基づいて、無信号区間におけるコマンドパケットの送信可能回数を算出する。例えば、送信回数決定部243は、時間長T1をコマンドパケットの時間長で除算した結果の値以下の回数を、送信可能回数として算出する。送信回数決定部243は、この決定の結果を、パケット送信制御部253へ出力する。例えば、送信回数決定部243は、図5及び図6の場合において、コマンドパケットの送信回数を最大2回と決定し、この「2回」という結果をパケット送信制御部253へ出力する。
送信回数決定部243からコマンドパケットの送信回数が2回であることを通知されたパケット送信制御部253は、図6に示すように、無信号区間において、第1のコマンドパケット421と第2のコマンドパケット422を2回連続して送信する。一方、無線制御局204は、図5に示す第3のコマンドパケット413に相当するコマンドパケットの送信は行わず、直後に到来すると予期されるN+1番目のラインの画像データとしての画像パケットを受信するために受信状態に入る。
続いて、無線制御局204の処理の流れについて、図7のフローチャートを参照しながら説明する。無線制御局204において、無信号区間特定部242はCCA信号の立ち上がりエッジを検出すると(S501)、何らかの無線パケットが到来したと認識し、その無線パケットの受信が完了するまで待機する。そして、無信号区間特定部242は、CCA信号の立下りエッジを検出すると、CCA信号の非アクティブ期間の時間長を特定するためのタイマ計測を開始する(S502)。また、受信パケット解析部232は、その前の有信号区間で受信された無線パケットのヘッダなどの情報を解析し、その受信パケットが自局宛の画像データであるかどうかを判定する(S503)。受信パケットが自局宛の画像データではなかった場合(S503でNO)、カメラからの画像伝送はまだ開始していないと判断し、無信号区間特定部242は次の無線パケットの到来を待つ。なお、この場合、この後にCCA信号の立ち上がりを検出すると(S501)、タイマ計測を停止するが、計測された値は破棄されてもよい。
一方、受信パケットが自局宛の画像データであった場合(S503でYES)、無線制御局204は、無線移動局110による画像データ転送が開始された、または既に開始されていると判断し、画像データの受信状態に遷移する。そして、無信号区間特定部242は、タイマ計測を続けながら次の無線パケットの到来を待ち、次にCCA信号の立ち上がりを検出するとタイマ計測を停止する。ここで得られるタイマ計測値が非アクティブ期間(無信号区間)の時間長T1であり、無信号区間特定部242は、送信回数決定部243に対してこのT1を通知する(S504)。そして、送信回数決定部243は、T1の値に基づいて、パケットの送信回数Nを算出して決定する(S505)。
一方、送信タイミング決定部251は、CCA信号を監視し、その立ち上りエッジ(S506)と、それに引き続く立下りエッジを検出すると(S507)、次の無信号区間が始まったと判定する。そして、送信タイミング決定部251は、受信パケット解析部232が直前に受信された受信パケットが自局宛の画像データを含んでいたと判断した場合(S508でYES)、パケット送信制御部253に対してコマンドデータを送信できることを通知する。ここで、パケット送信制御部253は、送信パケット生成部252のバッファ内に送信待ちのコマンドデータが格納されている場合(S509でYES)は、このコマンドデータを第1のコマンドパケットとして無線送受信部201から送信する(S510)。この第1のコマンドパケットの送信が完了すると、パケット送信制御部253は、現在の無信号区間の中で、N回のコマンドパケットの送信が完了したがどうかを判断する(S511)。例えばパケットの送信回数Nが2である場合、パケット送信制御部253は、無線送受信部202から、既に送信した第1のコマンドパケットと同じコマンドデータを、第2のコマンドパケットとして送信する(S510)。
そして、パケット送信制御部253は、パケットの送信回数Nと同じ回数だけコマンドパケットの送信が完了したと判断すると、現在の無信号区間での無線パケットの送信を停止する。そして、次の画像データの待ち受け、及び無信号区間におけるコマンドデータの送信を繰り返す。一方、S508において、受信したパケットに自局宛の画像データが含まれていない場合、無線制御局204は、無線移動局110からの画像データが完了したと判断し、画像データ受信状態から離脱する。
以上説明したように、本実施形態では、他の装置からの信号が検出されない無信号区間の時間長を特定し、その間にコマンドパケットを送信することが可能な回数を決定することにより、画像データとコマンドデータとの衝突を回避することができる。また、コマンドパケットを無信号区間において複数回送信することにより、1つのコマンドパケットの受信が失敗した場合でも、他のコマンドパケットの受信が成功することにより、次の無信号区間を待ってコマンドパケットを再送する必要がなくなる。したがって、システム全体の動作遅延を低減することが可能となる。
なお、本実施形態では、空間ダイバーシチ効果を得る構成について説明したが、他に、時間ダイバーシチ効果又は周波数ダイバーシチ効果を得るような構成を用いてもよい。例えば、異なる時間区間において同じデータを複数回送信することでロボットアームの位置の変化が生じ、異なる伝送路特性を経て信号を受信できる場合は、1つのアンテナから複数回信号を送信することにより時間ダイバーシチ効果を得ることができる。また、制御データなど、狭帯域データを送信する場合は、無線チャネル上の比較的低い周波数帯域と比較的高い周波数帯域とを組み合わせて、それぞれの帯域で同じデータを送信するようにして周波数ダイバーシチ効果を得てもよい。周波数帯域が異なると、伝送特性が変動するため、このような構成により一部の帯域においてデータの送信または受信が失敗しても、他の帯域においてデータの送信または受信が成功する場合がある。同様に、使用する狭帯域の周波数帯域のパターンを変化させて、異なる時間区間において同じデータを送信及び受信するようにしてもよい。これらによれば、複数の無線送受信部(複数のアンテナ)が必ずしも必要なく、1つの無線送受信部(1つのアンテナ)のみを含む簡単な装置構成でダイバーシチ効果を得ることができる。
<<実施形態2>>
実施形態1では、ダイバーシチ方式によって無線通信の信頼性を向上させている。本実施形態では、無線制御局204から無線移動局110への無線通信における通信品質と、無線移動局110から無線制御局204への無線通信における通信品質との間に関連があることに着目する。すなわち、無線移動局110からの無線信号を正しく受信できなかった無線送受信部があった場合、無線制御局204はこの無線送受信部を用いて無線信号を送信しても、この無線移動局110はこの無線信号を正しく受信できる可能性は低い。したがって、本実施形態では、送信ダイバーシチとしてデータを複数回送信させるのに使用する無線送受信部として、無線移動局110からの直前の無線パケットを正しく受信できなかった無線送受信部以外のものを選択して、無線通信の信頼性を向上させる。
図8は、本実施形態の無線制御局204の構成を示すブロック図であり、併せて無線送受信部201〜203との接続例を示した図である。図8の無線制御局204は、図2の無線制御局204と比較して、受信品質判定部280が備えられている点で異なる。受信品質判定部280は、無線送受信部201〜203で受信された受信パケットの受信品質をそれぞれ判定する。受信品質判定部280は、例えば、無線送受信部201〜203から転送された受信データのそれぞれに対して誤り検出を実行した結果を取得し、誤りが存在しないものを受信品質が良好であると判定し、誤りの存在するものを受信品質が不良であると判定する。
なお、受信品質判定部280は、無線送受信部201〜203から受け取ったチャネル占有情報を参照して、受信品質を判定してもよい。例えば、受信品質判定部280は、ある無線送受信部では無線チャネルの占有を検出し、他の無線送受信部は占有を検出していない場合、占有を検出した無線送受信部の受信品質を良好と判定し、占有を検出しなかった無線送受信部の受信品質を不良と判定する。また、受信品質判定部280は、複数のアンテナ(無線送受信部201〜203)における信号対雑音比(SNR)、搬送波対雑音比(CIR)等の受信品質を測定して取得してもよい。このとき、受信品質判定部280へは、複数のアンテナにおける受信信号がそのまま入力されてもよいし、無線送受信部201〜203において測定された受信品質が入力されてもよい。
受信品質判定部280によって判定された無線送受信部201〜203のそれぞれの受信品質情報は、パケット送信制御部253に転送される。そして図7のS510において、無線制御局204が複数の無線送受信部を用いてコマンドパケットを送信する際、パケット送信制御部253は、複数の無線送受信部から、受信品質が良好であると判定された送信回数以下の数の無線送受信部を選択する。そして、パケット送信制御部253は、選択された無線送受信部のうちの1つを複数回の送信のそれぞれにおいて決定して、決定した1つの無線送受信部を用いてコマンドパケットを送信する。なお、複数の無線送受信部がパケットを送信する順序は、それぞれの受信品質に応じて決定されてもよい。すなわち、例えば、受信品質が良好な順序で無線送受信部をソートし、受信品質が良好な方から送信回数決定部で決定された回数に応じた個数の無線送受信部を選択し、受信品質が良好な無線送受信部から順に用いて無線パケットが送信されるようにしてもよい。なお、決定された送信回数が、受信品質が良好な無線送受信部の個数より多い場合、同じ無線送受信部が複数回無線パケットを送信するようにしてもよい。この結果、例えば、受信品質が良好な1つの無線送受信部のみが、複数回無線パケットを送信するのであってもよい。
以下、実施形態1と同様に、1つのCCA信号の非アクティブ期間(無信号区間)において、コマンドパケットの送信回数が2回である場合の具体例について説明する。ここでは、例えば、直前の画像データの受信品質として、無線送受信部201では不良、無線送受信部202および第3の無線送受信部203では良好であった場合を考える。この場合、無線制御局204は、次の無信号区間において、1回目に無線送受信部202、2回目に無線送受信部203を用いて、それぞれコマンドパケットを送信する。
また、例えば、直前の画像データの受信品質として、無線送受信部201および無線送受信部202では不良、無線送受信部203だけが良好であった場合を考える。この場合、無信号区間において最大2回のコマンドパケットを送信できるが、受信品質の良好な無線送受信部は1個だけである。このような場合、無線制御局204は、次の無信号区間において、1回目に無線送受信部203からコマンドパケットを送信し、その後2回目においても同様に無線送受信部203からコマンドパケットを送信することができる。この場合、位置的に異なる無線送受信部から送信されたわけではないので空間ダイバーシチ効果による特性改善は得られない。だが、同一データを複数回送信することによって時間ダイバーシチ効果は得られるため、第3の無線送受信部203から1個だけコマンドパケットを送信するよりも通信の信頼性を向上させることができる。
以上、受信品質を良好と不良という2値で分類した場合について説明したが、受信品質情報が多値で表現されてもよい。多値で表現可能な受信品質情報は、例えば、受信機における受信信号強度(RSSI)、SNR、及びCNR等が挙げられる。RSSI情報は受信機が無線信号を受信した時の受信信号強度を示し、一般に、RSSIの値が大きいほどその受信パケットに含まれるデータは誤りなく高い受信品質で復調できる。同様に、SNR又はCNRが高い方が、誤りなくデータを復調できる確率が高くなる。
例えば、無線送受信部201〜203は、それぞれ受信した無線パケットの受信信号強度を測定し、この測定結果をRSSI情報として無線制御局204へ転送する。無線送受信部201〜203のRSSI情報は、無線制御局204において、受信品質判定部280へ転送される。受信品質判定部280はこれらのRSSI情報を参照し、RSSI値の大きなもの、つまり受信品質のより良好なものから順列をつける。パケット送信制御部253は、この順列に関する情報を受信品質判定部280から受け取り、RSSI値が大きい方から順に無線送受信部を選択し、コマンドパケットを送信する。
具体的な例として、無線送受信部201〜203を、直前の画像データを受信した時のRSSI値が大きい順に並べたときに、無線送受信部202、無線送受信部203、無線送受信部201となる場合を考える。この場合、無線制御局204は、次の無信号区間において、最初に無線送受信部202を用いて第1のコマンドパケットを送信し、次に無線送受信部203を用いて第2のコマンドパケットを送信する。ここで、パケットの最大送信回数は2回に制限されているため、無線送受信部201からはコマンドパケットを送信しない。
このように、受信品質に応じて送信品質を予測し、送信品質が良好であると判定できる無線送受信部を選択してコマンドデータを送信することにより、無線移動局110がそのコマンドデータの受信に成功する確率を高めることができる。したがって、コマンドデータを再送する確率を低減することができ、システム全体の処理の遅延を低減することが可能となる。
<<実施形態3>>
本実施形態では、送信側の通信装置において、受信側装置による確認応答に基づく自動再送制御(ARQ:Automatic repeat−request)が使用される場合について説明する。
確認応答は、受信側装置が送信側装置から正常にデータを受信できた場合、その事実を送信側の無線装置へ通知する確認応答パケットなどの信号を、送信側装置へ送信することにより行われる。例えばIEEE802.11規格に定められた無線アクセスプロトコルの仕様では、無線パケットを正しく受信した受信側装置は、ACK(Acknowledge)フレームと呼ばれるコントロールフレームを送信側装置へ送信する。なお、確認応答は、これ以外にも様々な方式が提案されている。
そして、送信側装置は、受信側装置からACKを受信しない場合、直前のデータ伝送に失敗したと判断し、直前に送信したデータと同じデータを再送する。このような自動再送制御によって、受信側装置においてデータを正確に受信するまでデータが再送されるため、送信側装置から受信側装置へ確実にデータを転送することができる。
受信側装置(無線移動局110)は、無線制御局204から送信されるコマンドデータに対する確認応答のために、送信する各画像パケットの末尾に確認応答フィールドを設ける。無線移動局110は、ある画像パケットを送信する直前に無線制御局204からのコマンドパケットを正常に受信した場合、その画像パケットの末尾にある確認応答フィールドに肯定応答(ACK)情報を格納して送信する。一方、無線移動局110は、コマンドパケットを受信しなかった場合、又は受信したが誤りが含まれていた場合は、この確認応答フィールドに否定応答(NACK)情報を格納して送信する。
図9は本実施形態における画像パケットとコマンドパケットを示すタイミング図である。ここでは、実施形態1又は2と同様に無線制御局204には3個の無線送受信部201〜203が接続され、これらすべてが無線移動局110と良好な通信品質を確保でき、3個すべてがコマンドパケットの送信に使用できるとする。また、無信号区間におけるコマンドパケットの最大送信回数は実施形態1又は2と同様に、2回とする。
図9(a)には、最初の無信号区間でコマンドパケットの伝送が成功し、ARQによる再送が発生しない場合の例を示している。本例では、無線制御局204は、無線移動局110からの画像パケット601の受信完了後に、無線送受信部201を用いて第1のコマンドパケット611を送信する。その後、無線制御局204は、無線送受信部202を用いて第2のコマンドパケット612を送信する。通信に利用可能な無線送受信部として無線送受信部203が残されているが、すでにパケットの最大送信回数に等しい2回のコマンドパケットの送信を行ったため、ここでは無線送受信部203からコマンドパケットは送信されない。
無線移動局110は、第1のコマンドパケット611および第2のコマンドパケット612のうち、少なくとも一方を正常に受信すると、確認応答フィールドにACKを格納して、次の画像パケット602を無線制御局204へ送信する。無線制御局204は、この画像パケット602を受信することによって、直前に送信したコマンドパケットが正常に無線移動局110によって受信できたことを認識できる。したがって、無線制御局204は、この画像パケット602の直後の無信号区間ではコマンドパケットを送信しない。
次に、ARQによるコマンドパケットの再送が行われる場合について、図9(b)を用いて説明する。本例でも同様に、画像パケット621を受信した直後の無信号区間において、無線制御局204は、無線送受信部201を用いて第1のコマンドパケット631を、その後、無線送受信部202を用いて第2のコマンドパケット632を、それぞれ送信する。一方、本例では、無線移動局110は、第1のコマンドパケット631と第2のコマンドパケット632のいずれも正しく受信できなかったものとする。この場合、無線移動局110は、確認応答フィールドにNACKを格納して、次の画像パケット622を無線制御局204へ送信する。
無線制御局204は、この画像パケット622を受信すると、確認応答フィールドにNACKが格納されていることから、無線移動局110において直前に送信したコマンドパケットが正常に受信できなかったと判断する。そこで、無線制御局204は、画像パケット622の後に発生する無信号区間において、直前に送信したコマンドデータを再送する。ここで、無線制御局204は、直前の無信号区間で、無線送受信部201と無線送受信部202とからのパケット伝送に失敗していることが分かっている。したがって、無線制御局204は、送信ダイバーシチ効果を得るために、無線送受信部203を用いて第3のコマンドパケット633を送信する。なお、図9(b)において、第3のコマンドパケット633の直後に第4のコマンドパケット634が無線送受信部201から送信されているが、これは、無線送受信部202又は無線送受信部203から送信されてもよい。
このように自動再送制御を適用した場合、送信側の通信装置(無線制御局204)は、複数の無信号区間に跨って、送信ダイバーシチ効果を得ることができる。
なお、一般的に自動再送制御では、何度もデータ伝送を試みても伝送に成功しない場合、最終的に最大試行回数やタイムアウトに達した時点で再送を終了し、送信データを破棄する場合がある。本実施形態に係る通信装置においても、このように再送回数に制限、又は再送を取りやめるためのタイムアウト期間を設けてもよい。
また、本実施形態では、複数の無線送受信部から送信される複数のコマンドパケットに対して、ただ1つの確認応答情報を確認応答フィールドのACK値またはNACK値で送信する場合について説明した。しかしながら、複数の無線送受信部から送信されるそれぞれのコマンドパケットに対して、個別の確認応答情報を無線移動局110から無線制御局204へ送信してもよい。このような個別の確認応答情報は、次に生成されるコマンドデータを伝送する時に使用される無線送受信部の選択基準として利用できる。
また、実施形態1〜3においては、無線制御局204に接続される無線送受信部の個数は3個として説明したが、無線制御局にいかなる個数の無線送受信部が接続されていても、上述の各手法を適用することができる。
<<その他の実施形態>>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。