(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024130554
(43)【公開日】2024-09-30
(54)【発明の名称】センサ及び検出方法
(51)【国際特許分類】
H03K 17/78 20060101AFI20240920BHJP
G01V 8/20 20060101ALI20240920BHJP
【FI】
H03K17/78 Q
G01V8/20 Q
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023040356
(22)【出願日】2023-03-15
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】安藤 信太郎
(72)【発明者】
【氏名】蓬郷 典大
【テーマコード(参考)】
2G105
5J050
【Fターム(参考)】
2G105AA01
2G105BB17
2G105CC01
2G105DD03
2G105EE02
2G105FF12
2G105GG07
2G105HH04
2G105KK05
5J050AA13
5J050BB17
5J050EE31
5J050EE39
5J050FF02
5J050FF08
(57)【要約】
【課題】相互干渉による誤作動を容易に抑制することのできるセンサ及び検出方法を提供する。
【解決手段】センサ(100)であって、周期性を有する疑似乱数列の値とセンサ(100)の固有値とに基づいて、ハッシュ関数によってスクランブル値を算出する算出部(143)と、スクランブル値に基づいて、可変の信号周期を設定する設定部(144)と、信号周期に基づいて、対象物(WK)へ検出信号(DS1)を送信し、対象物(WK)によって反射された検出信号(DS2)を受信する送受信部(110)と、複数の受信された検出信号(DS2)に基づいて、対象物(WK)を検出する検出部(153)と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
センサであって、
周期性を有する疑似乱数列の値と前記センサの固有値とに基づいて、ハッシュ関数によってスクランブル値を算出する算出部と、
前記スクランブル値に基づいて、可変の信号周期を設定する設定部と、
前記信号周期に基づいて、対象物へ検出信号を送信し、前記対象物によって反射された検出信号を受信する送受信部と、
複数の前記受信された検出信号に基づいて、前記対象物を検出する検出部と、を備える、
センサ。
【請求項2】
前記設定部は、基準周期と、拡散幅と、前記スクランブル値とに基づいて、前記信号周期を算出する、
請求項1に記載のセンサ。
【請求項3】
所定のシード値に基づいて、前記疑似乱数列の値を生成する疑似乱数生成部をさらに備える、
請求項1に記載のセンサ。
【請求項4】
前記センサの固有値に基づいて、ハッシュ値を生成するハッシュ値生成部をさらに備え、
前記算出部は、前記疑似乱数列の値と前記ハッシュ値とに基づいて、前記スクランブル値を算出する、
請求項1に記載のセンサ。
【請求項5】
前記ハッシュ値は、前記疑似乱数列の値と同一の桁数を有し、
前記スクランブル値は、前記疑似乱数列の値と前記ハッシュ値との排他的論理和の演算によって算出される、
請求項4に記載のセンサ。
【請求項6】
複数の前記受信された検出信号に基づいて、積算信号を生成する積算信号生成部をさらに備え、
前記検出部は、前記積算信号に基づいて前記対象物を検出する、
請求項1に記載のセンサ。
【請求項7】
前記積算信号を記憶する記憶部をさらに備え、
前記積算信号生成部は、前記検出信号が受信されたときに、該検出信号を前記記憶部に記憶された前記積算信号に加算して該積算信号を更新する、
請求項6に記載のセンサ。
【請求項8】
前記送受信部は、前記信号周期に基づいて、前記対象物へ前記検出信号を送信する送信部と、前記信号周期に基づいて、前記対象物によって前記反射された検出信号を受信する受信部と、を含む、
請求項1に記載のセンサ。
【請求項9】
情報を入力するための入力部をさらに備える、
請求項1に記載のセンサ。
【請求項10】
前記検出信号は、光信号、音波信号、及び電磁波信号のうちのいずれか1つである、
請求項1から9のいずれか1項に記載のセンサ。
【請求項11】
センサの検出方法であって、
周期性を有する疑似乱数列の値と前記センサの固有値とに基づいて、ハッシュ関数によってスクランブル値を算出するステップと、
前記スクランブル値に基づいて、可変の信号周期を設定するステップと、
前記信号周期に基づいて、対象物へ検出信号を送信し、前記対象物によって反射された検出信号を受信するステップと、
複数の前記受信された検出信号に基づいて、前記対象物を検出するステップと、を含む、
検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、センサ及び検出方法に関する。
【背景技術】
【0002】
特許文献1には、投光周期を一定時間ずつ異ならせた投光パターンに従うパルス光の組を信号光として繰り返し発する投光ユニットと、投光ユニットからの信号光を受光する受光素子と、受光素子からの受光信号に基づいて、入光状態および遮光状態を判別する受光制御部とを備え、投光ユニットは、投光パターンとして、投光周期を一定時間ずつ増加させる第1のパターンと、投光周期を一定時間ずつ減少させる第2のパターンとを有し、第1のパターンおよび第2のパターンにおいて、最短周期を表すパルスが、最短周期以外の投光周期内に含まれる光電センサが開示されている。この光電センサでは、相互干渉による誤動作を防止可能となる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、対象物に対して複数のセンサを配置する場合、例えば、隣り合う2つのセンサのうち、一方のセンサから投光され、対象物によって反射された光が、他方のセンサによって受光される現象、いわゆる相互干渉が発生し、他のセンサによる意図しない動作、つまり、誤作動を招くおそれがある。
【0005】
従来のセンサでは、2つのセンサにおいて、それぞれ異なる所定時間の投光周期が設定された複数のチャネルが用意されており、相互干渉による誤作動を防ぐために、それぞれのセンサにおいて、異なるチャネルを設定していた。しかしながら、この方法では、ユーザによるチャネル設定の必要があるため、煩雑であった。
【0006】
本発明は、このような事情に鑑みてなされたものであり、相互干渉による誤作動を容易に抑制することのできるセンサ及び検出方法を提供することを目的の1つとする。
【課題を解決するための手段】
【0007】
本開示の一態様に係るセンサは、センサであって、周期性を有する疑似乱数列の値とセンサの固有値とに基づいて、ハッシュ関数によってスクランブル値を算出する算出部と、スクランブル値に基づいて、可変の信号周期を設定する設定部と、信号周期に基づいて、対象物へ検出信号を送信し、対象物によって反射された検出信号を受信する送受信部と、複数の受信された検出信号に基づいて、対象物を検出する検出部と、を備える。
【0008】
この態様によれば、周期性を有する疑似乱数列の値とセンサの固有値とに基づいて、ハッシュ関数によってスクランブル値が算出され、スクランブル値に基づいて、可変の信号周期が設定され、信号周期に基づいて、対象物へ検出信号が送信され、対象物によって反射された検出信号が受信され、複数の受信された検出信号に基づいて、対象物が検出される。これにより、複数のセンサを配置する場合に、隣り合うセンサ間において、互いの信号周期が一致する可能性を低減することが可能となる。従って、従来のようにユーザが複数のセンサにおいて異なる周期を設定する作業が必要なくなり、相互干渉による誤作動を容易に抑制することができる。また、隣り合うセンサにおいて同じ疑似乱数列の値を利用して信号周期を設定する場合であっても、ハッシュ関数によってスクランブル値を算出することで、周期性のある疑似乱数列の順序(並び)を変更したスクランブル値を得ることが可能となる。従って、センサ間において、設定された信号周期が連続して同一になる確率を低減することができ、相互干渉による誤作動をさらに抑制することができる。
【0009】
前述した態様において、設定部は、基準周期と、拡散幅と、スクランブル値とに基づいて、信号周期を算出してもよい。
【0010】
この態様によれば、基準周期と、拡散幅と、スクランブル値とに基づいて、信号周期が算出される。これにより、信号周期を所定の範囲に拡散させることが可能となる。
【0011】
前述した態様において、所定のシード値に基づいて、疑似乱数列の値を生成する疑似乱数生成部をさらに備えてもよい。
【0012】
この態様によれば、所定のシード値に基づいて、疑似乱数列の値が生成される。これにより、周期性を有し、かつ、再現性のある疑似乱数列の値を、容易に生成することができる。
【0013】
前述した態様において、センサの固有値に基づいて、ハッシュ値を生成するハッシュ値生成部をさらに備え、算出部は、疑似乱数列の値とハッシュ値とに基づいて、スクランブル値を算出してもよい。
【0014】
この態様によれば、疑似乱数列の値と、ハッシュ値とに基づいて、ハッシュ関数によって算出されたスクランブル値が算出される。これにより、例えば、隣り合うセンサにおいて、2つの個体シリアル番号が連続する場合でも、ハッシュ値に基づくスクランブル値を算出することで、スクランブル値を所定の範囲に分散して分布させることができる。
【0015】
前述した態様において、ハッシュ値は、疑似乱数列の値と同一の桁数を有し、スクランブル値は、疑似乱数列の値とハッシュ値との排他的論理和の演算によって算出されてもよい。
【0016】
この態様によれば、ハッシュ値が疑似乱数列の値と同一の桁数を有する場合、スクランブル値は、疑似乱数列の値とハッシュ値との排他的論理和の演算によって算出される。これにより、疑似乱数列の値の桁数とハッシュ値の桁数とが同じ場合に、疑似乱数列における値の順序(並び)を入れ替えることができ、スクランブル値を容易に算出することができる。
【0017】
前述した態様において、複数の受信された検出信号に基づいて、積算信号を生成する積算信号生成部をさらに備え、検出部は、積算信号に基づいて対象物を検出してもよい。
【0018】
この態様によれば、生成された積算信号に基づいて、対象物が検出される。これにより、複数回受信された検出信号を平均化することでき、隣り合うセンサ間で偶発的な信号周期の位相の一致が発生しても、平均化によってその影響を緩和することができる。
【0019】
前述した態様において、積算信号を記憶する信号記憶部をさらに備え、積算信号生成部は、検出信号が受信されたときに、検出信号を記憶部に記憶された積算信号に加算して積算信号を更新してもよい。
【0020】
この態様によれば、検出信号を受信したときに、当該検出信号を記憶部に記憶された積算信号に加算して当該積算信号が更新される。これにより、検出信号が受信されるごとに記憶部に記憶された積算信号に加算され、積算信号が更新されるので、検出信号を複数回受信することで、複数の検出信号を積算した積算信号を容易に生成することができる。
【0021】
前述した態様において、送受信部は、信号周期に基づいて、対象物へ検出信号を送信する送信部と、信号周期に基づいて、対象物によって反射された検出信号を受信する受信部と、を含んでもよい。
【0022】
この態様によれば、信号周期に基づいて対象物へ検出信号を送信する送信部と、信号周期に基づいて対象物によって反射された検出信号を受信する受信部とが含まれる。これにより、送信部及び受信部のそれぞれを、別部材として構成(実現)することができる。
【0023】
前述した態様において、情報を入力するための入力部をさらに備えてもよい。
【0024】
この態様によれば、情報を入力するための操作部を備える。これにより、例えば、信号周期を設定するための拡散幅及び基準周期や、疑似乱数列の値等を外部から入力すること可能となる。
【0025】
前述した態様において、検出信号は、光信号、音波信号、及び電磁波信号のうちのいずれか1つであってもよい。
【0026】
この態様によれば、検出信号が、光信号、音波信号、及び電磁波信号のうちのいずれか1つである。これにより、検出信号を送信及び受信するための送受信部を容易に構成(実現)することができる。
【0027】
本開示の他の態様に係る検出方法は、センサの検出方法であって、周期性を有する疑似乱数列の値とセンサの固有値とに基づいて、ハッシュ関数によってスクランブル値を算出するステップと、スクランブル値に基づいて、可変の信号周期を設定するステップと、信号周期に基づいて、対象物へ検出信号を送信し、対象物によって反射された検出信号を受信するステップと、複数の受信された検出信号に基づいて、対象物を検出するステップと、を含む。
【0028】
この態様によれば、周期性を有する疑似乱数列の値とセンサの固有値とに基づいて、ハッシュ関数によってスクランブル値が算出され、スクランブル値に基づいて、可変の信号周期が設定され、信号周期に基づいて、対象物へ検出信号が送信され、対象物によって反射された検出信号が受信され、複数の受信された検出信号に基づいて、対象物が検出される。これにより、複数のセンサを配置する場合に、隣り合うセンサ間において、互いの信号周期が一致する可能性を低減することが可能となる。従って、従来のようにユーザが複数のセンサにおいて異なる周期を設定する作業が必要なくなり、相互干渉による誤作動を容易に抑制することができる。また、隣り合うセンサにおいて同じ疑似乱数列の値を利用して信号周期を設定する場合であっても、ハッシュ関数によってスクランブル値を算出することで、周期性のある疑似乱数列の順序(並び)を変更したスクランブル値を得ることが可能となる。従って、センサ間において、設定された信号周期が連続して同一になる確率を低減することができ、相互干渉による誤作動をさらに抑制することができる。
【発明の効果】
【0029】
本発明によれば、相互干渉による誤作動を容易に抑制することができる。
【図面の簡単な説明】
【0030】
【
図1】
図1は、一実施形態における検出システムの配置を示す概略図である。
【
図2】
図2は、一実施形態におけるセンサの構成を示す構成図である。
【
図3】
図3は、
図2に示すハッシュ値生成部によるハッシュ値の生成を説明するための概略図である。
【
図4】
図4は、
図2に示すスクランブル値算出部によるスクランブル値の算出を説明するための図である。
【
図5】
図5は、数列におけるスクランブル値の算出の有無による差異を説明するための図である。
【
図6】
図6は、信号周期におけるスクランブル値の有無による差異を説明するための図である。
【
図7】
図7は、信号周期におけるスクランブル値の有無によるシミュレーション結果の差異を示すグラフである。
【
図8】
図8は、信号周期の変更の有無による差異を説明するための図である。
【
図9】
図9は、一実施形態におけるセンサが行う有無検出処理の一例を説明するためのフローチャートである。
【
図10】
図10は、一実施形態の第1変形例におけるセンサの構成を示す構成図である。
【
図11】
図11は、一実施形態の第2変形例におけるセンサの構成を示す構成図である。
【発明を実施するための形態】
【0031】
以下に本発明の実施形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号で表している。但し、図面は模式的なものである。従って、具体的な寸法等は以下の説明を照らし合わせて判断するべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。さらに、本発明の技術的範囲は、当該実施形態に限定して解するべきではない。
【0032】
なお、いくつかの図面において、図面相互の関係を明らかにし、各構成要素の位置関係、向き等を理解する助けとするために、便宜的にX軸、及びY軸から構成される直交座標系を付すことがある。各図面におけるX軸、及びY軸は、互いに対応している。
【0033】
また、本実施形態では、特に明示する場合を除き、信号の媒体として光を用い、光信号を送信及び受信する光学式のセンサの例について説明する。なお、後述の変形例で説明するように、本実施形態のセンサは、光信号を送受信する場合に限定されるものではなく、他の媒体、例えば、超音波を含む音波や、電磁波(以下、「電波」ともいう)等の媒体によって信号を送信及び受信するセンサであってもよい。
【0034】
まず、
図1を参照しつつ、一実施形態に従う光学式センサを含む検出システムについて説明する。
図1は、一実施形態における検出システム200の配置を示す概略図である。
【0035】
図1に示すように、検出システム200は、複数のセンサ100-1,100-2,100-3(以下、個々のセンサを区別しない場合、これらをまとめて「センサ100」ともいう)を含んで構成されている。各センサ100-1,100-2,100-3は、対象物(以下、「ワークWK」ともいう)を検出するように配置される。具体的には、例えば工場の製造ライン等に設置されたコンベアベルト等の運搬装置BC上に載置されるワークWKに対し、各センサ100-1,100-2,100-3は、運搬装置BCの上方の位置から光を投光し、ワークWKからの反射光を受光するように配置されている。各センサ100-1,100-2,100-3は、ケーブル101-1,101-2,101-3(以下、個々のケーブルを区別しない場合、これらをまとめて「ケーブル101」ともいう)を介して、異なる制御対象装置102-1,102-2,102-3に接続されている。制御対象装置102-1,102-2,102-3は、例えば電磁弁やアクチュエータ等であり、センサ100-1,100-2,100-3から出力された信号に基づいて、動作するように構成されている。センサ100-1,100-2,100-3は、他のセンサとの間で、データ通信や信号等のやり取りは行っておらず、それぞれ異なる制御対象装置102-1,102-2,102-3に接続されている。よって、各センサ100-1,100-2,100-3は、非同期で動作することになる。
【0036】
図1に示すように、ワークWKに対して複数のセンサ100-1,100-2,100-3を配置する場合、例えば、隣り合う2つのセンサ100-1,100-2のうち、一方のセンサ100-1から投光され、ワークWKによって反射された光が、他方のセンサ100-2によって受光される現象、いわゆる相互干渉が発生し、他のセンサ100-2における意図しない動作、つまり、誤作動を招くおそれがある。
【0037】
従来のセンサでは、2つのセンサにおいて、それぞれ異なる所定時間の投光周期が設定された複数のチャネルが用意されており、相互干渉による誤作動を防ぐために、あらかじめ、あるいは、事後的に、それぞれのセンサにおいて、異なるチャネルを設定していた。
【0038】
しかしながら、この方法では、ユーザによるチャネル設定の必要があるため、煩雑であった。
【0039】
<構成>
次に、
図2から
図8を参照しつつ、一実施形態に従うセンサの構成について説明する。
図2は、一実施形態におけるセンサ100の構成を示す構成図である。
図3は、
図2に示すハッシュ値生成部142によるハッシュ値の生成を説明するための概略図である。
図4は、
図2に示すスクランブル値算出部143によるスクランブル値の算出を説明するための図である。
図5は、数列におけるスクランブル値の算出の有無による差異を説明するための図である。
図6は、信号周期におけるスクランブル値の有無による差異を説明するための図である。
図7は、信号周期におけるスクランブル値の有無によるシミュレーション結果の差異を示すグラフである。
図8は、信号周期の変更の有無による差異を説明するための図である。
【0040】
本実施形態におけるセンサ100は、ワークWKの有無や、センサ100からワークWKまでの距離等を検出するセンサである。センサ100は、光をワークWKへ向けて投光し、ワークWKによって反射されて戻ってくる光を受光するように構成されている。
【0041】
以下の説明では、特に明示する場合を除き、センサ100は、ワークWKへ投光された光が反射して戻ってくるまでの時間を測定することにより距離を検出するToF(Time of Flight)センサである例を用いる。なお、本実施形態のセンサは、ToFセンサである場合に限定されるものではなく、他の光学式センサ、例えば三角測距を測定原理とする光電センサ等であってもよい。
【0042】
図2に示すように、センサ100は、例えば、送受信部110と、信号処理部140と、制御部150と、記憶部160と、操作部170と、表示部180と、を備える。
【0043】
送受信部110は、信号周期に基づいて、ワークWKへ検出信号DS1を送信し、ワークWKによって反射された検出信号DS2を受信するように構成されている。信号周期は、可変であり、後述する信号周期設定部144によって設定される。
【0044】
図2に示すように、送受信部110は、送信部120と受信部130とを含んで構成されていてもよい。
【0045】
送信部120は、信号周期に基づいて、ワークWKへ検出信号DS1を送信するように構成されている。送信部120は、例えば発光素子121と駆動回路122とを含んで構成される。発光素子121は、例えば635nmから680nmまでの間の赤色光を出射するレーザダイオードである。なお、発光素子121は、コヒーレント光を出射するレーザダイオードに限定されず、発光ダイオード(LED:Light Emitting Diode)等のインコヒーレント光を出射する素子を用いてもよい。駆動回路122は、後述する信号処理部140のタイミング制御部145から入力される信号に基づいて、発光素子121を駆動する駆動信号を生成し、当該駆動信号を発光素子121に出力する。よって、駆動回路122の駆動信号は、発光素子121から送信される検出信号DS1のトリガとなる。発光素子121は、駆動信号により特定の周波数、例えば250kHzから600kHz程度に変調された光パルスの検出信号DS1を出射する。検出信号DS1の波長帯域が可視帯域であれば、ワークWKに照射されたスポットを視認することができるので、検出信号DS1を所望の方向へ向けて調整する場合や、対象物WKにおける照射箇所を確認する場合に好適である。
【0046】
受信部130は、前述した信号周期に基づいて、ワークWKによって反射された検出信号DS2を受信するように構成されている。受信部130は、例えば受光素子131と増幅回路132と波形整形回路133とを含んで構成される。受光素子131は、例えば、APD(Avalanche Photo Diode)、SPAD(Single Photon Avalanche Diode)等のフォトダイオード、又は、二次元状に配列された光電変換画素を有するCMOSセンサである。受光素子131は、光信号である検出信号DS2を受光して電気信号に変換する。電気信号に変換された検出信号は、増幅回路132によって所定のゲイン(利得)で増幅され、波形整形回路133によって検出信号の信号波形が整形される。成形された検出信号は、信号処理部140に出力される。なお、
図2では、ワークWKへ向けて送信される検出信号DS1の経路と、ワークWKによって反射された検出信号DS2の経路とが異なる場合を示している。検出信号DS1と検出信号DS2とが同一経路である場合、検出信号DS1及び検出信号DS2は、例えばハーフミラーを用いて分離される。
【0047】
このように、送受信部110が、信号周期に基づいてワークWKへ検出信号DS1を送信する送信部120と、信号周期に基づいてワークWKによって反射された検出信号DS2を受信する受信部130とを含むことにより、送信部120及び受信部130のそれぞれを、別部材として構成(実現)することができる。
【0048】
本実施形態では、センサ100は、送信部120及び受信部130のそれぞれを、別々に備える例を示したが、これに限定されるものではない。センサ100は、送信部120及び受信部130の一部又は全部を一体として構成して備えていてもよい。
【0049】
信号処理部140は、送信部120から送信する検出信号DS1、及び、受信部130が受信する検出信号DS2に対する処理を行うように構成されている。特に、信号処理部140は、検出信号DS1及び検出信号DS2の信号周期に関する様々な処理を実行するように構成されている。信号処理部140は、例えば、FPGA(Field Programmable Gate Array)等の集積回路を含んで構成される。この集積回路は、チップ上やパッケージ内に搭載されるキャッシュメモリ等の記憶装置を含んでいてもよい。なお、信号処理部140の集積回路は、FPGAに限定されず、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、SoC(Sysmtem-on-a-Chip)等の集積回路を用いてもよい。信号処理部140の詳細については、後述する。
【0050】
信号処理部140は、後述する制御部150との間で、データや信号をやり取りするように構成されている。例えば、信号処理部140及び制御部150は、1つ又は複数のバス、及び信号線で互いに接続されており、データの送信及び受信、並びに、信号の入力及び出力が、双方向で可能になっている。
【0051】
制御部150は、センサ100の各部の動作を制御するように構成されている。特に、制御部150は、ワークWKの検出に関する様々な処理を実行するように構成されている。制御部150は、例えば、CPU等の集積回路を含んで構成される。この集積回路は、チップ上やパッケージ内に搭載されるキャッシュメモリ等の記憶装置を含んでいてもよい。なお、制御部150の集積回路は、CPUに限定されず、DSP、ASIC、PLD、FPGA、SoC等の集積回路を用いてもよい。制御部150の詳細については、後述する。
【0052】
本実施形態では、センサ100は、信号処理部140及び制御部150のそれぞれを、別々に備える例を示したが、これに限定されるものではない。センサ100は、信号処理部140及び制御部150の一部又は全部を、一体として構成して備えていてもよい。
【0053】
記憶部160は、プログラムやデータ等を記憶するためのものである。記憶部160は、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)及び/又はRAM(Random Access Memory)等のメモリを含んで構成される。記憶部160は、シード値、個体シリアル番号、拡散幅、基準周期、積算回数、しきい値等の情報をあらかじめ記憶している。これらの情報は、それぞれ、1つである場合に限定されず、複数を記憶していてもよい。
【0054】
操作部170は、情報を入力するための入力部の機能を果たすように構成されている。より詳細には、操作部170は、ユーザの操作によって入力される情報に対応するデータを生成するように構成されている。操作部170は、ユーザからの指定を受け付けるために、例えば、UPボタンとDOWNボタン、十字ボタン等の操作部材を含んで構成される。なお、操作部材は、ボタン類に限定されず、タッチセンサ、キーボード等の他の入力デバイスを含んでいてもよい。また、操作部170は、後述する制御部150の設定管理部151と協働して、信号周期を設定するための拡散幅及び基準周期の指定を受け付ける機能を担っていてもよい。さらに、操作部170は、センサ100の各種項目に対する入力を受け付ける機能を担っていてもよい。
【0055】
このように、センサ100が情報を入力するための操作部170を備えることにより、例えば、信号周期を設定するための拡散幅及び基準周期や、疑似乱数列の値等を外部から入力すること可能となる。
【0056】
表示部180は、センサ100の設定状態、検出結果としての距離情報、検出情報、未検出情報等を表示するためのものである。表示部180は、例えば液晶ディスプレイ、EL(Electro Luminescence)ディスプレイ、7セグメントディスプレイ、LCD(Liquid Crystal Display)等の表示装置を含んで構成される。なお、表示部180は、表示装置に代えて、又は、表示装置とともに、センサ100の設定状態を示すためのLED等を含んでいてもよい。
【0057】
(信号処理部の機能構成)
信号処理部140は、その機能として、例えば、疑似乱数生成部141と、ハッシュ値生成部142と、スクランブル値算出部143と、信号周期設定部144と、タイミング制御部145と、信号記憶部147と、を備え得る。
【0058】
疑似乱数生成部141は、所定のシード値に基づいて、疑似乱数列の値を生成するように構成されている。疑似乱数生成部141によって生成される値は、周期性を有する疑似乱数列のうちの1つである。所定のシード値は、例えば、記憶部160にあらかじめ記憶されており、本実施形態では、特に明示する場合を除き、“1”が与えられる。
【0059】
具体的には、疑似乱数生成部141は、n(nは2以上の正の整数)ビットの線形帰還シフトレジスタ(LFSR:Linear Feadback Shift Register)を用い、nビットのM系列の疑似乱数を生成する。すなわち、疑似乱数生成部141が生成する疑似乱数列は、オールゼロ以外の2n-1個の数値(状態)を所定の順序(並び)で遷移し、元に戻る周期を有する。この疑似乱数列は、シード値が設定されることで再現性を有しており、同じシード値が与えられると、同一の疑似乱数列の値が生成される。
【0060】
このように、所定のシード値に基づいて、疑似乱数列の値を生成することにより、周期性を有し、かつ、再現性のある疑似乱数列の値を、容易に生成することができる。
【0061】
本実施形態では、ビット数は16ビット(n=16)とし、疑似乱数生成部141は、65535(216-1)通りの疑似乱数列の値を生成する例を用いて説明する。つまり、疑似乱数列の値は、16ビットの値として表される。
【0062】
ハッシュ値生成部142は、センサ100の固有値に基づいて、ハッシュ値を生成するように構成されている。センサ100の固有値は、センサ100に固有の値であり、当該センサ100に与えられた一意の値である。固有値は、例えばセンサ100の個体シリアル番号である。本実施形態では、8バイトのASCII文字列である例を用いて説明する。
【0063】
また、ハッシュ値生成部142によるハッシュ値の生成には、多種多様なアルゴリズムを採用し得る。
図3は、センサ100の固有値からハッシュ値を生成するアルゴリズムとして、巡回冗長検査(CRC)の1つであるCRC-16-CCITTを選択した例を示している。
図3に示すように、生成されるハッシュ値は、前述した疑似乱数列の値と同じ桁数を有する、つまり、16ビットの値である。例えば“00000000”及び“00000001”のように、2つのセンサ100の固有値が連続する値が1つのビットのみ異なる場合でも、ハッシュ値生成部142により生成されるハッシュ値は、3つのビット(桁)で異なっている。
【0064】
このように、センサ100の固有値に基づいて、ハッシュ値を生成することにより、例えば8バイトの個体シリアル番号から16ビットのハッシュ値が生成され、所望の桁数を有するハッシュ値に変換することができる。
【0065】
図2の説明に戻り、スクランブル値算出部143は、疑似乱数列の値と、センサ100の固有値とに基づいて、ハッシュ関数によってスクランブル値を算出するように構成されている。疑似乱数列の値は、例えば疑似乱数生成部141によって生成された値である。また、センサ100の固有値は、例えば前述したセンサ100の個体シリアル番号自体、又は、当該個体シリアル番号に基づく値である。
【0066】
より詳細には、センサ100がハッシュ値生成部142を備える場合、スクランブル値算出部143は、疑似乱数列の値と、ハッシュ値とに基づいて、ハッシュ関数によってスクランブル値を算出するように構成されている。これにより、例えば、隣り合うセンサにおいて、2つの個体シリアル番号が連続する場合でも、ハッシュ値に基づくスクランブル値を算出することで、スクランブル値を所定の範囲に分散して分布させることができる。
【0067】
また、スクランブル値算出部143によるスクランブル値の算出には、様々なハッシュ関数を使用し得る。
図4は、ハッシュ関数として排他的論理和(XOR)を使用した例を示している。また、
図4では、説明を簡略化するために、疑似乱数列の値を“1”から“15”までの連続した値である例を示している。
図4に示すように、疑似乱数列の値とハッシュ値との排他的論理和の演算によるスクランブル値は、ハッシュ値が“0”である場合を除き、ハッシュ値を変えたときに、疑似乱数列の値の連続した順序(並び)が入れ替わった値となっている。
【0068】
ここで、数列におけるスクランブル値の算出の有無による差異を説明する。
図5の右側に示すように、スクランブル値算出部143が、例えば排他的論理和の演算によって、疑似乱数列Aの値とセンサ100の固有値とに基づくスクランブル値を算出する場合、スクランブル値の数列は、疑似乱数列Aの順序(並び)の少なくとも一部を入れ替えることができる。
【0069】
これに対し、本実施形態のセンサ100との比較のために、
図5の左側に示すように、疑似乱数列Aに対してシード値のみを変更した疑似乱数列Bの値を生成すると仮定する場合、疑似乱数列Aの値と疑似乱数列Bの値とを対比すると、疑似乱数列Bの値は、疑似乱数列Aと初期値が異なるものの、その順序(並び)は変わらず、同じままである。
【0070】
ハッシュ値が疑似乱数列の値と同一の桁数を有する場合、スクランブル値は、疑似乱数列の値とハッシュ値との排他的論理和(XOR)の演算によって算出されてもよい。これにより、疑似乱数列の値の桁数とハッシュ値の桁数とが同じ場合に、疑似乱数列における値の順序(並び)を入れ替えることができ、スクランブル値を容易に算出することができる。
【0071】
スクランブル値の算出は、排他的論理和(XOR)の演算によって算出される場合に限定されるものではない。スクランブル値算出部143は、排他的論理和以外のもの、例えば所定のハッシュ関数を用いてスクランブル値を算出してもよい。より詳細には、スクランブル値は、疑似乱数列の値とセンサ100の固有値に基づく値とを入力とするハッシュ関数によって出力される値であってもよい。これにより、疑似乱数列における値の順序(並び)を入れ替えることができ、ハッシュ関数に入力される値の桁数を問わず、スクランブル値を容易に得ることができる。
【0072】
図2の説明に戻り、信号周期設定部144は、スクランブル値に基づいて、信号周期を設定するように構成されている。設定される信号周期は、可変、すなわち、変更可能な周期である。信号周期設定部144は、例えばスクランブル値が算出される毎に、信号周期を変更して設定する。
【0073】
より詳細には、信号周期設定部144は、基準周期と、拡散幅と、スクランブル値とに基づいて、信号周期を算出するように構成されている。基準周期と、拡散幅は、記憶部160に記憶されており、ワークWKを検出する前に、後述する設定管理部151によって、あらかじめ設定される。
【0074】
具体的には、信号周期Tm(mは周期の番号を表す正の整数)は、例えば以下の式(1)で算出される。
信号周期Tm=基準周期+{(拡散幅×スクランブル値)/32768}-拡散幅 …(1)
【0075】
式(1)によって算出される信号周期Tmは、(基準周期-拡散幅)から(基準周期+拡散幅-1)の範囲に分布することになる。このように、基準周期と、拡散幅と、スクランブル値とに基づいて、信号周期Tmを算出することにより、信号周期Tmを所定の範囲に拡散させることが可能となる。
【0076】
ここで、信号周期におけるスクランブル値の有無による差異を説明する。
図6の下段に示すように、隣り合う2つのセンサ100、例えば、
図1に示すセンサ100-1とセンサ100-2において、例えば排他的論理和の演算によってスクランブル値が算出され、信号周期設定部144が、当該スクランブル値に基づく信号周期を設定する場合、スクランブル値は疑似乱数列の順序(並び)を入れ替えた値であるため、たとえある周期で2つ信号周期の位相が一致することがあっても、次の周期において位相が一致するケースを低減することができる。なお、
図6の下段の例は、
図5の右側に示す例に対応する。
【0077】
これに対し、本実施形態のセンサ100との比較のために、
図6の上段に示すように、隣り合う2つの仮想センサA及び仮想センサBにおいて、疑似乱数列Aの値に基づく信号周期と、シード値のみを変更した疑似乱数列Bの値に基づく信号周期を設定すると仮定した場合、2つの信号周期の位相がある周期で一致すると、以後の周期においても連続して位相が一致する蓋然性が高いといえる。なお、
図6の上段の例は、
図5の左側に示す例に対応する。
【0078】
図2の説明に戻り、タイミング制御部145は、設定された信号周期に基づいて、タイミング信号を生成する。タイミング信号は、例えばパルス状の信号であり、設定された信号周期に応じたタイミングで、生成される。生成されたタイミング信号は、送信部120に出力されるとともに、積算信号生成部146に出力される。
【0079】
積算信号生成部146は、複数の受信された検出信号に基づいて、積算信号を生成するように構成されている。生成される積算信号は、例えば、複数回受信された検出信号を、当該複数回積算して生成された信号である。
【0080】
前述したように、積算信号生成部146には、タイミング制御部145からタイミング信号が入力される。積算信号生成部146は、このタイミング信号に従って動作し、タイミング信号に基づく所定期間内に、受信部から出力され、入力された検出信号を受け取る。そして、複数回受け取った検出信号に基づいて、積算信号を生成する。これにより、複数回受信した検出信号を平均化することできる。
【0081】
ここで、信号周期におけるスクランブル値の有無によるシミュレーション結果の差異を説明する。
図7に示すシミュレーションでは、基準周期は、165MHz動作時における265クロックであって、約1.6[μs](=265/165MHz)、拡散幅は、165MHz動作時における26クロックであって、約0.16[μs](=26/165MHz)、積算回数は270回、2つのセンサにおいて、一方のハッシュ値を“0x0D787”に、他方のハッシュ値を“0xC7A6”に、一方のシード値を“1”に固定した場合を条件とする。グラフは、 “1”から“65535”の間で変更する他方のセンサにおけるシード値を横軸とし、2つのセンサおける送信する検出信号の重複数を縦軸とする。
【0082】
図7の下段に示すように、例えば、排他的論理和の演算によってスクランブル値が算出され、信号周期設定部144がスクランブル値に基づく信号周期を設定する場合、2つのセンサにおいて、信号周期の位相が一致する重複数は、最大でも11程度である。一般に、許容できる重複数の目安は、積算回数の1/10以下程度であり、下段のシミュレーション結果では、27回以下であるため、相互干渉による誤作動は生じないものとみなすことができる。なお、
図7の下段のシミュレーション結果は、
図6の下段に示す例に対応する。
【0083】
これに対し、本実施形態のセンサ100との比較のために、
図7の上段に示すように、2つのセンサにおいて、疑似乱数列Aの値に基づく信号周期と、シード値のみを変更した疑似乱数列Bの値に基づく信号周期を設定すると仮定した場合、シード値が“1”のときに重複数が大幅に増加している。この場合、2つのセンサのうちの少なくとも一方は、相互干渉による誤作動が発生する蓋然性が高いといえる。なお、
図7の上段のシミュレーション結果は、
図6の上段に示す例に対応する。
【0084】
図2の説明に戻り、信号記憶部147は、生成された積算信号を記憶するように構成されている。信号記憶部147には、積算信号生成部146が接続されており、積算信号生成部146は、信号記憶部147の情報を読み出し可能、かつ、信号記憶部147に情報を書き出し可能となっている。信号記憶部147には、検出信号を受信したときに、当該検出信号を信号記憶部147に記憶された積算信号に加算して当該積算信号を更新するように構成されている。
【0085】
このように、検出信号を受信したときに、当該検出信号を信号記憶部147に記憶された積算信号に加算して当該積算信号を更新することにより、検出信号が受信されるごとに信号記憶部147に記憶された積算信号に加算され、積算信号が更新されるので、検出信号を複数回受信することで、複数の検出信号を積算した積算信号を容易に生成することができる。
【0086】
なお、疑似乱数生成部141、ハッシュ値生成部142、スクランブル値算出部143、信号周期設定部144、タイミング制御部145、及び信号記憶部147のうちの少なくとも1つは、信号処理部140の集積回路における一例であるプロセッサが、記憶部160に記憶されたプログラムを実行することにより実現されてもよい。プログラムを実行する場合、当該プログラムは、記憶媒体に格納されていてもよい。当該プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体(Non-Transitory computer readable medium)であってもよい。非一時的な記憶媒体は、特に限定されないが、例えば、USB(Universal Serial Bus)メモリ、MMC(embedded Multi Media Card)、SD(Secure Digital)メモリカード、SSD(Solid State Drive)等の記憶媒体であってもよい。
【0087】
また、
図2に示す信号処理部140の機能は一例である。信号処理部140は、これら以外の機能を備えてもよいし、これらの機能のうちの一部を備えなくてもよい。
【0088】
(制御部の機能構成)
制御部150は、その機能として、例えば、設定管理部151と、距離算出部152と、検出部153と、を備え得る。
【0089】
設定管理部151は、センサ100に対する設定を管理するためのものである。設定管理部151による管理対象の設定は、例えば、基準周期、拡散幅、積算回数等である。より詳細には、ユーザの操作により、操作部170を介して決定された応答時間に対し、当該応答時間に対応付けられた、基準周期、拡散幅、積算回数を設定する。例えば、応答時間2[ms]には、基準周期1.6[μs]、拡散幅0.2[μs]、積算回数250[回]が、応答時間10[ms]には、基準周期4.0[μs]、拡散幅0.2[μs]、積算回数500[回]が、応答時間50[ms]には、基準周期4.0[μs]、拡散幅0.2[μs]、積算回数2500[回]が、応答時間200[ms]には、基準周期4.0[μs]、拡散幅0.2[μs]、積算回数10000[回]が、それぞれ、対応づけられている。これらの値は、前述した記憶部160にあらかじめ記憶される。ユーザが、操作部170を操作して、例えばワークWKの速度、反射率、状態等に応じた応答時間を選択すると、設定管理部151は、選択された応答時間に対応する基準周期、拡散幅、及び積算回数を記憶部160から読み出して設定値として設定する。
【0090】
距離算出部152は、複数の受信された検出信号DS2に基づいて、ワークWKとセンサ100との間の距離を算出するように構成されている。距離算出部152は、複数の受信された検出信号DS2として、例えば、信号記憶部147に記憶された積算信号を使用する。具体的には、距離算出部152は、基準周期で送信したときの検出信号DS1と、複数の受信された検出信号DS2である積算信号との時間差を、例えば両者の位相差を用いて演算し、ワークWKまでの距離に変換する。なお、前述したように、検出信号DS1は可変の信号周期で送信され、基準周期で送信されるものではないが、信号周期は基準周期に対して拡散幅の2倍の範囲で拡散されるであるから、十分な回数の検出信号DS1の周期の平均値は、基準周期と同一又は略同一であると見なすことができる。
【0091】
検出部153は、複数の受信された検出信号に基づいて、対象物であるワークWKを検出するように構成されている。
【0092】
このように、センサ100は、周期性を有する疑似乱数列の値とセンサ100の固有値とに基づいて、ハッシュ関数によってスクランブル値が算出され、スクランブル値に基づいて、可変の信号周期が設定され、信号周期に基づいて、ワークWKへ検出信号が送信され、ワークWKによって反射された検出信号が受信され、複数の受信された検出信号に基づいて、ワークWKが検出される。これにより、複数のセンサを配置する場合に、隣り合うセンサ間において、互いの信号周期が一致する可能性を低減することが可能となる。従って、従来のようにユーザが複数のセンサにおいて異なる周期を設定する作業が必要なくなり、相互干渉による誤作動を容易に抑制することができる。また、隣り合うセンサにおいて同じ疑似乱数列の値を利用して信号周期を設定する場合であっても、ハッシュ関数によってスクランブル値を算出することで、周期性のある疑似乱数列の順序(並び)を変更したスクランブル値を得ることが可能となる。従って、センサ間において、設定された信号周期が連続して同一になる確率を低減することができ、相互干渉による誤作動をさらに抑制することができる。
【0093】
より詳細には、検出部153は、生成された積算信号に基づいて、ワークWKを検出するように構成されている。例えば、検出部153は、積算信号に基づいて算出されたワークWKまでの距離としきい値とを比較し、算出された距離がしきい値以下であればワークWKありと判定し、算出された距離がしきい値より大きければワークWKなしと判定する。検出部153は、判定結果に対応する信号を表示部180に出力して、ワークWKの検出の有無を表示させる。また、検出部153は、判定結果に対応する信号を、例えば
図1に示すケーブル101を介して外部に出力する。
【0094】
このように、生成された積算信号に基づいて、ワークWKを検出することにより、複数回受信された検出信号を平均化することでき、隣り合うセンサ間で偶発的な信号周期の位相の一致が発生しても、平均化によってその影響を緩和することができる。
【0095】
ここで、信号周期の変更の有無による差異を説明する。
図8の右側に示すように、本実施形態のセンサ100のように、信号周期が可変であり、スクランブル値に基づく信号周期が設定される場合、例えば、1回目の信号周期と位相が同期したノイズを受けたときに、2回目、3回目、4回目の信号周期は、それぞれ、1回目の信号周期と位相がずれているので、これら4回分の検出信号に基づいて生成された積算信号では、当該ノイズの成分は、平均化され、ノイズの影響を緩和することができる。その結果、ワークWKによって反射された検出信号に対応する時間(距離)に、ピークが現れる。なお、説明の簡略化のため、積算回数が4回の例を示したが、実際には、積算回数は数百回以上であることが好ましい。
【0096】
これに対し、本実施形態のセンサ100との比較のために、
図8の左側に示すように、信号周期が固定であると仮定した場合、例えば、1回目の信号周期と位相が同期したノイズを受けたときに、2回目、3回目、4回目の信号周期は、それぞれ、1回目の信号周期と位相が同じであるから、これら4回分の検出信号に基づいて生成された積算信号では、当該ノイズの成分が強め合ってしまう。そのため、ワークWKによって反射された検出信号に対応する時間(距離)に現れるピークが、ノイズ成分に埋もれてしまい、ワークWKが検出できないおそれがある。
【0097】
なお、設定管理部151、距離算出部152、及び検出部153のうちの少なくとも1つは、制御部150のプロセッサが、記憶部160に記憶されたプログラムを実行することにより実現されてもよい。プログラムを実行する場合、当該プログラムは、記憶媒体に格納されていてもよい。当該プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体(Non-Transitory computer readable medium)であってもよい。非一時的な記憶媒体は、特に限定されないが、例えば、USBメモリ、MMC、SDメモリカード、SSD等の記憶媒体であってもよい。
【0098】
また、
図2に示す制御部150の機能は一例である。制御部150は、これら以外の機能を備えてもよいし、これらの機能のうちの一部を備えなくてもよい。
【0099】
<処理手順>
次に、
図9を参照しつつ、一実施形態に従うセンサが行う処理手順について説明する。
図9は、一実施形態におけるセンサ100が行う有無検出処理S300の一例を説明するためのフローチャートである。
【0100】
有無検出処理S300は、センサ100がワークWKの有無を検出する際に行う処理である。
図9に示すように、まず、設定管理部151は、検出設定に関する情報を記憶部160から読み出し、初期情報を設定する(S301)。初期情報は、例えば、シード値、個体シリアル番号、拡散幅、基準周期、積算回数k、しきい値等である。
【0101】
次に、積算信号生成部146は、積算信号に関する情報を初期状態に戻してリセットする(S302)。例えば、積算信号生成部146は、インデックスiに“0”を設定する。インデックスiは、受信された検出信号の積算回数を示す指標である。また、積算信号生成部146は、信号記憶部147に記憶された積算信号について、初期値として例えば“0”、“Null”等を設定する。
【0102】
次に、スクランブル値算出部143は、疑似乱数列の値とセンサ100の固有値とに基づいて、スクランブル値を算出する(S303)。疑似乱数列の値は、ステップS301で設定されたシード値に基づいて、疑似乱数生成部141が生成する値である。また、ステップS301で設定された個体シリアル番号自体、又は、個体シリアル番号に基づいてハッシュ値生成部142が生成したハッシュ値である。
【0103】
次に、信号周期設定部144は、ステップS303で算出されたスクランブル値に基づいて、信号周期を設定する(S304)。信号周期設定部144は、ステップS303で算出されたスクランブル値と、ステップS301で設定された拡散幅及び基準周期とに基づいて、可変の信号周期を算出する。算出された信号手記に基づいて、タイミング制御部145は、タイミング信号を生成し、当該タイミング信号を送信部120及び積算信号生成部146に出力する。
【0104】
次に、送受信部110は、信号周期に基づいて、ワークWKへ検出信号DS1を送信し、ワークWKによって反射された検出信号DS2を受信する(S305)。
【0105】
次に、積算信号生成部146は、送受信部110から検出信号が入力されたときに、信号記憶部147に記憶された積算信号を読み出し、受信された検出信号を読み出された積算信号に加算する(S306)。積算信号生成部146は、検出信号を加算した積算信号を信号記憶部147に書き込む。これにより、信号記憶部147に記憶された積算信号が更新される。
【0106】
次に、積算信号生成部146は、インデックスiに“1”を加算する(S307)。これにより、検出信号が加算された積算回数がカウントアップされる。
【0107】
次に、積算信号生成部146は、インデックスiが積算回数kに等しいか否かを判定する(S308)。
【0108】
ステップS308の判定の結果、インデックスiが積算回数kに等しくない場合、ステップS303に戻る。そして、インデックスiが積算回数kに等しくなるまで、ステップS303からステップS308までが繰り返される。
【0109】
ステップS308の判定の結果、インデックスiが積算回数kに等しい場合、距離算出部152は、複数の検出信号に基づいて、ワークWKとセンサ100との間の距離を算出する(S309)。ここで、インデックスiが積算回数kに等しい場合、信号記憶部147に記憶された積算信号は、積算回数kの回数分の検出信号が積算されたものになっている。よって、距離算出部152は、信号記憶部147の積算信号を読み出し、当該積算信号を用いることにより、複数回の検出信号に基づく、ワークWKとセンサ100との間の距離を算出することが可能である。
【0110】
次に、検出部153は、ステップS309で算出された距離が、ステップS301で節制されたしきい値以下であるか否かを判定する(S310)。
【0111】
ステップS310の判定の結果、算出された距離がしきい値以下である場合、センサ100から所定の距離に存在し得る、
図1に示すワークWKによって反射された検出信号を複数回受信したと考えられる。よって、検出部153は、ワークWKを検出したものとして検出情報を生成して表示部180に出力し、ワークWKが検出された旨を表示部180に表示させる(S311)。生成された検出情報は、
図1に示すケーブル101等を介して外部に出力される。
【0112】
一方、ステップS310の判定の結果、算出された距離がしきい値以下ではない、つまり、算出された距離がしきい値より大きい場合、例えば、
図1に示すワークWK以外のもの、例えばワークWKの背景にある運搬装置BCや壁等によって反射された検出信号を複数回受信したと考えられる。この場合、検出部153は、ワークWKを検出しなかったものとして未検出情報を生成して表示部180に出力し、ワークWKが検出されない旨を表示部180に表示させる(S312)。生成された未検出情報は、
図1に示すケーブル101等を介して外部に出力される。
【0113】
ステップS311又はステップS312の後、所定の条件、例えば、電源オフ、設定変更、又は動作モード変更等を満たすまで、ステップS302からステップS312までが繰り返される。
【0114】
なお、本実施形態で説明したシーケンス及びフローチャートは、処理に矛盾が生じない限り、順序を入れ替えてもよい。
【0115】
本実施形態のセンサ100は、前述した光を信号媒体とする場合に限定されるものではない。本実施形態のセンサ100は、光以外の信号媒体を使用することができる。
【0116】
(変形例)
次に、
図10及び
図11を参照しつつ、一実施形態におけるセンサの変形例について説明する。
図10は、一実施形態の第1変形例におけるセンサ100Aの構成を示す構成図である。
図11は、一実施形態の第2変形例におけるセンサ100Bの構成を示す構成図である。なお、以下において、
図2に示すセンサ100と同一又は類似の構成について同一又は類似の符号を付し、その説明を適宜省略する。また、同様の構成による同様の作用効果については、逐次言及しない。
【0117】
図10に示すように、第1変形例におけるセンサ100Aは、検出信号DS1,DS2として、光信号に代えて音波信号を使用する。具体的には、センサ100Aの送信部120は、
図2に示す発光素子121に代えて、スピーカ125を含んで構成される。センサ100Aが使用する音波は、例えば超音波である。スピーカ125は、ワークWKに向けて配置されており、電気信号が入力されると超音波信号である検出信号DS1を発するように構成されている。また、センサ100Aの受信部130は、
図2に示す受光素子131に代えて、マイク135を含んで構成される。マイク135は、ワークWKに向けて配置されており、ワークWKによって反射された音波信号である検出信号DS2が入力されると、電気信号に変換するように構成されている。
【0118】
また、
図11に示すように、第2変形例におけるにおけるセンサ100Bは、検出信号DS1,DS2として、光信号に代えて電磁波信号を使用する。具体的には、センサ100Bの送信部120は、
図2に示す発光素子121に代えて、送信アンテナ126を含んで構成される。センサ100Bが使用する電磁波は、例えば30GHzから数百GHz程度のミリ波と呼ばれる電磁波である。送信アンテナ126は、指向性を有する指向性アンテナであり、ワークWKに向けて電磁波信号である検出信号DS1を発射するように構成されている。また、センサ100Bの受信部130は、
図2に示す受光素子131に代えて、受信アンテナ136を含んで構成される。受信アンテナ136は、指向性を有する指向性アンテナであり、ワークWKによって反射された電磁波信号である検出信号DS2を受信するように構成されている。
【0119】
このように、検出信号DS1,DS2は、光信号、音波信号、及び電磁波信号のうちのいずれか1つであることにより、検出信号DS1,DS2を送信及び受信するための送受信部110を容易に構成(実現)することができる。
【0120】
以上、本発明の例示的な実施形態について説明した。本発明の一実施形態に従うセンサ100,100A,100Bによれば、周期性を有する疑似乱数列の値とセンサ100,100A,1000Bの固有値とに基づいて、ハッシュ関数によってスクランブル値が算出され、スクランブル値に基づいて、可変の信号周期が設定され、信号周期に基づいて、ワークWKへ検出信号が送信され、ワークWKによって反射された検出信号が受信され、複数の受信された検出信号に基づいて、ワークWKが検出される。これにより、複数のセンサを配置する場合に、隣り合うセンサ間において、互いの信号周期が一致する可能性を低減することが可能となる。従って、従来のようにユーザが複数のセンサにおいて異なる周期を設定する作業が必要なくなり、相互干渉による誤作動を容易に抑制することができる。また、隣り合うセンサにおいて同じ疑似乱数列の値を利用して信号周期を設定する場合であっても、ハッシュ関数によってスクランブル値を算出することで、周期性のある疑似乱数列の順序(並び)を変更したスクランブル値を得ることが可能となる。従って、センサ間において、設定された信号周期が連続して同一になる確率を低減することができ、相互干渉による誤作動をさらに抑制することができる。
【0121】
本発明の一実施形態に従う検出方法によれば、周期性を有する疑似乱数列の値とセンサ100,100A,1000Bの固有値とに基づいて、ハッシュ関数によってスクランブル値が算出され、スクランブル値に基づいて、可変の信号周期が設定され、信号周期に基づいて、ワークWKへ検出信号が送信され、ワークWKによって反射された検出信号が受信され、複数の受信された検出信号に基づいて、ワークWKが検出される。これにより、複数のセンサを配置する場合に、隣り合うセンサ間において、互いの信号周期が一致する可能性を低減することが可能となる。従って、従来のようにユーザが複数のセンサにおいて異なる周期を設定する作業が必要なくなり、相互干渉による誤作動を容易に抑制することができる。また、隣り合うセンサにおいて同じ疑似乱数列の値を利用して信号周期を設定する場合であっても、ハッシュ関数によってスクランブル値を算出することで、周期性のある疑似乱数列の順序(並び)を変更したスクランブル値を得ることが可能となる。従って、センサ間において、設定された信号周期が連続して同一になる確率を低減することができ、相互干渉による誤作動をさらに抑制することができる。
【0122】
なお、以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るとともに、本発明にはその等価物も含まれる。すなわち、実施形態に当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。例えば、実施形態が備える各要素及びその配置、材料、条件、形状、サイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、実施形態は例示であり、異なる実施形態で示した構成の部分的な置換又は組み合わせが可能であることは言うまでもなく、これらも本発明の特徴を含む限り本発明の範囲に包含される。
【0123】
[付記1]
センサ(100)であって、
周期性を有する疑似乱数列の値とセンサ(100)の固有値とに基づいて、ハッシュ関数によってスクランブル値を算出する算出部(143)と、
スクランブル値に基づいて、可変の信号周期を設定する設定部(144)と、
信号周期に基づいて、対象物(WK)へ検出信号(DS1)を送信し、対象物(WK)によって反射された検出信号(DS2)を受信する送受信部(110)と、
複数の受信された検出信号(DS2)に基づいて、対象物(WK)を検出する検出部(153)と、を備える、
センサ(100)。
[付記11]
センサ(100)の検出方法であって、
周期性を有する疑似乱数列の値とセンサ(100)の固有値とに基づいて、ハッシュ関数によってスクランブル値を算出するステップと、
スクランブル値に基づいて、可変の信号周期を設定するステップと、
信号周期に基づいて、対象物(WK)へ検出信号(DS1)を送信し、対象物(WK)によって反射された検出信号(DS2)を受信するステップと、
複数の受信された検出信号(DS2)に基づいて、対象物(WK)を検出するステップと、を含む、
検出方法。
【符号の説明】
【0124】
100,100-1,100-2,100-3,100A,100B…センサ、101,101-1,101-2,101-3…ケーブル、102-1,102-2,102-3…制御対象装置、110…送受信部、120…送信部、121…発光素子、122…駆動回路、125…スピーカ、126…送信アンテナ、130…受信部、131…受光素子、132…増幅回路、133…波形整形回路、135…マイク、136…受信アンテナ、140…信号処理部、141…疑似乱数生成部、142…ハッシュ値生成部、143…スクランブル値算出部、144…信号周期設定部、145…タイミング制御部、146…積算信号生成部、147…信号記憶部、150…制御部、151…設定管理部、152…距離算出部、153…検出部、160…記憶部、170…操作部、180…表示部、200…検出システム、BC…運搬装置、S300…有無検出処理、WK…ワーク。