作業モード切替点設定方法とその装置及び作業補助装置
【課題】 作業補助装置を用いて作業者が一連の作業を行う際に経時的に変化する作業モードの切替点を設定する。
【解決手段】 作業モード切替点設定装置10aのコントローラ14aの物理データ記憶部32には作業者が加えた操作物理量(操作力)と移動機構12に支持された対象物の移動に関する物理量(対象物物理量)が入力される。クラスタリング部38では操作物理量と対象物物理量を含むn個の物理量を要素とするn次元の点群をクラスタリングする。操作物理量まで含めてクラスタリングするので作業モードごとに精度よく点群を分類できる。境界設定部40ではn個の物理量から操作物理量を除いたm個の物理量に基づいて各クラスタに属する点群をm次元空間で分離する境界面を設定する。その境界面が作業モードの切替点となる。
【解決手段】 作業モード切替点設定装置10aのコントローラ14aの物理データ記憶部32には作業者が加えた操作物理量(操作力)と移動機構12に支持された対象物の移動に関する物理量(対象物物理量)が入力される。クラスタリング部38では操作物理量と対象物物理量を含むn個の物理量を要素とするn次元の点群をクラスタリングする。操作物理量まで含めてクラスタリングするので作業モードごとに精度よく点群を分類できる。境界設定部40ではn個の物理量から操作物理量を除いたm個の物理量に基づいて各クラスタに属する点群をm次元空間で分離する境界面を設定する。その境界面が作業モードの切替点となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、支持した対象物を移動させる移動機構を利用して作業者自身が一連の作業を行う際の作業モードの切替点を設定する方法と装置に関する。また、支持した対象物を移動させる移動機構の制御アルゴリズムを設定された切替点に基づいて切り替えて作業者が対象物を移動させる作業を補助する装置に関する。
【背景技術】
【0002】
ワークや作業器具などの対象物を作業者が直接持って移動させる代わりに、モータ等の動力を利用して対象物を移動させる機構によって作業者の作業を補助する作業補助装置が開発されている。作業補助装置は操作子を備えている。作業者が操作子を操作すると、その操作に従って移動機構が動作し、対象物を初期の位置から目的の位置へ移動させることができる。作業の種類としては、例えば重量物の搬送であったり、部品を所定の位置に組み付ける作業であったりする。
作業者が作業補助装置を利用して対象物を初期の位置から目的の位置へ移動させる一連の作業を詳細に観察すると、作業者は一連の作業中に幾つかの異なる作業目的を経時的に切り替えていることがわかる。例えば作業初期には静止している対象物を加速させようとする目的で操作子を操作する。次に対象物を概ね目的位置の方向へ向けて移動させる目的で操作子を操作する。目的位置付近では対象物の移動速度を減速させる目的で操作子を操作する。最後に目的の位置へ対象物を位置決めする目的で操作子を操作する。この作業目的は作業者が意識的に切り替えている場合もあるが無意識的に切り替えている可能性もある。本明細書では、これらの夫々の作業目的に基づいた作業者の操作を作業モードと呼ぶことにする。例えば作業初期に静止している対象物を加速させようとする目的で操作子を操作することを加速作業モードと呼ぶ。対象物を概ね目的位置の方向へ向けて移動させる目的で操作子を操作することを移動方向制御作業モードと呼ぶ。目的位置付近で対象物の移動速度を減速させる目的で操作子を操作することを減速作業モードと呼ぶ。目的の位置へ対象物を位置決めする目的で操作子を操作することを位置決め作業モードと呼ぶ。作業補助装置が夫々の作業モードに応じて移動機構を制御するアルゴリズムを切り替えることができれば作業者の作業を一層効果的に補助することが容易になる。
【0003】
作業モードを切り替えたことを作業者が明示的に作業補助装置に指示するように構成すれば、その指示に従って移動機構を制御するアルゴリズムを切り替えればよい。しかしそれでは作業者に余計な操作を強いることになる。また作業者が無意識に作業モードを切り替える場合もある。従って作業者が作業モードを切り替える条件を作業補助装置が判断できることが望ましい。
【0004】
特許文献1には、対象物の加速度の値などによって予め作業モードが分割されており、移動機構を制御するためのインピーダンス制御則中の仮想質量や仮想粘性係数などのパラメータを各作業モードに応じて調整する技術が開示されている。例えば静止している対象物を加速させる作業モードでは仮想質量を小さい値に変更することによって、作業者は小さな操作力を操作子に加えるだけで重量物を加速させることができる。また目的位置付近で対象物を減速させる作業モードでは仮想粘性係数を大きい値に変更することによって、作業者は操作子に加える力を調整せずとも対象物を徐々に減速させることができる。
また特許文献2には、作業中の作業者の操作状態と対象物の所定の状態を検出して作業状態(作業モード)を推定し、推定された作業状態に基づいて移動機構の制御アルゴリズムを切り替える技術が開示されている。
【0005】
【特許文献1】特開2000−84881号公報
【特許文献2】特開2005−118959号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1では、複数の被験者に各種の搬送作業を実施してもらい、そのときの加速度の経時的なデータから作業補助装置の設計者が主観的に作業モードの切替点を設定している。作業モードの切替点を設計者が主観に基づいて設定するために、設定された切替点と実際に作業者が作業中に作業モードを切り替える点とが一致しない場合がある。
また、作業には対象物の位置や速度あるいは作業者が操作子に加える操作力など複数の物理量が関わっている。作業モードの作業目的によってはその作業モードの特徴をよく表す物理量が異なる場合がある。どの物理量がその作業モードを特徴付けるかは事前にはわからない。複数の物理量の変化の組み合わせがその作業モードを特徴付ける可能性もある。
作業モードを特徴付ける物理量が分からない場合や複数の物理量がその作業モードを特徴付ける場合などでは、設計者の主観に基づいていては作業モード切替点を正確に設定することは至難となる。
【0007】
特許文献2では、作業中に作業モードが切り替えられたことを推定する。この推定は、作業中の作業者の操作状態と対象物の所定の状態を検出して行われる。より具体的にはその推定には、隠れマルコフモデルやニューラルネットワークあるいはファジイ推論が用いられる。ファジイ推論などは、その作業モードを特徴付ける物理量が予め明確でないような場合には有効であるかもしれない。しかし特許文献2では作業中の作業者の操作状態と対象物の所定の状態から作業モードを推定するため、推定誤差が生じる可能性がある。
【0008】
作業モードに応じて移動機構の制御アルゴリズムを切り替える作業補助装置では、実際の作業モードと作業補助装置が判別又は推定した作業モードが異なると、実際の作業モードには不適切な移動機構の制御アルゴリズムが選択されてしまう。そのため作業補助装置の動作が反って作業者の作業を困難にしてしまうおそれがある。
作業者が作業補助装置を利用する場合には、作業者が作業モードを切り替える点とできるだけ一致するように、作業補助装置が各作業モードに対応した制御アルゴリズムを切り替える切替点を設定することのできる技術が必要とされている。
【課題を解決するための手段】
【0009】
作業モードが切り替えられると、作業の内容によって作業に関する物理量のいずれかが他の物理量より大きく変化する。作業に関する物理量のいずれもが大きく変化しないということは、同じような作業が続いている、即ち同じ作業モードが続いていると考えられるからである。
大きく変化する物理量はひとつの場合もあれば複数の物理量の複合的な変化である可能性もある。見方を変えれば各作業モードの特徴をよく表す何らかの物理量が存在する。作業に関する物理量には、対象物そのものの移動に関する物理量(対象物物理量と称する)と、作業者が操作子に加える物理量(操作物理量と称する)がある。
そこで作業者が作業モードを切り替える切替点を作業補助装置内のデータとして設定するには、作業者にその作業を実行してもらい、そのときの作業に関するできるだけ多くの物理量を経時的に記憶し、記憶した多くのデータに基づいて作業モードの切替点を設定することが合理的である。
【0010】
しかし一方では操作物理量は作業モードの切替点のパラメータに含むべきではない。操作物理量は作業者が自身の作業モードを切り替えた結果により生じる物理量であり作業モードを切り替えるためのパラメータではないからである。例えば、作業中に作業者は対象物が目的地位置付近に近づいたことを視認したとする。作業者は視認した結果に基づいて作業モードを等速移動作業モードから位置決め作業モードに切り替える。作業モードを切り替えた結果、作業者が操作子に与える操作物理量が変化する。操作物理量は作業モードの切替点を設定する際のパラメータに用いるべきではない。
【0011】
そこで本発明では、作業モードの特徴をよく掴むために、作業中の操作物理量と対象物物理量の両方を含むn個の物理量からなるn次元の点を所定時間毎に記憶する。n個の物理量の値で構成されるn次元の点群をクラスタリングする。クラスタリングされた各クラスタは作業モードの特徴をよく表すものとなる。その上で各クラスタに属する点群を、n個の物理量から操作物理量を除いたm個の対象物物理量で表されるm次元空間で夫々異なる領域に含まれるようにm次元空間を領域分割する。領域分割した際の境界が作業モード切替点となる。即ち次に作業を行った際、作業中に検出されるm個の対象物物理量の値で示されるm次元空間内の軌跡が境界を通過した時点が作業モードの切替点として設定できる。設定された切替点には操作物理量は含まれない。
【0012】
本発明によれば、作業モードごとの特徴をより正確に掴むために作業中の操作物理量と対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する。作業中の操作物理量と対象物物理量を含むn個の物理量の所定時間毎のデータから各作業モードの特徴をよく表す点群の集合(クラスタ)を得ることができる。各クラスタの点群によって作業モードをより正確に分離できる。各クラスタから操作物理量を除いたm個の物理量で表されるm次元空間内で各クラスタの点群を夫々含む領域に分割する。領域を分割する境界が作業モードの切替点となる。切替点の設定には操作物理量は含まれず、対象物物理量のみから設定される。作業モードをその特徴によって正確に分離した上で対象物物理量に依存する操作モードの切替点を設定することが可能となる。
【0013】
本発明は、操作子と、支持した対象物を動力によって移動させる移動機構とを有しており、作業者が操作子を操作することによって移動機構への指示が入力される作業補助装置を用いて作業者が一連の作業を行う際に経時的に変化する作業モードの切替点を設定する方法に具現化できる。この方法は、作業者によって操作子に加えられる物理量(操作物理量)を検出する工程と、移動機構によって移動する対象物の移動に関する物理量(対象物物理量)を検出する工程と、一連の作業を実行し、少なくとも一つの操作物理量と少なくとも一つの対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する工程を有する。
さらに、記憶されたn次元の点群を、「n個の物理量」で表されるn次元空間内で特定数のクラスタに分類するクラスタリング工程と、「n個の物理量」から操作物理量を除いたm個の対象物物理量で表されるm次元空間内で、夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する作業モード境界を設定する境界設定工程と、設定されたm次元空間の作業モード境界のデータを作業モードの切替点として記憶する工程を有する。
【0014】
ここで操作物理量とは例えば操作子に加えられる操作力や操作子の位置などがある。操作子がジョイスティックであれば操作物理量はジョイスティックの傾斜角や傾斜方向などでもよい。また、対象物物理量とは例えば、対象物の位置や速度や加速度などがある。
また「所定時間毎」とは例えばサンプリング周期毎でよい。
また「クラスタリング」とは、点群をその類似度に基いて分類すること、またそのための統計学的手法のことである。例えば、n次元空間内で点間距離の近い点同士をまずグループ化し、夫々のグループ内の点群の平均位置の近いグループ同士を融合することを繰り返して点群全体を最終的に幾つかのグループに分割する手法が知られている。
また、「n個の物理量」とは、検出可能な全ての物理量であってもよいし、検出可能な物理量のうちの幾つかを選択したものであってもよい。幾つかの物理量を選択する場合には、GMDH(Group Method of Data Handling)といわれる手法を用いてその作業に関わる度合いの高い物理量のみを選択してもよい。さらに「n」が4以上の場合には「n個の物理量」で表されるn次元空間は超空間となる。
また、「一連の作業を実行」するとは、1回の実行でもよいし複数回の実行であってもよい。
また「特定数のクラスタに分類する」場合の特定数とは任意の数であってよいが作業モードをあまりに多くの数に分割することは好ましくはない。特定数とは概ね2から6程度が好ましい。
さらに、境界設定工程は、例えば隣接する2つのクラスタの夫々に属する点群から互いに他方のクラスタに属する点群に近い複数の点を抽出し、それらの点から最小二乗法によってm次元空間を2分する平面(mが2の場合は直線となり、mが4以上の場合は超平面となる)を領域の境界として分割すればよい。このとき、複数の点の平均をとるので「夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する」とは、各クラスタに属する点群全てがm次元空間の同一の領域に含まれるように分割するのみならず、クラスタの外縁付近の点は「同一の領域」に含まれなくともクラスタに属する大半(好ましくは90%以上)の点群が「同一の領域」に含まれるように分割することを含む。
【0015】
上記方法によれば、一連の作業を実行した際に操作物理量と対象物物理量の両者を含むn個の物理量からなるn次元の点の所定時間毎のデータが記憶される。記憶されたn次元の点群をクラスタリングする。その際に操作物理量と対象物物理量の両者を含むn次元の点群がクラスタリングされる。よって操作物理量も含めた作業モードの特徴をよく表すクラスタリングができる。
操作物理量を除くm次元空間において、各クラスタに含まれるn次元の点群が一つの領域に含まれるように領域分割する。領域を分割する境界が作業モードの切替点として設定できる。設定された作業モードの切替点には操作物理量は含まれない。本来作業モード切替点には含まれるべきではない操作物理量を用いて作業モードの特徴をよく表すクラスタを得た後に操作物理量を含まずに作業モード切替点を設定することができる。
【0016】
境界設定工程は、作業終了時のm個の物理量の値で特定される点を原点とするm次元空間を設定し、隣接する2つのクラスタの夫々に属する点群から互いに他方のクラスタの点群に近い複数の点を抽出し、抽出された複数の点の平均位置を求め、原点を中心にして原点からその平均位置までの距離を半径とする球面を作業モード境界とすることが好ましい。
【0017】
作業終了時には対象物は目的位置で静止する。従って作業終了時のm個の物理量の値は常に等しくなる。上記方法では、この作業終了時のm次元の点の位置を原点としたm次元空間を設定する。各作業モード領域の境界はその原点からm次元空間の球面となる。換言すれば、各作業モード領域は、原点からm次元の点の距離が所定範囲内となる領域となる。
これは、各作業モードにおいて、対象物物理量のうちのある物理量が大きすぎた場合には他の物理量がその大きすぎた物理量を抑制する方向に変化し、全体として作業目的を達成するという知見に基づく。例えば、対象物を等速に移動させる作業モードにおいて、速度が速すぎた場合には速度を落とすように操作力が加えられる。そのため対象物の加速度が変化する。その結果、速度と加速度を要素とする2次元の点の原点からの距離は概ね同じとなる。即ち、作業に関するm個の物理量の値で示されるm次元の点において、m個の物理量のうち幾つかの要素の値が過去の作業時の物理量の値と大きく異なっていても、他の要素の値がm次元の点の位置を同じ作業モードの領域に属するように変化する。
上記方法によれば、m次元の点の要素の値のうち幾つかの値が過去の作業時の物理量の値と大きく異なっていてもそのm次元の点は同じ作業モードに属するものとして判断することが可能となる。
【0018】
境界設定工程は、n次元の各要素の値を正規化した点群に基づいて求めた前記球面を作業モード境界とすることが好ましい。
ここで正規化するとは、一連の作業で取得される各物理量の所定時間毎のデータについて、物理量ごとに、その一連の作業毎のデータ中の最大値の絶対値でその物理量の全ての経時的な値を除することを言う。この正規化によって各物理量は1.0から-1.0の間で変化するデータとなる。
n次元の点群を正規化することで、例えば対象物の初期位置だけが異なる作業に対しても、同じ作業モード領域の分割データを用いることが可能となる。
【0019】
本発明はまた、支持した対象物を移動させる移動機構を利用して作業者自身が一連の作業を行う際の作業モードの切替点を設定する装置に具現化することもできる。この装置は、対象物を支持可能であり、動力によって対象物を移動させる移動機構と、移動機構に対する指示を与えるために作業者が操作する操作子と、作業者の操作によって操作子に加えられる物理量(操作物理量)を検出する操作物理量検出器と、移動機構によって移動する対象物の移動に関する物理量(対象物物理量)を検出する対象物物理量検出器と、一連の作業を実行した際に、少なくとも一つの操作物理量と少なくとも一つの対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する物理量記憶手段と、記憶されたn次元の点群を、「n個の物理量」で表されるn次元空間内で特定数のクラスタに分類するクラスタリング手段と、「n個の物理量」から操作物理量を除いたm個の対象物物理量で表されるm次元空間内で、夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する作業モード境界を設定する境界設定手段と、設定されたm次元空間の作業モード境界を作業モードの切替点として記憶する境界データ記憶手段を備える。
上記装置によっても前述した方法と同様に一連の作業における作業モード切替点を設定することができる。
【0020】
本発明はまた、上記の方法若しくは装置によって得られた作業モード境界データに基づいて、支持した対象物を移動させる移動機構を利用して作業者が行う一連の作業を補助する装置に具現化することもできる。この装置は、移動機構と、対象物物理量検出器と、作業モード境界のデータを記憶する境界データ記憶手段と、夫々の作業モードに対応した制御アルゴリズム群と、現在作業モード判別器と、制御器を備える。
移動機構は、対象物を支持可能であり、作業者が操作する操作子の操作物理量に基づいて動力によって対象物を移動させる。
対象物物理量検出器は、対象物の移動に関する物理量(対象物物理量)を検出する。
現在作業モード判別器は、作業中に、対象物物理量検出器によって検出された現在の物理量から、作業モード境界を設定する際に用いた「m個の対象物物理量」で構成される現在のm次元の点がいずれの作業モード領域に属するかを判別する。
制御器は、アルゴリズム群の中から、判別された作業モード領域の作業モードに対応した制御アルゴリズムを選択し、操作物理量を入力として選択されたアルゴリズムに基づいて移動機構を制御する。
【0021】
上記構成によれば、作業モード切替点設定方法若しくは作業モード切替点設定装置によって設定された作業モード切替点の境界データと、現在の作業中に検出したm次元の対象物物理量の値によるm次元点を照合して現在の作業モードを特定することができる。そして特定された現在の作業モードに適したアルゴリズムを選択して移動機構を制御できる。現在の作業モードを正確に特定することができ、作業モードに適した制御アルゴリズムで作業者の作業を補助することができる。
【0022】
上記作業補助装置は、特定数のクラスタに分類されたn次元の点群の経時的な変化から各作業モードでの作業者の行動モデル関数を同定し、同定された行動モデル関数に基づいて各作業モードに対応した制御アルゴリズムを設定することが好ましい。
【0023】
前述の作業モード切替点設定方法あるいは作業モード切替点設定装置を利用する過程で各作業モードにおける「n個の物理量」の値で構成されるn次元の点群の所定時間毎のデータが得られる。このデータは観点を変えると、対象物の物理量を入力とし、作業者によって操作子に加えられる物理量を出力とする制御系の入出力関係の経時的データを表していると認識することもできる。ここでいう制御系は作業者を意味する。従ってこのデータから制御系(作業者)の伝達関数を同定することができる。作業者の伝達関数とは換言すると、作業者が作業中に対象物物理量を観察(検出)した結果、どのような操作力を出力するか、その作業者の特性を表す行動モデル関数ともいうべきものである。作業者の伝達関数(行動モデル関数)が同定できると、夫々の行動モデル関数に適した移動機構の制御アルゴリズムを設定することができる。よって作業モードごとに作業者の特性に適したアルゴリズムで移動機構を制御することができ、作業者の作業を一層効果的に補助することができる。
なお、上記入出力のデータから行動モデル関数を同定するには例えば最小二乗法などの手法を用いることが可能である。
【発明の効果】
【0024】
本願発明によれば、操作子と、支持した対象物を動力によって移動させる移動機構とを有しており、作業者が操作子を操作することによって移動機構への指示が入力される作業補助装置を用いて作業者が一連の作業を行う際に経時的に変化する作業モードの切替点を設定することができる。
また、作業補助装置を用いた作業中の現在の時点がどの作業モードであるかを作業対象物の移動に関する物理量から判別することができ、現在の作業モードに適したアルゴリズムで作業補助装置を制御して作業者の作業を効果的に補助することができる。
【発明を実施するための最良の形態】
【0025】
実施例の主要な特徴を列記する。
(第1形態) クラスタリングには凝集法による階層的クラスタ解析を用いることが好ましい。またクラスタ合併時の重み漸化方式としてはWard方を用いることが好ましい。この手法は、デンドログラムを得られるために結合時のクラスタ間距離を調べることができ、それをもとにした作業モード数の判断がし易く、各クラスタ間の分離点が求め易いという利点がある。
(第2形態) 点群を特定数のクラスタに分割する際の特定数は、デンドログラム上での各クラスタ間距離におけるクラスタの総数と、クラスタの数が減少するときのクラスタ間距離とを参照して決定することが好ましい。
【実施例】
【0026】
図面を参照して実施例を詳細に説明する。
<実施例1>
図1に本発明に係る一実施例の作業モード切替点設定装置10aの模式図を示す。なお図1では説明を簡単にするために、装置10aを2次元の図として描いてある。
図1の例は、部品28(対象物)をSの位置から移動させて、静止している組付け対象部品100の孔102へGの位置で組み付ける作業を行うものである。図1では部品28の最終位置Gを原点としたXY座標系を設定してある。
【0027】
作業モード切替点設定装置10aは、部品28を支持して移動させるための移動機構12と、この移動機構を制御する切替点設定装置コントローラ14aを備える。なお、作業モード切替点設定装置10aに対して10bと符号を付してあり、また切替点設定装置コントローラ14aに14bと符号を付してあるのは、同じ移動機構12を後に説明する作業補助装置として用いる場合に全体の装置が作業補助装置10bとなり、切替点設定装置コントローラ14aが作業補助装置10bを制御する場合に補助装置コントローラ14bとなることを示している。即ち本実施例では作業モード切替点設定装置10aを作業補助装置10bとしても機能させることができる。作業補助装置10bについては実施例2で説明する。
【0028】
移動機構12は多リンク機構であり、リンク16a、16b、16cと、隣接するリンクを揺動可能に連結する関節18a、18b、18cを備えている。関節18の夫々には関節角を計測するエンコーダ19a、19b、19cが備えられている。また各関節18にはリンク16を揺動させるためのアクチュエータ20a、20b、20cを備えている。なお、リンク16a、16b、16cを合わせて総称する場合には添え字a、b、cを省略してリンク16と表す。関節18a、18b、18cも関節全部を総称する場合には関節18と表す。アクチュエータ20a、20b、20cやエンコーダ19a、19b、19cについても同様である。
【0029】
移動機構12の先端のリンク16cにはグリッパ26が取り付けられている。グリッパ26はその先端の爪が開閉可能であり部品28を支持することができる。
移動機構12の先端のリンク16cにはまた力センサ22を介して操作子24が備えられている。作業者によって操作子24が操作されると、操作子24が受ける操作力は力センサ22で検出される。検出された操作力は切替点設定装置コントローラ14aに送られる。切替点設定装置コントローラ14aでは送られた操作力に基づいて移動機構12を動作させるべく、各アクチュエータ20に対してトルク指令値(または位置指令値や速度指令値でもよい)を出力する。
切替点設定装置コントローラ14aは、例えばインピーダンス制御則に基づいて入力された操作力から各アクチュエータ20に対する指令値を生成する。ここでインピーダンス制御とは、支持された部品28の位置に仮想的な質量と仮想的な粘性係数を設定し、入力された操作力によってこの仮想質量と仮想粘性係数を有する部品28に生じる運動を設定する運動方程式を設定する。操作力を入力として設定された運動方程式を解くことで仮想質量等が設定された部品28の加速度を求める。求められた加速度が部品28の位置で実現されるように各アクチュエータ20への指令値を出力する。仮想質量を小さい値に設定することで作業者は小さい操作力で部品28を移動させることが可能となる。また粘性係数を適切に設定することで、作業者が操作力をゼロとした場合には部品28を徐々に減速するように移動させることができる。
【0030】
各関節18に備えられたエンコーダ19からは各関節18の関節角が検出される。検出された各関節角と移動機構12の幾何学的構造から支持された部品28の位置を算出することができる。算出された部品28の位置は切替点設定装置コントローラ14aに送られる。
【0031】
次に図2に本実施例による作業モード切替点設定装置10aのブロック図を示す。
作業者が一連の作業中に操作子24に加えた操作力は力センサ22によって検出されて切替点設定装置コントローラ14a内のサンプリングホルダ30aに入力される。制御周期(サンプリング周期)毎にサンプリングされた操作力Fx、Fyは物理量データ記憶部32に入力される。
同時に移動機構12の位置センサ34によって検出された対象物28の位置が切替点設定装置コントローラ14a内のサンプリングホルダ30bに入力される。ここで位置センサ34とは、移動機構12に取り付けられたエンコーダ19と、各エンコーダ19の出力値と移動機構12のリンク構造の幾何学的な構成から対象物28の位置を算出する計算手段を含むものである。
サンプリングホルダ30bによって制御周期毎にサンプリングされた対象物28の位置Px、Pyと、サンプリングされた操作力Fx、Fyは移動機構制御部44に送られる。作業モード切替点設定装置10a内の移動機構制御部44には特定のアルゴリズムが実装されている。移動機構制御部44はその特定のアルゴリズムに基づいて操作力Fx、Fyに従って対象物28の位置Px、Pyを移動させるように移動機構12のアクチュエータ20へトルク指令値(あるいは位置指令値や速度指令値)を出力する。作業モードの切替点の設定を行うための作業実行時には、移動機構制御部44には予め決められた特定のアルゴリズムが実装されていればよい。
【0032】
サンプリングホルダ30bから出力された対象物28の位置Px、Pyは微分器36aに入力されて対象物28の速度Vx、Vyが求められる。さらに対象物28の速度Vx、Vyは他の微分器36bに入力されて対象物28の加速度Ax、Ayが求められる。制御周期毎にサンプリングされた対象物28の位置Px、Pyおよび、求められた対象物28の速度Vx、Vyおよび加速度Ax、Ayは物理量データ記憶部32に入力される。
物理量データ記憶部32ではサンプリング毎の操作力Fx、Fyと対象物28の位置Px、Pyとその速度Vx、Vyおよびその加速度Ax、Ayで構成される8個の物理量の値を要素とする8次元の点の集まり(点群)として記憶される。
一連の作業を複数回実行し、作業毎に8次元の点群の所定時間毎のデータが記憶される。
作業が複数回実行された後に記憶された点群のデータはクラスタリング部38によって参照され、8次元の点群を8個の物理量(Fx、Fy、Px、Py、Vx、Vy、Ax、Ay)を各軸とする8次元空間における近接する点群の集まりとして特定数のグループ(クラスタ)にクラスタリングされる。各クラスタに属する点群の夫々の要素は類似した値を有する。従って各クラスタの点群が夫々各作業モードの特徴を表す点群となる。
ここで特定数とは作業モードの数と規定する数であり、一連の作業の種類にもよるが概ね2から6程度が好ましい。作業モードをあまりにも細分化すると、夫々の作業モードに応じた制御アルゴリズムを設定するコストがかかる。また作業者にとっては作業中に制御アルゴリズムが頻繁に切り替えられることも作業のし易さを損ねる結果にもなりかねないからである。
次に特定数のグループに分けられた点群は、境界設定部40によって、8個の物理量(Fx、Fy、Px、Py、Vx、Vy、Ax、Ay)から操作物理量である(Fx、Fy)を除いた6個の物理量(Px、Py、Vx、Vy、Ax、Ay)で表される6次元空間内の各領域に分割される。境界設定部40では8次元の点群のうちの操作物理量(Fx、Fy)の値を無視して扱う。これにより元々8次元であった点群は6個の対象物物理量からなる6次元の点群として扱われる。
境界設定部40では、特定数のクラスタに分類された夫々の点群を、6個の対象物物理量で表される6次元空間で夫々別の領域に含まれるような境界を6次元空間に設定する。境界の設定手法については後述する。この境界が作業モードの切替点(切替点の集合としての面)となる。また各領域が夫々異なる作業モードを表す。以後、領域を作業モード領域と称する場合もある。ここで、境界を設定する6次元空間は操作物理量を含まず対象物物理量だけからなる空間である。従って作業モードの切替点には操作物理量は含まれない。
本実施例では、各作業モードの特徴を表す点群をクラスタに分類する際には操作物理量を考慮する。作業に関わる物理量の経時的な点群を作業モードの特徴を表す点群ごとにクラスタリングするには各点に含まれる情報(物理量の個数)は多い方がより正確に各作業モードの特徴を表す点群に分類できるからである。しかし作業モードの切替点を特定する際には操作物理量の値を無視した点群を用いる。これにより、作業モード切替点の設定の際には操作物理量を除外することができる。
【0033】
境界設定部40によって分割された6次元空間の各作業モード領域の境界のデータは境界データ記憶部42に記憶される。境界データ記憶部42に各作業モード領域の境界のデータが記憶されるということは、境界データ記憶部は境界によって分割される各作業モード領域のデータを記憶することと等価である。
即ち、ひとたび境界データが生成されて記憶されれば、次に作業を実行する際、実行中に検出されたn個の対象物物理量の値がどの作業モード領域に属しているかを判別することにより現在の作業モードを特定することが可能となる。また、検出されたn個の対象物物理量の値が経時的にみて境界を通過したときが作業モードの切替点として特定できる。
【0034】
次に図3を用いて図2の作業モード切替点設定装置10aによる処理の流れを説明する。
まずステップS100で一連の作業を実行する。その作業実行中にステップS102で力センサの出力Fx、Fy(操作物理量)と対象物の位置Px、Pyとその速度Vx、Vyおよびその加速度Ax、Ay(対象物物理量)を検出し記憶する。
一連の作業をM回実行するまでステップS102の操作物理量と対象物物理量の検出と記憶を繰り返す(ステップS104:NOの場合)。「M回」とは任意の数でよいが概ね5回から20回程度が適切である。
作業をM回実行したら(ステップS104:YES)、次にステップS106で記憶された点群を特定数のグループにクラスタリングする(特定数のグループに分ける)。ここでステップS106のクラスタリング処理では、記憶された「8個の物理量」の値で構成される8次元の点群を、「8個の物理量」を座標軸とする8次元空間内で点間距離の近い点同士をクラスタ(グループ)化し、さらにグループ間距離の近いクラスタ同士を一つのクラスタに融合していく。最終的には全点群は単一のクラスタに統合される。
次にステップS108の作業モード数の決定処理では、ステップS106のクラスタリング処理で隣接するクラスタが融合して最終的に一つのクラスタに統合された結果から、適切なクラスタ数を決定する。このときのクラスタ数が作業モードの数となる。作業モード数の決定の手法については次の図4で詳細に説明する。
【0035】
ステップS108で全部の点群が特定数のグループに分けられた後に、夫々のグループに含まれる点群の大半が夫々別個の領域に属するように6次元空間を領域分割するための境界を設定する。ここで「夫々のグループに含まれる点群の大半」と表現したのは以下の理由による。即ち、領域分割するために、隣接するグループの夫々に含まれる点群のうち、隣接する夫々のグループの点群から、境界に近い複数の点を抽出する。そしてその複数の点の平均位置を求める。6次元空間の原点からその平均位置までの距離を半径とした超球面を2つの隣接するグループ(クラスタ)を分ける6次元空間の境界とする。従って平均位置を求める際に用いた複数の点のうちいくつかは、超球面によって分割された2つの領域のうち、もともとは一方のグループに含まれていた点が他方のグループの点群の領域に属してしまうことがあるからである。この領域分割によって、夫々のグループに含まれる大半の点群は同一の領域に属することになるが、そのグループに含まれる点のうち他のグループに含まれる点群との距離が近い点はもともと含まれていたグループの領域とは異なる領域に属する場合がある。別言すれば、ステップS110の境界設定処理は、夫々のグループ(クラスタ)に属する点群のうち少なくとも隣接するグループ(クラスタ)の点群に近い点を除いた点群が夫々異なる領域に含まれるように6次元空間を複数の領域(作業モード領域)に分割する境界を設定する、と表現できる。
【0036】
ステップS110によって設定された6次元空間の境界のデータはステップS112で図2に示す境界データ記憶部42に記憶される。
【0037】
次にクラスタリング、すなわち複数回の作業実行の作業毎およびサンプリング時間毎に記憶された点群を特定数のグループに分ける処理について詳細に説明する。
その前に本実施例では、上記8個の物理量から点群をクラスタリングする場合に寄与度の低い物理量を除外するする処理を行う。扱う物理量を低減することができれば、計算コストを低減できるからである。本実施例では、作業モードごとに特定の物理量の変化がその作業モードを特徴付けることに着目している。ここで特定の物理量とは複数の物理量の組み合わせでもよい。また作業モードごとにその作業モードを特徴付ける物理量が異なってもよい。従って一連の作業に亘って経時的変化の小さい物理量は点群をクラスタリングする際のキーポイントとなる物理量とはなり得ない。そこで、そのような物理量は最初から除外することで以後のグループ化処理を高速化できる。
【0038】
8個の物理量からクラスタリングに寄与しない物理量を削除する方法として本実施例ではGMDH(Group Method of Data Handling)と呼ばれる手法を用いる。
作業者は対象物を視認することによって対象物物理量(対象物の位置Px、Pyとその速度Vx、Vyおよびその加速度Ax、Ay)を認識(検出)し、認識した対象物物理量から次の操作物理量(操作力Fx、Fy)を決定する。GMDHでは、作業者を、対象物物理量を入力とし、操作物理量を出力とする制御モデル(行動モデル)とみなす。図3のフローチャート図に示すステップS102の操作物理量/対象物物理量の検出と記憶によって記憶されたデータからGMDHによって作業者の行動モデルの関数を構築する。その行動モデル関数の中で出力Fx、Fyに対する寄与度の低い対象物物理量を特定する。特定された物理量は作業者が操作力Fx、Fyを決定するに際して参考とする度合いが低い物理量である。そのような物理量は記憶された点群をクラスタリングする際に重要な物理量とはならない。従って特定された物理量をクラスタリング処理の対象から除外する。発明者らの実験によると、本実施例における作業者の操作力Fxに対しては対象物のy軸方向の速度Vyと加速度Ayの寄与度が低いことが判明した(作業者の制御モデルの多項式は複雑であるので省略する)。そこで以下ではx軸方向の操作力Fxについて、記憶した8個の物理量からVyとAy、およびFyを除いた5個の物理量(Fx、Px、Py、Vx、Ax)を用いてクラスタリング処理を行う。物理量からFyを除いたのは操作力をx軸方向の操作力Fxとy軸方向の操作力Fyについてそれぞれ別個にクラスタリングを行うためである。以下では、説明を簡単化するために図1のx軸方向の操作力Fxのための作業モード切替点の設定処理について説明する。y軸方向の操作力Fyについても同様の処理ができる。なおGMDHについては、文献(Farlow S.J, "Self-organizing method in modeling", Marcel Decker, 1984)に詳しい。
【0039】
本実施例ではクラスタリングの具体的な手法として凝集法による階層的クラスタ解析を用いた。クラスタ合併時の重み漸化方式としてはWard方を用いた。この手法は、デンドログラムを得られるために結合時のクラスタ間距離を調べることができ、それをもとにした作業モード数の判断がし易く、各クラスタ間の分離点が求め易いという利点がある。
【0040】
図4(A)に、図2に示す物理量データ記憶部32に記憶されている5個の物理量(Fx、Px、Py、Vx、Ax)のデンドログラムを示す。図4(B)は、図4(A)の縦軸に示したfijの具体的意味を示す図である。fijとは図4(B)に示すように、5個の物理量(Fx、Px、Py、Vx、Ax)のj回目の作業実行における時刻tiでの値で構成される5次元点の座標を表す。図4(A)の縦軸は5次元の点fij位置を模式的に1次元の縦軸上にプロットしたものである。そして横軸は2つの点(又は点とグループ、若しくは2つのグループ)の距離を示している。
図4(A)のデンドログラム上に示されているコの字形の線は、2つの点(又は点とグループ、若しくは2つのグループ)の距離が近いためにそれらの2つの点がひとつにまとめられたことを示している。コの字形の線のうち、縦軸と平行な線の位置が横軸上での2つの点間距離を示している。
例えば点f21は第1回目の作業実施時の時刻t2における物理量(Fx、Px、Py、Vx、Ax)の値の点を表している。また点f21と点f22は点間距離がH1であることを表している。実際には縦軸には全ての点群がプロットされるため、膨大な数の点群がプロットされる。例えば1回約100秒かかる作業を0.1秒単位でサンプリングし、その作業を10回繰り返したとすると、点群の総数は1万点となる。図4(A)の縦軸には模式的に数点のみプロットしてある。
【0041】
クラスタリングとは、点間距離の近い点同士を一つのグループ(クラスタ)にまとめる手法である。例えば点f21と点f22は点間距離がH1でその他の点より近いのでこの2つの点が一つのグループにまとめられる。次に点f21と点f22の平均位置と点f11の点間距離が短いので点f21と点f22と点f11がひとつのグループにまとめられる。同様に点f32と点f31は点間距離がH1未満でありこの2つの点が別のグループとしてまとめられる。さらに点f32と点f31の平均位置と点f41の点間距離がH1と短いのでこれら点f32と点f31と点f41が新たにひとつのグループとしてまとめられる。こうして点間距離の近い点同士が順次グループ化されていく。最終的には点間距離H5で全ての点群が単一のグループに統合される。
【0042】
図4(A)のデンドログラムから作業モードの数を決定する。作業モードの分割数は予め2から6の間と設定されている。そしてグループの分割数と、それらのグループが統合されるまでの点間距離とを参照する。
一つにまとめられた点群は、点間距離の近いもの同士である。これは5個の物理量(Fx、Px、Py、Vx、Ax)の各要素の値が類似していることを示している。即ち一つのグループに含まれる点群は一つの作業モード中の点群として分類できることを意味している。そして2つのグループの点間距離が長いということは、一方のグループに含まれる夫々の点の5個の物理量の値のうち少なくとも一つが他のグループに含まれる点の同じ物理量の値と大きく異なっていることを示している。従って2つのグループの点間距離が長いということは、夫々のグループの点群で代表される作業モードの特徴が大きく異なることを意味している。
例えば図4(A)に示すようにグループEとグループFは点間距離がH5でようやく一つのグループに統合される。統合される際の点間距離が長いほど2つのグループ内の点群で代表される作業モードの特徴が大きく異なっている。即ちグループEとグループFの2つの作業モードに分けるとその切り替え点では作業の特徴が大きく異なることを意味している。作業モードの分割は少ない方が好ましいが、少なすぎると作業の切り替え時点で夫々の作業モードの特徴が大きく異なることになる。従って夫々の作業モードに応じた制御アルゴリズムも大きく異なるものとして設定される。一連の作業の途中で制御アルゴリズムが大きく異なるのは作業者に違和感を与え兼ねない。従って適切な点間距離で作業モードを分割する方がよい。
グループAとグループBは点間距離H3でひとつのグループEに統合される。グループCとグループDは点間距離H4でひとつのグループFに統合される。点間距離H3とH4は近接している。このことは、グループAで代表される作業モードとグループBで代表される作業モードの特徴の相違の程度と、グループCで代表される作業モードとグループDで代表される作業モードの特徴の相違の程度が概ね同じ程度であることを示している。従ってグループA、B、C、Dの4つのグループに作業モードを分割すると、夫々の作業モードの切り替え時点での作業内容の相違の程度は概ね同じ程度となる。
一方、点間距離H2では5つのグループに分割することができる。しかしグループAに統合される前の2つのグループは点間距離H2で統合される。このグループAに統合される前の2つのグループは、グループCとDが統合される点間距離H4よりはるかに短い点間距離H2で統合される。従ってグループAに統合される前の2つのグループに代表される作業モードの相違の程度は、グループCとDに代表される作業モードの相違の程度よりはるかに小さい。
作業モードの切り替え点の前後における作業モードの特徴の相違の程度は、同じ程度である方が作業者にとっては制御アルゴリズムの切り替え時点がわかり易い。そこで図4(A)のデンドログラムからは、グループA、B、C、Dの4つに分割することが適切であると判断できる。
以上の処理は図3のフローチャートにおけるステップS108の作業モードの決定処理で行われる。上記の特定数の決定処理は、デンドログラム上での各クラスタ間距離におけるクラスタの総数と、クラスタの数が減少するときのクラスタ間距離とを参照して決定することができる。
【0043】
次に図5を用いて、4つのグループの夫々に属する点群に基づいて作業モード領域を分割するための境界を設定する処理について説明する。図5(A)は作業モードごとに対応して空間を分割する領域の設定を説明する模式図である。図5(B)は、図5(A)に示されるhijの内容を説明する図である。図5(B)に示すように図5(A)に示されているhijは、j回目の作業実行時の時刻t1における4個の物理量(Px、Py、Vx、Ax)の位置を表す。即ちhijは、図4に示した各fijの要素から操作物理量であるFxを除いた4次元の点を表している。
作業モード領域の境界を設定する処理では、全ての点群をグループ化する際に用いた5個の物理量(Fx、Px、Py、Vx、Ax)から操作物理量であるFxを除いた4個の物理量(Px、Py、Vx、Ax)で表される4次元の点群を対象とする。ここで操作物理量を除くのは、次の理由による。即ち、本実施例では作業者を4個の対象物物理量(Px、Py、Vx、Ax)を入力とし、操作物理量Fxを出力とする行動モデルとみなしている。この行動モデルでは作業者は入力パラメータである4個の対象物物理量(Px、Py、Vx、Ax)に基づいて作業モードを切り替える。作業モードを切り替える際に操作物理量は関与しない。従って作業モードを領域分割する空間は、操作物理量を除く4個の対象物物理量(Px、Py、Vx、Ax)が構成する4次元空間とする。
【0044】
説明を簡単にするために図5(A)は対象物の位置PxとPyを軸とする2次元平面を描いてある。実際には4個の物理量からなる4次元空間で領域分割をするが4次元空間は描画できないので2次元平面に置き替えて説明する。また、横軸のPxと縦軸のPyは夫々正規化されており、{Px、Py}={1.0、1.0}の点が図1に示す対象物28のスタート点Sに相当し、{Px、Py}={0.0、0.0}の点が図1に示す対象物28の最終点Gに相当する。点Sから点Gに伸びる実線は作業実行1回目の対象物28の軌跡を示し、破線は作業実行2回目の対象物28の軌跡を示す。
【0045】
図5(A)に示す点h21は、作業実行1回目の時系列の点群で図4のグループAに含まれる点群のうち、グループBに含まれる点群に最も近い点f21に相当する点を表す。また点h31は、作業実行1回目の時系列の点群で図4のグループBに含まれる点群のうち、グループAに含まれる点群に最も近い点f31に相当する点を表す。同様に点h22は、作業実行2回目の時系列の点群で図4のグループAに含まれる点群のうち、グループBに含まれる点群に最も近い点f22に相当する点を表す。また点h32は、作業実行2回目の時系列の点群で図4のグループBに含まれる点群のうち、グループAに含まれる点群に最も近い点f32に相当する点を表す。即ち、点h21、点h31、点h22、点h32、は図4で互いに隣接するグループAとBに含まれる点群のうち、他方のグループの点群に近い点である。この4つの点の平均を取った点が点h23である。
次に座標系の原点から点h23までの距離R2を計算し、原点を中心として距離R2を半径とする円W2を設定する。この円W2は、図4のグループAに属する点群が含まれる領域Z1とグループBに属する点群が含まれる領域Z2の境界線となる。即ちこの円W2がグループAに属する点群に代表される作業モードとグループBに属する点群に代表される作業モードの境界点(の集合)となる。
なお、上記の処理では、隣接する2つのグループA、Bの夫々に属する点群から互いに他方のグループの点群に近い複数の点(点h21、点h31、点h22、点h32)を抽出し、抽出された複数の点の平均位置(点h23)を求め、原点を中心にして原点からその平均位置(点h23)までの距離R2を半径とする円W2を設定した。従って領域Z1にはグループAに属する点群の大半が含まれるが平均を取ったためにもともとはグループAに属していた点であったが領域分割の際にグループBの点群が含まれる領域Z2に含まれてしまうものもある。本実施例では、「5個の物理量から操作物理量を除いた4個の対象物物理量で表される4次元空間内で、夫々のクラスタに属する4次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるように4次元空間を分割する境界を設定する」との表現は、夫々の領域に夫々対応する点群の全てが含まれる場合のみならず、2つのクラスタの境界付近の点群を除く大半の点群が夫々クラスタごとに別の領域に含まれるように4次元空間を分割する境界を設定することも含まれる。
【0046】
図5(A)では、座標軸をPxとPyの2次元としたが、実際には4個の対象物物理量(Px、Py、Vx、Ax)を座標軸とする4次元空間で上記処理を行う。従って領域を分割する境界W2は4次元空間での超球面となる。この超球面W2が作業モードの切替点(の集合)に相当する。即ち超球面W2を設定する処理が、作業モードの切替点を設定する処理に相当する。
【0047】
同様に図4のグループBと隣接するグループCとの境界付近の複数の点を抽出し、それらの点の原点からの平均距離R3を求め、原点を中心として半径R3の超球面W3を設定する。また図4のグループCと隣接するグループDとの境界付近の複数の点を抽出し、それらの点の原点からの平均距離R4を求め、原点を中心として半径R4の超球面W4を設定する。図4(A)のグループBに属する点群が含まれる領域Z2とグループCに属する点群が含まれる領域Z3を分割する超球面W3も作業モードの切替点を設定する境界となる。同様に超球面W4も作業モードの切替点を設定する境界となる。
【0048】
ここで、図1に示した作業モード切替点設定装置10aで対象物28を点Sから点Gへ移動させる作業を行う際、作業中に取得した4個の対象物物理量(Px、Py、Vx、Ax)の値が示す点が領域Z1に含まれる場合に、その時点の作業は作業モードAにあると称する。また、作業中に取得した4個の対象物物理量の値が示す点が領域Z2に含まれる場合に、その時点の作業は作業モードBにあると称する。同様に作業中に取得した4個の対象物物理量の値が示す点が超球面W3とW4で囲まれた領域Z3に含まれる場合を作業モードCと称し、超球面W4の内側の領域Z4に含まれる場合を作業モードDと称する。
【0049】
次に図5で説明した各作業モードの分割が作業中に取得した物理量の経時的変化にどのように対応するかを図6により説明する。なお図6は説明のための模式図であり実際の試験結果ではない。
図6は同じ作業を2回実行した際の各物理量の経時的変化を示す。図6(A)は操作力Fxの経時的変化を示す。図6(B)は対象物28のx軸方向の位置Pxの経時的変化を示す。図6(C)は対象物28のx軸方向の速度Vxの経時的変化を示す。図6(D)は対象物28のx軸方向の加速度Axの経時的変化を示す。図6(E)は対象物28のy軸方向の位置Pyの経時的変化を示す。また全てのグラフにおいて横軸は経過時間tを示す。時間tを含め、全ての物理量は正規化して示してある。ここで正規化とは、作業実行ごとの時系列の点群の各要素(各物理量)の値に対して、その時系列の要素中の最大値の絶対値で全ての要素の値を除することをいう。従って全ての物理量は無次元化され、その値は-1.0から1.0の間の値をとる。検出した点群の各要素を正規化して表すことで、例えば作業開始位置や目標位置が異なったとしても一連の作業全体が同じであれば、作業モード切替点を設定する境界データを共通に利用することができる。
また各グラフにおいて実線は作業実行1回目の経時的変化を示し、破線は作業実行2回目の経時的変化を示す。
【0050】
図5で説明したように本実施例では対象物物理量(Px、Py、Vx、Ax)の値が示す点がどの作業モード領域にあるかでその時点の作業モードが特定される。図6では作業実行1回目については縦軸に平行な短破線が作業モードの切替点を示す。作業実行1回目では図6の上方に示すA1の期間が作業モードAに相当する。同様に、B1の期間が作業モードBに相当し、C1の期間が作業モードCに相当し、D1の期間が作業モードDに相当する。
また作業実行2回目については縦軸に平行な長破線が作業モードの切替点を示す。作業実行2回目では、図6の下方に示すA2の期間が作業モードAに相当する。同様に、B2の期間が作業モードBに相当し、C2の期間が作業モードCに相当し、D2の期間が作業モードDに相当する。
作業実行1回目の作業モードAは図6(D)の加速度Axの値がa1の位置で急激に変化している。従ってこの点a1が作業モードAと作業モードBの境界を特定付ける要因となっていることが推定される。作業実行2回目の作業モードAは図6(D)の加速度Axの値がa2の位置で急激に変化している。従ってこの点a2が作業モードAと作業モードBの境界を特徴付ける要因となっていることが推定される。なお、「推定される」とは、図5について説明したように本実施例では操作量Fxを含めた5つの物理量(Fx、Px、Py、Vx、Ax)の点群を4つのグループに分割し、夫々のグループの点群に対して操作量Fxを除く4つの物理量(Px、Py、Vx、Ax)の4次元点群によって4次元空間を領域分割(モード領域の分割)した結果であるので、作業モード領域の境界が各パラメータとどのように関連しているかは明示的に明らかではないからである。しかし作業実行1回目と2回目の双方とも作業モードAと作業モードBの境界では操作力Fxが立ち上がりから定常状態に移行している。従って操作量Fxを含めた5つの物理量(Fx、Px、Py、Vx、Ax)の点群をグループ化した際に、操作力Fxと加速度Axの組み合わせによって作業モードAと作業モードBの特徴の相違が表れたものと推定できる。作業モードAの期間における操作力Fxと加速度Axのグラフから、作業モードAは操作力Fxを加え始めて対象物を静止状態から加速させる内容の作業であると考えられる。ここで「考えられる」との表現を用いたのは次の理由による。本実施例では従来技術のように主観に基づいての作業モード切替点の設定ではなく、作業実行中に得られた物理量の点群を夫々の作業モードの特徴を代表する点群ごとにグループ化している。従ってその作業モードがどのような作業目的(作業内容)であるかは判別しないからである。逆に本実施例では、各作業モードの作業内容に関わらず、作業実行中に検出した物理量の経時的な変化のデータから設計者の主観を排除してその作業を特徴付ける物理量を有する点群のグループ(クラスタ)によって作業モードの切替点を設定する。しかも点群をグループ化する際には作業者が出力する操作力も含めている。従って本実施例によって設定された作業モードの切替点は、作業者の各作業モードに対する作業目的に沿って設定されるといえる。
作業モードBと作業モードCの境界は対象物のx軸方向の位置Pxが作業モードの切り替え点の主要なパラメータとなっていることが推定できる。作業実行1回目では点b1を境界として作業モードが切り替わっている。作業実行2回目では点b2を境界として作業モードが切り替わっている。作業モードBの期間におけるPxとPyのグラフから、作業モードBでは対象物の移動方向を目的位置の方向へ向ける内容の作業であると考えられる。
作業モードCと作業モードDの境界は対象物のy軸方向の位置Pyが作業モードの切り替え点の主要なパラメータとなっていることが推定できる。作業実行1回目では点c1で作業モードがCからDに切り替わっている。作業実行2回目では点c2で作業モードがCからDに切り替わっている。作業モードCは対象物の速度を徐々に減速させつつある内容の作業であると考えられる。作業モードDはさらに速度を落として目標位置に位置決めする内容の作業であると推定される。
【0051】
本実施例は、作業者に予め一連の作業を実行させる。その作業実行時に所定時間毎に操作物理量と作業対象物物理量の両者を含む物理量を取得する。得られた点群をクラスタリングによって一連の作業のうちの各作業モードを代表する点群のクラスタに分類する。各クラスタに属する点群に対して操作物理量を除いた対象物物理量だけで作業モードの切替点を設定する。クラスタリング時には操作物理量も加味するので各作業モードを代表する点群の分類がより精密になる。一方、作業モード切替点の設定においては操作物理量を除外する。作業モード切替点の設定に際して、作業モード切替点には含まれるべきではない操作物理量をも加味した精密に分類された各作業モードを代表する点群のクラスタを用いることによって、作業者による各作業モード切替点に極めて近い切替点を設定することが可能となる。
【0052】
<実施例2>
次に実施例1の作業モード切替点設定装置10aを用いて作成された作業モード境界データに基づいて、支持した対象物を移動させる移動機構を利用して作業者が行う一連の作業を補助する作業補助装置について説明する。
図7は作業補助装置10bのブロック図である。作業補助装置の構成は図1の構成と同じであるので説明を省略する。
この作業補助装置10bは移動機構12と作業補助装置コントローラ14bを備えている。
移動機構12は、アクチュエータ20と位置センサ34と操作子24と力センサ22を有している。これらは実施例1で説明した移動機構12と同様であるので説明を省略する。
【0053】
作業者が一連の作業中に操作子24に加えた操作力は力センサ22によって検出されて作業補助装置コントローラ14b内のサンプリングホルダ30aに入力される。制御周期(サンプリング周期)毎にサンプリングされた操作力Fx、Fyは作業モード判別部48に入力される。また操作力Fx、Fyは移動機構制御部54にも入力される。
同時に移動機構12の位置センサ34によって検出された対象物28の位置が作業補助装置コントローラ14b内のサンプリングホルダ30bに入力される。
サンプリングホルダ30bによって制御周期毎にサンプリングされた対象物28の位置Px、Pyは移動機構制御部54に送られる。
【0054】
またサンプリングホルダ30bから出力された対象物28の位置Px、Pyは微分器36aに入力されて対象物28の速度Vx、Vyが求められる。さらに対象物28の速度Vx、Vyは他の微分器36bに入力されて対象物28の加速度Ax、Ayが求められる。制御周期毎にサンプリングされた対象物28の位置Px、Pyおよび、求められた対象物28の速度Vx、Vyおよび加速度Ax、Ayは作業モード判別部48に入力される。
作業モード判別部48では、境界データ記憶部42に記憶されている、実施例1で説明した作業モード境界のデータと、入力された{Px、Py、Vx、Ax}のデータを照合し、現在の{Px、Py、Vx、Ax}の4次元点の位置が4次元空間のどの作業モード領域に属するかを判別する。ここで{Px、Py、Vx、Ax}の4次元点の位置が図5に示した領域Z1に属する場合には現在の作業モードは作業モードAであると判別される。同様に現在の4次元の点の位置が図5の領域Z2に属する場合には作業モードBであると判別される。4次元点の位置が領域Z3に属する場合には作業モードCであると判別され、領域Z4に属する場合には作業モードDであると判別される。判別された結果は、切替部50に送られる。
【0055】
一方アルゴリズム記憶部52には夫々の作業モードに対応した制御アルゴリズム群が格納されている。夫々の制御アルゴリズムは異なる制御ロジックに基づいており、操作力Fx、Fyを入力として移動機構12を制御するものである。作業モードAに対応する制御アルゴリズムが制御アルゴリズムA(符号52aで示されている)である。同様に作業モードBに対応する制御アルゴリズムが制御アルゴリズムB(符号52bで示されている)である。作業モードCに対応する制御アルゴリズムが制御アルゴリズムC(符号52cで示されている)である。作業モードDに対応する制御アルゴリズムが制御アルゴリズムD(符号52dで示されている)である。
【0056】
切替部50では、作業モード判別部48で判別された作業モードに対応した制御アルゴリズムをアルゴリズムAからDの中から選択して移動機構制御部54で実際に作動させる制御アルゴリズムに設定する。
移動機構制御部54では、操作力Fx、Fyと対象物の現在位置Px、Pyを入力とし、切替部50で選択されたアルゴリズムに基づいて移動機構12のアクチュエータ20への指令値を出力する。
移動機構12は移動機構制御部54からの指令値に基づいて支持した対象物28(図1参照)を移動させる。
なお、上記説明は操作力Fxに対する制御アルゴリズムの選択と制御について説明したが、操作力Fyに対する制御アルゴリズムについても同様である。なお、操作力Fyに対する制御アルゴリズムは、操作力Fxに対して用意された制御アルゴリズムAからDとは異なるアルゴリズム群であってもよい。
【0057】
次に図8に図7に示したブロック図による制御の流れを示す。ここでも操作力Fxに関する制御アルゴリズムの選択についてのみ説明する。
ステップS200では現在の作業時点でのm個の対象物物理量を取得する。本実施例ではm個の物理量とは具体的には、対象物の位置Px、Pyと対象物のx軸方向の速度Vxと対象物のx軸方向の加速度Axの4つの物理量である。
次にステップS202では取得した4つの物理量の値で構成される4次元の点が境界データ記憶部42に記憶された4次元空間のどの領域に属するかを判別する。そして判別された結果が図5の領域Z1であればステップS204でアルゴリズムAが選択される。同様に判別された結果が領域Z2であればステップS206でアルゴリズムBが選択される。判別された結果が領域Z3であればステップS208でアルゴリズムCが選択される。判別された結果が領域Z4であればステップS210でアルゴリズムDが選択される。
そしてステップS212により選択されたアルゴリズムで移動機構12を制御する。以上の処理を作業が終了するまで繰り返す(ステップS214:NOの場合)。
【0058】
図7および図8に示したアルゴリズムAからDは各作業モードに応じて設計されている。その際に、作業モード切替点(作業モード領域の境界)を設定する過程でグループ化した各作業モードを代表する5次元の点群から、作業者の行動モデル関数を同定し、同定した行動モデル関数に対して適切な制御アルゴリズムを設定する。前述したように作業者は対象物物理量を入力として操作力を出力する制御系とみなすことができる。そこで作業者の行動モデル関数を以下の多項式で表現する。
Fx=α1・Px+α2・Vx+α3・Ax+α4・Py ・・・(第1式)
第1式において、係数α1、α2、α3、α4は、各対象物物理量の、操作力Fxに対する寄与度を表す係数である。次に、作業モード切替点を設定する際に用いた各グループ(クラスタ)ごとの5次元の経時的な点群{Fx(ti)、Px(ti)、Vx(ti)、Ax(ti)、Py(ti)}から、作業モードごとに第1式の係数α1、α2、α3、α4を同定する。作業モードごとに異なる作業者の行動モデル関数が同定できる。なお、各係数α1、α2、α3、α4の同定に際しては最小二乗法を用いた。
【0059】
図9に作業者の行動モデル関数を同定した結果の模式図を示す。図9はある作業実行時において検出したx軸方向の操作力Fx、対象物のx軸方向の位置Px、対象物のx軸方向の速度Vx、対象物のx軸方向の加速度Ax、対象物のy軸方向の位置Py、の経時的変化のグラフを示す。図9(A)が操作力Fxのグラフであり、図9(B)が位置Pxのグラフであり、図9(C)が速度Vxのグラフであり、図9(D)が加速度Axのグラフであり、図9(E)が位置Pyのグラフである。図9(A)から(D)のグラフにおいても夫々のグラフの縦軸および横軸は正規化した無次元量で表現されている。
また図9(A)には検出した操作力Fxを実線で示し、同定した行動モデル関数の結果を破線で示してある。同定した行動モデル関数の結果とは、作業モードごとに第1式の係数α1、α2、α3、α4を同定し、同定した係数の値を用いて第1式に各時刻のPx、Vx、Ax、Pyの値を代入して得られたFxの値をグラフ化したものである。図9(A)の実線と破線は作業モードごとによく一致している。
なお、同定した係数の値は以下の通りである。
作業モードA:α1=-1559.0 α2=-188.8 α3=12.88 α4=1562.0
作業モードB:α1=-2.036 α2=-0.0667 α3=-0.0656 α4=2.984
作業モードC:α1=55.46 α2=3.027 α3=-8.588 α4=-51.11
作業モードD:α1=6.971 α2=-1.055 α3=-1.012 α4=-3.607
即ち、作業モード境界を特定する際に用いた各グループごとの5次元の経時的な点群から作業者の各作業モードにおける行動モデル関数を同定することができる。各係数の値が作業モードごとに大きく異なることからも分かるように、各作業モードごとに作業者の行動特性(行動モデル)が大きく異なることが分かる。
この同定モデルを用いて作業補助装置10bの移動機構制御部54で実行されるアルゴリズムAからDを設計する。設計に際しては作業者の出力である操作力Fxが滑らかに変化するように設計することが好ましい。作業者の操作力Fxが滑らかに変化するということは作業が円滑に行われていることを示すからである。
【0060】
なお、参考までに、図1に示す作業補助装置10bを一連の作業を通して単一のアルゴリズムで移動機構12を制御すると返って作業者にとって作業を行い難くすることについて説明を加えておく。
実施例1では、作業者は部品28を位置Sから位置Gまで移動させる。作業者は位置Gにおいて組付け対象部品100の孔102へ部品28を挿入する。
この一連の作業は次の4つの作業モードに分割することができる。即ち、
(1)静止している部品28を加速させる加速作業モード
(2)部品28を概ね位置Gの方向に向けて移動させる移動方向制御作業モード
(3)部品28が位置Gの付近に近づいたところで部品28の速度を減速させる減速作業モード
(4)部品28を組付け対象部品100の孔102へ位置決めする位置決め作業モード
【0061】
ここで作業中に実行される単一の制御アルゴリズムとして下記のインピーダンス制御アルゴリズムを例とする。
Fx=Mp・Ax+Cp・Vx+FRx ・・・(第2式)
Fy=Mp・Ay+Cp・Vy+FRy ・・・(第3式)
上式においてFx、Fyは作業者の操作力を表す。Mpは部品28の仮想質量を表す。Cpは部品28に作用する仮想粘性係数を表す。FRは部品28に作用する、速度に依存しないクーロン摩擦力を表す。また添え字xは図1に記した座標系のx軸方向を表し、添え字yは図1に記した座標系のy軸方向を表す。またAxは対象物28のx軸方向の加速度を表す。Vxは対象物28のx軸方向の速度を表す。同様にAy、Vyは対象物28のy軸方向の加速度と速度を夫々表す。この制御は部品28を移動機構12により移動させる際に、図1のx軸方向とy軸方向を別々に制御する。Mp、Cp、FRも一連の作業を通して一定値に設定されているとする。
この場合、例えば(1)の加速作業モードでは、作業者は対象物28を素早く加速させようとする。そのため、操作子24を強く握る。ここでMp、Cp、FRの値が小さすぎると、インピーダンス制御特有のよく知られた発振現象が生じる可能性がある。
また(2)の移動方向制御作業モードでは、作業者は対象物28を概ね位置Gの方向に向けて移動させようとする。ここでMpの値が大きすぎると、作業者が対象物28の移動方向を修正するのに大きな操作力が必要になってしまう。またCp、FRの値が大きすぎると、対象物28の移動方向に対して大きな抵抗力が作用するので作業者は常に大きな操作力を加え続けなければならなくなる。
また(3)の減速作業モードでは、Cp、FRの値が小さすぎると、対象物28の速度を減速させるために作業者は移動方向とは逆向きに操作力を加えなければならなくなる。
さらに(4)の位置決め作業モードでは、インピーダンス制御では部品28に慣性力による運動が実現されるので部品28を微妙に位置決めすることが難しくなってしまう。
このように、一連の作業中に作業補助装置を単一の制御アルゴリズムによって制御すると作業者に対して適切な作業補助が行われない可能性がある。
【0062】
上記例に対して実施例2の作業補助装置では作業モードに応じて制御アルゴリズムを切り替えることができる。制御アルゴリズムを切り替えるタイミングは、実施例1で例示したように作業モード切替点設定装置10aで設定された作業モード境界データと現在の作業中に検出された物理量を比較することで特定できる。そして実施例2では、各作業モードに対応するアルゴリズムをその作業に対して同定された作業者の行動モデル関数を用いて設計することができる。作業モードごとに作業者の行動モデル関数が同定されているので、各作業モードごとの移動機構制御アルゴリズムの設計も容易となる。
【0063】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0064】
【図1】作業モード切替点設定装置の概要を示す図である。
【図2】作業モード切替点設定装置のブロック図である。
【図3】作業モード切替点設定方法のフローチャート図である。
【図4】図4(A)はクラスタリング処理を説明するデンドログラムである。図4(B)は図4(A)に示したfijの内容を説明する図である。
【図5】図5(A)は作業モード切替点(切替境界)を設定する処理を説明する図である。図5(B)は図5(A)に示したhijの内容を説明する図である。
【図6】作業モードの切替点を特定した際の2回の作業実行時における設定された各作業モード切替点を例示した図である。
【図7】作業補助装置のブロック図である。
【図8】作業補助装置における処理のフローチャート図である。
【図9】対象物物理量から作業者の行動モデル関数を同定したときの行動モデル関数の出力の例を示すグラフである。
【符号の説明】
【0065】
10a:作業モード切替点設定装置
10b:作業補助装置
12:移動機構
14a:切替点設定装置コントローラ
14b:作業補助装置コントローラ
16a、16b、16c:リンク
18a、18b、18c:関節
19a、19b、19c:エンコーダ
20a、20b、20c:アクチュエータ
22:力センサ
24:操作子
28:部品(作業対象物)
30a、30b:サンプリングホルダ
32:物理量データ記憶部
34:位置センサ
36a、36b:微分器
38:クラスタリング部
40:境界設定部
42:境界データ記憶部
44:移動機構制御部
48:作業モード判別部
50:切替器
52:アルゴリズム記憶部
【技術分野】
【0001】
本発明は、支持した対象物を移動させる移動機構を利用して作業者自身が一連の作業を行う際の作業モードの切替点を設定する方法と装置に関する。また、支持した対象物を移動させる移動機構の制御アルゴリズムを設定された切替点に基づいて切り替えて作業者が対象物を移動させる作業を補助する装置に関する。
【背景技術】
【0002】
ワークや作業器具などの対象物を作業者が直接持って移動させる代わりに、モータ等の動力を利用して対象物を移動させる機構によって作業者の作業を補助する作業補助装置が開発されている。作業補助装置は操作子を備えている。作業者が操作子を操作すると、その操作に従って移動機構が動作し、対象物を初期の位置から目的の位置へ移動させることができる。作業の種類としては、例えば重量物の搬送であったり、部品を所定の位置に組み付ける作業であったりする。
作業者が作業補助装置を利用して対象物を初期の位置から目的の位置へ移動させる一連の作業を詳細に観察すると、作業者は一連の作業中に幾つかの異なる作業目的を経時的に切り替えていることがわかる。例えば作業初期には静止している対象物を加速させようとする目的で操作子を操作する。次に対象物を概ね目的位置の方向へ向けて移動させる目的で操作子を操作する。目的位置付近では対象物の移動速度を減速させる目的で操作子を操作する。最後に目的の位置へ対象物を位置決めする目的で操作子を操作する。この作業目的は作業者が意識的に切り替えている場合もあるが無意識的に切り替えている可能性もある。本明細書では、これらの夫々の作業目的に基づいた作業者の操作を作業モードと呼ぶことにする。例えば作業初期に静止している対象物を加速させようとする目的で操作子を操作することを加速作業モードと呼ぶ。対象物を概ね目的位置の方向へ向けて移動させる目的で操作子を操作することを移動方向制御作業モードと呼ぶ。目的位置付近で対象物の移動速度を減速させる目的で操作子を操作することを減速作業モードと呼ぶ。目的の位置へ対象物を位置決めする目的で操作子を操作することを位置決め作業モードと呼ぶ。作業補助装置が夫々の作業モードに応じて移動機構を制御するアルゴリズムを切り替えることができれば作業者の作業を一層効果的に補助することが容易になる。
【0003】
作業モードを切り替えたことを作業者が明示的に作業補助装置に指示するように構成すれば、その指示に従って移動機構を制御するアルゴリズムを切り替えればよい。しかしそれでは作業者に余計な操作を強いることになる。また作業者が無意識に作業モードを切り替える場合もある。従って作業者が作業モードを切り替える条件を作業補助装置が判断できることが望ましい。
【0004】
特許文献1には、対象物の加速度の値などによって予め作業モードが分割されており、移動機構を制御するためのインピーダンス制御則中の仮想質量や仮想粘性係数などのパラメータを各作業モードに応じて調整する技術が開示されている。例えば静止している対象物を加速させる作業モードでは仮想質量を小さい値に変更することによって、作業者は小さな操作力を操作子に加えるだけで重量物を加速させることができる。また目的位置付近で対象物を減速させる作業モードでは仮想粘性係数を大きい値に変更することによって、作業者は操作子に加える力を調整せずとも対象物を徐々に減速させることができる。
また特許文献2には、作業中の作業者の操作状態と対象物の所定の状態を検出して作業状態(作業モード)を推定し、推定された作業状態に基づいて移動機構の制御アルゴリズムを切り替える技術が開示されている。
【0005】
【特許文献1】特開2000−84881号公報
【特許文献2】特開2005−118959号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1では、複数の被験者に各種の搬送作業を実施してもらい、そのときの加速度の経時的なデータから作業補助装置の設計者が主観的に作業モードの切替点を設定している。作業モードの切替点を設計者が主観に基づいて設定するために、設定された切替点と実際に作業者が作業中に作業モードを切り替える点とが一致しない場合がある。
また、作業には対象物の位置や速度あるいは作業者が操作子に加える操作力など複数の物理量が関わっている。作業モードの作業目的によってはその作業モードの特徴をよく表す物理量が異なる場合がある。どの物理量がその作業モードを特徴付けるかは事前にはわからない。複数の物理量の変化の組み合わせがその作業モードを特徴付ける可能性もある。
作業モードを特徴付ける物理量が分からない場合や複数の物理量がその作業モードを特徴付ける場合などでは、設計者の主観に基づいていては作業モード切替点を正確に設定することは至難となる。
【0007】
特許文献2では、作業中に作業モードが切り替えられたことを推定する。この推定は、作業中の作業者の操作状態と対象物の所定の状態を検出して行われる。より具体的にはその推定には、隠れマルコフモデルやニューラルネットワークあるいはファジイ推論が用いられる。ファジイ推論などは、その作業モードを特徴付ける物理量が予め明確でないような場合には有効であるかもしれない。しかし特許文献2では作業中の作業者の操作状態と対象物の所定の状態から作業モードを推定するため、推定誤差が生じる可能性がある。
【0008】
作業モードに応じて移動機構の制御アルゴリズムを切り替える作業補助装置では、実際の作業モードと作業補助装置が判別又は推定した作業モードが異なると、実際の作業モードには不適切な移動機構の制御アルゴリズムが選択されてしまう。そのため作業補助装置の動作が反って作業者の作業を困難にしてしまうおそれがある。
作業者が作業補助装置を利用する場合には、作業者が作業モードを切り替える点とできるだけ一致するように、作業補助装置が各作業モードに対応した制御アルゴリズムを切り替える切替点を設定することのできる技術が必要とされている。
【課題を解決するための手段】
【0009】
作業モードが切り替えられると、作業の内容によって作業に関する物理量のいずれかが他の物理量より大きく変化する。作業に関する物理量のいずれもが大きく変化しないということは、同じような作業が続いている、即ち同じ作業モードが続いていると考えられるからである。
大きく変化する物理量はひとつの場合もあれば複数の物理量の複合的な変化である可能性もある。見方を変えれば各作業モードの特徴をよく表す何らかの物理量が存在する。作業に関する物理量には、対象物そのものの移動に関する物理量(対象物物理量と称する)と、作業者が操作子に加える物理量(操作物理量と称する)がある。
そこで作業者が作業モードを切り替える切替点を作業補助装置内のデータとして設定するには、作業者にその作業を実行してもらい、そのときの作業に関するできるだけ多くの物理量を経時的に記憶し、記憶した多くのデータに基づいて作業モードの切替点を設定することが合理的である。
【0010】
しかし一方では操作物理量は作業モードの切替点のパラメータに含むべきではない。操作物理量は作業者が自身の作業モードを切り替えた結果により生じる物理量であり作業モードを切り替えるためのパラメータではないからである。例えば、作業中に作業者は対象物が目的地位置付近に近づいたことを視認したとする。作業者は視認した結果に基づいて作業モードを等速移動作業モードから位置決め作業モードに切り替える。作業モードを切り替えた結果、作業者が操作子に与える操作物理量が変化する。操作物理量は作業モードの切替点を設定する際のパラメータに用いるべきではない。
【0011】
そこで本発明では、作業モードの特徴をよく掴むために、作業中の操作物理量と対象物物理量の両方を含むn個の物理量からなるn次元の点を所定時間毎に記憶する。n個の物理量の値で構成されるn次元の点群をクラスタリングする。クラスタリングされた各クラスタは作業モードの特徴をよく表すものとなる。その上で各クラスタに属する点群を、n個の物理量から操作物理量を除いたm個の対象物物理量で表されるm次元空間で夫々異なる領域に含まれるようにm次元空間を領域分割する。領域分割した際の境界が作業モード切替点となる。即ち次に作業を行った際、作業中に検出されるm個の対象物物理量の値で示されるm次元空間内の軌跡が境界を通過した時点が作業モードの切替点として設定できる。設定された切替点には操作物理量は含まれない。
【0012】
本発明によれば、作業モードごとの特徴をより正確に掴むために作業中の操作物理量と対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する。作業中の操作物理量と対象物物理量を含むn個の物理量の所定時間毎のデータから各作業モードの特徴をよく表す点群の集合(クラスタ)を得ることができる。各クラスタの点群によって作業モードをより正確に分離できる。各クラスタから操作物理量を除いたm個の物理量で表されるm次元空間内で各クラスタの点群を夫々含む領域に分割する。領域を分割する境界が作業モードの切替点となる。切替点の設定には操作物理量は含まれず、対象物物理量のみから設定される。作業モードをその特徴によって正確に分離した上で対象物物理量に依存する操作モードの切替点を設定することが可能となる。
【0013】
本発明は、操作子と、支持した対象物を動力によって移動させる移動機構とを有しており、作業者が操作子を操作することによって移動機構への指示が入力される作業補助装置を用いて作業者が一連の作業を行う際に経時的に変化する作業モードの切替点を設定する方法に具現化できる。この方法は、作業者によって操作子に加えられる物理量(操作物理量)を検出する工程と、移動機構によって移動する対象物の移動に関する物理量(対象物物理量)を検出する工程と、一連の作業を実行し、少なくとも一つの操作物理量と少なくとも一つの対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する工程を有する。
さらに、記憶されたn次元の点群を、「n個の物理量」で表されるn次元空間内で特定数のクラスタに分類するクラスタリング工程と、「n個の物理量」から操作物理量を除いたm個の対象物物理量で表されるm次元空間内で、夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する作業モード境界を設定する境界設定工程と、設定されたm次元空間の作業モード境界のデータを作業モードの切替点として記憶する工程を有する。
【0014】
ここで操作物理量とは例えば操作子に加えられる操作力や操作子の位置などがある。操作子がジョイスティックであれば操作物理量はジョイスティックの傾斜角や傾斜方向などでもよい。また、対象物物理量とは例えば、対象物の位置や速度や加速度などがある。
また「所定時間毎」とは例えばサンプリング周期毎でよい。
また「クラスタリング」とは、点群をその類似度に基いて分類すること、またそのための統計学的手法のことである。例えば、n次元空間内で点間距離の近い点同士をまずグループ化し、夫々のグループ内の点群の平均位置の近いグループ同士を融合することを繰り返して点群全体を最終的に幾つかのグループに分割する手法が知られている。
また、「n個の物理量」とは、検出可能な全ての物理量であってもよいし、検出可能な物理量のうちの幾つかを選択したものであってもよい。幾つかの物理量を選択する場合には、GMDH(Group Method of Data Handling)といわれる手法を用いてその作業に関わる度合いの高い物理量のみを選択してもよい。さらに「n」が4以上の場合には「n個の物理量」で表されるn次元空間は超空間となる。
また、「一連の作業を実行」するとは、1回の実行でもよいし複数回の実行であってもよい。
また「特定数のクラスタに分類する」場合の特定数とは任意の数であってよいが作業モードをあまりに多くの数に分割することは好ましくはない。特定数とは概ね2から6程度が好ましい。
さらに、境界設定工程は、例えば隣接する2つのクラスタの夫々に属する点群から互いに他方のクラスタに属する点群に近い複数の点を抽出し、それらの点から最小二乗法によってm次元空間を2分する平面(mが2の場合は直線となり、mが4以上の場合は超平面となる)を領域の境界として分割すればよい。このとき、複数の点の平均をとるので「夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する」とは、各クラスタに属する点群全てがm次元空間の同一の領域に含まれるように分割するのみならず、クラスタの外縁付近の点は「同一の領域」に含まれなくともクラスタに属する大半(好ましくは90%以上)の点群が「同一の領域」に含まれるように分割することを含む。
【0015】
上記方法によれば、一連の作業を実行した際に操作物理量と対象物物理量の両者を含むn個の物理量からなるn次元の点の所定時間毎のデータが記憶される。記憶されたn次元の点群をクラスタリングする。その際に操作物理量と対象物物理量の両者を含むn次元の点群がクラスタリングされる。よって操作物理量も含めた作業モードの特徴をよく表すクラスタリングができる。
操作物理量を除くm次元空間において、各クラスタに含まれるn次元の点群が一つの領域に含まれるように領域分割する。領域を分割する境界が作業モードの切替点として設定できる。設定された作業モードの切替点には操作物理量は含まれない。本来作業モード切替点には含まれるべきではない操作物理量を用いて作業モードの特徴をよく表すクラスタを得た後に操作物理量を含まずに作業モード切替点を設定することができる。
【0016】
境界設定工程は、作業終了時のm個の物理量の値で特定される点を原点とするm次元空間を設定し、隣接する2つのクラスタの夫々に属する点群から互いに他方のクラスタの点群に近い複数の点を抽出し、抽出された複数の点の平均位置を求め、原点を中心にして原点からその平均位置までの距離を半径とする球面を作業モード境界とすることが好ましい。
【0017】
作業終了時には対象物は目的位置で静止する。従って作業終了時のm個の物理量の値は常に等しくなる。上記方法では、この作業終了時のm次元の点の位置を原点としたm次元空間を設定する。各作業モード領域の境界はその原点からm次元空間の球面となる。換言すれば、各作業モード領域は、原点からm次元の点の距離が所定範囲内となる領域となる。
これは、各作業モードにおいて、対象物物理量のうちのある物理量が大きすぎた場合には他の物理量がその大きすぎた物理量を抑制する方向に変化し、全体として作業目的を達成するという知見に基づく。例えば、対象物を等速に移動させる作業モードにおいて、速度が速すぎた場合には速度を落とすように操作力が加えられる。そのため対象物の加速度が変化する。その結果、速度と加速度を要素とする2次元の点の原点からの距離は概ね同じとなる。即ち、作業に関するm個の物理量の値で示されるm次元の点において、m個の物理量のうち幾つかの要素の値が過去の作業時の物理量の値と大きく異なっていても、他の要素の値がm次元の点の位置を同じ作業モードの領域に属するように変化する。
上記方法によれば、m次元の点の要素の値のうち幾つかの値が過去の作業時の物理量の値と大きく異なっていてもそのm次元の点は同じ作業モードに属するものとして判断することが可能となる。
【0018】
境界設定工程は、n次元の各要素の値を正規化した点群に基づいて求めた前記球面を作業モード境界とすることが好ましい。
ここで正規化するとは、一連の作業で取得される各物理量の所定時間毎のデータについて、物理量ごとに、その一連の作業毎のデータ中の最大値の絶対値でその物理量の全ての経時的な値を除することを言う。この正規化によって各物理量は1.0から-1.0の間で変化するデータとなる。
n次元の点群を正規化することで、例えば対象物の初期位置だけが異なる作業に対しても、同じ作業モード領域の分割データを用いることが可能となる。
【0019】
本発明はまた、支持した対象物を移動させる移動機構を利用して作業者自身が一連の作業を行う際の作業モードの切替点を設定する装置に具現化することもできる。この装置は、対象物を支持可能であり、動力によって対象物を移動させる移動機構と、移動機構に対する指示を与えるために作業者が操作する操作子と、作業者の操作によって操作子に加えられる物理量(操作物理量)を検出する操作物理量検出器と、移動機構によって移動する対象物の移動に関する物理量(対象物物理量)を検出する対象物物理量検出器と、一連の作業を実行した際に、少なくとも一つの操作物理量と少なくとも一つの対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する物理量記憶手段と、記憶されたn次元の点群を、「n個の物理量」で表されるn次元空間内で特定数のクラスタに分類するクラスタリング手段と、「n個の物理量」から操作物理量を除いたm個の対象物物理量で表されるm次元空間内で、夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する作業モード境界を設定する境界設定手段と、設定されたm次元空間の作業モード境界を作業モードの切替点として記憶する境界データ記憶手段を備える。
上記装置によっても前述した方法と同様に一連の作業における作業モード切替点を設定することができる。
【0020】
本発明はまた、上記の方法若しくは装置によって得られた作業モード境界データに基づいて、支持した対象物を移動させる移動機構を利用して作業者が行う一連の作業を補助する装置に具現化することもできる。この装置は、移動機構と、対象物物理量検出器と、作業モード境界のデータを記憶する境界データ記憶手段と、夫々の作業モードに対応した制御アルゴリズム群と、現在作業モード判別器と、制御器を備える。
移動機構は、対象物を支持可能であり、作業者が操作する操作子の操作物理量に基づいて動力によって対象物を移動させる。
対象物物理量検出器は、対象物の移動に関する物理量(対象物物理量)を検出する。
現在作業モード判別器は、作業中に、対象物物理量検出器によって検出された現在の物理量から、作業モード境界を設定する際に用いた「m個の対象物物理量」で構成される現在のm次元の点がいずれの作業モード領域に属するかを判別する。
制御器は、アルゴリズム群の中から、判別された作業モード領域の作業モードに対応した制御アルゴリズムを選択し、操作物理量を入力として選択されたアルゴリズムに基づいて移動機構を制御する。
【0021】
上記構成によれば、作業モード切替点設定方法若しくは作業モード切替点設定装置によって設定された作業モード切替点の境界データと、現在の作業中に検出したm次元の対象物物理量の値によるm次元点を照合して現在の作業モードを特定することができる。そして特定された現在の作業モードに適したアルゴリズムを選択して移動機構を制御できる。現在の作業モードを正確に特定することができ、作業モードに適した制御アルゴリズムで作業者の作業を補助することができる。
【0022】
上記作業補助装置は、特定数のクラスタに分類されたn次元の点群の経時的な変化から各作業モードでの作業者の行動モデル関数を同定し、同定された行動モデル関数に基づいて各作業モードに対応した制御アルゴリズムを設定することが好ましい。
【0023】
前述の作業モード切替点設定方法あるいは作業モード切替点設定装置を利用する過程で各作業モードにおける「n個の物理量」の値で構成されるn次元の点群の所定時間毎のデータが得られる。このデータは観点を変えると、対象物の物理量を入力とし、作業者によって操作子に加えられる物理量を出力とする制御系の入出力関係の経時的データを表していると認識することもできる。ここでいう制御系は作業者を意味する。従ってこのデータから制御系(作業者)の伝達関数を同定することができる。作業者の伝達関数とは換言すると、作業者が作業中に対象物物理量を観察(検出)した結果、どのような操作力を出力するか、その作業者の特性を表す行動モデル関数ともいうべきものである。作業者の伝達関数(行動モデル関数)が同定できると、夫々の行動モデル関数に適した移動機構の制御アルゴリズムを設定することができる。よって作業モードごとに作業者の特性に適したアルゴリズムで移動機構を制御することができ、作業者の作業を一層効果的に補助することができる。
なお、上記入出力のデータから行動モデル関数を同定するには例えば最小二乗法などの手法を用いることが可能である。
【発明の効果】
【0024】
本願発明によれば、操作子と、支持した対象物を動力によって移動させる移動機構とを有しており、作業者が操作子を操作することによって移動機構への指示が入力される作業補助装置を用いて作業者が一連の作業を行う際に経時的に変化する作業モードの切替点を設定することができる。
また、作業補助装置を用いた作業中の現在の時点がどの作業モードであるかを作業対象物の移動に関する物理量から判別することができ、現在の作業モードに適したアルゴリズムで作業補助装置を制御して作業者の作業を効果的に補助することができる。
【発明を実施するための最良の形態】
【0025】
実施例の主要な特徴を列記する。
(第1形態) クラスタリングには凝集法による階層的クラスタ解析を用いることが好ましい。またクラスタ合併時の重み漸化方式としてはWard方を用いることが好ましい。この手法は、デンドログラムを得られるために結合時のクラスタ間距離を調べることができ、それをもとにした作業モード数の判断がし易く、各クラスタ間の分離点が求め易いという利点がある。
(第2形態) 点群を特定数のクラスタに分割する際の特定数は、デンドログラム上での各クラスタ間距離におけるクラスタの総数と、クラスタの数が減少するときのクラスタ間距離とを参照して決定することが好ましい。
【実施例】
【0026】
図面を参照して実施例を詳細に説明する。
<実施例1>
図1に本発明に係る一実施例の作業モード切替点設定装置10aの模式図を示す。なお図1では説明を簡単にするために、装置10aを2次元の図として描いてある。
図1の例は、部品28(対象物)をSの位置から移動させて、静止している組付け対象部品100の孔102へGの位置で組み付ける作業を行うものである。図1では部品28の最終位置Gを原点としたXY座標系を設定してある。
【0027】
作業モード切替点設定装置10aは、部品28を支持して移動させるための移動機構12と、この移動機構を制御する切替点設定装置コントローラ14aを備える。なお、作業モード切替点設定装置10aに対して10bと符号を付してあり、また切替点設定装置コントローラ14aに14bと符号を付してあるのは、同じ移動機構12を後に説明する作業補助装置として用いる場合に全体の装置が作業補助装置10bとなり、切替点設定装置コントローラ14aが作業補助装置10bを制御する場合に補助装置コントローラ14bとなることを示している。即ち本実施例では作業モード切替点設定装置10aを作業補助装置10bとしても機能させることができる。作業補助装置10bについては実施例2で説明する。
【0028】
移動機構12は多リンク機構であり、リンク16a、16b、16cと、隣接するリンクを揺動可能に連結する関節18a、18b、18cを備えている。関節18の夫々には関節角を計測するエンコーダ19a、19b、19cが備えられている。また各関節18にはリンク16を揺動させるためのアクチュエータ20a、20b、20cを備えている。なお、リンク16a、16b、16cを合わせて総称する場合には添え字a、b、cを省略してリンク16と表す。関節18a、18b、18cも関節全部を総称する場合には関節18と表す。アクチュエータ20a、20b、20cやエンコーダ19a、19b、19cについても同様である。
【0029】
移動機構12の先端のリンク16cにはグリッパ26が取り付けられている。グリッパ26はその先端の爪が開閉可能であり部品28を支持することができる。
移動機構12の先端のリンク16cにはまた力センサ22を介して操作子24が備えられている。作業者によって操作子24が操作されると、操作子24が受ける操作力は力センサ22で検出される。検出された操作力は切替点設定装置コントローラ14aに送られる。切替点設定装置コントローラ14aでは送られた操作力に基づいて移動機構12を動作させるべく、各アクチュエータ20に対してトルク指令値(または位置指令値や速度指令値でもよい)を出力する。
切替点設定装置コントローラ14aは、例えばインピーダンス制御則に基づいて入力された操作力から各アクチュエータ20に対する指令値を生成する。ここでインピーダンス制御とは、支持された部品28の位置に仮想的な質量と仮想的な粘性係数を設定し、入力された操作力によってこの仮想質量と仮想粘性係数を有する部品28に生じる運動を設定する運動方程式を設定する。操作力を入力として設定された運動方程式を解くことで仮想質量等が設定された部品28の加速度を求める。求められた加速度が部品28の位置で実現されるように各アクチュエータ20への指令値を出力する。仮想質量を小さい値に設定することで作業者は小さい操作力で部品28を移動させることが可能となる。また粘性係数を適切に設定することで、作業者が操作力をゼロとした場合には部品28を徐々に減速するように移動させることができる。
【0030】
各関節18に備えられたエンコーダ19からは各関節18の関節角が検出される。検出された各関節角と移動機構12の幾何学的構造から支持された部品28の位置を算出することができる。算出された部品28の位置は切替点設定装置コントローラ14aに送られる。
【0031】
次に図2に本実施例による作業モード切替点設定装置10aのブロック図を示す。
作業者が一連の作業中に操作子24に加えた操作力は力センサ22によって検出されて切替点設定装置コントローラ14a内のサンプリングホルダ30aに入力される。制御周期(サンプリング周期)毎にサンプリングされた操作力Fx、Fyは物理量データ記憶部32に入力される。
同時に移動機構12の位置センサ34によって検出された対象物28の位置が切替点設定装置コントローラ14a内のサンプリングホルダ30bに入力される。ここで位置センサ34とは、移動機構12に取り付けられたエンコーダ19と、各エンコーダ19の出力値と移動機構12のリンク構造の幾何学的な構成から対象物28の位置を算出する計算手段を含むものである。
サンプリングホルダ30bによって制御周期毎にサンプリングされた対象物28の位置Px、Pyと、サンプリングされた操作力Fx、Fyは移動機構制御部44に送られる。作業モード切替点設定装置10a内の移動機構制御部44には特定のアルゴリズムが実装されている。移動機構制御部44はその特定のアルゴリズムに基づいて操作力Fx、Fyに従って対象物28の位置Px、Pyを移動させるように移動機構12のアクチュエータ20へトルク指令値(あるいは位置指令値や速度指令値)を出力する。作業モードの切替点の設定を行うための作業実行時には、移動機構制御部44には予め決められた特定のアルゴリズムが実装されていればよい。
【0032】
サンプリングホルダ30bから出力された対象物28の位置Px、Pyは微分器36aに入力されて対象物28の速度Vx、Vyが求められる。さらに対象物28の速度Vx、Vyは他の微分器36bに入力されて対象物28の加速度Ax、Ayが求められる。制御周期毎にサンプリングされた対象物28の位置Px、Pyおよび、求められた対象物28の速度Vx、Vyおよび加速度Ax、Ayは物理量データ記憶部32に入力される。
物理量データ記憶部32ではサンプリング毎の操作力Fx、Fyと対象物28の位置Px、Pyとその速度Vx、Vyおよびその加速度Ax、Ayで構成される8個の物理量の値を要素とする8次元の点の集まり(点群)として記憶される。
一連の作業を複数回実行し、作業毎に8次元の点群の所定時間毎のデータが記憶される。
作業が複数回実行された後に記憶された点群のデータはクラスタリング部38によって参照され、8次元の点群を8個の物理量(Fx、Fy、Px、Py、Vx、Vy、Ax、Ay)を各軸とする8次元空間における近接する点群の集まりとして特定数のグループ(クラスタ)にクラスタリングされる。各クラスタに属する点群の夫々の要素は類似した値を有する。従って各クラスタの点群が夫々各作業モードの特徴を表す点群となる。
ここで特定数とは作業モードの数と規定する数であり、一連の作業の種類にもよるが概ね2から6程度が好ましい。作業モードをあまりにも細分化すると、夫々の作業モードに応じた制御アルゴリズムを設定するコストがかかる。また作業者にとっては作業中に制御アルゴリズムが頻繁に切り替えられることも作業のし易さを損ねる結果にもなりかねないからである。
次に特定数のグループに分けられた点群は、境界設定部40によって、8個の物理量(Fx、Fy、Px、Py、Vx、Vy、Ax、Ay)から操作物理量である(Fx、Fy)を除いた6個の物理量(Px、Py、Vx、Vy、Ax、Ay)で表される6次元空間内の各領域に分割される。境界設定部40では8次元の点群のうちの操作物理量(Fx、Fy)の値を無視して扱う。これにより元々8次元であった点群は6個の対象物物理量からなる6次元の点群として扱われる。
境界設定部40では、特定数のクラスタに分類された夫々の点群を、6個の対象物物理量で表される6次元空間で夫々別の領域に含まれるような境界を6次元空間に設定する。境界の設定手法については後述する。この境界が作業モードの切替点(切替点の集合としての面)となる。また各領域が夫々異なる作業モードを表す。以後、領域を作業モード領域と称する場合もある。ここで、境界を設定する6次元空間は操作物理量を含まず対象物物理量だけからなる空間である。従って作業モードの切替点には操作物理量は含まれない。
本実施例では、各作業モードの特徴を表す点群をクラスタに分類する際には操作物理量を考慮する。作業に関わる物理量の経時的な点群を作業モードの特徴を表す点群ごとにクラスタリングするには各点に含まれる情報(物理量の個数)は多い方がより正確に各作業モードの特徴を表す点群に分類できるからである。しかし作業モードの切替点を特定する際には操作物理量の値を無視した点群を用いる。これにより、作業モード切替点の設定の際には操作物理量を除外することができる。
【0033】
境界設定部40によって分割された6次元空間の各作業モード領域の境界のデータは境界データ記憶部42に記憶される。境界データ記憶部42に各作業モード領域の境界のデータが記憶されるということは、境界データ記憶部は境界によって分割される各作業モード領域のデータを記憶することと等価である。
即ち、ひとたび境界データが生成されて記憶されれば、次に作業を実行する際、実行中に検出されたn個の対象物物理量の値がどの作業モード領域に属しているかを判別することにより現在の作業モードを特定することが可能となる。また、検出されたn個の対象物物理量の値が経時的にみて境界を通過したときが作業モードの切替点として特定できる。
【0034】
次に図3を用いて図2の作業モード切替点設定装置10aによる処理の流れを説明する。
まずステップS100で一連の作業を実行する。その作業実行中にステップS102で力センサの出力Fx、Fy(操作物理量)と対象物の位置Px、Pyとその速度Vx、Vyおよびその加速度Ax、Ay(対象物物理量)を検出し記憶する。
一連の作業をM回実行するまでステップS102の操作物理量と対象物物理量の検出と記憶を繰り返す(ステップS104:NOの場合)。「M回」とは任意の数でよいが概ね5回から20回程度が適切である。
作業をM回実行したら(ステップS104:YES)、次にステップS106で記憶された点群を特定数のグループにクラスタリングする(特定数のグループに分ける)。ここでステップS106のクラスタリング処理では、記憶された「8個の物理量」の値で構成される8次元の点群を、「8個の物理量」を座標軸とする8次元空間内で点間距離の近い点同士をクラスタ(グループ)化し、さらにグループ間距離の近いクラスタ同士を一つのクラスタに融合していく。最終的には全点群は単一のクラスタに統合される。
次にステップS108の作業モード数の決定処理では、ステップS106のクラスタリング処理で隣接するクラスタが融合して最終的に一つのクラスタに統合された結果から、適切なクラスタ数を決定する。このときのクラスタ数が作業モードの数となる。作業モード数の決定の手法については次の図4で詳細に説明する。
【0035】
ステップS108で全部の点群が特定数のグループに分けられた後に、夫々のグループに含まれる点群の大半が夫々別個の領域に属するように6次元空間を領域分割するための境界を設定する。ここで「夫々のグループに含まれる点群の大半」と表現したのは以下の理由による。即ち、領域分割するために、隣接するグループの夫々に含まれる点群のうち、隣接する夫々のグループの点群から、境界に近い複数の点を抽出する。そしてその複数の点の平均位置を求める。6次元空間の原点からその平均位置までの距離を半径とした超球面を2つの隣接するグループ(クラスタ)を分ける6次元空間の境界とする。従って平均位置を求める際に用いた複数の点のうちいくつかは、超球面によって分割された2つの領域のうち、もともとは一方のグループに含まれていた点が他方のグループの点群の領域に属してしまうことがあるからである。この領域分割によって、夫々のグループに含まれる大半の点群は同一の領域に属することになるが、そのグループに含まれる点のうち他のグループに含まれる点群との距離が近い点はもともと含まれていたグループの領域とは異なる領域に属する場合がある。別言すれば、ステップS110の境界設定処理は、夫々のグループ(クラスタ)に属する点群のうち少なくとも隣接するグループ(クラスタ)の点群に近い点を除いた点群が夫々異なる領域に含まれるように6次元空間を複数の領域(作業モード領域)に分割する境界を設定する、と表現できる。
【0036】
ステップS110によって設定された6次元空間の境界のデータはステップS112で図2に示す境界データ記憶部42に記憶される。
【0037】
次にクラスタリング、すなわち複数回の作業実行の作業毎およびサンプリング時間毎に記憶された点群を特定数のグループに分ける処理について詳細に説明する。
その前に本実施例では、上記8個の物理量から点群をクラスタリングする場合に寄与度の低い物理量を除外するする処理を行う。扱う物理量を低減することができれば、計算コストを低減できるからである。本実施例では、作業モードごとに特定の物理量の変化がその作業モードを特徴付けることに着目している。ここで特定の物理量とは複数の物理量の組み合わせでもよい。また作業モードごとにその作業モードを特徴付ける物理量が異なってもよい。従って一連の作業に亘って経時的変化の小さい物理量は点群をクラスタリングする際のキーポイントとなる物理量とはなり得ない。そこで、そのような物理量は最初から除外することで以後のグループ化処理を高速化できる。
【0038】
8個の物理量からクラスタリングに寄与しない物理量を削除する方法として本実施例ではGMDH(Group Method of Data Handling)と呼ばれる手法を用いる。
作業者は対象物を視認することによって対象物物理量(対象物の位置Px、Pyとその速度Vx、Vyおよびその加速度Ax、Ay)を認識(検出)し、認識した対象物物理量から次の操作物理量(操作力Fx、Fy)を決定する。GMDHでは、作業者を、対象物物理量を入力とし、操作物理量を出力とする制御モデル(行動モデル)とみなす。図3のフローチャート図に示すステップS102の操作物理量/対象物物理量の検出と記憶によって記憶されたデータからGMDHによって作業者の行動モデルの関数を構築する。その行動モデル関数の中で出力Fx、Fyに対する寄与度の低い対象物物理量を特定する。特定された物理量は作業者が操作力Fx、Fyを決定するに際して参考とする度合いが低い物理量である。そのような物理量は記憶された点群をクラスタリングする際に重要な物理量とはならない。従って特定された物理量をクラスタリング処理の対象から除外する。発明者らの実験によると、本実施例における作業者の操作力Fxに対しては対象物のy軸方向の速度Vyと加速度Ayの寄与度が低いことが判明した(作業者の制御モデルの多項式は複雑であるので省略する)。そこで以下ではx軸方向の操作力Fxについて、記憶した8個の物理量からVyとAy、およびFyを除いた5個の物理量(Fx、Px、Py、Vx、Ax)を用いてクラスタリング処理を行う。物理量からFyを除いたのは操作力をx軸方向の操作力Fxとy軸方向の操作力Fyについてそれぞれ別個にクラスタリングを行うためである。以下では、説明を簡単化するために図1のx軸方向の操作力Fxのための作業モード切替点の設定処理について説明する。y軸方向の操作力Fyについても同様の処理ができる。なおGMDHについては、文献(Farlow S.J, "Self-organizing method in modeling", Marcel Decker, 1984)に詳しい。
【0039】
本実施例ではクラスタリングの具体的な手法として凝集法による階層的クラスタ解析を用いた。クラスタ合併時の重み漸化方式としてはWard方を用いた。この手法は、デンドログラムを得られるために結合時のクラスタ間距離を調べることができ、それをもとにした作業モード数の判断がし易く、各クラスタ間の分離点が求め易いという利点がある。
【0040】
図4(A)に、図2に示す物理量データ記憶部32に記憶されている5個の物理量(Fx、Px、Py、Vx、Ax)のデンドログラムを示す。図4(B)は、図4(A)の縦軸に示したfijの具体的意味を示す図である。fijとは図4(B)に示すように、5個の物理量(Fx、Px、Py、Vx、Ax)のj回目の作業実行における時刻tiでの値で構成される5次元点の座標を表す。図4(A)の縦軸は5次元の点fij位置を模式的に1次元の縦軸上にプロットしたものである。そして横軸は2つの点(又は点とグループ、若しくは2つのグループ)の距離を示している。
図4(A)のデンドログラム上に示されているコの字形の線は、2つの点(又は点とグループ、若しくは2つのグループ)の距離が近いためにそれらの2つの点がひとつにまとめられたことを示している。コの字形の線のうち、縦軸と平行な線の位置が横軸上での2つの点間距離を示している。
例えば点f21は第1回目の作業実施時の時刻t2における物理量(Fx、Px、Py、Vx、Ax)の値の点を表している。また点f21と点f22は点間距離がH1であることを表している。実際には縦軸には全ての点群がプロットされるため、膨大な数の点群がプロットされる。例えば1回約100秒かかる作業を0.1秒単位でサンプリングし、その作業を10回繰り返したとすると、点群の総数は1万点となる。図4(A)の縦軸には模式的に数点のみプロットしてある。
【0041】
クラスタリングとは、点間距離の近い点同士を一つのグループ(クラスタ)にまとめる手法である。例えば点f21と点f22は点間距離がH1でその他の点より近いのでこの2つの点が一つのグループにまとめられる。次に点f21と点f22の平均位置と点f11の点間距離が短いので点f21と点f22と点f11がひとつのグループにまとめられる。同様に点f32と点f31は点間距離がH1未満でありこの2つの点が別のグループとしてまとめられる。さらに点f32と点f31の平均位置と点f41の点間距離がH1と短いのでこれら点f32と点f31と点f41が新たにひとつのグループとしてまとめられる。こうして点間距離の近い点同士が順次グループ化されていく。最終的には点間距離H5で全ての点群が単一のグループに統合される。
【0042】
図4(A)のデンドログラムから作業モードの数を決定する。作業モードの分割数は予め2から6の間と設定されている。そしてグループの分割数と、それらのグループが統合されるまでの点間距離とを参照する。
一つにまとめられた点群は、点間距離の近いもの同士である。これは5個の物理量(Fx、Px、Py、Vx、Ax)の各要素の値が類似していることを示している。即ち一つのグループに含まれる点群は一つの作業モード中の点群として分類できることを意味している。そして2つのグループの点間距離が長いということは、一方のグループに含まれる夫々の点の5個の物理量の値のうち少なくとも一つが他のグループに含まれる点の同じ物理量の値と大きく異なっていることを示している。従って2つのグループの点間距離が長いということは、夫々のグループの点群で代表される作業モードの特徴が大きく異なることを意味している。
例えば図4(A)に示すようにグループEとグループFは点間距離がH5でようやく一つのグループに統合される。統合される際の点間距離が長いほど2つのグループ内の点群で代表される作業モードの特徴が大きく異なっている。即ちグループEとグループFの2つの作業モードに分けるとその切り替え点では作業の特徴が大きく異なることを意味している。作業モードの分割は少ない方が好ましいが、少なすぎると作業の切り替え時点で夫々の作業モードの特徴が大きく異なることになる。従って夫々の作業モードに応じた制御アルゴリズムも大きく異なるものとして設定される。一連の作業の途中で制御アルゴリズムが大きく異なるのは作業者に違和感を与え兼ねない。従って適切な点間距離で作業モードを分割する方がよい。
グループAとグループBは点間距離H3でひとつのグループEに統合される。グループCとグループDは点間距離H4でひとつのグループFに統合される。点間距離H3とH4は近接している。このことは、グループAで代表される作業モードとグループBで代表される作業モードの特徴の相違の程度と、グループCで代表される作業モードとグループDで代表される作業モードの特徴の相違の程度が概ね同じ程度であることを示している。従ってグループA、B、C、Dの4つのグループに作業モードを分割すると、夫々の作業モードの切り替え時点での作業内容の相違の程度は概ね同じ程度となる。
一方、点間距離H2では5つのグループに分割することができる。しかしグループAに統合される前の2つのグループは点間距離H2で統合される。このグループAに統合される前の2つのグループは、グループCとDが統合される点間距離H4よりはるかに短い点間距離H2で統合される。従ってグループAに統合される前の2つのグループに代表される作業モードの相違の程度は、グループCとDに代表される作業モードの相違の程度よりはるかに小さい。
作業モードの切り替え点の前後における作業モードの特徴の相違の程度は、同じ程度である方が作業者にとっては制御アルゴリズムの切り替え時点がわかり易い。そこで図4(A)のデンドログラムからは、グループA、B、C、Dの4つに分割することが適切であると判断できる。
以上の処理は図3のフローチャートにおけるステップS108の作業モードの決定処理で行われる。上記の特定数の決定処理は、デンドログラム上での各クラスタ間距離におけるクラスタの総数と、クラスタの数が減少するときのクラスタ間距離とを参照して決定することができる。
【0043】
次に図5を用いて、4つのグループの夫々に属する点群に基づいて作業モード領域を分割するための境界を設定する処理について説明する。図5(A)は作業モードごとに対応して空間を分割する領域の設定を説明する模式図である。図5(B)は、図5(A)に示されるhijの内容を説明する図である。図5(B)に示すように図5(A)に示されているhijは、j回目の作業実行時の時刻t1における4個の物理量(Px、Py、Vx、Ax)の位置を表す。即ちhijは、図4に示した各fijの要素から操作物理量であるFxを除いた4次元の点を表している。
作業モード領域の境界を設定する処理では、全ての点群をグループ化する際に用いた5個の物理量(Fx、Px、Py、Vx、Ax)から操作物理量であるFxを除いた4個の物理量(Px、Py、Vx、Ax)で表される4次元の点群を対象とする。ここで操作物理量を除くのは、次の理由による。即ち、本実施例では作業者を4個の対象物物理量(Px、Py、Vx、Ax)を入力とし、操作物理量Fxを出力とする行動モデルとみなしている。この行動モデルでは作業者は入力パラメータである4個の対象物物理量(Px、Py、Vx、Ax)に基づいて作業モードを切り替える。作業モードを切り替える際に操作物理量は関与しない。従って作業モードを領域分割する空間は、操作物理量を除く4個の対象物物理量(Px、Py、Vx、Ax)が構成する4次元空間とする。
【0044】
説明を簡単にするために図5(A)は対象物の位置PxとPyを軸とする2次元平面を描いてある。実際には4個の物理量からなる4次元空間で領域分割をするが4次元空間は描画できないので2次元平面に置き替えて説明する。また、横軸のPxと縦軸のPyは夫々正規化されており、{Px、Py}={1.0、1.0}の点が図1に示す対象物28のスタート点Sに相当し、{Px、Py}={0.0、0.0}の点が図1に示す対象物28の最終点Gに相当する。点Sから点Gに伸びる実線は作業実行1回目の対象物28の軌跡を示し、破線は作業実行2回目の対象物28の軌跡を示す。
【0045】
図5(A)に示す点h21は、作業実行1回目の時系列の点群で図4のグループAに含まれる点群のうち、グループBに含まれる点群に最も近い点f21に相当する点を表す。また点h31は、作業実行1回目の時系列の点群で図4のグループBに含まれる点群のうち、グループAに含まれる点群に最も近い点f31に相当する点を表す。同様に点h22は、作業実行2回目の時系列の点群で図4のグループAに含まれる点群のうち、グループBに含まれる点群に最も近い点f22に相当する点を表す。また点h32は、作業実行2回目の時系列の点群で図4のグループBに含まれる点群のうち、グループAに含まれる点群に最も近い点f32に相当する点を表す。即ち、点h21、点h31、点h22、点h32、は図4で互いに隣接するグループAとBに含まれる点群のうち、他方のグループの点群に近い点である。この4つの点の平均を取った点が点h23である。
次に座標系の原点から点h23までの距離R2を計算し、原点を中心として距離R2を半径とする円W2を設定する。この円W2は、図4のグループAに属する点群が含まれる領域Z1とグループBに属する点群が含まれる領域Z2の境界線となる。即ちこの円W2がグループAに属する点群に代表される作業モードとグループBに属する点群に代表される作業モードの境界点(の集合)となる。
なお、上記の処理では、隣接する2つのグループA、Bの夫々に属する点群から互いに他方のグループの点群に近い複数の点(点h21、点h31、点h22、点h32)を抽出し、抽出された複数の点の平均位置(点h23)を求め、原点を中心にして原点からその平均位置(点h23)までの距離R2を半径とする円W2を設定した。従って領域Z1にはグループAに属する点群の大半が含まれるが平均を取ったためにもともとはグループAに属していた点であったが領域分割の際にグループBの点群が含まれる領域Z2に含まれてしまうものもある。本実施例では、「5個の物理量から操作物理量を除いた4個の対象物物理量で表される4次元空間内で、夫々のクラスタに属する4次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるように4次元空間を分割する境界を設定する」との表現は、夫々の領域に夫々対応する点群の全てが含まれる場合のみならず、2つのクラスタの境界付近の点群を除く大半の点群が夫々クラスタごとに別の領域に含まれるように4次元空間を分割する境界を設定することも含まれる。
【0046】
図5(A)では、座標軸をPxとPyの2次元としたが、実際には4個の対象物物理量(Px、Py、Vx、Ax)を座標軸とする4次元空間で上記処理を行う。従って領域を分割する境界W2は4次元空間での超球面となる。この超球面W2が作業モードの切替点(の集合)に相当する。即ち超球面W2を設定する処理が、作業モードの切替点を設定する処理に相当する。
【0047】
同様に図4のグループBと隣接するグループCとの境界付近の複数の点を抽出し、それらの点の原点からの平均距離R3を求め、原点を中心として半径R3の超球面W3を設定する。また図4のグループCと隣接するグループDとの境界付近の複数の点を抽出し、それらの点の原点からの平均距離R4を求め、原点を中心として半径R4の超球面W4を設定する。図4(A)のグループBに属する点群が含まれる領域Z2とグループCに属する点群が含まれる領域Z3を分割する超球面W3も作業モードの切替点を設定する境界となる。同様に超球面W4も作業モードの切替点を設定する境界となる。
【0048】
ここで、図1に示した作業モード切替点設定装置10aで対象物28を点Sから点Gへ移動させる作業を行う際、作業中に取得した4個の対象物物理量(Px、Py、Vx、Ax)の値が示す点が領域Z1に含まれる場合に、その時点の作業は作業モードAにあると称する。また、作業中に取得した4個の対象物物理量の値が示す点が領域Z2に含まれる場合に、その時点の作業は作業モードBにあると称する。同様に作業中に取得した4個の対象物物理量の値が示す点が超球面W3とW4で囲まれた領域Z3に含まれる場合を作業モードCと称し、超球面W4の内側の領域Z4に含まれる場合を作業モードDと称する。
【0049】
次に図5で説明した各作業モードの分割が作業中に取得した物理量の経時的変化にどのように対応するかを図6により説明する。なお図6は説明のための模式図であり実際の試験結果ではない。
図6は同じ作業を2回実行した際の各物理量の経時的変化を示す。図6(A)は操作力Fxの経時的変化を示す。図6(B)は対象物28のx軸方向の位置Pxの経時的変化を示す。図6(C)は対象物28のx軸方向の速度Vxの経時的変化を示す。図6(D)は対象物28のx軸方向の加速度Axの経時的変化を示す。図6(E)は対象物28のy軸方向の位置Pyの経時的変化を示す。また全てのグラフにおいて横軸は経過時間tを示す。時間tを含め、全ての物理量は正規化して示してある。ここで正規化とは、作業実行ごとの時系列の点群の各要素(各物理量)の値に対して、その時系列の要素中の最大値の絶対値で全ての要素の値を除することをいう。従って全ての物理量は無次元化され、その値は-1.0から1.0の間の値をとる。検出した点群の各要素を正規化して表すことで、例えば作業開始位置や目標位置が異なったとしても一連の作業全体が同じであれば、作業モード切替点を設定する境界データを共通に利用することができる。
また各グラフにおいて実線は作業実行1回目の経時的変化を示し、破線は作業実行2回目の経時的変化を示す。
【0050】
図5で説明したように本実施例では対象物物理量(Px、Py、Vx、Ax)の値が示す点がどの作業モード領域にあるかでその時点の作業モードが特定される。図6では作業実行1回目については縦軸に平行な短破線が作業モードの切替点を示す。作業実行1回目では図6の上方に示すA1の期間が作業モードAに相当する。同様に、B1の期間が作業モードBに相当し、C1の期間が作業モードCに相当し、D1の期間が作業モードDに相当する。
また作業実行2回目については縦軸に平行な長破線が作業モードの切替点を示す。作業実行2回目では、図6の下方に示すA2の期間が作業モードAに相当する。同様に、B2の期間が作業モードBに相当し、C2の期間が作業モードCに相当し、D2の期間が作業モードDに相当する。
作業実行1回目の作業モードAは図6(D)の加速度Axの値がa1の位置で急激に変化している。従ってこの点a1が作業モードAと作業モードBの境界を特定付ける要因となっていることが推定される。作業実行2回目の作業モードAは図6(D)の加速度Axの値がa2の位置で急激に変化している。従ってこの点a2が作業モードAと作業モードBの境界を特徴付ける要因となっていることが推定される。なお、「推定される」とは、図5について説明したように本実施例では操作量Fxを含めた5つの物理量(Fx、Px、Py、Vx、Ax)の点群を4つのグループに分割し、夫々のグループの点群に対して操作量Fxを除く4つの物理量(Px、Py、Vx、Ax)の4次元点群によって4次元空間を領域分割(モード領域の分割)した結果であるので、作業モード領域の境界が各パラメータとどのように関連しているかは明示的に明らかではないからである。しかし作業実行1回目と2回目の双方とも作業モードAと作業モードBの境界では操作力Fxが立ち上がりから定常状態に移行している。従って操作量Fxを含めた5つの物理量(Fx、Px、Py、Vx、Ax)の点群をグループ化した際に、操作力Fxと加速度Axの組み合わせによって作業モードAと作業モードBの特徴の相違が表れたものと推定できる。作業モードAの期間における操作力Fxと加速度Axのグラフから、作業モードAは操作力Fxを加え始めて対象物を静止状態から加速させる内容の作業であると考えられる。ここで「考えられる」との表現を用いたのは次の理由による。本実施例では従来技術のように主観に基づいての作業モード切替点の設定ではなく、作業実行中に得られた物理量の点群を夫々の作業モードの特徴を代表する点群ごとにグループ化している。従ってその作業モードがどのような作業目的(作業内容)であるかは判別しないからである。逆に本実施例では、各作業モードの作業内容に関わらず、作業実行中に検出した物理量の経時的な変化のデータから設計者の主観を排除してその作業を特徴付ける物理量を有する点群のグループ(クラスタ)によって作業モードの切替点を設定する。しかも点群をグループ化する際には作業者が出力する操作力も含めている。従って本実施例によって設定された作業モードの切替点は、作業者の各作業モードに対する作業目的に沿って設定されるといえる。
作業モードBと作業モードCの境界は対象物のx軸方向の位置Pxが作業モードの切り替え点の主要なパラメータとなっていることが推定できる。作業実行1回目では点b1を境界として作業モードが切り替わっている。作業実行2回目では点b2を境界として作業モードが切り替わっている。作業モードBの期間におけるPxとPyのグラフから、作業モードBでは対象物の移動方向を目的位置の方向へ向ける内容の作業であると考えられる。
作業モードCと作業モードDの境界は対象物のy軸方向の位置Pyが作業モードの切り替え点の主要なパラメータとなっていることが推定できる。作業実行1回目では点c1で作業モードがCからDに切り替わっている。作業実行2回目では点c2で作業モードがCからDに切り替わっている。作業モードCは対象物の速度を徐々に減速させつつある内容の作業であると考えられる。作業モードDはさらに速度を落として目標位置に位置決めする内容の作業であると推定される。
【0051】
本実施例は、作業者に予め一連の作業を実行させる。その作業実行時に所定時間毎に操作物理量と作業対象物物理量の両者を含む物理量を取得する。得られた点群をクラスタリングによって一連の作業のうちの各作業モードを代表する点群のクラスタに分類する。各クラスタに属する点群に対して操作物理量を除いた対象物物理量だけで作業モードの切替点を設定する。クラスタリング時には操作物理量も加味するので各作業モードを代表する点群の分類がより精密になる。一方、作業モード切替点の設定においては操作物理量を除外する。作業モード切替点の設定に際して、作業モード切替点には含まれるべきではない操作物理量をも加味した精密に分類された各作業モードを代表する点群のクラスタを用いることによって、作業者による各作業モード切替点に極めて近い切替点を設定することが可能となる。
【0052】
<実施例2>
次に実施例1の作業モード切替点設定装置10aを用いて作成された作業モード境界データに基づいて、支持した対象物を移動させる移動機構を利用して作業者が行う一連の作業を補助する作業補助装置について説明する。
図7は作業補助装置10bのブロック図である。作業補助装置の構成は図1の構成と同じであるので説明を省略する。
この作業補助装置10bは移動機構12と作業補助装置コントローラ14bを備えている。
移動機構12は、アクチュエータ20と位置センサ34と操作子24と力センサ22を有している。これらは実施例1で説明した移動機構12と同様であるので説明を省略する。
【0053】
作業者が一連の作業中に操作子24に加えた操作力は力センサ22によって検出されて作業補助装置コントローラ14b内のサンプリングホルダ30aに入力される。制御周期(サンプリング周期)毎にサンプリングされた操作力Fx、Fyは作業モード判別部48に入力される。また操作力Fx、Fyは移動機構制御部54にも入力される。
同時に移動機構12の位置センサ34によって検出された対象物28の位置が作業補助装置コントローラ14b内のサンプリングホルダ30bに入力される。
サンプリングホルダ30bによって制御周期毎にサンプリングされた対象物28の位置Px、Pyは移動機構制御部54に送られる。
【0054】
またサンプリングホルダ30bから出力された対象物28の位置Px、Pyは微分器36aに入力されて対象物28の速度Vx、Vyが求められる。さらに対象物28の速度Vx、Vyは他の微分器36bに入力されて対象物28の加速度Ax、Ayが求められる。制御周期毎にサンプリングされた対象物28の位置Px、Pyおよび、求められた対象物28の速度Vx、Vyおよび加速度Ax、Ayは作業モード判別部48に入力される。
作業モード判別部48では、境界データ記憶部42に記憶されている、実施例1で説明した作業モード境界のデータと、入力された{Px、Py、Vx、Ax}のデータを照合し、現在の{Px、Py、Vx、Ax}の4次元点の位置が4次元空間のどの作業モード領域に属するかを判別する。ここで{Px、Py、Vx、Ax}の4次元点の位置が図5に示した領域Z1に属する場合には現在の作業モードは作業モードAであると判別される。同様に現在の4次元の点の位置が図5の領域Z2に属する場合には作業モードBであると判別される。4次元点の位置が領域Z3に属する場合には作業モードCであると判別され、領域Z4に属する場合には作業モードDであると判別される。判別された結果は、切替部50に送られる。
【0055】
一方アルゴリズム記憶部52には夫々の作業モードに対応した制御アルゴリズム群が格納されている。夫々の制御アルゴリズムは異なる制御ロジックに基づいており、操作力Fx、Fyを入力として移動機構12を制御するものである。作業モードAに対応する制御アルゴリズムが制御アルゴリズムA(符号52aで示されている)である。同様に作業モードBに対応する制御アルゴリズムが制御アルゴリズムB(符号52bで示されている)である。作業モードCに対応する制御アルゴリズムが制御アルゴリズムC(符号52cで示されている)である。作業モードDに対応する制御アルゴリズムが制御アルゴリズムD(符号52dで示されている)である。
【0056】
切替部50では、作業モード判別部48で判別された作業モードに対応した制御アルゴリズムをアルゴリズムAからDの中から選択して移動機構制御部54で実際に作動させる制御アルゴリズムに設定する。
移動機構制御部54では、操作力Fx、Fyと対象物の現在位置Px、Pyを入力とし、切替部50で選択されたアルゴリズムに基づいて移動機構12のアクチュエータ20への指令値を出力する。
移動機構12は移動機構制御部54からの指令値に基づいて支持した対象物28(図1参照)を移動させる。
なお、上記説明は操作力Fxに対する制御アルゴリズムの選択と制御について説明したが、操作力Fyに対する制御アルゴリズムについても同様である。なお、操作力Fyに対する制御アルゴリズムは、操作力Fxに対して用意された制御アルゴリズムAからDとは異なるアルゴリズム群であってもよい。
【0057】
次に図8に図7に示したブロック図による制御の流れを示す。ここでも操作力Fxに関する制御アルゴリズムの選択についてのみ説明する。
ステップS200では現在の作業時点でのm個の対象物物理量を取得する。本実施例ではm個の物理量とは具体的には、対象物の位置Px、Pyと対象物のx軸方向の速度Vxと対象物のx軸方向の加速度Axの4つの物理量である。
次にステップS202では取得した4つの物理量の値で構成される4次元の点が境界データ記憶部42に記憶された4次元空間のどの領域に属するかを判別する。そして判別された結果が図5の領域Z1であればステップS204でアルゴリズムAが選択される。同様に判別された結果が領域Z2であればステップS206でアルゴリズムBが選択される。判別された結果が領域Z3であればステップS208でアルゴリズムCが選択される。判別された結果が領域Z4であればステップS210でアルゴリズムDが選択される。
そしてステップS212により選択されたアルゴリズムで移動機構12を制御する。以上の処理を作業が終了するまで繰り返す(ステップS214:NOの場合)。
【0058】
図7および図8に示したアルゴリズムAからDは各作業モードに応じて設計されている。その際に、作業モード切替点(作業モード領域の境界)を設定する過程でグループ化した各作業モードを代表する5次元の点群から、作業者の行動モデル関数を同定し、同定した行動モデル関数に対して適切な制御アルゴリズムを設定する。前述したように作業者は対象物物理量を入力として操作力を出力する制御系とみなすことができる。そこで作業者の行動モデル関数を以下の多項式で表現する。
Fx=α1・Px+α2・Vx+α3・Ax+α4・Py ・・・(第1式)
第1式において、係数α1、α2、α3、α4は、各対象物物理量の、操作力Fxに対する寄与度を表す係数である。次に、作業モード切替点を設定する際に用いた各グループ(クラスタ)ごとの5次元の経時的な点群{Fx(ti)、Px(ti)、Vx(ti)、Ax(ti)、Py(ti)}から、作業モードごとに第1式の係数α1、α2、α3、α4を同定する。作業モードごとに異なる作業者の行動モデル関数が同定できる。なお、各係数α1、α2、α3、α4の同定に際しては最小二乗法を用いた。
【0059】
図9に作業者の行動モデル関数を同定した結果の模式図を示す。図9はある作業実行時において検出したx軸方向の操作力Fx、対象物のx軸方向の位置Px、対象物のx軸方向の速度Vx、対象物のx軸方向の加速度Ax、対象物のy軸方向の位置Py、の経時的変化のグラフを示す。図9(A)が操作力Fxのグラフであり、図9(B)が位置Pxのグラフであり、図9(C)が速度Vxのグラフであり、図9(D)が加速度Axのグラフであり、図9(E)が位置Pyのグラフである。図9(A)から(D)のグラフにおいても夫々のグラフの縦軸および横軸は正規化した無次元量で表現されている。
また図9(A)には検出した操作力Fxを実線で示し、同定した行動モデル関数の結果を破線で示してある。同定した行動モデル関数の結果とは、作業モードごとに第1式の係数α1、α2、α3、α4を同定し、同定した係数の値を用いて第1式に各時刻のPx、Vx、Ax、Pyの値を代入して得られたFxの値をグラフ化したものである。図9(A)の実線と破線は作業モードごとによく一致している。
なお、同定した係数の値は以下の通りである。
作業モードA:α1=-1559.0 α2=-188.8 α3=12.88 α4=1562.0
作業モードB:α1=-2.036 α2=-0.0667 α3=-0.0656 α4=2.984
作業モードC:α1=55.46 α2=3.027 α3=-8.588 α4=-51.11
作業モードD:α1=6.971 α2=-1.055 α3=-1.012 α4=-3.607
即ち、作業モード境界を特定する際に用いた各グループごとの5次元の経時的な点群から作業者の各作業モードにおける行動モデル関数を同定することができる。各係数の値が作業モードごとに大きく異なることからも分かるように、各作業モードごとに作業者の行動特性(行動モデル)が大きく異なることが分かる。
この同定モデルを用いて作業補助装置10bの移動機構制御部54で実行されるアルゴリズムAからDを設計する。設計に際しては作業者の出力である操作力Fxが滑らかに変化するように設計することが好ましい。作業者の操作力Fxが滑らかに変化するということは作業が円滑に行われていることを示すからである。
【0060】
なお、参考までに、図1に示す作業補助装置10bを一連の作業を通して単一のアルゴリズムで移動機構12を制御すると返って作業者にとって作業を行い難くすることについて説明を加えておく。
実施例1では、作業者は部品28を位置Sから位置Gまで移動させる。作業者は位置Gにおいて組付け対象部品100の孔102へ部品28を挿入する。
この一連の作業は次の4つの作業モードに分割することができる。即ち、
(1)静止している部品28を加速させる加速作業モード
(2)部品28を概ね位置Gの方向に向けて移動させる移動方向制御作業モード
(3)部品28が位置Gの付近に近づいたところで部品28の速度を減速させる減速作業モード
(4)部品28を組付け対象部品100の孔102へ位置決めする位置決め作業モード
【0061】
ここで作業中に実行される単一の制御アルゴリズムとして下記のインピーダンス制御アルゴリズムを例とする。
Fx=Mp・Ax+Cp・Vx+FRx ・・・(第2式)
Fy=Mp・Ay+Cp・Vy+FRy ・・・(第3式)
上式においてFx、Fyは作業者の操作力を表す。Mpは部品28の仮想質量を表す。Cpは部品28に作用する仮想粘性係数を表す。FRは部品28に作用する、速度に依存しないクーロン摩擦力を表す。また添え字xは図1に記した座標系のx軸方向を表し、添え字yは図1に記した座標系のy軸方向を表す。またAxは対象物28のx軸方向の加速度を表す。Vxは対象物28のx軸方向の速度を表す。同様にAy、Vyは対象物28のy軸方向の加速度と速度を夫々表す。この制御は部品28を移動機構12により移動させる際に、図1のx軸方向とy軸方向を別々に制御する。Mp、Cp、FRも一連の作業を通して一定値に設定されているとする。
この場合、例えば(1)の加速作業モードでは、作業者は対象物28を素早く加速させようとする。そのため、操作子24を強く握る。ここでMp、Cp、FRの値が小さすぎると、インピーダンス制御特有のよく知られた発振現象が生じる可能性がある。
また(2)の移動方向制御作業モードでは、作業者は対象物28を概ね位置Gの方向に向けて移動させようとする。ここでMpの値が大きすぎると、作業者が対象物28の移動方向を修正するのに大きな操作力が必要になってしまう。またCp、FRの値が大きすぎると、対象物28の移動方向に対して大きな抵抗力が作用するので作業者は常に大きな操作力を加え続けなければならなくなる。
また(3)の減速作業モードでは、Cp、FRの値が小さすぎると、対象物28の速度を減速させるために作業者は移動方向とは逆向きに操作力を加えなければならなくなる。
さらに(4)の位置決め作業モードでは、インピーダンス制御では部品28に慣性力による運動が実現されるので部品28を微妙に位置決めすることが難しくなってしまう。
このように、一連の作業中に作業補助装置を単一の制御アルゴリズムによって制御すると作業者に対して適切な作業補助が行われない可能性がある。
【0062】
上記例に対して実施例2の作業補助装置では作業モードに応じて制御アルゴリズムを切り替えることができる。制御アルゴリズムを切り替えるタイミングは、実施例1で例示したように作業モード切替点設定装置10aで設定された作業モード境界データと現在の作業中に検出された物理量を比較することで特定できる。そして実施例2では、各作業モードに対応するアルゴリズムをその作業に対して同定された作業者の行動モデル関数を用いて設計することができる。作業モードごとに作業者の行動モデル関数が同定されているので、各作業モードごとの移動機構制御アルゴリズムの設計も容易となる。
【0063】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0064】
【図1】作業モード切替点設定装置の概要を示す図である。
【図2】作業モード切替点設定装置のブロック図である。
【図3】作業モード切替点設定方法のフローチャート図である。
【図4】図4(A)はクラスタリング処理を説明するデンドログラムである。図4(B)は図4(A)に示したfijの内容を説明する図である。
【図5】図5(A)は作業モード切替点(切替境界)を設定する処理を説明する図である。図5(B)は図5(A)に示したhijの内容を説明する図である。
【図6】作業モードの切替点を特定した際の2回の作業実行時における設定された各作業モード切替点を例示した図である。
【図7】作業補助装置のブロック図である。
【図8】作業補助装置における処理のフローチャート図である。
【図9】対象物物理量から作業者の行動モデル関数を同定したときの行動モデル関数の出力の例を示すグラフである。
【符号の説明】
【0065】
10a:作業モード切替点設定装置
10b:作業補助装置
12:移動機構
14a:切替点設定装置コントローラ
14b:作業補助装置コントローラ
16a、16b、16c:リンク
18a、18b、18c:関節
19a、19b、19c:エンコーダ
20a、20b、20c:アクチュエータ
22:力センサ
24:操作子
28:部品(作業対象物)
30a、30b:サンプリングホルダ
32:物理量データ記憶部
34:位置センサ
36a、36b:微分器
38:クラスタリング部
40:境界設定部
42:境界データ記憶部
44:移動機構制御部
48:作業モード判別部
50:切替器
52:アルゴリズム記憶部
【特許請求の範囲】
【請求項1】
操作子と、支持した対象物を動力によって移動させる移動機構とを有しており、作業者が操作子を操作することによって移動機構への指示が入力される作業補助装置を用いて作業者が一連の作業を行う際に経時的に変化する作業モードの切替点を設定する方法であり、
作業者によって操作子に加えられる物理量(操作物理量)を検出する工程と、
移動機構によって移動する対象物の移動に関する物理量(対象物物理量)を検出する工程と、
一連の作業を実行し、少なくとも一つの操作物理量と少なくとも一つの対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する工程と、
記憶されたn次元の点群を、「n個の物理量」で表されるn次元空間内で特定数のクラスタに分類するクラスタリング工程と、
「n個の物理量」から操作物理量を除いたm個の対象物物理量で表されるm次元空間内で、夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する作業モード境界を設定する境界設定工程と、
設定されたm次元空間の作業モード境界のデータを作業モードの切替点として記憶する工程と、
を有することを特徴とする作業モード切替点設定方法。
【請求項2】
境界設定工程は、作業終了時のm個の物理量の値で特定される点を原点とするm次元空間を設定し、
隣接する2つのクラスタの夫々に属する点群から互いに他方のクラスタの点群に近い複数の点を抽出し、
抽出された複数の点の平均位置を求め、
原点を中心にして原点からその平均位置までの距離を半径とする球面を作業モード境界とすることを特徴とする請求項1に記載の作業モード切替点設定方法。
【請求項3】
境界設定工程は、n次元の各要素の値を正規化した点群に基づいて求めた前記球面を作業モード境界とすることを特徴とする請求項2に記載の作業モード切替点設定方法。
【請求項4】
支持した対象物を移動させる移動機構を利用して作業者自身が一連の作業を行う際の作業モードの切替点を設定する装置であり、
対象物を支持可能であり、動力によって対象物を移動させる移動機構と、
移動機構に対する指示を与えるために作業者が操作する操作子と、
作業者の操作によって操作子に加えられる物理量(操作物理量)を検出する操作物理量検出器と、
移動機構によって移動する対象物の移動に関する物理量(対象物物理量)を検出する対象物物理量検出器と、
一連の作業を実行した際に、少なくとも一つの操作物理量と少なくとも一つの対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する物理量記憶手段と、
記憶されたn次元の点群を、「n個の物理量」で表されるn次元空間内で特定数のクラスタに分類するクラスタリング手段と、
「n個の物理量」から操作物理量を除いたm個の対象物物理量で表されるm次元空間内で、夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する作業モード境界を設定する境界設定手段と、
設定されたm次元空間の作業モード境界を作業モードの切替点として記憶する境界データ記憶手段と、
を備えることを特徴とする作業モード切替点設定装置。
【請求項5】
請求項1乃至3の作業モード切替条件設定方法又は請求項4の作業モード切替点設定装置によって得られた作業モード境界のデータに基づいて、支持した対象物を移動させる移動機構を利用して作業者が行う一連の作業を補助する装置であり、
対象物を支持可能であり、作業者が操作する操作子の操作物理量に基づいて動力によって対象物を移動させる移動機構と、
対象物の移動に関する物理量(対象物物理量)を検出する対象物物理量検出器と、
作業モード境界のデータを記憶する境界データ記憶手段と、
夫々の作業モードに対応した制御アルゴリズム群と、
作業中に、対象物物理量検出器によって検出された現在の物理量から、作業モード境界を設定する際に用いた「m個の対象物物理量」で構成される現在のm次元の点がいずれの作業モード領域に属するかを判別する現在作業モード判別器と、
アルゴリズム群の中から、判別された作業モード領域の作業モードに対応した制御アルゴリズムを選択し、操作物理量を入力として選択されたアルゴリズムに基づいて移動機構を制御する制御器と、
を備えることを特徴とする作業補助装置。
【請求項6】
特定数のクラスタに分類されたn次元の点群の経時的な変化から各作業モードでの作業者の行動モデル関数を同定し、同定された行動モデル関数に基づいて各作業モードに対応した制御アルゴリズムを設定することを特徴とする請求項5に記載の作業補助装置。
【請求項1】
操作子と、支持した対象物を動力によって移動させる移動機構とを有しており、作業者が操作子を操作することによって移動機構への指示が入力される作業補助装置を用いて作業者が一連の作業を行う際に経時的に変化する作業モードの切替点を設定する方法であり、
作業者によって操作子に加えられる物理量(操作物理量)を検出する工程と、
移動機構によって移動する対象物の移動に関する物理量(対象物物理量)を検出する工程と、
一連の作業を実行し、少なくとも一つの操作物理量と少なくとも一つの対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する工程と、
記憶されたn次元の点群を、「n個の物理量」で表されるn次元空間内で特定数のクラスタに分類するクラスタリング工程と、
「n個の物理量」から操作物理量を除いたm個の対象物物理量で表されるm次元空間内で、夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する作業モード境界を設定する境界設定工程と、
設定されたm次元空間の作業モード境界のデータを作業モードの切替点として記憶する工程と、
を有することを特徴とする作業モード切替点設定方法。
【請求項2】
境界設定工程は、作業終了時のm個の物理量の値で特定される点を原点とするm次元空間を設定し、
隣接する2つのクラスタの夫々に属する点群から互いに他方のクラスタの点群に近い複数の点を抽出し、
抽出された複数の点の平均位置を求め、
原点を中心にして原点からその平均位置までの距離を半径とする球面を作業モード境界とすることを特徴とする請求項1に記載の作業モード切替点設定方法。
【請求項3】
境界設定工程は、n次元の各要素の値を正規化した点群に基づいて求めた前記球面を作業モード境界とすることを特徴とする請求項2に記載の作業モード切替点設定方法。
【請求項4】
支持した対象物を移動させる移動機構を利用して作業者自身が一連の作業を行う際の作業モードの切替点を設定する装置であり、
対象物を支持可能であり、動力によって対象物を移動させる移動機構と、
移動機構に対する指示を与えるために作業者が操作する操作子と、
作業者の操作によって操作子に加えられる物理量(操作物理量)を検出する操作物理量検出器と、
移動機構によって移動する対象物の移動に関する物理量(対象物物理量)を検出する対象物物理量検出器と、
一連の作業を実行した際に、少なくとも一つの操作物理量と少なくとも一つの対象物物理量を含むn個の物理量からなるn次元の点を所定時間毎に記憶する物理量記憶手段と、
記憶されたn次元の点群を、「n個の物理量」で表されるn次元空間内で特定数のクラスタに分類するクラスタリング手段と、
「n個の物理量」から操作物理量を除いたm個の対象物物理量で表されるm次元空間内で、夫々のクラスタに属するn次元の点群がクラスタごとに夫々異なる領域(作業モード領域)に含まれるようにm次元空間を分割する作業モード境界を設定する境界設定手段と、
設定されたm次元空間の作業モード境界を作業モードの切替点として記憶する境界データ記憶手段と、
を備えることを特徴とする作業モード切替点設定装置。
【請求項5】
請求項1乃至3の作業モード切替条件設定方法又は請求項4の作業モード切替点設定装置によって得られた作業モード境界のデータに基づいて、支持した対象物を移動させる移動機構を利用して作業者が行う一連の作業を補助する装置であり、
対象物を支持可能であり、作業者が操作する操作子の操作物理量に基づいて動力によって対象物を移動させる移動機構と、
対象物の移動に関する物理量(対象物物理量)を検出する対象物物理量検出器と、
作業モード境界のデータを記憶する境界データ記憶手段と、
夫々の作業モードに対応した制御アルゴリズム群と、
作業中に、対象物物理量検出器によって検出された現在の物理量から、作業モード境界を設定する際に用いた「m個の対象物物理量」で構成される現在のm次元の点がいずれの作業モード領域に属するかを判別する現在作業モード判別器と、
アルゴリズム群の中から、判別された作業モード領域の作業モードに対応した制御アルゴリズムを選択し、操作物理量を入力として選択されたアルゴリズムに基づいて移動機構を制御する制御器と、
を備えることを特徴とする作業補助装置。
【請求項6】
特定数のクラスタに分類されたn次元の点群の経時的な変化から各作業モードでの作業者の行動モデル関数を同定し、同定された行動モデル関数に基づいて各作業モードに対応した制御アルゴリズムを設定することを特徴とする請求項5に記載の作業補助装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【公開番号】特開2007−54899(P2007−54899A)
【公開日】平成19年3月8日(2007.3.8)
【国際特許分類】
【出願番号】特願2005−240273(P2005−240273)
【出願日】平成17年8月22日(2005.8.22)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成17年2月22日 豊田工業大学主催の「平成16年度 卒業研究発表会」において文書をもって発表
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2005年(平成17年)6月9日 社団法人日本機械学会発行の「ロボティクス・メカトロニクス講演会2005 講演論文集」に発表
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(592032636)学校法人トヨタ学園 (57)
【出願人】(504139662)国立大学法人名古屋大学 (996)
【Fターム(参考)】
【公開日】平成19年3月8日(2007.3.8)
【国際特許分類】
【出願日】平成17年8月22日(2005.8.22)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成17年2月22日 豊田工業大学主催の「平成16年度 卒業研究発表会」において文書をもって発表
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2005年(平成17年)6月9日 社団法人日本機械学会発行の「ロボティクス・メカトロニクス講演会2005 講演論文集」に発表
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(592032636)学校法人トヨタ学園 (57)
【出願人】(504139662)国立大学法人名古屋大学 (996)
【Fターム(参考)】
[ Back to top ]