以下に、本発明の実施の形態にかかるセンシングデバイスおよびセンシングデバイスシステムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかるセンシングデバイスを示す第1の断面図である。図2は、本発明の実施の形態1にかかるセンシングデバイスを示す第2の断面図である。図1に示す断面は、センシングデバイス100の縦断面であって、図2に示すI−I線における断面である。図2に示す断面は、センシングデバイス100の横断面であって、図1に示すII−II線における断面である。
センシングデバイス100は、外力を受けて動く操作体の動きを検知する。センシングデバイス100は、3軸の各方向における操作体の移動と、3軸の各々を中心とする操作体の回転とを検知する。
センシングデバイス100は、操作体である第1の構造体11と、操作体以外の構造体である第2の構造体12とを有する。第1の構造体11と第2の構造体12とは、いずれも剛体である。なお、第1の構造体11が外力を受けていないときにおけるセンシングデバイス100の状態を、基準状態と称することがある。中心軸Nは、図2に示す断面に垂直な軸であって、第2の構造体12の中心を表す。基準状態において、第1の構造体11の中心は中心軸N上に位置している。
弾性体13は、第1の構造体11と第2の構造体12とを連結する。弾性体13には、ばねまたはゴムといった物体が使用される。第1の構造体11と第2の構造体12とが弾性体13を介して連結されていることによって、第1の構造体11は、第2の構造体12に対して並進動作と回転動作とが可能な状態とされて、第2の構造体12に支持されている。
第1の構造体11は、外力を受けて並進動作することによって、基準状態のときの位置から移動する。第1の構造体11は、受けた外力の向きへ移動する。第1の構造体11は、受けた外力の大きさに応じた距離を移動する。外力の印加がなくなると、弾性体13の復元力によって、基準状態のときの位置に戻る。また、第1の構造体11は、外力を受けて回転動作することによって、基準状態のときとは姿勢が変化する。第1の構造体11は、外力の印加がなくなると、弾性体13の復元力によって、基準状態のときの姿勢に戻る。
センシングデバイス100は、3つのセンサユニット14a,14b,14cを有する。センサユニット14aは、磁気センサ15aと磁石16aとを有する。センサユニット14bは、磁気センサ15bと磁石16bとを有する。センサユニット14cは、磁気センサ15cと磁石16cとを有する。磁気センサ15a,15b,15cは、第1の構造体11に取り付けられている要素である。磁石16a,16b,16cは、第2の構造体12に取り付けられている要素である。なお、センサユニット14とは、センサユニット14a,14b,14cの各々を区別せずに称したものとする。磁気センサ15とは、磁気センサ15a,15b,15cの各々を区別せずに称したものとする。磁石16とは、磁石16a,16b,16cの各々を区別せずに称したものとする。
磁気センサ15は、3軸の各方向における磁束を検出可能に構成されている。磁気センサ15は、3軸の各方向における磁束を検出可能な集積回路である。磁気センサ15は、各々が1軸の方向における磁束を検出可能な3つのホール素子が組み合わせられたものであっても良い。磁石16は、永久磁石または電磁石である。
磁気センサ15a,15b,15cは、第1の構造体11の外縁に設けられている。図2に示す断面において、磁気センサ15a,15b,15cは、第1の構造体11の外縁において等間隔で配置されている。磁石16aは、磁気センサ15aに対向する位置に配置されている。磁気センサ15aは、磁石16aによって形成される磁界の中に配置されている。磁石16bは、磁気センサ15bに対向する位置に配置されている。磁気センサ15bは、磁石16bによって形成される磁界の中に配置されている。磁石16cは、磁気センサ15cに対向する位置に配置されている。磁気センサ15cは、磁石16cによって形成される磁界の中に配置されている。
磁気センサ15は、3軸の各方向における磁束の値を出力する。センサユニット14において、磁気センサ15と磁石16との相対位置が変化することによって、磁気センサ15によって検出される磁束の値が変化する。センサユニット14は、3次元位置センサとして機能する。センシングデバイス100は、3つのセンサユニット14a,14b,14cを有することによって、第1の構造体11の3点において位置の変化を検出する。センシングデバイス100は、3点の各々についての位置情報を利用することによって、3軸の各方向における第1の構造体11の移動と、3軸の各々を中心とする第1の構造体11の回転とを検知する。
センシングデバイス100は、第2の構造体12が設置場所に固定されることによって、設置される。センシングデバイス100は、操作者が第1の構造体11を動かすことによる第1の構造体11の変位量を測定する。センシングデバイス100は、3方向の並進動作と3方向の回転動作との合計6方向についての変位量を測定する。センシングデバイス100は、第1の構造体11と同じ動きをロボットに行わせるための入力デバイスとして使用することができる。
センシングデバイス100は、第1の構造体11の変位量を力の大きさへ変換することによって、第1の構造体11が受けた外力の大きさを測定しても良い。センシングデバイス100は、3方向の並進動作と3方向の回転動作との合計6方向についての外力の大きさを測定する。第1の構造体11へ加えられた力の大きさに対する変位量を測定することによって、力の大きさと変位量との関係を表す変換則が得られる。センシングデバイス100は、あらかじめ得られた変換則に基づいて、変位量を力の大きさへ変換する。このように、センシングデバイス100は、力覚センサとして使用することもできる。
なお、第1の構造体11の形状と第2の構造体12の形状とは、図1および図2に示す形状に限られず、任意であるものとする。また、磁気センサ15a,15b,15cは、第1の構造体11ではなく第2の構造体12に取り付けられても良い。この場合、磁石16a,16b,16cは、第2の構造体12ではなく第1の構造体11に取り付けられる。センサユニット14aは、第1の構造体11と第2の構造体12とのうちの一方に磁気センサ15aが配置され、かつ第1の構造体11と第2の構造体12とのうちの他方に磁石16aが配置されたものであれば良い。センサユニット14bは、第1の構造体11と第2の構造体12とのうちの一方に磁気センサ15bが配置され、かつ第1の構造体11と第2の構造体12とのうちの他方に磁石16bが配置されたものであれば良い。センサユニット14cは、第1の構造体11と第2の構造体12とのうちの一方に磁気センサ15cが配置され、かつ第1の構造体11と第2の構造体12とのうちの他方に磁石16cが配置されたものであれば良い。
図3は、実施の形態1にかかるセンシングデバイスが有する機能構成を示す図である。センシングデバイス100は、測定装置20を有する。測定装置20は、第2の構造体12に対して第1の構造体11が移動した距離と、第2の構造体12に対して第1の構造体11が回転した回転量とを測定する。なお、図1および図2において測定装置20の図示を省略している。
磁気センサ15は、磁束の値の検出結果であるデータを測定装置20へ出力する。測定装置20は、磁気センサ15によって出力されたデータを取得する取得部21と、測定装置20を制御する制御部22と、情報を記憶する記憶部23と、情報を出力する出力部24とを有する。
制御部22は、取得部21において取得されたデータの演算処理を行う演算部25を有する。演算部25は、センサユニット14a,14b,14cの各々による検出結果に基づいた演算によって、第2の構造体12に対する第1の構造体11の移動量についての測定結果を求める。また、演算部25は、センサユニット14a,14b,14cの各々による検出結果に基づいた演算によって、第2の構造体12に対する第1の構造体11の回転量についての測定結果を求める。なお、演算部25は、第1の構造体11の変位量を力の大きさへ変換することによって、第1の構造体11が受けた外力についての測定結果を求めても良い。すなわち、演算部25は、複数のセンサユニット14の各々による検出結果に基づいた演算によって、第1の構造体11の移動量と、第1の構造体11の回転量と、第1の構造体11が受けた外力とのうちの少なくとも1つについての測定結果を求める。
制御部22は、センサユニット14a,14b,14cの各々による検出結果に基づいて異常の有無を判定する判定部26を有する。異常とは、第1の構造体11の動きを正常に検知することができなくなる状態であって、磁気センサ15と磁石16との相対的な位置変化以外の要因によって磁束が変化する状態を指す。実施の形態1において、判定部26は、第2の構造体12に配置された素子である磁石16a,16b,16c同士の距離を求めた結果に基づいて異常の有無を判定する。
記憶部23は、演算部25による演算によって得られた測定結果を記憶する。また、記憶部23は、演算部25による演算において使用される各種パラメータと、判定部26による判定において使用される各種パラメータとを記憶する。出力部24は、測定結果を出力する。また、出力部24は、判定部26によって異常ありと判定された場合に、アラームを出力する。出力部24は、外部の機器へアラーム信号を出力する。または、出力部24は、音声デバイスによるアラーム音の発生あるいは表示デバイスによるアラーム表示によってアラームを出力しても良い。
次に、演算部25による測定結果の算出について説明する。演算部25は、各磁気センサ15a,15b,15cによる磁束の値の検出結果から、6自由度の変位を表す変位データへの変換を行う。6自由度の変位とは、3軸の各方向についての並進動作による変位と、3軸の各々を中心とする回転動作による変位とである。なお、以下の説明では、各磁気センサ15a,15b,15cによる磁束の値の検出結果を、磁気データと称することがある。
第1の構造体11について、6自由度の変位を表すベクトルGは、次の式(1)のように定義される。ここで、「X」は、3軸のうちの第1軸の方向の並進動作を表す。「Y」は、3軸のうちの第2軸の方向の並進動作を表す。「Z」は、3軸のうちの第3軸の方向の並進動作を表す。「A」は、3つの回転方向のうちの第1の回転方向の回転動作を表す。「B」は、3つの回転方向のうちの第2の回転方向の回転動作を表す。「C」は、3つの回転方向のうちの第3の回転方向の回転動作を表す。式(1)において、「G∈R6×1」は、実数からなる6行1列の要素によってベクトルGが構成されていることを表す。
磁気センサ15aによって得られる磁気データを「M1」、磁気センサ15bによって得られる磁気データを「M2」、ならびに磁気センサ15cによって得られる磁気データを「M3」として、「Mn」(n=1,2,3)は、次の式(2)によって表される。
なお、「x1」は、磁気センサ15aによって検出された第1軸の方向についての磁束の値を表す。「y1」は、磁気センサ15aによって検出された第2軸の方向についての磁束の値を表す。「z1」は、磁気センサ15aによって検出された第3軸の方向についての磁束の値を表す。「x2」は、磁気センサ15bによって検出された第1軸の方向についての磁束の値を表す。「y2」は、磁気センサ15bによって検出された第2軸の方向についての磁束の値を表す。「z2」は、磁気センサ15bによって検出された第3軸の方向についての磁束の値を表す。「x3」は、磁気センサ15cによって検出された第1軸の方向についての磁束の値を表す。「y3」は、磁気センサ15cによって検出された第2軸の方向についての磁束の値を表す。「z3」は、磁気センサ15cによって検出された第3軸の方向についての磁束の値を表す。(x1,y1,z1)は、磁気データ「M1」である3つの値である。(x2,y2,z2)は、磁気データ「M2」である3つの値である。(x3,y3,z3)は、磁気データ「M3」である3つの値である。
9つの値である磁気データ「M1」、「M2」および「M3」を6自由度の変位へ変換する行列を「H」、「a11,・・・,a69」を行列「H」の要素とした場合、次の式(3)および(4)が成り立つ。
上記の式(3)および(4)の詳細は、次の式(5)によって表される。
なお、上記の式(3)から(5)は、演算部25へ入力される磁気データがゼロである場合に、演算部25により出力される6自由度の変位データがゼロとなるように線形化が行われる場合を表している。演算部25へ入力される磁気データがゼロであるときに演算部25により出力される6自由度の変位データがゼロ以外の値となる場合は、ベクトルGは、定数項である「E」を用いて次の式(6)によって表される。
変位データがゼロ以外の値となる場合における変換は、x1’=x1−e1というように変数を設定することによって、変位データがゼロとなる場合における変換と同様に扱うことができる。実施の形態1と、後述する実施の形態2とでは、定数項を付けないものとして説明を行う。
行列「H」は、既知のベクトルGに対する「Mn」の測定により得られた測定データを基に、重回帰分析等の手法を用いることによって、求めることができる。記憶部23は、行列「H」の情報を記憶する。演算部25は、記憶部23から読み出された行列「H」に基づいて、磁気データ「Mn」から6自由度の変位データへの変換を行う。
なお、演算部25は、上記の式(3)から(5)とは別の式に基づいて変位データを算出しても良い。変位データの算出において使用される式は、磁気データである各値の一次項を含む式に限られず、磁気データである各値の高次項を含む式であっても良い。
センシングデバイス100は、3つのセンサユニット14a,14b,14cを用いて、磁束の検出値である9つの検出結果を取得する。9つの検出結果は、3つのセンサユニット14a,14b,14cが3軸の各方向についての磁束の値を検出した結果である。センシングデバイス100は、かかる9つの検出結果に基づく演算によって、変位データである6つの測定結果を得る。6つの測定結果は、3軸の各方向についての第1の構造体11の移動量と、3軸の各々を中心とする第1の構造体11の回転量との測定結果である。このように、複数のセンサユニット14の各々による検出結果である値の個数は、演算部25での演算によって得られる測定結果であって第1の構造体11の移動量と第1の構造体11の回転量とについての測定結果である値の個数よりも多い。すなわち、複数のセンサユニット14によって得られる検出結果の次元の数は、演算部25での演算によって得られる測定結果の次元の数よりも大きい。
6自由度の変位データは、9つよりも少ない個数の検出値からも算出し得ることから、測定装置20には、操作体の動き検知においていわば冗長なデータを含む検出結果がセンサユニット14a,14b,14cから入力される。センシングデバイス100は、かかる検出結果を判定部26での判定において利用することによって、検知における異常の有無を確認する。なお、複数のセンサユニット14の各々による検出結果である値の個数は、移動量と回転量と外力とのうちの少なくとも1つについての測定結果である値の個数よりも多ければ良い。センシングデバイス100には、測定結果である値の個数よりも多くの個数の値を得ることを可能とする複数のセンサユニット14が設けられている。
次に、判定部26による判定について説明する。図4は、図2に示す断面における磁気センサと磁石との位置関係について説明する第1の図である。図4には、基準状態におけるセンシングデバイス100を表している。なお、図4と後述する図5とでは、断面を表すハッチングを省略している。
図4において、ベクトルP1は、中心軸Nから磁気センサ15aの位置へ向かう3次元ベクトルである。ベクトルP2は、中心軸Nから磁気センサ15bの位置へ向かう3次元ベクトルである。ベクトルP3は、中心軸Nから磁気センサ15cの位置へ向かう3次元ベクトルである。磁気センサ15の位置とは、磁気センサ15での磁束の検出における基準とする位置とする。
ベクトルD1は、磁気センサ15aの位置から磁石16aの位置へ向かう3次元ベクトルである。ベクトルD1の大きさと向きは、基準状態における磁気センサ15aと磁石16aとの位置関係によって定まる。ベクトルD2は、磁気センサ15bの位置から磁石16bの位置へ向かう3次元ベクトルである。ベクトルD2の大きさと向きは、基準状態における磁気センサ15bと磁石16bとの位置関係によって定まる。ベクトルD3は、磁気センサ15cの位置から磁石16cの位置へ向かう3次元ベクトルである。ベクトルD3の大きさと向きは、基準状態における磁気センサ15cと磁石16cとの位置関係によって定まる。磁石16の位置とは、磁石16のうち3次元方向における中心の位置とする。
3次元空間における磁石16aの位置と磁石16cの位置との間の距離をL1とすると、L1は、次の式(7)によって表される。3次元空間における磁石16aの位置と磁石16bの位置との間の距離をL2とすると、L2は、次の式(8)によって表される。3次元空間における磁石16bの位置と磁石16cの位置との間の距離をL3とすると、L3は、次の式(9)によって表される。なお、式(7)から(9)、および後述する式において、「P1」はベクトルP1、「P2」はベクトルP2、「P3」はベクトルP3、「D1」はベクトルD1、「D2」はベクトルD2、「D3」はベクトルD3をそれぞれ表すものとする。
図5は、図2に示す断面における磁気センサと磁石との位置関係について説明する第2の図である。図5には、第1の構造体11が基準状態のときの位置から移動した状態におけるセンシングデバイス100を表している。
磁気センサ15aと磁石16aとについて、基準状態からの相対的な位置変化を表すベクトル成分を「ΔD1」とする。磁気センサ15bと磁石16bとについて、基準状態からの相対的な位置変化を表すベクトル成分を「ΔD2」とする。磁気センサ15cと磁石16cとについて、基準状態からの位置変化を表すベクトル成分を「ΔD3」とする。L1は、次の式(10)によって表される。L2は、次の式(11)によって表される。L3は、次の式(12)によって表される。
磁石16aと磁石16bと磁石16cとは、いずれも剛体である第2の構造体12に設けられていることから、L1とL2とL3とのそれぞれは、基準状態のときと、基準状態から第1の構造体11が移動した後とにおいて不変である。
「D1+ΔD1」の長さと「D3+ΔD3」の長さとについて、式(10)によって表される相関関係は、「ΔD1」の長さと「ΔD3」の長さとに関わらず保たれる。「D1+ΔD1」の長さと「D2+ΔD2」の長さとについて、式(11)によって表される相関関係は、「ΔD1」の長さと「ΔD2」の長さとに関わらず保たれる。「D2+ΔD2」の長さと「D3+ΔD3」の長さとについて、式(12)によって表される相関関係は、「ΔD2」の長さと「ΔD3」の長さとに関わらず保たれる。
ただし、磁気センサ15a,15b,15cのうちのいずれかが、センシングデバイス100の外に存在する磁界の影響を受けたことによって磁気データ「Mn」に変化が生じた場合、式(10)から式(12)によって表される相関関係が成立しなくなる。磁界の影響を受けた場合のみならず、磁気センサ15a,15b,15cのうちのいずれかにおいて動作に異常が生じた場合のように、磁気データ「Mn」を変化させる事態が発生した場合に、かかる相関関係が成立しなくなる。判定部26は、かかる相関関係が崩れた場合に、検知異常が生じていると判定する。検知異常は、磁気センサ15と磁石16との相対的な位置変化以外の要因によって検知結果が変化する異常とする。検知異常が生じている場合、センシングデバイス100は、第1の構造体11の動きを正常に検知することができない。
判定部26は、次の式(13)から式(15)の全てを満足する場合、検知異常は生じていないと判定する。また、判定部26は、次の式(13)から式(15)のうちの少なくとも1つを満足しない場合、検知異常が生じていると判定する。
上記の式(13)における||P1+D1+ΔD1−(P3+D3+ΔD3)||は、磁石16aと磁石16cとの距離を求めた結果を表す。ΔL1は、L1と||P1+D1+ΔD1−(P3+D3+ΔD3)||との差がノイズ等の誤差であるか否かの判断のための閾値である。上記の式(14)における||P2+D2+ΔD2−(P1+D1+ΔD1)||は、磁石16aと磁石16bとの距離を求めた結果を表す。ΔL2は、L2と||P2+D2+ΔD2−(P1+D1+ΔD1)||との差がノイズ等の誤差であるか否かの判断のための閾値である。上記の式(15)における||P3+D3+ΔD3−(P2+D2+ΔD2)||は、磁石16bと磁石16cとの距離を求めた結果を表す。ΔL3は、L3と||P3+D3+ΔD3−(P2+D2+ΔD2)||との差がノイズ等の誤差であるか否かの判断のための閾値である。
検知異常が生じた場合には、上記の相関関係が成り立たなくなることによって、L1と||P1+D1+ΔD1−(P3+D3+ΔD3)||との差、L2と||P2+D2+ΔD2−(P1+D1+ΔD1)||との差、およびL3と||P3+D3+ΔD3−(P2+D2+ΔD2)||との差の少なくともいずれかが、誤差よりも大きくなる。これにより、判定部26は、式(13)から式(15)に基づいて検知異常が生じたか否かを判定することができる。
このように、判定部26は、第2の構造体12に配置された要素である磁石16a,16b,16c同士の距離を求めた結果に基づいて、検知異常の有無を判定する。なお、判定部26は、第1の構造体11に配置された要素である磁気センサ15a,15b,15c同士の距離を求めた結果に基づいて、検知異常の有無を判定しても良い。
図6は、実施の形態1にかかるセンシングデバイスの動作について説明するフローチャートである。磁気センサ15a,15b,15cは、第1の構造体11が操作されたときに、磁束を検出する。ステップS1において、取得部21は、磁気センサ15a,15b,15cによって検出された磁気データを取得する。演算部25は、ステップS1において得られた磁気データに基づいて、第1の構造体11の移動量と第1の構造体11の回転量とを算出する。測定装置20は、演算部25による演算によって、第1の構造体11の移動量と回転量との測定結果を求める。
ステップS2において、判定部26は、ステップS1において得られた磁気データに基づいて、条件式である上記の式(13)から式(15)を満たすか否かを判断する。条件式を満たすと判断した場合(ステップS2,Yes)、判定部26は、検知異常は生じていないと判定する。出力部24は、演算部25での演算によって得られた測定結果を出力する。
一方、条件式を満たさないと判断した場合(ステップS2,No)、判定部26は、検知異常が生じていると判断する。出力部24は、測定結果を出力せず、ステップS3においてアラームを出力する。以上により、センシングデバイス100は、図6に示す手順による動作を終了する。
次に、測定装置20が有するハードウェア構成について説明する。測定装置20が有する機能は、処理回路を使用して実現される。処理回路は、測定装置20に搭載される専用のハードウェアである。処理回路は、メモリに格納されるプログラムを実行するプロセッサであっても良い。
図7は、実施の形態1にかかる測定装置のハードウェア構成の例を示す第1の図である。図7には、測定装置20の機能が専用のハードウェアを使用して実現される場合におけるハードウェア構成を示している。測定装置20は、各種処理を実行する処理回路41と、各種情報を記憶する外部記憶装置42と、測定装置20の外部の機器との接続インタフェースである入出力インタフェース43とを備える。入出力インタフェース43は、キーボードあるいはポインティングデバイスといった情報入力のための入力デバイス、または、表示デバイスあるいは音声デバイスといった情報出力のための出力デバイスを有しても良い。図7に示す測定装置20の各部は、バスを介して相互に接続されている。
専用のハードウェアである処理回路41は、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又はこれらの組み合わせである。図3に示す演算部25および判定部26の各機能は、処理回路41を用いて実現される。外部記憶装置42は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)である。記憶部23の機能は、外部記憶装置42を用いて実現される。取得部21および出力部24の各機能は、入出力インタフェース43を用いて実現される。
図8は、実施の形態1にかかる測定装置のハードウェア構成の例を示す第2の図である。図8には、測定装置20の機能がプログラムを実行するハードウェアを用いて実現される場合におけるハードウェア構成を示している。プロセッサ44およびメモリ45は、外部記憶装置42および入出力インタフェース43と相互に接続されている。
プロセッサ44は、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はDSP(Digital Signal Processor)である。図3に示す演算部25および判定部26の各機能は、プロセッサ44と、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェアまたはファームウェアは、プログラムとして記述され、内蔵メモリであるメモリ45に格納される。メモリ45は、不揮発性もしくは揮発性の半導体メモリであって、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)またはEEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)である。
実施の形態1によると、判定部26は、センサユニット14a,14b,14cの各々による検出結果に基づいて、磁気センサ15と磁石16との相対的な位置変化以外の要因による磁束の変化の有無を判定する。判定部26は、磁気センサ15a,15b,15cと磁石16a,16b,16cとのうち、第1の構造体11に配置された要素同士の距離を求めた結果、あるいは第2の構造体12に配置された要素同士の距離を求めた結果に基づいて、異常の有無を判定する。これにより、センシングデバイス100は、検知に異常が生じたことを確認することができるという効果を奏する。
実施の形態1において、測定装置20は、センシングデバイス100を構成する第1の構造体11および第2の構造体12と一体に設けられている。センシングデバイス100の機能は、第1の構造体11および第2の構造体12とは離れた位置に設けられた装置を使用して実現されても良い。
図9は、実施の形態1の変形例について説明する図である。変形例にかかるセンシングデバイスシステム200は、センシングデバイス101と測定装置28とを有する。センシングデバイス101は、第1の構造体11と第2の構造体12とを有する。センシングデバイス101と測定装置28とは、互いに通信可能に接続される。センシングデバイス101と測定装置28とは、無線通信によるネットワークあるいは有線通信によるネットワークを介して接続される。センシングデバイスシステム200は、互いに通信可能なセンシングデバイス101と測定装置28とによって、図3に示すセンシングデバイス100と同様の機能を実現する。
センシングデバイス101には、図3に示す測定装置20に代えて通信部17が設けられている。測定装置28には、取得部21に代えて通信部27が設けられている。通信部17は、センシングデバイス101の外部の装置との通信を担う通信インタフェースを用いて実現される。通信部27は、測定装置28の外部の装置との通信を担う通信ネットワークを用いて実現される。本変形例にかかるセンシングデバイスシステム200は、上記のセンシングデバイス100と同様に、検知に異常が生じたことを確認することができる。
実施の形態1では、センシングデバイス100は、磁気センサ15a,15b,15cによって得られる9つの値x1,y1,z1,x2,y2,z2,x3,y3,z3を変位データへ変換する。また、センシングデバイス100は、L1,L2,L3が不変であることによって決定される相関関係が成り立つか否かによって検知異常が生じたか否かを判定する。演算部25は、9つの値のうちの少なくとも6つを使うことによって、6自由度の変位データを求めることができる。次に説明する実施の形態2では、センシングデバイス100は、9つの値のうち変位データの算出に使用される値の選択パターンを変更して変位データを算出し、算出された変位データが一致するか否かによって検知異常が生じたか否かを判定する。
実施の形態2.
図10は、本発明の実施の形態2にかかるセンシングデバイスの動作について説明するフローチャートである。実施の形態2において、演算部25は、磁気センサ15a,15b,15cによって得られる磁気データから選択された値に基づいて、変位データを求める。また、演算部25は、磁気データからの値の選択パターンを変更して変位データを算出する。判定部26は、選択パターンを変更して算出された変位データが一致するか否かによって検知異常が生じたか否かを判定する。実施の形態2では、上記の実施の形態1と同一の構成要素には同一の符号を付し、実施の形態1とは異なる構成について主に説明する。
ステップS11において、取得部21は、磁気データである9つの値「x1,y1,z1,x2,y2,z2,x3,y3,z3」を取得する。ステップS12において、演算部25は、複数のデータセットの各々について、変位データを算出する。演算部25は、磁気センサ15aでの検出による「x1,y1,z1」のうちの少なくとも1つと、磁気センサ15bでの検出による「x2,y2,z2」のうちの少なくとも1つと、磁気センサ15cでの検出による「x3,y3,z3」のうちの少なくとも1つとが含まれるように、値を選択する。
ここで、演算部25は、9つの値のうちの6つを使用して、6自由度の変位データを求めるとする。演算部25は、9つの値から選択された6つの値からなる第1のデータセットである「x1,y1,x2,y2,x3,y3」を用いて、変位データを求めるとする。第1のデータセットを6自由度の変位データへ変換する行列を「I」、「b11,・・・,b66」を行列「I」の要素とした場合、次の式(16)が成り立つ。
演算部25は、第1のデータセットとは選択のパターンを異ならせた第2のデータセットである「x1,y1,z1,x2,y2,x3」を基に、変位データを求めるとする。第2のデータセットを6自由度の変位データへ変換する行列を「I’」、「b’11,・・・,b’66」を行列「I’」の要素とした場合、次の式(17)が成り立つ。
磁気センサ15a,15b,15cのうちのいずれかが、センシングデバイス100の外に存在する磁界の影響を受けたことによって磁気データに変化が生じた場合、変位データの算出結果に違いが生じることになる。判定部26は、第1のデータセットを用いて算出された変位データと、第2のデータセットを用いて算出された変位データとを比較する。ステップS13において、判定部26は、複数のデータセットの各々について算出された変位データが一致しているか否かを判断する。
判定部26は、第1のデータセットを用いて算出された変位データと第2のデータセットを用いて算出された変位データとが一致する場合に、検知異常は生じていないと判定する。判定部26は、第1のデータセットを用いて求めた変位データと第2のデータセットを用いて求めた変位データとが一致しない場合に、検知異常は生じていないと判定する。判定部26は、3つ以上のデータセットについての変位データが互いに一致するか否かに基づいて検知異常の有無を判定しても良い。
複数のデータセットの各々について算出された変位データが一致している場合(ステップS13,Yes)、判定部26は、検知異常は生じていないと判定する。出力部24は、演算部25での演算によって得られた測定結果を出力する。
一方、複数のデータセットの各々について算出された変位データが一致していない場合(ステップS13,No)、判定部26は、検知異常が生じていると判断する。出力部24は、測定結果を出力せず、ステップS14においてアラームを出力する。以上により、センシングデバイス100は、図10に示す手順による動作を終了する。
演算部25は、9つの値から選択された7つの値からなるデータセットを基に、変位データを求めても良い。演算部25は、7つの値である「x1,y1,z1,x2,y2,x3,y3」を基に、変位データを求めるとする。当該データセットを6自由度の変位データへ変換する行列を「J」、「c11,・・・,c67」を行列「J」の要素とした場合、次の式(18)が成り立つ。
また、演算部25は、9つの値から選択された8つの値からなるデータセットを基に、変位データを求めても良い。演算部25は、磁気データから7つあるいは8つの値を選択する場合も、磁気データからの値の選択パターンを変更して変位データを算出することができる。判定部26は、複数のデータセットについての変位データが互いに一致するか否かに基づいて検知異常の有無を判定することができる。
実施の形態2によると、演算部25は、変位データの算出に使用される値の選択パターンを変更して複数の変位データを求める。判定部26は、算出された複数の変位データが一致するか否かによって異常の有無を判定する。これにより、センシングデバイス100は、検知に異常が生じたことを確認することができるという効果を奏する。なお、実施の形態2にかかるセンシングデバイス100と同様の機能は、上記のセンシングデバイスシステム200によって実現されても良い。
実施の形態1および2において、センシングデバイス100,101に設けられるセンサユニット14の数は、3つに限られず、3つより少なくても良く、3つより多くても良い。センサユニット14の数は、変位データについて所望される自由度に応じて、任意に変更しても良い。センシングデバイス100,101は、3軸の各方向における磁気センサ15と磁石16との相対的な位置変化を検出可能なセンサユニット14が2つ設けられることによって、3軸の各方向における第1の構造体11の並進動作を検知するものであっても良い。また、センシングデバイス100,101には、3軸の各方向における磁気センサ15と磁石16との相対的な位置変化を検出するセンサユニット14のほか、2軸の各方向あるいは1軸の方向における磁気センサ15と磁石16との相対的な位置変化を検出するセンサユニット14が設けられても良い。また、実施の形態2において、演算部25は、4つ以上の磁気センサ15の各々によって検出された値から値を選択して、変位データを求めても良い。
第1の構造体11と第2の構造体12とは、弾性体13によって連結されるものに限られない。第1の構造体11と第2の構造体12とは、第2の構造体12に対して第1の構造体11が並進動作または回転動作が可能であれば良い。センシングデバイス100,101は、弾性体13に代えて、第1の構造体11を並進動作させるリニアガイドを有していても良い。
センシングデバイス100,101は、ロボットの入力デバイスに使用することができる。ロボットの入力デバイスであるセンシングデバイス100,101は、人が操作体に触れたときの操作体の動きあるいは人が操作体に触れたときに操作体が受けた力を測定して、測定結果をロボットの制御装置へ出力する。制御装置は、測定結果にしたがった並進動作と回転動作とをロボットに行わせる。このように、センシングデバイス100,101は、人の操作にしたがってロボットを動作させるための入力デバイスとして使用することができる。
なお、センシングデバイス100およびセンシングデバイスシステム200は、上記した演算以外の手法によって異常の有無を判定しても良い。また、センシングデバイス100およびセンシングデバイスシステム200は、上記した演算以外の手法によって、第1の構造体11の移動量と、第1の構造体11の回転量と、第1の構造体11が受けた外力とのうちの少なくとも1つについての測定結果を求めても良い。実施の形態3では、上記した演算以外の手法の1つである機械学習によって異常の有無を判定する場合について説明する。実施の形態4では、上記した演算以外の手法の1つである機械学習によって、第1の構造体11の移動量と、第1の構造体11の回転量と、第1の構造体11が受けた外力とのうちの少なくとも1つについての測定結果を求める場合について説明する。
実施の形態3.
図11は、本発明の実施の形態3にかかるセンシングデバイスが有する機能構成を示す図である。実施の形態3では、上記の実施の形態1および2と同一の構成要素には同一の符号を付し、実施の形態1および2とは異なる構成について主に説明する。
実施の形態3にかかるセンシングデバイス102は、測定装置50を有する。測定装置50は、取得部21と、測定装置50を制御する制御部51と、教師データを取得する教師データ取得部53と、記憶部23と、出力部24とを有する。制御部51は、センサユニット14a,14b,14cの各々による検出結果に基づいて異常の有無を判定する判定部52を有する。判定部52は、学習部54を有する。
教師データは、外部磁気の存在についての情報である外部磁気情報55と、第1の構造体11に配置されている複数の要素である磁気センサ15a,15b,15c同士の距離を求めた結果と、第2の構造体12に配置されている複数の要素である磁石16a,16b,16c同士の距離を求めた結果とのうちの少なくとも1つに基づいたデータである。外部磁気は、センシングデバイス102の外部において発生する磁気である。
学習部54は、センシングデバイス102による検知異常の有無をデータセットに従って学習する。データセットは、状態変数および教師データの組み合わせである。状態変数は、センサユニット14a,14b,14cの各々による検出結果を含む。取得部21は、状態変数を観測する状態観測部として機能する。取得部21と教師データ取得部53と学習部54とは、機械学習を実行する機械学習装置として機能する。学習部54を有する判定部52の機能は、実施の形態1の場合と同様の処理回路を使用することによって実現される。教師データ取得部53の機能は、実施の形態1の場合と同様の入出力インタフェース43を使用することによって実現される。
教師データ取得部53は、磁気センサ15a,15b,15cによる磁束の検出結果である各値を取得部21から取得する。教師データ取得部53は、磁束の各値を、磁石16aの位置と磁石16cの位置との間の距離であるL1と、磁石16aの位置と磁石16bの位置との間の距離であるL2と、磁石16bの位置と磁石16cの位置との間の距離であるL3とへ変換する。教師データ取得部53は、L1とL2とL3との変動の有無を判断することによって、かかる判断結果である教師データを取得する。教師データ取得部53は、取得された教師データを学習部54へ出力する。
学習部54は、磁気センサ15a,15b,15cによる磁束の検出結果である各値を取得部21から取得する。学習部54は、状態変数である磁束の値と、L1,L2およびL3の変動の有無についての判断結果である教師データとを互いに関連付けることによってデータセットを作成する。学習部54は、演算部25によって得られた検知結果が正常であるか否かを、データセットに基づいて学習する。検知結果の異常は、センサユニット14が外部磁気の影響を受けた場合、あるいは、センサユニット14が故障した場合に発生し得る。
教師データ取得部53は、磁気センサ15a,15b,15c同士の距離について変動の有無を判断し、かかる判断結果である教師データを取得しても良い。教師データ取得部53は、外部磁気情報55である教師データを取得しても良い。外部磁気情報55は、センサユニット14の出力へ影響を及ぼし得る外部磁気が存在するか否かを示す情報である。この場合、外部測定機器から教師データ取得部53へ、磁気の測定結果である外部磁気情報55が入力される。外部測定機器は、センシングデバイス102の外部に設けられた測定機器である。また、駆動状態に応じて磁気を発生するデバイスがセンシングデバイス102の外部に設置されている場合には、外部磁気情報55は、デバイスの駆動状態を示す情報であっても良い。この場合、デバイスから教師データ取得部53へ、外部磁気情報55が入力される。なお、図11では、外部測定機器の図示を省略する。
学習部54は、演算部25によって得られた検知結果が正常であるか否かを学習する以外に、L1,L2,L3の変動度合いを示す値あるいは変動度合いを示す情報に類する値を学習しても良い。この場合、演算部25によって得られた検知結果が正常であるか否かを判定する手段が、判定部52のうち学習部54よりも後段に設けられる。かかる手段は、学習部54からの出力値を参照することによって、演算部25によって得られた検知結果が正常であるか否かを判定する。
学習部54へ入力される状態変数は、磁気センサ15a,15b,15cによる検出値に限られず、かかる検出値への演算処理によって得られた情報であっても良い。演算部25は、検出値への演算処理によって第1の構造体11の変位量を算出し、算出された値である状態変数を学習部54へ出力しても良い。
なお、実施の形態3においても、実施の形態1と同様に、取得部21へ入力される検出値の個数は、演算部25での演算によって得られる測定結果の値の個数よりも多い。センシングデバイス102には、測定結果の値の個数よりも多くの個数の検出値を得ることを可能とする複数のセンサユニット14が設けられている。
実施の形態3によると、センシングデバイス102は、データセットに従って異常の有無を学習することによって、異常の有無の高精度な判定が可能となる。実施の形態3によると、異常の有無を判定するための処理演算を設計者の手作業によって導出する場合と比較して、判定部52の設計および実装に要する作業の低減が可能となる。このため、センシングデバイス102は、設計作業コストを低減することができる。
実施の形態3における学習は、センシングデバイス102の製造の際に行われても良く、センシングデバイス102の使用環境における調整の際に行われても良い。センシングデバイス102は、センシングデバイス102を製造する際の学習によって、磁気センサ15および磁石16の特性による個体差の校正、あるいは磁気センサ15および磁石16の設置位置による個体差の校正が可能となる。センシングデバイス102は、製造時における個体差の校正によって、異常の有無の高精度な判定が可能となる。
また、センシングデバイス102が搭載されたロボット等について、ロボット等の立ち上げおよび使用開始のための調整が行われる際に、センシングデバイス102は、使用環境における学習を行い得る。センシングデバイス102は、使用環境での学習によって、立ち上げおよび使用開始の際の調整作業コストの低減が可能となる。また、センシングデバイス102は、使用環境での学習によって、使用環境に合わせて異常の有無の判定を高精度に行うことが可能となる。
学習部54は、学習の結果を保持する。判定部52は、判定部52へ入力される情報と学習の結果とに基づいて異常の有無を判定し、判定結果を出力する。センシングデバイス102の運用時において、センシングデバイス102は、学習部54による学習を停止することができる。センシングデバイス102は、学習を停止することによって、学習部54への教師データの入力が不要となる。センシングデバイス102は、教師データの入力が不要となることによって、外部磁気情報55の取得と、磁気センサ15a,15b,15c同士の距離を求める処理と、磁石16a,16b,16c同士の距離を求める処理とが不要となる。
センシングデバイス102の運用時には、外部磁気情報55の取得が不要であることによって、外部磁気を測定するための外部測定機器が不要となる。これにより、センシングデバイス102は、運用コストを低く抑えながら、運用の際における異常の有無を高精度に判定することが可能となる。センシングデバイス102の運用時において、磁気センサ15a,15b,15c同士の距離を求める処理と、磁石16a,16b,16c同士の距離を求める処理とを停止できるため、センシングデバイス102は、判定部52による処理のためのリソースを低減することができる。センシングデバイス102は、磁気センサ15a,15b,15c同士の距離を求める処理と、磁石16a,16b,16c同士の距離を求める処理との停止によって、判定部52による処理の高速化が可能となる。
センシングデバイス102は、運用時に教師データを適宜取得することとし、運用の途中における学習を学習部54によって行っても良い。センシングデバイス102は、運用時の教師データに基づく学習によって、環境の変化に合わせて異常の有無の判定を高精度に行うことが可能となる。異常の有無の判断基準となる距離であるL1,L2およびL3の変動度合いを示す値を学習部54が学習する場合、センシングデバイス102は、学習部54から出力される値である当該変動度合いを示す値を参照することによって、異常の前兆を警告する予防保全を行うことが可能となる。なお、実施の形態1にかかるセンシングデバイスシステム200、あるいは実施の形態2にかかるセンシングデバイス100は、実施の形態3にかかるセンシングデバイス102と同様の学習を行っても良い。
実施の形態4.
図12は、本発明の実施の形態4にかかるセンシングデバイスが有する機能構成を示す図である。実施の形態4では、上記の実施の形態1から3と同一の構成要素には同一の符号を付し、実施の形態1から3とは異なる構成について主に説明する。
実施の形態4にかかるセンシングデバイス103は、測定装置60を有する。測定装置60は、取得部21と、測定装置60を制御する制御部61と、教師データを取得する教師データ取得部63と、記憶部23と、出力部24とを有する。制御部61は、センサユニット14a,14b,14cの各々による検出結果に基づいた演算によって、第1の構造体11の移動量と、第1の構造体11の回転量と、第1の構造体11が受けた外力とのうちの少なくとも1つについての測定結果を求める演算部62を有する。演算部62は、学習部64を有する。
教師データは、第1の構造体11の移動量を実測した結果と、第1の構造体11の回転量を実測した結果とである。学習部64は、センシングデバイス103による検知異常の有無をデータセットに従って学習する。データセットは、状態変数および教師データの組み合わせである。状態変数は、センサユニット14a,14b,14cの各々による検出結果を含む。取得部21は、状態変数を観測する状態観測部として機能する。取得部21と教師データ取得部63と学習部64とは、機械学習を実行する機械学習装置として機能する。学習部64を有する演算部62の機能は、実施の形態1の場合と同様の処理回路を使用することによって実現される。教師データ取得部63の機能は、実施の形態1の場合と同様の入出力インタフェース43を使用することによって実現される。
外部測定機器65は、センシングデバイス103の外部に設けられた測定機器である。外部測定機器65は、第1の構造体11の移動量と、第1の構造体11の回転量と、を測定する。教師データ取得部63は、移動量と回転量との実測結果である教師データを外部測定機器65から取得する。教師データ取得部63は、取得された教師データを学習部64へ出力する。
学習部64は、磁気センサ15a,15b,15cによる磁束の検出結果である各値を取得部21から取得する。学習部64は、状態変数である磁束の値と、移動量および回転量の実測結果である教師データとを互いに関連付けることによってデータセットを作成する。学習部64は、第1の構造体11の移動量と第1の構造体11の回転量との測定結果を、データセットに基づいて学習する。
なお、教師データは、第1の構造体11が受けた外力を実測した結果であっても良い。この場合、教師データ取得部63は、第1の構造体11が受けた外力の実測結果を外部測定機器65から取得する。また、学習部64は、状態変数である磁束の値と、外力の実測結果である教師データとを互いに関連付けることによってデータセットを作成する。学習部64は、第1の構造体11が受けた外力を、データセットに基づいて学習する。
学習部64が学習する外力は、3軸の各方向において第1の構造体11を並進動作させる力成分である並進力成分と、3軸の各々を中心に第1の構造体11を回転動作させる力成分であるモーメント成分との、合計6成分からなる。学習部64が学習する外力は、当該6成分のうちの少なくとも1つであれば良く、当該6成分のうちの任意の成分の組み合わせであっても良い。
このように、教師データ取得部63は、第1の構造体11の移動量を実測した結果と、第1の構造体11の回転量を実測した結果と、第1の構造体11が受けた外力を実測した結果とのうちの少なくとも1つである教師データを取得するものであれば良い。学習部64は、移動量と回転量と外力とのうちの少なくとも1つについての測定結果を学習するものであれば良い。
学習部64へ入力される状態変数は、磁気センサ15a,15b,15cによる検出値に限られず、かかる検出値への演算処理によって得られた情報であっても良い。演算部62は、検出値への演算処理によって第1の構造体11の変位量を算出し、算出された値である状態変数を学習部54へ入力しても良い。
なお、実施の形態4においても、実施の形態1と同様に、取得部21へ入力される検出値の個数は、演算部62での演算によって得られる測定結果の値の個数よりも多い。センシングデバイス103には、測定結果の値の個数よりも多くの個数の検出値を得ることを可能とする複数のセンサユニット14が設けられている。
実施の形態4によると、センシングデバイス103は、データセットに従って移動量、回転量、あるいは外力についての測定結果を学習することによって、第1の構造体11の移動量、第1の構造体11の回転量、あるいは第1の構造体11が受けた外力についての高精度な測定結果を得ることが可能となる。実施の形態4によると、測定結果を求めるための処理演算を設計者の手作業によって導出する場合と比較して、演算部62の設計および演算部62の実装に要する作業の低減が可能となる。このため、センシングデバイス103は、設計作業コストを低減することができる。
実施の形態4における学習は、センシングデバイス103の製造の際に行われても良く、センシングデバイス103の使用環境における調整の際に行われても良い。センシングデバイス103は、センシングデバイス103を製造する際の学習によって、磁気センサ15および磁石16の特性による個体差の校正、あるいは磁気センサ15および磁石16の設置位置による個体差の校正が可能となる。センシングデバイス103は、製造時における個体差の校正によって、高精度な測定結果を得ることが可能となる。
また、センシングデバイス103が搭載されたロボット等について、ロボット等の立ち上げおよび使用開始のための調整が行われる際に、センシングデバイス103は、使用環境における学習を行い得る。センシングデバイス103は、使用環境での学習によって、立ち上げおよび使用開始の際の調整作業コストの低減が可能となる。また、センシングデバイス103は、使用環境での学習によって、使用環境に合わせて高精度な測定結果を得ることが可能となる。
学習部64は、学習の結果を保持する。演算部62は、演算部62へ入力される情報と学習の結果とに基づいて測定結果を算出し、測定結果を出力する。センシングデバイス103の運用時において、センシングデバイス103は、学習部64による学習を停止することができる。センシングデバイス103は、学習を停止することによって、学習部64への教師データの入力が不要となる。センシングデバイス102は、教師データの入力が不要となることによって、外部測定機器65からの実測結果の取得が不要となる。
センシングデバイス103の運用時には、実測結果の取得が不要であることによって、外部測定機器65が不要となる。これにより、センシングデバイス103は、運用コストを低く抑えながら、運用の際における高精度な測定結果を得ることが可能となる。センシングデバイス103は、運用時に教師データを適宜取得することとし、運用の途中における学習を学習部64によって行っても良い。センシングデバイス103は、運用時の教師データに基づく学習によって、環境の変化に合わせて高精度な測定結果を得ることが可能となる。なお、実施の形態1にかかるセンシングデバイスシステム200、あるいは実施の形態2にかかるセンシングデバイス100は、実施の形態4にかかるセンシングデバイス103と同様の学習を行っても良い。
センシングデバイスは、上記の実施の形態3における学習と、実施の形態4における学習との双方を行っても良い。図13は、実施の形態3における学習と実施の形態4における学習との双方を行うセンシングデバイスの例を示す図である。図13に示すセンシングデバイス104は、実施の形態3にかかるセンシングデバイス102と同様に、異常の有無を学習する。また、センシングデバイス104は、実施の形態4にかかるセンシングデバイス103と同様に、移動量と回転量と外力とのうちの少なくとも1つについての測定結果を学習する。
センシングデバイス104は、測定装置70を有する。測定装置70は、取得部21と、測定装置70を制御する制御部71と、教師データを取得する教師データ取得部73と、記憶部23と、出力部24とを有する。制御部71は、学習部74を有する。教師データ取得部73は、図11に示す教師データ取得部53の機能と、図12に示す教師データ取得部63の機能とを有する。学習部74は、図11に示す学習部54の機能と、図12に示す学習部64の機能とを有する。制御部71は、図11に示す制御部51の機能と、図12に示す制御部61の機能とを有する。図13では、制御部71のうち学習部74以外の構成要素の図示を省略する。
センシングデバイス104は、データセットに従って異常の有無を学習することによって、異常の有無の高精度な判定が可能となる。また、センシングデバイス104は、データセットに従って、移動量、回転量、あるいは外力についての測定結果を学習することによって、第1の構造体11の移動量、第1の構造体11の回転量、あるいは第1の構造体11が受けた外力についての高精度な測定結果を得ることが可能となる。
実施の形態3の学習機能と実施の形態4の学習機能との双方が一体とされた学習部74では、双方の学習機能についての入力層などの処理の一部を共通化できる。このため、センシングデバイス104は、学習のための処理負荷を低減することができる。また、学習部74は、異常の有無の判定結果を測定結果の演算に反映することができる。学習部74は、磁気センサ15による検出結果のうち異常の要因となる値について、測定結果の演算における重みを減らすこととしても良い。センシングデバイス104は、異常の有無の判定結果が測定結果の演算に反映されることによって、測定結果に異常が生じるような環境変化があった場合でも高精度な測定結果を得ることが可能となる。なお、実施の形態1にかかるセンシングデバイスシステム200、あるいは実施の形態2にかかるセンシングデバイス100は、センシングデバイス104と同様の学習を行っても良い。
実施の形態3および4における学習は、センシングデバイス102,103,104の内部の構成要素である学習部54,64,74を使用して実行されるものに限られない。学習部は、ネットワークを介してセンシングデバイス102,103,104と接続されている外部装置に設けられたものであっても良い。外部装置に設けられた学習部は、ネットワークを介してセンシングデバイス102,103,104から教師データと状態変数とを取得する。外部装置に設けられた学習部による学習結果は、ネットワークを介してセンシングデバイス102,103,104へ送信される。学習部は、クラウドサーバ上に存在するものであっても良い。
学習部54,74は、例えば、ニューラルネットワークモデルに従い、いわゆる教師あり学習によって、異常の有無を学習する。学習部64,74は、例えば、ニューラルネットワークモデルに従い、いわゆる教師あり学習によって、第1の構造体11の移動量、第1の構造体11の回転量、あるいは第1の構造体11が受けた外力についての測定結果を学習する。ここで、教師あり学習とは、ある入力と入力に対応する結果であるラベルとを含むデータセットを学習部54,64,74へ大量に与えることによって、データセットの特徴を学習部54,64,74に学習させ、入力から結果を推定するモデルをいう。
ニューラルネットワークは、複数のニューロンからなる入力層と、複数のニューロンからなる中間層である隠れ層と、複数のニューロンからなる出力層とで構成される。中間層は、1層、または2層以上でもよい。
図14は、実施の形態3および4における学習に使用されるニューラルネットワークの構成例を示す図である。図14に示すニューラルネットワークは、3層のニューラルネットワークである。入力層は、ニューロンX1,X2,X3を含む。中間層は、ニューロンY1,Y2を含む。出力層は、ニューロンZ1,Z2,Z3を含む。なお、各層のニューロンの数は任意とする。入力層へ入力された複数の値は、重みW1であるw11,w12,w13,w14,w15,w16が乗算されて、中間層へ入力される。中間層へ入力された複数の値は、重みW2であるw21,w22,w23,w24,w25,w26が乗算されて、出力層から出力される。出力層から出力される出力結果は、重みW1,W2の値に従って変化する。
学習部54,74のニューラルネットワークは、センシングデバイス102,104による検知における異常の有無を学習する。ニューラルネットワークは、取得部21によって観測される状態変数と、教師データ取得部53,73によって取得される教師データとの組み合わせに基づいて作成されるデータセットに従って、いわゆる教師あり学習によって、状態変数と異常の有無との関係性を学習する。この場合、ニューラルネットワークは、センサユニット14による検出結果が入力層へ入力されることによって出力層から出力される結果が、外部磁気の存在についての情報、磁気センサ15a,15b,15c同士の距離を求めた結果、あるいは磁石16a,16b,16c同士の距離を求めた結果である教師データに近づくように重みW1,W2を調整することによって、当該関係性を学習する。
学習部64,74のニューラルネットワークは、第1の構造体11の移動量、第1の構造体11の回転量、あるいは第1の構造体11が受けた外力についての測定結果を学習する。ニューラルネットワークは、取得部21によって観測される状態変数と、教師データ取得部53,73によって取得される教師データとの組み合わせに基づいて作成されるデータセットに従って、いわゆる教師あり学習によって、状態変数と測定結果との関係性を学習する。この場合、ニューラルネットワークは、センサユニット14による検出結果が入力層へ入力されることによって出力層から出力される結果が、移動量、回転量あるいは外力についての実測結果である教師データに近づくように重みW1,W2を調整することによって、当該関係性を学習する。
ニューラルネットワークは、いわゆる教師なし学習によって、センシングデバイス102,104による検知における異常の有無を学習することもできる。また、ニューラルネットワークは、いわゆる教師なし学習によって、第1の構造体11の移動量、第1の構造体11の回転量、あるいは第1の構造体11が受けた外力についての測定結果を学習することもできる。教師なし学習とは、対応する教師出力データを与えずに、入力データを学習部54,64,74へ大量に与えることによって、入力データがどのような分布をしているかを学習部54,64,74に学習させるモデルである。
教師なし学習の手法の1つに、入力データの類似性に基づいて入力データをグループ化するクラスタリングがある。学習部54,64,74は、クラスタリングの結果を使って、何らかの基準を最適にするように出力の割り当てを行うことによって、出力の予測モデルを生成する。学習部54,64,74は、教師なし学習と教師あり学習とが組み合わせられたモデルである半教師あり学習によって、異常の有無あるいは測定結果を学習しても良い。入力データのうちの一部について教師出力データが与えられる一方、その他の入力データには教師出力データが与えられない場合の学習が、半教師あり学習に該当する。
学習部54,74は、複数のセンシングデバイス102,104に対して作成されたデータセットに従って、センシングデバイス102,104による検知における異常の有無を学習しても良い。また、学習部64,74は、複数のセンシングデバイス103,104に対して作成されたデータセットに従って、第1の構造体11の移動量、第1の構造体11の回転量、あるいは第1の構造体11が受けた外力についての測定結果を学習しても良い。
学習部54,64,74は、同一の現場で使用される複数のセンシングデバイス102,103,104からデータセットを取得しても良く、あるいは、互いに異なる現場で使用される複数のセンシングデバイス102,103,104からデータセットを取得しても良い。データセットは、複数の現場において互いに独立して稼働する複数のロボット等の機器から収集されたものであっても良い。複数のセンシングデバイス102,103,104からのデータセットの収集を開始した後に、データセットが収集される対象に新たなセンシングデバイス102,103,104が追加されても良い。また、複数のセンシングデバイス102,103,104からのデータセットの収集を開始した後に、データセットが収集される対象から、複数のセンシングデバイス102,103,104のうちの一部が除外されても良い。
ある1つのセンシングデバイス102,103,104において検知異常の有無あるいは測定結果の学習を行った学習部54,64,74は、当該センシングデバイス102,103,104以外の他のセンシングデバイス102,103,104へ取り付けられても良い。当該他のセンシングデバイス102,103,104に取り付けられた学習部54,64,74は、当該他のセンシングデバイス102,103,104における再学習によって、出力の予測モデルを更新することができる。
学習部54,64,74が使用する学習アルゴリズムには、特徴量の抽出を学習する深層学習(Deep Learning)を用いることができる。学習部54,64,74は、深層学習以外の公知の方法、例えば、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
上述した課題を解決し、目的を達成するために、本発明にかかるセンシングデバイスは、外力を受けて動く操作体の動きを検知する。本発明にかかるセンシングデバイスは、操作体である第1の構造体と、操作体以外の構造体である第2の構造体とを備える。本発明にかかるセンシングデバイスは、第1の構造体と第2の構造体とのうちの一方に配置された要素である磁気センサと、第1の構造体と第2の構造体とのうちの他方に配置された要素である磁石とを有し、磁気センサによって検出される磁束の変化に基づいて磁気センサと磁石との相対的な位置変化を検出する複数のセンサユニットと、複数のセンサユニットの各々による検出結果に基づいた演算によって、第2の構造体に対する第1の構造体の移動量と、第2の構造体に対する第1の構造体の回転量と、第1の構造体が受けた外力とのうちの少なくとも1つについての測定結果を求める演算部とを備える。本発明にかかるセンシングデバイスは、磁気センサによって検出される磁束が磁気センサと磁石との相対的な位置変化以外の要因によって変化する異常の有無を、複数のセンサユニットの各々による検出結果に基づいて判定する判定部を備える。