特開2016-221660(P2016-221660A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧
特開2016-221660判定方法、判定プログラム及び判定装置
<>
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000003
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000004
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000005
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000006
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000007
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000008
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000009
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000010
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000011
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000012
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000013
  • 特開2016221660-判定方法、判定プログラム及び判定装置 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2016-221660(P2016-221660A)
(43)【公開日】2016年12月28日
(54)【発明の名称】判定方法、判定プログラム及び判定装置
(51)【国際特許分類】
   B25J 13/08 20060101AFI20161205BHJP
   B23P 19/04 20060101ALN20161205BHJP
【FI】
   B25J13/08 Z
   B23P19/04 G
【審査請求】未請求
【請求項の数】6
【出願形態】OL
【全頁数】15
(21)【出願番号】特願2015-113358(P2015-113358)
(22)【出願日】2015年6月3日
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【弁理士】
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】雨宮 智
【テーマコード(参考)】
3C030
3C707
【Fターム(参考)】
3C030BC04
3C030BC16
3C030BC31
3C707BS10
3C707KS23
3C707KS33
3C707KT02
3C707KT06
3C707KV06
3C707KX06
3C707LV20
3C707LW03
3C707MS15
(57)【要約】
【課題】リアルタイムにロボットの作業の良否を判定する。
【解決手段】判定装置10は、ロボット22が行う作業の状況を検出するセンサ24が出力する時系列データから、ロボットが動作状態にある区間(動的区間)を特定し、動的区間ごとに、時系列データに対して滑走窓を用いて部分時系列データ(窓幅のデータ)を抽出し、部分時系列データを特徴量とする識別器を生成し、生成した識別器を用いてロボットの作業の良否判定を行う。
【選択図】図1
【特許請求の範囲】
【請求項1】
ロボットが行う作業の状況を検出するセンサが出力する時系列なデータ列から、前記ロボットが動作状態にある区間を特定し、
動作状態にある区間ごとに、前記時系列なデータ列に対して滑走窓を用いて部分時系列データを抽出し、
抽出した前記部分時系列データを特徴量とする識別器を生成し、
前記識別器と前記センサが出力する判定対象の時系列なデータ列とに基づいて、前記ロボットの作業の良否を判定する、
処理をコンピュータが実行することを特徴とする判定方法。
【請求項2】
前記抽出する処理では、前記動作状態にある区間内の複数の時刻において、所定大きさの窓幅を有する滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成する処理では、抽出された複数の前記部分時系列データそれぞれを特徴量とする、前記複数の時刻それぞれに対応する複数の識別器を生成する、ことを特徴とする請求項1に記載の判定方法。
【請求項3】
前記抽出する処理では、前記動作状態にある区間内の複数の時刻において、所定大きさの窓幅を有する滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成する処理では、抽出された複数の前記部分時系列データを特徴量とする、前記複数の時刻全てに対応する識別器を1つ生成する、ことを特徴とする請求項1に記載の判定方法。
【請求項4】
前記抽出する処理では、第1時刻から第2時刻までを窓幅とし、前記第1時刻が固定で前記第2時刻が可変とされた滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成する処理では、抽出された複数の前記部分時系列データそれぞれを特徴量とする複数の識別器を生成する、ことを特徴とする請求項1に記載の判定方法。
【請求項5】
ロボットが行う作業の状況を検出するセンサが出力する時系列なデータ列から、前記ロボットが動作状態にある区間を特定し、
動作状態にある区間ごとに、前記時系列なデータ列に対して滑走窓を用いて部分時系列データを抽出し、
抽出した前記部分時系列データを特徴量とする識別器を生成し、
前記識別器と前記センサが出力する判定対象の時系列なデータ列とに基づいて、前記ロボットの作業の良否を判定する、
処理をコンピュータに実行させることを特徴とする判定プログラム。
【請求項6】
ロボットが行う作業の状況を検出するセンサが出力する時系列なデータ列から、前記ロボットが動作状態にある区間を特定する特定部と、
動作状態にある区間ごとに、前記時系列なデータ列に対して滑走窓を用いて部分時系列データを抽出する抽出部と、
抽出した前記部分時系列データを特徴量とする識別器を生成する生成部と、
前記識別器と前記センサが出力する判定対象の時系列なデータ列とに基づいて、前記ロボットの作業の良否を判定する判定部と、
を備える判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定方法、判定プログラム及び判定装置に関する。
【背景技術】
【0002】
産業用ロボット等のロボットを用いた作業が広く行なわれている。ロボットが行う作業の良否判定を、作業の良否に関連付けられた特徴量の平均値および分散値に基づいて行うことが知られている(例えば、特許文献1等参照)。また、搬送物を吸着する吸着パッドの吸着圧力が安定するまでの間の吸着圧力の過渡データに基づき吸着パッドの磨耗を判断することが知られている(例えば、特許文献2等参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−230245号公報
【特許文献2】特開2012−152843号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ロボットが行う作業の良否判定においては、リアルタイム性が求められる場合がある。しかしながら、従来技術では、リアルタイムに良否判定を行うことが難しい。
【0005】
1つの側面では、本発明は、リアルタイムにロボットの作業の良否を判定することが可能な判定方法、判定プログラム及び判定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの態様では、判定方法は、ロボットが行う作業の状況を検出するセンサが出力する時系列なデータ列から、前記ロボットが動作状態にある区間を特定し、動作状態にある区間ごとに、前記時系列なデータ列に対して滑走窓を用いて部分時系列データを抽出し、抽出した前記部分時系列データを特徴量とする識別器を生成し、前記識別器と、前記センサが出力する判定対象の時系列なデータ列とに基づいて、前記ロボットの作業の良否を判定する、処理をコンピュータが実行する判定方法である。
【発明の効果】
【0007】
リアルタイムにロボットの作業の良否を判定することができる。
【図面の簡単な説明】
【0008】
図1】第1の実施形態に係るロボットシステムの構成を概略的に示す図である。
図2】判定装置のハードウェア構成を示す図である。
図3】判定装置の機能ブロック図である。
図4】第1の実施形態に係る個別認識部による学習段階の処理を示すフローチャートである。
図5】第1の実施形態の識別器について説明するための図である。
図6】第1の実施形態に係る個別認識部による判定段階の処理を示すフローチャートである。
図7】累積異常スコア値及び閾値について説明するための図である。
図8】第2の実施形態の識別器について説明するための図である。
図9】第2の実施形態に係る個別認識部による学習段階の処理を示すフローチャートである。
図10】第2の実施形態に係る個別認識部による判定段階の処理を示すフローチャートである。
図11】第3の実施形態の識別器について説明するための図である。
図12】第3の実施形態に係る個別認識部による学習段階の処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
《第1の実施形態》
以下、ロボットシステムの第1の実施形態について、図1図12に基づいて詳細に説明する。
【0010】
図1には、第1の実施形態にかかるロボットシステムの構成が概略的に示されている。図1に示すように、ロボットシステム100は、ロボット22、コントローラ14、センサ24、カメラ12、および判定装置10等を備えている。
【0011】
ロボット22は、例えば産業用ロボットである。ロボット22は、例えば、ステージ25と、マニピュレータ26と、を有する。マニピュレータ26は、作用部28を用いて作業を行う。作用部28は例えばハンド機構や、ピンセットなどである。ステージ25は、マニピュレータ26を支持する。ロボット22は、コントローラ14により制御される。コントローラは、一連の作業の時系列の教示データ列に基づいて、ロボット22を動作させる。ここで、教示データ列は、例えば入出力インタフェース97を介して外部から取得してもよいし、予めHDD96等に格納されていてもよい。
【0012】
センサ24は、マニピュレータ26に設けられ、ロボット22が行う作業の状況を検出する。センサ24は、例えばマニピュレータ26の歪みを検出する歪みセンサである。センサ24としては、例えば、3軸または6軸力覚センサを用いてもよい。この場合、センサ24は、作用点の力ベクトルおよび/またはトルクを検出する。なお、センサ24は、荷重センサ、圧力センサ、加速度センサまたはマイクロフォンでもよい。
【0013】
カメラ12は、例えば、CCD(Charge Coupled Device)センサまたはCMOS(Complimentary Metal Oxide Semiconductor)センサ等の2次元画像センサであるものとする。ただし、これに限られるものではなく、カメラ12は、1次元画像センサであってもよい。
【0014】
図2には、判定装置10のハードウェア構成が示されている。図2に示すように、判定装置10は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、入出力インタフェース97、表示部93、入力部95、及び可搬型記憶媒体用ドライブ99等を備えている。これら判定装置10の構成各部は、バス98に接続されている。表示部93は、液晶ディスプレイ等を含み、入力部95は、キーボードやマウス、入力ボタン等を含む。判定装置10では、ROM92あるいはHDD96に格納されているプログラム(判定プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム(判定プログラムを含む)をCPU90が実行することにより、図3に示す、各部の機能が実現される。
【0015】
図3は、判定装置10の機能ブロック図である。判定装置10は、CPU90がプログラムを実行することで、区間弁別部30、特定部、抽出部、生成部及び判定部としての個別認識部32、画像判定部34、判断結果値算出部36、異常判断部38、出力部40、追加学習部42として機能する。
【0016】
区間弁別部30は、センサ24からセンサデータ(時系列データ)を取得し、データが定常的な区間(定常区間)であるか、データが過渡的な区間(動的区間)であるかを弁別する。なお、区間の弁別方法としては、本願発明者の先願(特開2015−9308号公報)に開示されている方法などを採用することができる。
【0017】
個別認識部32は、定常区間のデータを3σ法で良否判定する。また、個別認識部32は、動的区間のデータを3σ法で良否判定するとともに、SVM識別器(以下、単に、「識別器」と呼ぶ)を用いて良否判定する。個別認識部32は、各判定結果を判断結果値算出部36に入力する。例えば、個別認識部32は、3σ法による良否判定結果として、良であれば「0」を、否であれば「1」を判断結果値算出部36に出力する。同様に、個別認識部32は、SVM識別器を用いた良否判定結果として、良であれば「0」を、否であれば「1」を判断結果値算出部36に出力する。なお、個別認識部32による、SVM識別器を用いた処理(SVM処理)については、後に詳述する。
【0018】
画像判定部34は、カメラ12により撮影された画像から特徴量を抽出し、マハラノビス距離などを用いることにより、画像に基づくロボットの動作の良否判定を行う。画像判定部34は、例えば、画像に基づくロボットの動作の良否判定結果が良であった場合には「0」を、否であった場合には「1」を判断結果値算出部36に送信する。
【0019】
判断結果値算出部36は、入力された各判定結果を区間ごと(定常区間又は動的区間ごと)に累積し、累積されたスコア値(累積スコア値)を異常判断部38に入力する。
【0020】
異常判断部38は、判断結果値算出部36から入力された累積スコア値が予め定められた閾値を超えた場合に、ロボットの動作に異常があったと判断する。異常判断部38は、判断結果を出力部40及び追加学習部42に対して入力する。
【0021】
出力部40は、ロボットの動作の異常情報を表示部93等を介して出力する。
【0022】
追加学習部42は、異常判断部38の判断結果に基づいて、個別認識部32が利用する識別器を更新する。
【0023】
<個別認識部32のSVM処理>
次に、本第1の実施形態の判定装置10の個別認識部32のSVM処理について、詳細に説明する。なお、以下においては、識別器を準備する学習段階の処理と、識別器を用いた判定段階の処理と、について説明する。
【0024】
(学習段階の処理)
図4は、学習段階の処理を示すフローチャートである。なお、学習段階の処理は、事前(判定段階の処理を行う前の初期段階)に個別認識部32が実行する処理である。なお、コントローラ14は、一連の作業の時系列の教示データ列に基づいて、ロボット22を動作させる。
【0025】
図4の処理では、まず、ステップS10において、個別認識部32が、学習データを取得する。なお、学習データは、用途によって識別器用データとテスト用データとに分かれる。識別器用データは、識別器・3σ域を作成するためのデータで、個別センサによる良否判定(OK/NG判定)のために用いるデータである。一方、テスト用データは、個別センサによる良否判定の後、判定結果を判断結果値として算出し、それを時間で累積した結果(累積波形)から閾値を算出するために用いるデータである。このステップS10においては、学習データとして、識別器用データを取得する。
【0026】
次いで、ステップS12では、個別認識部32が、学習データのうち、動的区間の抽出を行う。この場合、個別認識部32は、図5に示すような動的区間を抽出する。なお、抽出した動的区間の幅をDとする。
【0027】
次いで、ステップS14では、個別認識部32が、動的区間内のデータ点Kを終点とする幅Wの窓(滑走窓)を設定する。ここでは、図5において符号70で示す幅の窓を設定する。なお、終点は、窓の右端の点を意味する。
【0028】
次いで、ステップS16では、個別認識部32が、データ点Kが幅Dに含まれるか否かを判断する。このステップS16の判断が否定された場合、すなわち、窓の終点(右端の点)が動的区間から外れた場合には、図4の全処理を終了する。一方、ステップS16の判断が肯定された場合、すなわち、窓の終点(右端の点)が動的区間内にある場合には、ステップS18に移行する。なお、ステップS14が実行された直後のステップS16の判断は必ず肯定されるので、ステップS14の直後においては、ステップS16の判断を省略して、直接ステップS18に移行してもよい。
【0029】
ステップS18に移行すると、個別認識部32が、窓幅のデータ(部分時系列データ)を抽出する。すなわち、個別認識部32は、符号70で示す範囲の学習データを部分時系列データとして抽出する。
【0030】
次いで、ステップS20では、個別認識部32が、抽出したデータ(部分時系列データ)より識別器を生成する。この場合、個別認識部32は、抽出した学習データを特徴量として識別器を生成する。図5には、この段階で生成される識別器を「識別器1」として示している。
【0031】
次いで、ステップS22では、個別認識部32が、Kを1インクリメントする(K=K+1)。次いで、ステップS24では、個別認識部32が、データ点K(次のデータ点)を終点とする幅Wの窓を設定する。その後は、個別認識部32は、ステップS16に戻り、ステップS16の判断が否定されるまで、ステップS16〜S24の処理・判断を繰り返す。この繰り返しにより、滑走窓が時刻ごとに移動しながら部分時系列データを抽出し、識別器を生成するので、図5に示すような識別器2、識別器3、…、識別器Mが生成される。図5の識別器Mまで生成された段階で、ステップS16の判断が否定され、図4の全処理が終了する。なお、図4の処理を繰り返し実行することにより、他の動的区間についても識別器を生成することができる。
【0032】
(判定段階の処理)
次に、判定段階の処理について説明する。図6は、個別認識部32による、学習段階の処理で生成した識別器1〜Mを用いた判定段階の処理を示すフローチャートである。なお、コントローラ14は、一連の作業の時系列の教示データ列に基づいて、ロボット22を動作させる。
【0033】
図6の処理では、まず、ステップS110において、個別認識部32が、判定対象となる時点(例えば直近)のデータ点を取得する。次いで、ステップS112では、個別認識部32が、取得したデータ点が動的区間に属するか否かを判断する。このステップS112の判断が否定された場合には、図6の全処理を終了するが、肯定された場合には、ステップS114に移行する。
【0034】
ステップS114に移行すると、個別認識部32は、取得したデータ点Kを終点とする窓幅Wのデータを抽出する。次いで、ステップS116では、個別認識部32が、データ点Kが動的区間の幅Dに含まれているか否かを判断する。このステップS116の判断が否定された場合には、図6の全処理を終了する。なお、図6の全処理が終了した場合でも、個別認識部32は、所定時間後に図6の処理を再開する。一方、ステップS116の判断が肯定された場合には、個別認識部32は、ステップS118に移行する。なお、ステップS112の判断が肯定された直後は、ステップS116の判断は必ず肯定されるので、ステップS112の判断が肯定された直後は、ステップS116を実行せずに、直接ステップS118に移行してもよい。
【0035】
ステップS118に移行すると、個別認識部32は、終点Kに対応する識別器を選択する。ここでは、例えば、識別器1が選択される。次いで、ステップS120では、個別認識部32が、識別器による判断を行う。この判断によりロボットの動作が良(OK)と判定された場合には、個別認識部32は、判定結果値として例えば「0」を判断結果値算出部36に対して出力する。一方、ステップS120の判断によりロボットの動作が否(NG)と判定された場合には、判定結果値として例えば「1」を判断結果値算出部36に対して出力する。
【0036】
次いで、ステップS122に移行すると、個別認識部32が、Kを1インクリメントする(K=K+1)。次いで、ステップS124では、個別認識部32が、データ点K(次のデータ点)を取得し、ステップS114に戻る。ステップS114に戻った後は、ステップS114〜S124の処理・判断を繰り返すことで、識別器2〜Mによる判定を行う。そして、ステップS116の判断が否定された段階、すなわち、データ点が動的区間から外れた段階で、図6の全処理を終了する。
【0037】
図6の処理では、データ点が得られる度に識別器を用いた良否判断を行うことができるので、リアルタイムにロボットの動作の良否を判断し、判断結果を判断結果値算出部36に対して出力することができる。
【0038】
<判断結果値算出部36、異常判断部38及び出力部40の処理>
次に、判断結果値算出部36の処理について説明する。判断結果値算出部36は、リアルタイムに個別認識部32及び画像判定部34から入力される判定結果を、区間ごと(定常区間または動的区間ごと)及び時刻ごとに累積する(図7の実線参照)。この累積結果(累積異常スコア値)が、予め定められている閾値(図7の破線参照)を超えた場合に、異常判断部38は、ロボットの作業に異常があったという情報を、出力部40に送信する。そして、出力部40は、異常判断部38から受信した情報に基づいて、表示部93等を介して、ロボットの動作に異常があった旨を報知する。なお、閾値は、例えば、学習データ(テスト用データ)により作成した累積波形の統計値などに基づいて決定した値であるものとする。
【0039】
<追加学習部42の処理>
次に、追加学習部42の処理について簡単に説明する。ユーザは、例えば、出力部40からロボットの動作に異常があった旨が通知されたが、実際には異常が無かった場合に、その旨を入力部95から入力する。この場合、追加学習部42は、異常があったと判定したデータを異常判断部38から取得して学習データとする(異常が無かったとするラベル「0」を付加する)。そして、追加学習部42は、ラベル「0」が付加された学習データを用いてSVM識別器を更新したり、異常判断部38が用いる閾値(図7参照)を更新する。なお、例えば、出力部40からロボットの動作の異常が通知されなかったが、実際には異常があった場合にも、ユーザはその旨を入力部95から入力する。この場合にも、追加学習部42は、異常が無かったと判定したデータを異常判断部38から取得して学習データとする(異常があったとするラベル「1」を付加する)。そして、追加学習部42は、ラベル「1」が付加された学習データを用いてSVM識別器を更新したり、異常判断部38が用いる閾値(図7参照)を更新する。
【0040】
以上、詳細に説明したように、本第1の実施形態によると、ロボットが行う作業の状況を検出するセンサ24が出力する時系列データ(学習データ)から、ロボットが動作状態にある区間(動的区間)を特定し(S12)、動的区間ごとに、時系列データに対して滑走窓70を用いて時刻ごとの部分時系列データ(窓幅のデータ)を抽出し(S18)、部分時系列データを特徴量とする識別器を生成し(S20)、識別器とセンサデータとに基づいて、ロボットの作業の良否判定を行う(図6)。これにより、時刻ごとに異なる識別器を生成して、ロボットの作業中にセンサ24から得られるデータと時刻ごとに異なる識別器とからロボットの作業の良否を判定するので、リアルタイムに異常判断することができるとともに、良否判定の精度を向上することができる。また、コントローラ14が良否判定結果を用いたロボットの制御(停止、修正等)を行うことでロボットを適切に制御することが可能となる。
【0041】
なお、上記実施形態では、個別認識部32及び画像判定部34が、判定結果として「0」又は「1」を判断結果値算出部36に対して入力する場合について説明したが、これに限られるものではない。例えば、良否の判定結果を数値で表すことができる場合(例えば閾値や基準値などからの乖離度等で表せる場合)には、当該数値を判断結果値算出部36に対して入力してもよい。この場合、判断結果値算出部36は、入力された数値そのもの又は当該数値に基づく値を累積して累積異常スコア値を算出するようにしてもよい。
【0042】
なお、上記実施形態では、画像判定部34は、定常区間の画像データを用いたロボットの動作の良否判定方法と、動的区間の画像データを用いたロボットの動作の良否判定方法とを異ならせてもよい。
【0043】
また、上記実施形態では、判定装置10が、追加学習部42を有する場合について説明したが、これに限らず、判定装置10は、追加学習部42を有していなくてもよい。すなわち、個別認識部32は、初期において実行される学習段階の処理で得られた識別器を使い続けてもよい。
【0044】
《第2の実施形態》
次に、第2の実施形態について説明する。なお、本第2の実施形態にかかるロボットシステムの構成は第1の実施形態のロボットシステム(図1図3参照)と同様となっている。
【0045】
本第2の実施形態では、図8に示すように、異なる時刻において用いる識別器を同一の(共通の)識別器としている点が、第1の実施形態と異なっている。具体的には、個別認識部32は、学習段階において図9のフローチャートに沿った処理を実行し、判定段階において図10のフローチャートに沿った処理を実行する。
【0046】
(学習段階の処理)
図9の処理においては、図4と比較すると分かるように、図4のステップS20を省略するとともに、ステップS16の判断が否定された後(図9の処理が終了する直前)にステップS20’を実行することとしている。すなわち、本第2の実施形態では、滑走窓を用いて、時刻ごとに窓幅のデータ(学習データの一部である部分時系列データ)を抽出する処理(S18)を繰り返し、滑走窓が動的区間から外れた段階(S16:否定)で、抽出した全てのデータ(部分時系列データ)を用いて、1つの識別器を生成する(S20’)。
【0047】
(判定段階の処理)
図10の処理においては、図6と比較すると分かるように、図6のステップS118が省略されている。すなわち、本第2の実施形態では、1つの識別器を用いることとしているので、時刻ごとの識別器の選択(図6のステップS118)は不要となる。
【0048】
その他の処理については、第1の実施形態と同様である。
【0049】
以上、説明したように、本第2の実施形態によると、第1の実施形態と同様、リアルタイムにロボットの作業の良否を判定することができる。また、本第2の実施形態では、動的区間において共通の識別器を用いるので、判定において時間ズレが発生したとしても、時刻ごとに識別器を生成していないことから、時間ズレによる良否判定精度への影響を低減することができる。
【0050】
なお、上記実施形態では、動的区間全体で1つの識別器を生成し、用いる場合について説明したが、これに限らず、動的区間を複数に区分けし、区分けした各区間ごとに識別器を生成するようにしてもよい。
【0051】
《第3の実施形態》
次に、第3の実施形態について説明する。なお、本第3の実施形態にかかるロボットシステムの構成は第1の実施形態のロボットシステム(図1図3参照)と同様となっている。
【0052】
本第3の実施形態では、図11に示すように、識別器1〜Mの最初の点(左端の点:第1時刻)が固定で、幅が徐々に大きくなる(終点(第2時刻)が右側に変化する)点が、第1の実施形態と異なっている。この場合、個別認識部32は、学習段階において図12のフローチャートに沿った処理を実行する。
【0053】
(学習段階の処理)
図12の処理においては、個別認識部32は、窓幅のデータを抽出し、識別器を生成する度に(ステップS18,S20を実行する度に)、ステップS23において、窓幅(滑走窓の幅)Wを大きくする。これにより、最初の点(左端の点)が固定で、幅が徐々に大きくなる識別器1〜Mを生成することが可能となる。
【0054】
(判定段階の処理)
判定段階においては、個別認識部32は、第1の実施形態と同様、図6のフローチャートに沿った処理を実行する。すなわち、時刻ごとに、識別器1〜Mと同一の時間幅(特徴次元数)のデータ(部分時系列データ)を抽出し、識別器1〜Mを用いてロボットの動作の良否判定を行う。
【0055】
以上、説明したように、本第3の実施形態によると、第1の実施形態と同様、リアルタイムにロボットの作業の良否判定を行うことができる。また、本第3の実施形態では、最初の点(第1時刻)から終点(第2時刻)までを窓幅とし、最初の点(第1時刻)が固定で、終点(第2時刻)が可変とされた滑走窓を用いて、学習データから部分時系列データを抽出し、抽出した複数の部分時系列データそれぞれを特徴量とする識別器1〜Mを生成する。これにより、時間が経つにつれて識別器の幅(特徴次元数)が大きくなることから、ロボットの良否判定の精度を向上することができる。また、ある程度の時間ズレが発生しても、特に動的区間の後半における時間ズレに対するロバスト性が発揮されるので、この点からもロボットの動作の良否判定の精度を向上することができる。
【0056】
なお、上記各実施形態で説明した方法により生成される識別器は、SVM以外にも用いることができる。例えば、マハラノビス距離、線形判別、ニューラルネット、ベイズなどで利用される識別器に採用してもよい。
【0057】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
【0058】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0059】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0060】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0061】
なお、以上の第1〜第3の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) ロボットが行う作業の状況を検出するセンサが出力する時系列なデータ列から、前記ロボットが動作状態にある区間を特定し、
動作状態にある区間ごとに、前記時系列なデータ列に対して滑走窓を用いて部分時系列データを抽出し、
抽出した前記部分時系列データを特徴量とする識別器を生成し、
前記識別器と前記センサが出力する判定対象の時系列なデータ列とに基づいて、前記ロボットの作業の良否を判定する、
処理をコンピュータが実行することを特徴とする判定方法。
(付記2) 前記抽出する処理では、前記動作状態にある区間内の複数の時刻において、所定大きさの窓幅を有する滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成する処理では、抽出された複数の前記部分時系列データそれぞれを特徴量とする、前記複数の時刻それぞれに対応する複数の識別器を生成する、ことを特徴とする付記1に記載の判定方法。
(付記3) 前記抽出する処理では、前記動作状態にある区間内の複数の時刻において、所定大きさの窓幅を有する滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成する処理では、抽出された複数の前記部分時系列データを特徴量とする、前記複数の時刻全てに対応する識別器を1つ生成する、ことを特徴とする付記1に記載の判定方法。
(付記4) 前記抽出する処理では、第1時刻から第2時刻までを窓幅とし、前記第1時刻が固定で前記第2時刻が可変とされた滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成する処理では、抽出された複数の前記部分時系列データそれぞれを特徴量とする複数の識別器を生成する、ことを特徴とする付記1に記載の判定方法。
(付記5) ロボットが行う作業の状況を検出するセンサが出力する時系列なデータ列から、前記ロボットが動作状態にある区間を特定し、
動作状態にある区間ごとに、前記時系列なデータ列に対して滑走窓を用いて部分時系列データを抽出し、
抽出した前記部分時系列データを特徴量とする識別器を生成し、
前記識別器と前記センサが出力する判定対象の時系列なデータ列とに基づいて、前記ロボットの作業の良否を判定する、
処理をコンピュータに実行させることを特徴とする判定プログラム。
(付記6) 前記抽出する処理では、前記動作状態にある区間内の複数の時刻において、所定大きさの窓幅を有する滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成する処理では、抽出された複数の前記部分時系列データそれぞれを特徴量とする、前記複数の時刻それぞれに対応する複数の識別器を生成する、ことを特徴とする付記5に記載の判定プログラム。
(付記7) 前記抽出する処理では、前記動作状態にある区間内の複数の時刻において、所定大きさの窓幅を有する滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成する処理では、抽出された複数の前記部分時系列データを特徴量とする、前記複数の時刻全てに対応する識別器を1つ生成する、ことを特徴とする付記5に記載の判定プログラム。
(付記8) 前記抽出する処理では、第1時刻から第2時刻までを窓幅とし、前記第1時刻が固定で前記第2時刻が可変とされた滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成する処理では、抽出された複数の前記部分時系列データそれぞれを特徴量とする複数の識別器を生成する、ことを特徴とする付記5に記載の判定プログラム。
(付記9) ロボットが行う作業の状況を検出するセンサが出力する時系列なデータ列から、前記ロボットが動作状態にある区間を特定する特定部と、
動作状態にある区間ごとに、前記時系列なデータ列に対して滑走窓を用いて部分時系列データを抽出する抽出部と、
抽出した前記部分時系列データを特徴量とする識別器を生成する生成部と、
前記識別器と前記センサが出力する判定対象の時系列なデータ列とに基づいて、前記ロボットの作業の良否を判定する判定部と、
を備える判定装置。
(付記10) 前記抽出部は、前記動作状態にある区間内の複数の時刻において、所定大きさの窓幅を有する滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成部は、抽出された複数の前記部分時系列データそれぞれを特徴量とする、前記複数の時刻それぞれに対応する複数の識別器を生成する、ことを特徴とする付記9に記載の判定装置。
(付記11) 前記抽出部は、前記動作状態にある区間内の複数の時刻において、所定大きさの窓幅を有する滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成部は、抽出された複数の前記部分時系列データを特徴量とする、前記複数の時刻全てに対応する識別器を1つ生成する、ことを特徴とする付記9に記載の判定装置。
(付記12) 前記抽出部は、第1時刻から第2時刻までを窓幅とし、前記第1時刻が固定で前記第2時刻が可変とされた滑走窓を用いて前記時系列なデータ列から前記部分時系列データを抽出し、
前記生成部は、抽出された複数の前記部分時系列データそれぞれを特徴量とする複数の識別器を生成する、ことを特徴とする付記9に記載の判定装置。
【符号の説明】
【0062】
10 判定装置
22 ロボット
24 センサ
32 個別認識部(特定部、抽出部、生成部、判定部)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12