(57)【要約】【課題】物体が柔らかい場合でも傷付けることなく硬度を計測可能とする。【解決手段】アクチュエータ１と、固定部１１に対する可動部１２の位置を検出する位置検出部３と、固定部１１の加速度を検出する加速度検出部４と、検出された位置と基準位置Ｐｒとの差分に対してゲインを調整し、調整結果である電流指令値Ｉｒｐ及び検出された加速度に基づいて駆動電流Ｉａを出力するアクチュエータ制御部５１と、電流指令値Ｉｒｐ、又は、検出された加速度及び駆動電流Ｉａの電流値に基づいて、可動部１２に加わる外力Ｆを検出する外力検出部５２と、検出された外力Ｆに基づいてアクチュエータ制御部５１を制御して可動部１２を微小振動させながら移動させる作業制御部６と、検出された位置に基づいて可動部１２の振幅を計測する振幅計測部７と、計測された振幅の変化量に基づいて可動部１２が接触した物体５０の硬度を計測する硬度計測部８とを備えた。【選択図】図１
2019188518.tif 000002
【特許請求の範囲】
【請求項１】
固定部、及び当該固定部に対して変位可能な可動部を有するアクチュエータと、
前記固定部に対する前記可動部の位置を検出する位置検出部と、
前記固定部の加速度を検出する加速度検出部と、
前記位置検出部により検出された位置と基準位置との差分に対してゲインを調整し、当該調整結果である電流指令値及び前記加速度検出部により検出された加速度に基づいて前記アクチュエータに対する駆動電流を出力するアクチュエータ制御部と、
前記アクチュエータ制御部において得られた電流指令値、又は、前記加速度検出部により検出された加速度及び前記アクチュエータ制御部により出力された駆動電流の電流値に基づいて、前記可動部に加わる外力を検出する外力検出部と、
前記外力検出部により検出された外力に基づいて前記アクチュエータ制御部を制御することで、前記可動部を微小振動させながら移動させる作業制御部と、
前記位置検出部により検出された位置に基づいて前記可動部の微小振動における振幅を計測する振幅計測部と、
前記振幅計測部により計測された振幅の変化量に基づいて前記可動部が接触した物体の硬度を計測する硬度計測部と
を備えた硬度計測装置。
【請求項２】
前記作業制御部は、
前記可動部を、第１の力の範囲内で微小振動させながら、物体に第２の力で接触するまで移動させる接触制御部と、
前記接触制御部による処理後、前記可動部を、前記第１の力の範囲内で微小振動させながら、当該可動部が接触している物体の方向へ規定量移動させる移動制御部と、
前記移動制御部による処理後、前記可動部を当該可動部が接触している物体から離すように移動させる離脱制御部とを有する
ことを特徴とする請求項１記載の硬度計測装置。
【請求項３】
前記規定量は、前記可動部による微小振動の物体への接触前での振幅の範囲内である
ことを特徴とする請求項２記載の硬度計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、物体の硬度を計測する硬度計測装置に関する。
【背景技術】
【０００２】
従来から、組立て、押付け又は研磨等の作業を行う作業装置では、産業用ロボット（以下、ロボットと称す）等が多く用いられている。このロボットには、アームの先端にハンド等のエンドエフェクタが取付けられており、物体（部品又はワーク）を把持することで作業を行う。
【０００３】
一方、ロボットの動作は、一般的に、位置制御によりコントロールされる。そのため、物体の寸法誤差又は把持位置誤差等により、予めプログラムされた目標位置と実際の位置とが異なる場合、物体が他の物体と接触した際に大きな外力が発生し、物体に傷又は破損が発生する恐れがある。
【０００４】
その対策として、物体の位置誤差により発生する力を吸収する冶具（いわゆる「バッファ」）を別途設置する場合がある。しかしながら、このバッファは、物体の形状及び材料毎に要求される特性が異なるため、物体の種類の数だけ異なるバッファを用意する必要があり、都度設計となる。そのため、コストが増大し、且つ装置が大型化するという課題がある。
【０００５】
それに対し、ロボットとエンドエフェクタとの間に力センサを設置し、物体の接触時に過大な外力が発生しそうになると力センサの検出結果をロボットにフィードバックし、過大な外力が発生しないようにする方法もある。この場合には、バッファが不要となる。しかしながら、力センサは高価である。
【０００６】
また、力センサを用いた場合には、以下に述べる理由により、作業時間の短縮が難しいという課題がある。
【０００７】
すなわち、物体が他の物体と接触する位置に誤差がある場合、接触時に過大な外力が発生したことを検出して停止指令を出すが、可動部が大きくて重く且つ減速機構を有するロボットは急には止まれない。
また、接触時に発生する外力は、慣性による衝撃力と接触時にロボットが発生している力との和となる。ここで、慣性による衝撃力は、物体及びロボット可動部の質量と移動速度との積に比例する。しかしながら、ロボットは大きくて重い機構を有しているため、慣性による衝撃力を小さくするためには、接触直前の移動速度を遅くする必要がある。
【０００８】
また、過大な外力が発生したことを検出して停止指令を出してもロボットは急には止まれないため、停止指令が出た時点から急激に減速しても接触位置からずれた位置で停止し、物体を押し潰してしまう。そして、位置の行き過ぎ量は移動速度に比例するため、物体を他の物体に近づける速度を遅くせざるを得ない。
【０００９】
上記の理由により、物体が他の物体と接触する可能性のある領域では、ロボットの移動速度を十分落とす必要がある。しかしながら、サイクルタイムを短くするため、物体を移送する速度は速くする必要がある。その結果、接触領域の近傍で速度を急激に落とすことになる。
【００１０】
しかしながら、エンドエフェクタは力センサの先に取付けられている。そのため、ロボットが急激に減速した場合には、エンドエフェクタの質量による影響で、力センサには負方向の加速度に比例した力が発生する。
ところが、上記加速度に比例した力と物体の接触により発生する外力とを区別することは難しく、区別するためにはロボットの減速時間を大幅に長くせざるを得ない。
【００１１】
また、力センサを用いた場合には、以下に述べる理由により、重力による影響をリアルタイムに補償し難いという課題がある。
【００１２】
すなわち、組立て、押付け又は研磨等の作業を行う場合にロボットが取りうる姿勢は常に一定ではなく、作業の状態に応じて変化させる場合が多い。例えば、曲面をトレースしながら研磨を行う作業では、姿勢を連続して変化させる必要がある。
しかしながら、上記の通り、エンドエフェクタは力センサの先に取付けられているため、ロボットの姿勢が水平ではない場合、力センサには重力加速度による影響でロボットの姿勢とエンドエフェクタの質量に応じた力が発生する。
【００１３】
一方、重力加速度の影響を補償する重力補償手段として、例えば特許文献１に開示された方法が挙げられる。この特許文献１では、予めオフラインで姿勢に応じた重力の影響により力覚センサに発生する力を学習しておく。そして、実際の作業時に発生する力から学習した力を差し引くことで、作業力を算出している。しかしながら、この方法では、物体が変わる度に学習を行う必要がある。また、学習は物体との接触前に行う必要があり、ロボットが連続して姿勢を変えるような場合には重力補償はできない。
【００１４】
なお上記では、可動部に加わる外力として、物体と他の物体とが接触した際に発生する力を示したが、これに限らず、エンドエフェクタと物体とが接触した際に発生する力についても同様である。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１２−１１５９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上記の通り、ロボットと力センサを用いて組立て等の作業を行う場合、作業時間が長くなる。一方、作業時間を短くしようとすると物体を傷付け、押し潰し、接触を正しく検出できなくなる。また、重力補償をリアルタイムで行うことも難しい。このように、力センサを用いた場合には、ロボットが急激に加減速した場合又は姿勢が変更した場合に、外力を正しく検出できないという課題がある。この課題は、物体の硬度を計測する硬度計測装置においても同様であり、改善が求められている。以下、硬度計測装置の概要及び課題について具体的に説明する。
【００１７】
従来から、計測部を微小振動させながら計測対象である物体に接触させ、その際の振動の振幅の変化量から、当該物体の硬度を計測する硬度計測方法が一般的に実施されている。
しかしながら、従来の硬度計測方法では、計測部に対するコンプライアンス制御は行われておらず、また、コンプライアンス制御が行われていたとしても大きな力が発生してしまう。そのため、従来の硬度計測方法では、計測対象である物体が柔らかい場合、当該物体を傷付けずに計測することは困難であるという課題がある。例えば、トマト又はミカン等の農産物は、形状が一定ではなく、熟度等に応じて硬度が異なり、比較的柔らかく、従来の硬度計測方法では計測が困難である。
【００１８】
一方で、上記のような農産物は、腐敗が発生している個体が混ざっていると、周りの個体も腐敗し易くなるため、腐敗した個体を速やかに取り除く必要がある。また、個体を取除く際に腐敗部分を傷付けてしまうと、その部分から腐敗した液体が周りの個体に飛び散り、多くの個体を腐敗させてしまう恐れがある。よって、腐敗した個体を傷付けずに取除くことが重要である。一般的に、腐敗が始まった時点では外見に違いは現れず、その個体に接触した際の反力に基づき硬さを計測することにより腐敗の有無を判断可能であるが、上記のように非常に小さい力で計測を行う必要がある。
【００１９】
この発明は、上記のような課題を解決するためになされたもので、計測対象である物体が柔らかい場合でも、当該物体を傷付けることなく硬度を計測可能な硬度計測装置を提供することを目的としている。
【課題を解決するための手段】
【００２０】
この発明に係る硬度計測装置は、固定部、及び当該固定部に対して変位可能な可動部を有するアクチュエータと、固定部に対する可動部の位置を検出する位置検出部と、固定部の加速度を検出する加速度検出部と、位置検出部により検出された位置と基準位置との差分に対してゲインを調整し、当該調整結果である電流指令値及び加速度検出部により検出された加速度に基づいてアクチュエータに対する駆動電流を出力するアクチュエータ制御部と、アクチュエータ制御部において得られた電流指令値、又は、加速度検出部により検出された加速度及びアクチュエータ制御部により出力された駆動電流の電流値に基づいて、可動部に加わる外力を検出する外力検出部と、外力検出部により検出された外力に基づいてアクチュエータ制御部を制御することで、可動部を微小振動させながら移動させる作業制御部と、位置検出部により検出された位置に基づいて可動部の微小振動における振幅を計測する振幅計測部と、振幅計測部により計測された振幅の変化量に基づいて可動部が接触した物体の硬度を計測する硬度計測部とを備えたことを特徴とする。
【発明の効果】
【００２１】
この発明によれば、上記のように構成したので、計測対象である物体が柔らかい場合でも、当該物体を傷付けることなく硬度を計測可能である。
【図面の簡単な説明】
【００２２】
【図１】この発明の実施の形態１に係る硬度計測装置の構成例を示す図である。
【図２】この発明の実施の形態１における外力検出制御部の構成例を示す図である。
【図３】この発明の実施の形態１におけるゲイン調整部の構成例を示す図である。
【図４】この発明の実施の形態１における作業制御部の構成例を示す図である。
【図５】この発明の実施の形態１に係る硬度計測装置による硬度計測動作の一例を示すフローチャートである。
【図６】この発明の実施の形態１における位置検出部により検出された可動部の位置の時間変化の一例を示す図である。
【図７】図７Ａ、図７Ｂは、この発明の実施の形態１における振幅計測部及び硬度計測部の動作を説明する図である。
【発明を実施するための形態】
【００２３】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１はこの発明の実施の形態１に係る硬度計測装置の構成例を示す図である。
硬度計測装置は、後述するアクチュエータ１が有する可動部１２を微小振動させながら計測対象である物体５０に接触させ、その微小振動の振幅の変化量から当該物体５０の硬度を計測する装置である。この硬度計測装置は、図１に示すように、アクチュエータ１、移動部２、位置検出部３、加速度検出部４、外力検出制御部５、作業制御部６、振幅計測部７及び硬度計測部８を備えている。また、外力検出制御部５は、アクチュエータ制御部５１及び外力検出部５２から構成される。
【００２４】
アクチュエータ１は、固定部１１、及び当該固定部１１に対して少なくとも直動方向に変位可能な可動部１２を有し、磁界に置かれたコイルに電流が供給されることで固定部１１に対して可動部１２を変位可能とする。このアクチュエータ１は、移動部２に取付けられており、全体が移送され、また、姿勢が変更される。なお、可動部１２が複数方向の自由度を持ち、アクチュエータ１全体の移送及び姿勢の変更が不要である場合、移動部２はなくてもよい。以下では、移動部２を使用する場合を記述する。
【００２５】
移動部２は、アクチュエータ１を移動（移送及び姿勢変更）する。図１では、移動部２として、先端にアクチュエータ１（固定部１１）が取付けられ、アクチュエータ１を移動可能なロボットを示している。
【００２６】
位置検出部３は、アクチュエータ１に設けられ、固定部１１に対する可動部１２の位置（相対位置）を検出する。この位置検出部３により検出された位置を示す信号（位置信号）は、アクチュエータ制御部５１及び振幅計測部７に出力される。
【００２７】
加速度検出部４は、固定部１１に設けられ、固定部１１の加速度を検出する。この際、加速度検出部４は、固定部１１の重力加速度αｇ及び移動加速度α１のうちの一方、又は両方が加算された加速度（αｇ＋α１）を検出する。図２では、加速度検出部４が加速度（αｇ＋α１）を検出する場合を示している。この加速度検出部４により検出された加速度を示す信号（加速度信号）は、アクチュエータ制御部５１に出力される。
【００２８】
アクチュエータ制御部５１は、位置検出部３により検出された位置と基準位置Ｐｒとの差分に対してゲイン（ループゲイン）を調整し、当該調整結果である電流指令値Ｉｒｐ及び加速度検出部４により検出された加速度に基づいてアクチュエータ１に対する駆動電流Ｉａを出力する。
【００２９】
外力検出部５２は、アクチュエータ制御部５１において得られた電流指令値Ｉｒｐ、又は、加速度検出部４により検出された加速度及びアクチュエータ制御部５１により出力された駆動電流Ｉａの電流値に基づいて、可動部１２に加わる外力（反力）Ｆを検出する。
アクチュエータ制御部５１及び外力検出部５２の構成例については後述する。
【００３０】
作業制御部６は、外力検出部５２により検出された外力Ｆに基づいて、アクチュエータ制御部５１及び移動部２を制御することで、可動部１２を微小振動させながら移動させる。なお、作業制御部６は、基準位置Ｐｒ又はゲインの変更を行うことでアクチュエータ制御部５１を制御する。また、作業制御部６は、外力検出部５２により検出された外力Ｆに加え、位置検出部３により検出された位置、加速度検出部４により検出された加速度、及び作業制御部６で管理している時間等も考慮して、上記の制御を実現してもよい。この作業制御部６の構成例については後述する。
【００３１】
振幅計測部７は、位置検出部３により検出された位置に基づいて可動部１２の微小振動における振幅を計測する。
【００３２】
硬度計測部８は、振幅計測部７により検出された振幅の変化量に基づいて可動部１２が接触した物体５０の硬度を計測する。
【００３３】
次に、外力検出制御部５の構成例について、図２を参照しながら説明する。なお図２では、アクチュエータ１、位置検出部３及び加速度検出部４も図示している。
外力検出制御部５は、図２に示すように、位置速度変換部５３、減算器５４、ゲイン調整部５５、質量設定部５６、加速度補償部５７、加減算器５８、定電流制御部５９、及び外力検出部５２を有している。なお図２に示す外力検出制御部５において、外力検出部５２を除く機能部（位置速度変換部５３、減算器５４、ゲイン調整部５５、質量設定部５６、加速度補償部５７、加減算器５８及び定電流制御部５９）は、アクチュエータ制御部５１を構成する。
【００３４】
位置速度変換部５３は、位置検出部３により検出された位置を微分して速度に変換する。この速度は、固定部１１に対する可動部１２の速度（相対速度）を示す。この位置速度変換部５３により変換された速度を示す信号（速度信号）は、加減算器５８に出力される。
【００３５】
減算器５４は、基準位置Ｐｒから位置検出部３により検出された位置を減算する。この減算器５４による減算結果を示す信号は、ゲイン調整部５５に出力される。
【００３６】
ゲイン調整部５５は、減算器５４による減算結果（位置偏差）に対してゲインを調整し、電流指令値Ｉｒｐを出力する。ゲインは、アクチュエータ１におけるコンプライアンスの値であり、コンプライアンスは、ばね定数の逆数であり、固さ柔らかさを示す指標である。また、ゲイン調整部５５において、上記位置偏差と電流指令値Ｉｒｐとの関係を示す関数は線形でもよいし非線形でもよい。このゲイン調整部５５は、図２，３に示すように、ループゲイン測定部５５１、ゲイン交点制御部５５２及び可変ゲイン調整部５５３を有している。
【００３７】
ループゲイン測定部５５１は、減算器５４から出力された信号のゲインを測定する。この際、ループゲイン測定部５５１は、図３に示すように、減算器５４から出力された信号に、発振器５５４によりゲインが１倍（０ｄＢ）となるべき基準となる周波数、すなわちゲイン交点に設定された基準となる周波数の正弦波を、加算器５５５を介して加算する。このループゲイン測定部５５１による正弦波の加算前後の信号は、ゲイン交点制御部５５２に出力される。
【００３８】
ゲイン交点制御部５５２は、図３に示すように、比較器５５６によりループゲイン測定部５５１による正弦波の加算前後の信号での振幅比を比較する。このゲイン交点制御部５５２による比較結果を示す信号は、可変ゲイン調整部５５３に出力される。
【００３９】
可変ゲイン調整部５５３は、ゲイン交点制御部５５２により比較された振幅比の倍率が１となるように、当該振幅比の倍率の逆数を調整値とし、減算器５４から出力された信号のゲインを調整する。すなわち、可変ゲイン調整部５５３は、ループゲイン測定部５５１による正弦波の加算前の信号の振幅レベルＥａに対して当該正弦波の加算後の信号の振幅レベルＥｂが高い場合（Ｅａ＜Ｅｂ）には調整値を大きくし、当該正弦波の加算前の信号の振幅レベルＥａに対して当該正弦波の加算後の信号の振幅レベルＥｂが低い場合（Ｅａ＞Ｅｂ）には調整値を小さくすることで、ゲインが１倍となるように調整する。この可変ゲイン調整部５５３によりゲインが調整された信号は、加減算器５８に電流指令値Ｉｒｐとして出力される。
【００４０】
なお、発振器５５４でゲインが１倍となるべき基準となる周波数の正弦波を加算するのは、ゲインが１倍となる周波数においてＥａ／Ｅｂ＝１となるため、Ｅａ／Ｅｂ＝１となるようにゲインを調整することで、ゲイン交点を常に１に維持できるためである。
【００４１】
また、減算器５４及びゲイン調整部５５は、位置検出部３により検出された位置と基準位置Ｐｒとの差分に基づく電流指令値Ｉｒｐを出力する位置制御手段（位相制御ループ）を構成する。
【００４２】
質量設定部５６は、可動部１２の質量Ｍ１を設定する。この質量設定部５６により設定された質量Ｍ１を示す信号は、加速度補償部５７に出力される。
【００４３】
加速度補償部５７は、外乱トルクを補正するための加速度補償値Ｉｒｃを出力する。この加速度補償部５７は、乗算器５７１及び係数乗算部５７２を有している。
【００４４】
乗算器５７１は、加速度検出部４により検出された加速度と、質量設定部５６により設定された質量Ｍ１とを乗算する。この乗算器５７１による乗算結果を示す信号は、係数乗算部５７２及び外力検出部５２に出力される。
【００４５】
係数乗算部５７２は、乗算器５７１による乗算結果に係数（１／Ｋｔ）を乗算する。なお、Ｋｔは、アクチュエータ１が発生する推力と駆動電流Ｉａとの比を表したトルク定数である。この係数乗算部５７２による乗算結果を示す信号は、加減算器５８に加速度補償値Ｉｒｃとして出力される。
【００４６】
加減算器５８は、ゲイン調整部５５から出力された電流指令値Ｉｒｐに対し、加速度補償部５７から出力された加速度補償値Ｉｒｃを加算し、位置速度変換部５３から出力された速度信号を減算する。この加減算器５８による加減算結果を示す信号は、定電流制御部５９に電流指令値Ｉｒとして出力される。
【００４７】
定電流制御部５９は、アクチュエータ１を駆動する駆動電流Ｉａを電流指令値Ｉｒに一致させるように制御する。この定電流制御部５９は、減算器５９１、駆動ドライバ５９２及び電流検出部５９３を有している。
【００４８】
減算器５９１は、加減算器５８から出力された電流指令値Ｉｒから、電流検出部５９３により検出された駆動電流Ｉａの電流値を減算する。この減算器５９１による減算結果を示す信号は、駆動ドライバ５９２に出力される。
【００４９】
駆動ドライバ５９２は、減算器５９１による減算結果に応じた駆動電流Ｉａを発生する。この駆動ドライバ５９２により発生された駆動電流Ｉａは、電流検出部５９３を介してアクチュエータ１に出力される。
【００５０】
電流検出部５９３は、駆動ドライバ５９２により発生された駆動電流Ｉａの電流値を検出する。この電流検出部５９３により検出された電流値を示す信号は、減算器５９１に出力される。
【００５１】
外力検出部５２は、アクチュエータ制御部５１において得られた電流指令値Ｉｒｐ、又は、加速度検出部４により検出された加速度及びアクチュエータ制御部５１により出力された駆動電流Ｉａの電流値に基づいて、可動部１２に加わる外力Ｆを検出する。具体的には、外力検出部５２は、電流指令値Ｉｒｐ、又は、駆動電流Ｉａの電流値から加速度補償値Ｉｒｃを減算した結果に基づいて、可動部１２に加わる外力Ｆを検出する。なお、可動部１２に加わる外力Ｆとしては、可動部１２が物体５０と接触した際に発生する力が挙げられる。また図２では、外力検出部５２が、加速度検出部４により検出された加速度及びアクチュエータ制御部５１により出力された駆動電流Ｉａの電流値に基づいて可動部１２に加わる外力Ｆを検出する場合を示している。図２に示す外力検出部５２は、係数乗算部５２１、減算器５２２及び係数乗算部５２３を有している。
【００５２】
係数乗算部５２１は、加速度補償部５７の乗算器５７１による乗算結果に係数（１／Ｋｔ）を乗算する。この係数乗算部５２１による乗算結果を示す信号は、減算器５２２に出力される。
【００５３】
減算器５２２は、定電流制御部５９により発生された駆動電流Ｉａの電流値から、係数乗算部５２１による乗算結果を減算する。この減算器５２２による減算結果を示す信号は、係数乗算部５２３に出力される。
【００５４】
係数乗算部５２３は、減算器５２２による減算結果に係数（Ｋｔ）を乗算することで、外力Ｆを得る。この係数乗算部５２３により得られた外力Ｆを示す信号は、作業制御部６に出力される。
【００５５】
なお、外力検出部５２が、アクチュエータ制御部５１において得られた電流指令値Ｉｒｐに基づいて可動部１２に加わる外力Ｆを検出する場合には、係数乗算部を有する。この係数乗算部は、ゲイン調整部５５から出力された電流指令値Ｉｒｐに係数（Ｋｔ）を乗算することで、外力Ｆを得る。そして、この係数乗算部により得られた外力Ｆを示す信号は、作業制御部６に出力される。
【００５６】
次に、作業制御部６の構成例について、図４を参照しながら説明する。
作業制御部６は、図４に示すように、接触制御部６１、移動制御部６２及び離脱制御部６３を有している。
【００５７】
接触制御部６１は、可動部１２を、力（第１の力）Ｆ１の範囲内で微小振動させながら物体５０に力（第２の力）Ｆ２で接触するまで移動させる。なお、微小振動の振幅は、その振幅の分だけ可動部１２を物体５０に押し付けたとしても物体５０を傷付けず且つ物体５０の硬度を計測可能な振幅である。また、力Ｆ２は、可動部１２が物体５０に当接したことを認識可能な力であり、力Ｆ１よりも十分に弱い力である。
【００５８】
移動制御部６２は、接触制御部６１による処理後、可動部１２を、力Ｆ１の範囲内で微小振動させながら、当該可動部１２が接触している物体５０の方向へ規定量移動させる。規定量は、例えば、可動部１２による微小振動の物体５０への接触前での振幅の範囲内である。
【００５９】
なお、接触制御部６１及び移動制御部６２は、上記の動作を、押引きモード又はばねモードにより実現する。
押引きモードは、アクチュエータ１の位置を固定させた状態で、アクチュエータ１に正方向又は負方向の推力を発生させる動作モードである。この押引きモードでは、アクチュエータ１が正方向の推力を発生させることで可動部１２の押付け動作を実現でき、アクチュエータ１が負方向の推力を発生させることで可動部１２の引抜き動作を実現できる。また、押引きモードでは、動作開始位置から予め設定された変化率で推力を発生させる。また、押引きモードでは、アクチュエータ１が発生する推力が予め設定された閾値を超えた場合又は可動部１２の位置が予め設定された位置を超えた場合に、当該推力を維持させるように動作する（力一定モード）。
また、ばねモードは、移動部２によりアクチュエータ１の位置を移動可能とした状態で、可動部１２に加わる外力Ｆに応じ、固定部１１に対する可動部１２の位置を変化可能とした状態とする動作モードである。このばねモードでは、アクチュエータ１が発生する推力が予め設定された閾値を超えた場合又は可動部１２の位置が予め設定された位置を超えた場合に、当該推力を維持させるように動作する（力一定モード）。
【００６０】
離脱制御部６３は、移動制御部６２による処理後、可動部１２を当該可動部１２が接触している物体５０から離すように移動させる。
【００６１】
次に、外力検出制御部５の動作原理について説明する。なお以下では、アクチュエータ１として、発生した推力が可動部１２に直接伝わるダイレクトドライブ形式のリニアアクチュエータを用い、固定部１１に対して可動部１２を直動させるものとする。このアクチュエータ１は、定電流制御部５９が電流指令値Ｉｒに応じて発生した駆動電流Ｉａにより駆動する。
【００６２】
一方、位置検出部３は、固定部１１に対する可動部１２の直動方向における位置を検出する。
また、位置速度変換部５３は、位置検出部３により検出された位置を微分して速度に変換する。この速度は、固定部１１に対する可動部１２の速度を示す。
【００６３】
また、加速度検出部４は、固定部１１の直動方向における加速度を検出する。以下では、加速度検出部４は、固定部１１の直動方向成分における移動加速度α１と、固定部１１の直動方向成分における重力加速度αｇとが加算された加速度（α１＋αｇ）を検出するものとする。
【００６４】
また、位置検出部３により検出された位置は、減算器５４で基準位置Ｐｒと比較され、その差分がゲイン調整部５５を介して電流指令値Ｉｒを構成する要素の一つである電流指令値Ｉｒｐとして加減算器５８に与えられる。
【００６５】
電流指令値Ｉｒは、電流指令値Ｉｒｐの他、外乱トルクを補正するための加速度補償値Ｉｒｃで構成され、次式（１）で表される。
Ｉｒ＝Ｉｒｐ＋Ｉｒｃ                                  （１）
【００６６】
なお、位置を単純にフィードバックすると制御系が不安定となる。そのため、実際には、位置速度変換部５３からの速度信号をマイナーループとして加減算器５８のマイナス出力に加えて安定化を行っているが、以下では省略する。
【００６７】
また、ゲイン調整部５５では、位置制御ループのゲインを変えることで、アクチュエータ１におけるコンプライアンスの値を変化させることができる。
【００６８】
ここで、駆動電流Ｉａに着目すると、外乱トルクがない場合には電流値は零になるが、外乱トルクがある場合にはそれに比例して電流値も変化する。
一般的な外乱トルクとしては、作業時に可動部１２から受ける反力Ｆ、重力加速度αｇ及び移動加速度α１により発生する力、減速器のロストルク等が考えられる。ここで、アクチュエータ１はダイレクトドライブ形式のリニアアクチュエータであるため、減速器は持たず、ロストルクは考慮する必要は少ない。したがって、駆動電流Ｉａは、作業時に可動部１２から受ける反力Ｆ、重力加速度αｇ及び移動加速度α１により発生する力に比例した値となる。なお、反力Ｆは、可動部１２が物体５０に接触した際に発生する力である。
【００６９】
ここで、アクチュエータ１の駆動電流Ｉａ、作業時に可動部１２から受ける反力Ｆ、固定部１１の直動方向成分における移動加速度α１、固定部１１の直動方向成分における重力加速度αｇ、可動部１２の質量Ｍ１から、次式（２）の関係が成り立つ。
Ｆ＋（α１＋αｇ）・Ｍ１＝Ｋｔ・Ｉｒ＝Ｋｔ・（Ｉｒｐ＋Ｉｒｃ）
（２）
なお、Ｋｔはアクチュエータ１が発生する推力と駆動電流Ｉａとの比を表したトルク定数である。
【００７０】
また、式（２）において外乱トルクを補正するための加速度補償値Ｉｒｃを次式（３）のように設定する。
（α１＋αｇ）・Ｍ１＝Ｋｔ・Ｉｒｃ      （３）
【００７１】
式（３）のように加速度補償値Ｉｒｃを設定した場合、式（２）からα１，αｇ，Ｍ１の項が消え、次式（４）のように整理される。
Ｆ＝Ｋｔ・Ｉｒｐ                                        （４）
【００７２】
このように、外乱トルクを補正するための加速度補償値Ｉｒｃを式（３）のように設定すると、作業時に可動部１２から受ける反力Ｆと電流指令値Ｉｒｐは、比例関係になることがわかる。
【００７３】
これは、作業時に可動部１２から受ける反力Ｆが零、つまり可動部１２が物体５０と接触していない場合、基準位置Ｐｒと実際の位置の差分に基づく電流指令値Ｉｒｐも零、つまり位置が変位しないことを意味している。
そして、可動部１２が物体５０と接触した際に生じる反力Ｆは、電流指令値Ｉｒｐを監視することで知ることができる。
【００７４】
そして、式（４）には、固定部１１の直動方向成分における移動加速度α１、固定部１１の直動方向成分における重力加速度αｇ、可動部１２の質量Ｍ１の項目が含まれていない。
つまり、ロボットが急激に移動又は停止を行い移動加速度α１が発生した場合、及び、ロボットが連続して姿勢を変更し重力加速度αｇが変化した場合でも、アクチュエータ１の可動部１２はゆれることなく反力Ｆを正しく検出できる。
そして、コンプライアンスの値も自由に設定できる。
【００７５】
なお、上述したように、可動部１２が物体５０と急激に衝突する等して発生する反力Ｆは、電流指令値Ｉｒｐを監視することで知ることができる。また、アクチュエータ１には、反力Ｆと拮抗するように誘導電流が発生するため、駆動電流Ｉａから反力Ｆを検出することもできる。
しかしながら、位置制御ループにおいて、反力Ｆに対する電流指令値Ｉｒｐの応答は一般的に速くない。一方、反力Ｆに対する駆動電流Ｉａの応答は、可動部１２が移動することにより発生する誘導電流によるものであるため、比較的速い。そこで、電流指令値Ｉｒｐを直接監視するのではなく、駆動電流Ｉａを監視することで反力Ｆの検出を行う。
【００７６】
ここで、式（２）は以下の通りである。
Ｆ＋（α１＋αｇ）・Ｍ１＝Ｋｔ・Ｉｒ＝Ｋｔ・（Ｉｒｐ＋Ｉｒｃ）
（２）
【００７７】
一方、駆動電流Ｉａは次式（５）で表せる。
Ｉａ＝Ｉｒ＝Ｉｒｐ＋Ｉｒｃ                              （５）
【００７８】
よって、式（２），（５）から次式（６）が得られる。
Ｆ＋（α１＋αｇ）・Ｍ１＝Ｋｔ・Ｉａ      （６）
【００７９】
そして、式（６）の両辺から、式（３）の左辺である（（α１＋αｇ）・Ｍ１）を減算して整理すると、次式（７）が得られる。
Ｆ＝Ｋｔ・（Ｉａ−（α１＋αｇ）・Ｍ１／Ｋｔ）      （７）
【００８０】
この式（７）に示されるように、駆動電流Ｉａから加速度補償値（α１＋αｇ）・Ｍ１／Ｋｔを差し引いてトルク定数Ｋｔをかけることで、反力Ｆを求めることができる。
【００８１】
次に、外力検出制御部５による効果について説明する。
ロボットの動作は、一般的に、位置制御によりコントロールされる。そのため、物体５０の大きさの違い等により、予めプログラムされた物体５０の目標位置と実際の位置が異なる場合、可動部１２が物体５０と接触した際に大きな外力Ｆが発生し、物体５０に傷又は破損が発生する恐れがある。
【００８２】
その対策として、ロボットに力センサを設置し、可動部１２と物体５０との接触時に過大な外力Ｆが発生しそうになると力センサの検出結果をロボットにフィードバックし、過大な外力Ｆが発生しないようにする方法が考えられる。
【００８３】
しかしながら、過大な外力Ｆが発生したことを検出して停止指令を出してもロボットは急には止まれないため、停止指令が出た時点から急激に減速しても接触位置からずれた位置で停止してしまい、物体５０を押し潰してしまう。そして、位置の行き過ぎ量は移動速度に比例するため、可動部１２を物体５０に近付ける速度を遅くせざるを得ない。
【００８４】
上記の理由により、可動部１２が物体５０と接触する可能性のある領域では、ロボットの移動速度を十分落とす必要がある。しかしながら、サイクルタイムを短くするため、可動部１２を移動する速度は速くする必要がある。その結果、接触領域の近傍で速度を急激に落とすことになる。
【００８５】
一方、実施の形態１では、ロボット（移動部２）の先端にアクチュエータ１を取付け、また、外力検出制御部５は、アクチュエータ１が急激に移動又は停止されて移動加速度α１が発生した場合、及び、アクチュエータ１の姿勢が変更されて重力加速度αｇが変化した場合でも、可動部１２に加わる反力Ｆを正しく検出でき、また、コンプライアンス値を任意に変えられる。そのため、ロボットが急に止まれない点は同じだが、位置の行き過ぎにより物体５０を押し潰してしまうことはない。よって、可動部１２を物体５０に近づける速度を極端に遅くする必要がなく、また、安全に作業できる。
【００８６】
また、外力検出制御部５では、アクチュエータ１が急激に加減速された場合でも正しく外力Ｆを検出でき、接触時にのみ外力Ｆを検出するため、アクチュエータ１の減速時間を長くする必要はない。
【００８７】
また、外力検出制御部５では、アクチュエータ１の姿勢が変更されて重力加速度αｇが変化した場合でも外力Ｆを正しく検出できるため、重力による影響をリアルタイムに補償できる。
【００８８】
次に、作業制御部６、振幅計測部７及び硬度計測部８の動作例について、図５〜７を参照しながら説明する。以下では、移動部２により可動部１２が物体５０に対向する位置に移動されているものとする。
作業制御部６は、外力検出部５２により検出された外力Ｆ等に基づいて、アクチュエータ制御部５１及び移動部２を制御する。なお、作業制御部６は、基準位置Ｐｒ又はゲインの変更を行うことでアクチュエータ制御部５１を制御する。ここで、ゲイン調整部５５は位置偏差に基づいて電流指令値Ｉｒｐを出力しているが、上記ゲインの変更とは、上記位置偏差と電流指令値Ｉｒｐとの関係を示す関数の変更を意味している。また、上記関数の変更には、関数の傾きの変更も含まれる。
【００８９】
また、図６において、横軸は時間を示し、縦軸は可動部１２の位置を示している。また、図７Ａにおいて、横軸は時間を示し、縦軸は可動部１２の位置を示している。なお図７Ａに示す可動部１２の位置の時間変化では、可動部１２の移動成分は含まず、可動部１２の微小振動成分のみを示している。また、図７Ｂにおいて、横軸は時間を示し、縦軸は可動部１２の振幅の値を示している。図７Ｂに示す時間は、可動部１２の押し付け量に対応する。
【００９０】
硬度計測装置による硬度計測では、まず、図５に示すように、接触制御部６１は、可動部１２を、力Ｆ１の範囲内で微小振動させながら、物体５０に力Ｆ２で接触するまで移動させる（ステップＳＴ１）。なお、微小振動の振幅は、その振幅の分だけ可動部１２を物体５０に押し付けたとしても物体５０を傷付けず且つ物体５０の硬度を計測可能な振幅である。また、力Ｆ２は、可動部１２が物体５０に当接したことを認識可能な力であり、力Ｆ１よりも十分に弱い力である。また、接触制御部６１は、押引きモード又はばねモードにより上記の動作を実現しているため、物体５０に過大な負荷はかからない。
【００９１】
このように、接触制御部６１では、まず、可動部１２に対して物体５０に応じて適切なコンプライアンスを持たせた状態（柔らかい状態）とし、且つ、可動部１２に微小振動を与える。そして、接触制御部６１は、この微小振動を継続した状態で、可動部１２を物体５０に近づけて接触させる。これにより、可動部１２は、物体５０に接触した際に強い力を物体５０に与えることはなく、当該物体５０を傷付けることはない。
【００９２】
次いで、移動制御部６２は、可動部１２を、力Ｆ１の範囲内で微小振動させながら、当該可動部１２が接触している物体５０の方向へ規定量移動させる（ステップＳＴ２）。規定量は、例えば、可動部１２による微小振動の物体５０への接触前での振幅の範囲内である。
【００９３】
この接触制御部６１及び移動制御部６２の処理によって、位置検出部３では、例えば図６に示すような可動部１２の位置の時間変化を示す波形が得られる。なお図６において、符号６０１は可動部１２が物体５０に接触した時点を示し、符号６０２は可動部１２の移動成分を示している。また、図６において、符号６０３は可動部１２が物体５０に接触していない場合を示し、符号６０４は可動部１２が物体５０に接触した場合を示している。
【００９４】
次いで、振幅計測部７は、位置検出部３により検出された位置に基づいて可動部１２の微小振動における振幅を計測する（ステップＳＴ３）。例えば図７Ａに示すように、可動部１２は柔らかい状態となっているため、可動部１２が物体５０に接触すると、可動部１２の微小振動における振幅（図７Ａに示す符号７０２）は、物体５０に接触していない場合の振幅（図７Ａに示す符号７０１）に対して小さくなる。
【００９５】
次いで、硬度計測部８は、振幅計測部７により検出された振幅の変化量に基づいて可動部１２が接触した物体５０の硬度を計測する（ステップＳＴ４）。例えば図７Ｂに示すように、振幅計測部７により計測される振幅の変化量は、物体５０の硬度に応じて変化する。なお、振幅の変化量は可動部１２を物体５０に接触させる際の速度にも依存するため、接触制御部６１及び移動制御部６２は可動部１２の移動速度を一定とすることが望ましい。
【００９６】
そして、硬度計測部８は、図７Ｂに示す符号７０３のように振幅の変化量が大きい場合には、物体５０は硬いと判定する。また、硬度計測部８は、図７Ｂに示す符号７０４のように振幅の変化量が小さい場合には、物体５０は柔らかいと判定する。また、硬度計測部８は、図７Ｂに示す符号７０５のように振幅の変化量が非常に小さい場合には、物体５０は非常に柔らかいと判定する。なお、実施の形態１に係る硬度計測装置では、可動部１２は柔らかい状態となっているため、可動部１２の物体５０への接触による振幅の変化量がより大きく現れ、物体５０が柔らかい場合でも硬度が計測可能となる。例えば、物体５０がトマト又はミカン等のような農産物である場合、硬度計測部８は、当該農産物が硬い場合には未熟であると判定でき、当該農産物が柔らかい場合には完熟であると判定でき、当該農産物が非常に柔らかい場合には腐敗していると判定できる。なお、図７Ｂに示す符号７０６は可動部１２が物体５０に接触した時点を示し、符号７０７は計測終了時点を示している。
【００９７】
また、離脱制御部６３は、可動部１２を当該可動部１２が接触している物体５０から離すように移動させる（ステップＳＴ５）。このように、離脱制御部６３は、硬度計測が完了した後、速やかに可動部１２を物体５０から離すことにより、可動部１２が物体５０に接触することで物体５０に与える影響を最小限に留めることができる。
【００９８】
また上記では、移動部２がロボットである場合を示した。しかしながら、これに限らず、移動部２として、直動機構又は回転機構を用いてもよい。
【００９９】
なお図１に示す硬度計測装置は、可動部１２が１軸で押し付けるだけの動作を行う。一方、硬度計測装置を２台有する硬度計測システムを構成し、この２台の硬度計測装置が有する可動部１２によって物体５０の把持と同時に硬度計測を行ってもよい。この際、２台の硬度計測装置のうち、一方の可動部１２のみを微小振動させて硬度計測を行ってもよいが、両方の可動部１２を微小振動させて硬度計測を行う方がより望ましい。この硬度計測システムは、物体５０の把持と同時に硬度計測を行うことで、物体５０の硬度に応じた適切な把持力に制御可能となり、物体５０を傷付けない把持が可能となる。
【０１００】
以上のように、この実施の形態１によれば、硬度計測装置は、固定部１１及び可動部１２を有するアクチュエータ１と、固定部１１に対する可動部１２の位置を検出する位置検出部３と、固定部１１の加速度を検出する加速度検出部４と、位置検出部３により検出された位置と基準位置Ｐｒとの差分に対してゲインを調整し、当該調整結果である電流指令値Ｉｒｐ及び加速度検出部４により検出された加速度に基づいてアクチュエータ１に対する駆動電流Ｉａを出力するアクチュエータ制御部５１と、アクチュエータ制御部５１において得られた電流指令値Ｉｒｐ、又は、加速度検出部４により検出された加速度及びアクチュエータ制御部５１により出力された駆動電流Ｉａの電流値に基づいて、可動部１２に加わる外力Ｆを検出する外力検出部５２と、外力検出部５２により検出された外力Ｆに基づいてアクチュエータ制御部５１を制御することで、可動部１２を微小振動させながら移動させる作業制御部６と、位置検出部３により検出された位置に基づいて可動部１２の微小振動における振幅を計測する振幅計測部７と、振幅計測部７により計測された振幅の変化量に基づいて可動部１２が接触した物体５０の硬度を計測する硬度計測部８とを備えた。これにより、実施の形態１に係る硬度計測装置は、計測対象である物体５０が柔らかい場合でも、当該物体５０を傷付けることなく硬度を計測可能である。また、実施の形態１に係る硬度計測装置では、物体５０が農産物である場合に、その農産物の熟度及び腐敗の有無等も判定可能である。
【０１０１】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【０１０２】
１  アクチュエータ
２  移動部
３  位置検出部
４  加速度検出部
５  外力検出制御部
６  作業制御部
７  振幅計測部
８  硬度計測部
１１  固定部
１２  可動部
５０  物体
５１  アクチュエータ制御部
５２  外力検出部
５３  位置速度変換部
５４  減算器
５５  ゲイン調整部
５６  質量設定部
５７  加速度補償部
５８  加減算器
５９  定電流制御部
６１  接触制御部
６２  移動制御部
６３  離脱制御部
５２１  係数乗算部
５２２  減算器
５２３  係数乗算部
５５１  ループゲイン測定部
５５２  ゲイン交点制御部
５５３  可変ゲイン調整部
５５４  発振器
５５５  加算器
５５６  比較器
５７１  乗算器
５７２  係数乗算部
５９１  減算器
５９２  駆動ドライバ
５９３  電流検出部
【図１】
2019188518.tif 000003
【図２】
2019188518.tif 000004
【図３】
2019188518.tif 000005
【図４】
2019188518.tif 000006
【図５】
2019188518.tif 000007
【図６】
2019188518.tif 000008
【図７】
2019188518.tif 000009