(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023005332
(43)【公開日】2023-01-18
(54)【発明の名称】加工システム、加工ロボット制御装置及び加工方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20230111BHJP
【FI】
B25J13/08 Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021107162
(22)【出願日】2021-06-29
(71)【出願人】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】清水 康司
(72)【発明者】
【氏名】田原 鉄也
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS12
3C707BS10
3C707KS33
3C707KS35
3C707KW03
3C707KX06
3C707LU08
(57)【要約】
【課題】加工ツールの回転数を検出するセンサを別途用いることなく、加工ツールを用いたロボットによる加工品質及び信頼性を改善可能とする。
【解決手段】加工ツール1と、加工ツール1を加工対象に押付け可能なロボットアーム201と、加工ツール1の回転運動により生じる振動を含むロボットアーム201にかかる外力を検知可能な力覚センサ202と、力覚センサ202により検知された外力を示すデータを取得する外力データ取得部301と、外力データ取得部301により取得されたデータに基づいて、押付け力を算出する押付け力演算部302と、外力データ取得部301により取得されたデータに基づいて、加工ツール1の回転数を算出するツール回転数演算部303と、回転数に基づいて、押付け力の指令値を算出する押付け力指令値演算部304と、押付け力演算部302により算出された押付け力及び押付け力指令値演算部304により算出された押付け力の指令値に基づいて、押付け力の制御を行う力制御部305とを備えた。
【選択図】
図1
【特許請求の範囲】
【請求項1】
回転運動により加工対象に対して加工作業を行う加工ツールと、
前記加工ツールを加工対象に押付け可能なロボットアームと、
前記加工ツールの回転運動により生じる振動を含む前記ロボットアームにかかる外力を検知可能な力覚センサと、
前記力覚センサにより検知された外力を示すデータを取得する外力データ取得部と、
前記外力データ取得部により取得されたデータに基づいて、前記ロボットアームによる押付け力を算出する押付け力演算部と、
前記外力データ取得部により取得されたデータに基づいて、前記加工ツールの回転数を算出するツール回転数演算部と、
前記ツール回転数演算部により算出された回転数に基づいて、前記ロボットアームに対する押付け力の指令値を算出する押付け力指令値演算部と、
前記押付け力演算部により算出された押付け力及び前記押付け力指令値演算部により算出された押付け力の指令値に基づいて、前記ロボットアームに対する押付け力の制御を行う力制御部と
を備えた加工システム。
【請求項2】
前記ツール回転数演算部は、高速フーリエ変換又はスペクトル解析を行うことで、前記加工ツールの回転数を算出する
ことを特徴とする請求項1記載の加工システム。
【請求項3】
前記ツール回転数演算部は、
前記外力データ取得部により取得されたデータに対し、周波数帯域の制限を行う帯域制限部と、
前記帯域制限部による制限後のデータに基づいて、上下動に関するデータを計数することで、前記加工ツールの回転数を算出する上下動計数部とを有する
ことを特徴とする請求項1記載の加工システム。
【請求項4】
前記上下動計数部は、前記帯域制限部による制限後のデータが示す外力がゼロ値を横切る回数を計数することで、前記加工ツールの回転数を算出する
ことを特徴とする請求項3記載の加工システム。
【請求項5】
前記上下動計数部は、前記帯域制限部による制限後のデータが示す外力がゼロ値を横切る時間間隔を計数することで、前記加工ツールの回転数を算出する
ことを特徴とする請求項3記載の加工システム。
【請求項6】
回転運動により加工対象に対して加工作業を行う加工ツールを加工対象に押付け可能なロボットアームにかかる外力であって、当該加工ツールの回転運動により生じる振動を含む外力を検知可能な力覚センサにより検知された外力を示すデータを取得する外力データ取得部と、
前記外力データ取得部により取得されたデータに基づいて、前記ロボットアームによる押付け力を算出する押付け力演算部と、
前記外力データ取得部により取得されたデータに基づいて、前記加工ツールの回転数を算出するツール回転数演算部と、
前記ツール回転数演算部により算出された回転数に基づいて、前記ロボットアームに対する押付け力の指令値を算出する押付け力指令値演算部と、
前記押付け力演算部により算出された押付け力及び前記押付け力指令値演算部により算出された押付け力の指令値に基づいて、前記ロボットアームに対する押付け力の制御を行う力制御部と
を備えた加工ロボット制御装置。
【請求項7】
回転運動により加工対象に対して加工作業を行う加工ツールと、前記加工ツールを加工対象に押付け可能なロボットアームと、前記加工ツールの回転運動により生じる振動を含む前記ロボットアームにかかる外力を検知可能な力覚センサとを備えた加工システムによる加工方法であって、
外力データ取得部が、前記力覚センサにより検知された外力を示すデータを取得するステップと、
押付け力演算部が、前記外力データ取得部により取得されたデータに基づいて、前記ロボットアームによる押付け力を算出するステップと、
ツール回転数演算部が、前記外力データ取得部により取得されたデータに基づいて、前記加工ツールの回転数を算出するステップと、
押付け力指令値演算部が、前記ツール回転数演算部により算出された回転数に基づいて、前記ロボットアームに対する押付け力の指令値を算出するステップと、
力制御部が、前記押付け力演算部により算出された押付け力及び前記押付け力指令値演算部により算出された押付け力の指令値に基づいて、前記ロボットアームに対する押付け力の制御を行うステップと
を有する加工方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、加工ツールが取付けられたロボットアームを制御する加工システム、加工ロボット制御装置及び加工方法に関する。
【背景技術】
【0002】
従来、ロボットに加工作業を実施させる場合、ロボットが有するロボットアームの手先に空圧式の加工ツールを取付けることで、加工作業が行われてきた。
一方、この空圧式の加工ツールでは、特性として、過負荷によって加工ツールの回転数が落ちるという点がある。これにより、加工ツールを用いたロボットでは、加工作業が未遂又は不完全で終わることが起きる、並びに、加工品質面及び信頼性において充分ではない、という課題があった。
【0003】
これに対し、光電センサを用いて加工ツールの回転数を検出し、その回転数に応じてワークへの押付け力を調整及び制御する加工システムが提案されている(例えば特許文献1参照)。この加工システムによって、加工ツールを用いたロボットによる加工品質及び信頼性を改善可能となる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示されているような加工システムの場合、加工ツールの回転数を検出するセンサと、その回転数に応じて調整した押付け力を制御するためのセンサの両方がそれぞれ必要となる。よって、この加工システムでは、上記の両方のセンサの分だけコストがかかる。
【0006】
また、特許文献1に開示されているような加工システムの場合、上記の両方のセンサによる検出結果をロボット側にフィードバックする必要がある。そのため、この加工システムでは、配線が多くなり、システム全体が複雑になる。また、この加工システムでは、ソフトウェアとして、両方のセンサの出力結果を取得するためのインターフェイスの実装が必要となる。
【0007】
なお、上記の両方のセンサのうち、ロボットアームによる押付け力を制御するためのセンサについては、力制御が可能なロボットであれば標準で装備及び対応している場合もある。しかしながら、加工ツールの回転数を検出するセンサについては、ロボットの通常の制御には関係無いので、ユーザが自ら配線等を行う必要がある。
【0008】
この発明は、上記のような課題を解決するためになされたもので、加工ツールの回転数を検出するセンサを別途用いることなく、加工ツールを用いたロボットによる加工品質及び信頼性を改善可能な加工システムを提供することを目的としている。
【課題を解決するための手段】
【0009】
この発明に係る加工システムは、回転運動により加工対象に対して加工作業を行う加工ツールと、加工ツールを加工対象に押付け可能なロボットアームと、加工ツールの回転運動により生じる振動を含むロボットアームにかかる外力を検知可能な力覚センサと、力覚センサにより検知された外力を示すデータを取得する外力データ取得部と、外力データ取得部により取得されたデータに基づいて、ロボットアームによる押付け力を算出する押付け力演算部と、外力データ取得部により取得されたデータに基づいて、加工ツールの回転数を算出するツール回転数演算部と、ツール回転数演算部により算出された回転数に基づいて、ロボットアームに対する押付け力の指令値を算出する押付け力指令値演算部と、押付け力演算部により算出された押付け力及び押付け力指令値演算部により算出された押付け力の指令値に基づいて、ロボットアームに対する押付け力の制御を行う力制御部とを備えたことを特徴とする。
【発明の効果】
【0010】
この発明によれば、上記のように構成したので、加工ツールの回転数を検出するセンサを別途用いることなく、加工ツールを用いたロボットによる加工品質及び信頼性を改善可能となる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態1に係る加工システムの構成例を示す図である。
【
図2】実施の形態1に係る加工システムの構成例を示す図である。
【
図3】実施の形態1に係る加工システムの別の構成例を示す図である。
【
図4】実施の形態1に係る加工ロボット制御装置の動作例を示すフローチャートである。
【
図5】実施の形態1における外力データ取得部による受信結果の一例を示す図である。
【
図6】実施の形態1におけるツール回転数演算部によるスペクトル解析結果の一例を示す図である。
【
図7】実施の形態2におけるツール回転数演算部の構成例を示す図である。
【発明を実施するための形態】
【0012】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1~3は実施の形態1に係る加工システムの構成例を示す図である。
加工システムは、
図1~3に示すように、加工ツール1、ロボット2及び加工ロボット制御装置(コントローラ)3を備えている。
【0013】
加工ツール1は、ロボット2が有するロボットアーム201における先端(手先部分)に装着され、回転運動により加工対象に対して加工作業を行う。加工ツール1が行う加工作業としては、加工ツール1の先端に取付けられた刃又は砥石を回転させて行う加工作業等が挙げられる。
【0014】
ロボット2は、
図1~3に示すように、ロボットアーム201及び力覚センサ202を備えている。
【0015】
ロボットアーム201は、先端に装着された加工ツール1を、加工対象に押付け可能に構成されている。
【0016】
力覚センサ202は、加工ツール1の回転運動により生じる振動(微小振動)を含むロボットアーム201にかかる外力を検知可能なセンサである。この力覚センサ202が検知する外力としては、力又はトルクが挙げられる。
そして、力覚センサ202は、外力を示すデータを加工ロボット制御装置3に送信する。この際、力覚センサ202は、生データ(検知した外力そのものを示すデータ)を送信してもよいし、検知した外力を力覚センサ202内で力又はトルクに変換した上でその変換後の外力を示すデータを送信してもよい。
【0017】
力覚センサ202の具体例について、
図2に示す。
図2では、力覚センサ202として、ロボットアーム201における先端に取付けられた手先力センサ202aが用いられた場合を示している。この手先力センサ202aは、ロボットアーム201における先端にかかる力を検知可能である。
【0018】
力覚センサ202の別の具体例について、
図3に示す。
図3では、力覚センサ202として、ロボットアーム201の関節毎に取付けられたトルクセンサ202bが用いられた場合を示している。この各トルクセンサ202bは、ロボットアーム201の各関節にかかるトルクを検知可能である。
【0019】
なお、力覚センサ202としては、ロボットアーム201による押付け力を制御するのに必要な力が検知可能である必要がある。
ここで、力覚センサ202が手先力センサ202aである場合には、手先力センサ202aは、押付け方向の並進力が検知可能である必要がある。
また、力覚センサ202が複数のトルクセンサ202bである場合、各トルクセンサ202bは、ロボットアーム201の全ての関節に取付けられていることが望ましいが、押付け力の制御が可能な範囲であればセンサ数が減らされていてもよい。
【0020】
また、力覚センサ202としては、加工ツール1の回転運動により生じる振動が検知可能である必要がある。
加工ツール1の回転運動により生じる振動の振幅は小さいため、力覚センサ202は、この振幅を検知できるだけの分解能が必要である。
また、力覚センサ202は、加工ツール1の回転運動により生じる振動の周波数を捉えられるだけの帯域が必要である。ここで、回転数をr[rpm]とすると、対応する周波数はr/60[Hz]になるため、力覚センサ202は、この周波数よりも広い帯域が必要となる。
なお、力覚センサ202が複数のトルクセンサ202bである場合、各トルクセンサ202bは、ロボットアーム201の全ての関節において上記の性能を満たす必要はなく、例えば加工ツール1に最も近い関節のみが上記性能を満たすのでもよい。
【0021】
加工ロボット制御装置3は、力覚センサ202により送信されたデータに基づいて、ロボットアーム201に対する押付け力の制御を行う。この加工ロボット制御装置3は、
図1に示すように、外力データ取得部301、押付け力演算部302、ツール回転数演算部303、押付け力指令値演算部304及び力制御部305を備えている。
【0022】
なお、加工ロボット制御装置3は、システムLSI(Large Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。
【0023】
また
図1~3では、加工ロボット制御装置3が有する構成は、全て、ロボット2の制御を行うコントローラ内に設けられた場合を示している。
【0024】
外力データ取得部301は、力覚センサ202により送信された外力を示すデータを受信することで、当該データを取得する。そして、外力データ取得部301は、取得した外力を示すデータを、押付け力演算部302及びツール回転数演算部303に送信する。
【0025】
押付け力演算部302は、外力データ取得部301により取得されたデータに基づいて、ロボットアーム201による押付け力を算出する。この際、まず、押付け力演算部302は、外力データ取得部301により取得されたデータに基づいて、ロボットアーム201の手先力を算出する。そして、押付け力演算部302は、算出した手先力から重力に起因する成分を差引くことで、外力に起因する押付け力を推定する。
そして、押付け力演算部302は、ロボットアーム201による押付け力を示すデータを、力制御部305に送信する。
【0026】
なお、力覚センサ202が複数のトルクセンサ202bである場合、押付け力演算部302は、外力に起因するトルクを推定し、当該トルクからロボットアーム201による押付け力を算出する。
【0027】
なお、力覚センサ202が加工ツール1の回転運動により生じる振動を検知可能な場合、押付け力演算部302により推定された手先力には、当該振動による成分が含まれる。そのため、上記振動による成分が押付け力制御にとって外乱となる場合には、押付け力演算部302は、当該振動による成分をローパスフィルタ等で取除いてから、力制御部305へのデータ送信を行うようにしてもよい。
【0028】
ツール回転数演算部303は、外力データ取得部301により送信されたデータに基づいて、加工ツール1の回転数を算出する。この際、例えば、ツール回転数演算部303は、高速フーリエ変換又はスペクトル解析を行うことで、加工ツール1の回転数を算出することができる。
そして、ツール回転数演算部303は、加工ツール1の回転数を示すデータを、押付け力指令値演算部304に送信する。
【0029】
なお
図1では、ツール回転数演算部303が、外力データ取得部301により取得された外力を示すデータを用いて、加工ツール1の回転数を算出する場合を示している。しかしながら、これに限らず、ツール回転数演算部303は、押付け力演算部302により算出された押付け力を示すデータを用いて、加工ツール1の回転数を算出してもよい。
但し、押付け力演算部302により算出された押付け力では、ローパスフィルタ等により加工ツール1の回転運動により生じる振動が除去されている場合がある。この場合、押付け力演算部302により算出された押付け力を示すデータでは、ツール回転数演算部303で加工ツール1の回転数を算出できない。そのため、ツール回転数演算部303が用いる押付け力を示すデータは、上記振動が除去されていないデータである必要がある。
【0030】
押付け力指令値演算部304は、ツール回転数演算部303により算出された回転数に基づいて、ロボットアーム201に対する押付け力の指令値を算出する。この際、例えば、押付け力指令値演算部304は、加工作業を行っている最中に加工ツール1の回転数が所定のしきい値以下になった場合には、加工ツール1側に過負荷がかかっていると判断し、押付け力の指令値を小さくする。これにより、加工ツール1の回転数が低下して加工品質又は信頼性が低下するのを抑制可能となる。なお、押付け力指令値演算部304は、加工ツール1の回転数に応じた押付け力の指令値を算出するための関数を用いてもよい。
そして、押付け力指令値演算部304は、押付け力指令値を示すデータを、力制御部305に送信する。
【0031】
力制御部305は、押付け力演算部302により算出された押付け力及び押付け力指令値演算部304により算出された押付け力の指令値に基づいて、ロボットアーム201に対する押付け力の制御を行う。この際、例えば、力制御部305は、現在の押付け力が押付け力の指令値と一致するような指令値を算出することで、ロボットアーム201に対する押付け力の制御を行う。なお、力制御部305が算出する指令値は、位置、速度又は電流等、ロボットアーム201を駆動させるための指令値であればよい。
そして、力制御部305は、指令値を示すデータを、ロボット2に送信する。その後、ロボット2は、力制御部305により算出された指令値に応じて、ロボットアーム201を駆動させる。
【0032】
次に、
図1~3に示す実施の形態1に係る加工ロボット制御装置3の動作例について、
図4を参照しながら説明する。なお、力覚センサ202は、ロボットアーム201にかかる外力を検知し、当該外力を示すデータを加工ロボット制御装置3に送信している。
【0033】
図1~3に示す実施の形態1に係る加工ロボット制御装置3の動作例では、
図4に示すように、まず、外力データ取得部301は、力覚センサ202により送信された外力を示すデータを受信することで、当該データを取得する(ステップST401)。
そして、外力データ取得部301は、取得した外力を示すデータを、押付け力演算部302及びツール回転数演算部303に送信する。
【0034】
次いで、押付け力演算部302は、外力データ取得部301により取得されたデータに基づいて、ロボットアーム201による押付け力を算出する(ステップST402)。
【0035】
また、ツール回転数演算部303は、外力データ取得部301により送信されたデータに基づいて、加工ツール1の回転数を算出する(ステップST403)。この際、例えば、ツール回転数演算部303は、高速フーリエ変換又はスペクトル解析を行うことで、加工ツール1の回転数を算出することができる。
以下、ツール回転数演算部303による高速フーリエ変換又はスペクトル解析を用いた加工ツール1の回転数の算出方法について説明する。
【0036】
例えば、ツール回転数演算部303は、加工ツール1により加工作業が行われている最中に、
図5に示すようなデータが外力データ取得部301から得られたとする。この場合、まず、ツール回転数演算部303は、上記データのうち、所定時間前から現在までのデータを取出す。この際、データ長、すなわち過去のどこまでのデータを取出すかを考える必要がある。ツール回転数演算部303ではデータ取出し後に高速フーリエ変換又はスペクトル解析を行うが、ある程度の長さのデータが無いと、周波数分解能が低くなり、求める回転数の分解能も低くなる。一方、データ長が長くなると、回転数が変わった際に検知するまでの時間が長くなる。よって、この2つのバランスを取って適切なデータ長を決める必要がある。
【0037】
そして、ツール回転数演算部303は、取出したデータに対して高速フーリエ変換又はスペクトル解析を行い、データの周波数毎のパワー又は振幅を求める。例えば、ツール回転数演算部303は、取出したデータに対してスペクトル解析を実施すると、
図6に示すような結果を得ることができる。
図6において、横軸は周波数を示し、縦軸は周波数毎のパワー(パワースペクトル)を示している。
【0038】
そして、ツール回転数演算部303は、高速フーリエ変換又はスペクトル解析の結果から、パワー又は振幅が最も大きい周波数を、加工ツール1の回転に対応する周波数であると推定し、その周波数から加工ツール1の回転数を算出する。例えば
図6では、パワーが最も大きい周波数が20Hzであるため、ツール回転数演算部303は、20×60=1200rpmが加工ツール1の回転数であると推定する。この際、ツール回転数演算部303は、加工ツール1の回転と関係無い周波数にあるパワー又は振幅のピーク(この例で言えば20Hzから離れた周波数にあるピーク)については無視する方がよい。
なお、この演算では、高速フーリエ変換又はスペクトル解析により得られた周波数毎のパワー又は振幅の値そのものではなく、パワー又は振幅が最も大きくなる周波数を求めることで回転数を推定している点に注意を要する。
【0039】
そして、ツール回転数演算部303は、加工ツール1の回転数を示すデータを、押付け力指令値演算部304に送信する。
【0040】
次いで、押付け力指令値演算部304は、ツール回転数演算部303により算出された回転数に基づいて、ロボットアーム201に対する押付け力の指令値を算出する(ステップST404)。
そして、押付け力指令値演算部304は、押付け力指令値を示すデータを、力制御部305に送信する。
【0041】
次いで、力制御部305は、押付け力演算部302により算出された押付け力及び押付け力指令値演算部304により算出された押付け力の指令値に基づいて、ロボットアーム201に対する押付け力の制御を行う(ステップST405)。
そして、力制御部305は、指令値を示すデータを、ロボット2に送信する。その後、ロボット2は、力制御部305により算出された指令値に応じて、ロボットアーム201を駆動させる。
【0042】
次に、
図1~3に示す実施の形態1に係る加工ロボット制御装置3による効果について説明する。
ここで、押付け力制御用センサ(力覚センサ202)が搭載されたロボット2の手先に加工ツール1を取付けて加工作業を行う場合、加工ツール1の回転運動による力は、押付け力制御用センサにも伝わる。そのため、押付け力制御用センサの性能が高ければ、加工ツール1の回転運動による力は検知可能である。加工ツール1の回転運動による力は、通常、回転数に対応した周波数の振動成分を持つため、押付け力制御用センサの計測値を分析することにより、加工ツール1の回転数を抽出することができる。
【0043】
そこで、実施の形態1に係る加工ロボット制御装置3では、加工ツール1の回転運動により生じる振動が押付け力制御用センサ(力覚センサ202)にも伝わることと、押付け力制御用センサの性能が高ければ加工ツール1の回転数に対応する周波数の振動成分を検知できることを利用することで、加工ツール1に回転数を検知するセンサが無くても加工ツール1の回転数を検知可能としている。
【0044】
これにより、実施の形態1に係る加工ロボット制御装置3は、押付け力制御用センサからのデータだけで、加工ツール1の回転数に基づいて押付け力を調整することができ、加工品質及び信頼性が高い加工作業を、低コスト化且つ簡易に実現可能となる。また、力制御機能を持つロボット2であれば、何らかの力覚センサ202を標準で装備しているため、上記の効果を追加のセンサ無しで実現可能となる。
【0045】
なお
図1では、ロボット2のコントローラ内に、外力データ取得部301、押付け力演算部302及びツール回転数演算部303が設けられた場合を示した。しかしながら、これに限らず、例えば、力覚センサ202と同じ場所に、外力データ取得部301、押付け力演算部302及びツール回転数演算部303が設けられていてもよい。
【0046】
以上のように、この実施の形態1によれば、加工システムは、回転運動により加工対象に対して加工作業を行う加工ツール1と、加工ツール1を加工対象に押付け可能なロボットアーム201と、加工ツール1の回転運動により生じる振動を含むロボットアーム201にかかる外力を検知可能な力覚センサ202と、力覚センサ202により検知された外力を示すデータを取得する外力データ取得部301と、外力データ取得部301により取得されたデータに基づいて、ロボットアーム201による押付け力を算出する押付け力演算部302と、外力データ取得部301により取得されたデータに基づいて、加工ツール1の回転数を算出するツール回転数演算部303と、ツール回転数演算部303により算出された回転数に基づいて、ロボットアーム201に対する押付け力の指令値を算出する押付け力指令値演算部304と、押付け力演算部302により算出された押付け力及び押付け力指令値演算部304により算出された押付け力の指令値に基づいて、ロボットアーム201に対する押付け力の制御を行う力制御部305とを備えた。これにより、実施の形態1に係る加工システムは、加工ツール1の回転数を検出するセンサを別途用いることなく、加工ツール1を用いたロボット2による加工品質及び信頼性を改善可能となる。
【0047】
実施の形態2.
実施の形態1では、ツール回転数演算部303が高速フーリエ変換又はスペクトル解析を用いて加工ツール1の回転数を算出する場合を示した。しかしながら、ツール回転数演算部303による算出方法はこれに限らず、別の算出方法を用いてもよい。実施の形態2では、ツール回転数演算部303が、加工ツール1の回転数に対応する周波数を、加工ツール1の回転運動により生じる振動の上下動回数から算出する場合について説明する。
【0048】
なお、実施の形態2に係る加工ロボット制御装置3の構成例は、ツール回転数演算部303の構成が異なる点以外は、
図1に示す実施の形態1に係る加工ロボット制御装置3の構成例と同様であるため、ツール回転数演算部303の詳細についてのみ説明を行う。
【0049】
図7は、実施の形態2におけるツール回転数演算部303の構成例を示す図である。
実施の形態2におけるツール回転数演算部303は、
図7に示すように、帯域制限部3031及び上下動計数部3032を有している。
【0050】
帯域制限部3031は、外力データ取得部301により取得されたデータをバンドパスフィルタに通すことで、当該データに対する周波数帯域の制限を行う。このバンドパスフィルタは、加工ツール1の回転数に対応した周波数の周りだけを通過させるように設計される。例えば、加工ツール1の所定回転数が1200rpmである場合、それに対応する20Hzの周りだけ、すなわち例えば20±10%Hz又は20±20%Hzの成分だけを通過させるようにする。これにより、帯域制限部3031は、加工ツール1の回転数に対応する周波数成分だけを抽出する。また、帯域制限部3031は、通過させる周波数に幅を持たせることで、加工ツール1の回転数が多少変わっても、後段の上下動計数部3032で検知できるようにする。
そして、帯域制限部3031は、周波数帯域の制限後のデータを、上下動計数部3032に送信する。
【0051】
上下動計数部3032は、帯域制限部3031による周波数帯域の制限後のデータ(時系列データ)に基づいて、上下動に関するデータを計数することで、その回数から加工ツール1の回転数を算出する。
【0052】
ここで、帯域制限部3031により送信されたデータは直流成分が除去されている。そのため、上下動計数部3032は、上記データが示す外力がゼロ値を横切る回数を計数することで、加工ツール1の回転数を算出できる。例えば1秒間に40回ゼロ値を横切る場合には、周波数は20Hzであり、1200rpmに相当すると推定できる(正弦波は1周期で2回ゼロ値を横切る)。なお、このようにして求められる周波数にバラつきがある場合、上下動計数部3032は、移動平均処理等を行うことで、そのバラつきを抑えてもよい。
【0053】
又は、上下動計数部3032は、上記データが示す外力がゼロ値を横切る時間間隔を計数することで、加工ツール1の回転数を算出することもできる。例えば、25ミリ秒毎にゼロ値を横切る場合には、時間間隔の逆数である40Hzが回転数に対応する周波数の2倍であり、回転数は1200rpmと推定できる。
【0054】
実施の形態2におけるツール回転数演算部303では、実施の形態1におけるツール回転数演算部303での高速フーリエ変換又はスペクトル解析といった複雑な演算が不要であり、上下動を計数することで回転数を算出しているため、計算コストが小さく、リアルタイム処理に向くという利点がある。
【0055】
上記の他、ツール回転数演算部303は、例えば特許文献2に記載された方法により、加工ツール1の回転運動により生じる振動の上下動回数に対応する周波数を推定することも可能である。
【特許文献2】特開2010-127893号公報
【0056】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0057】
1 加工ツール
2 ロボット
3 加工ロボット制御装置
201 ロボットアーム
202 力覚センサ
202a 手先力センサ
202b トルクセンサ
301 外力データ取得部
302 押付け力演算部
303 ツール回転数演算部
304 押付け力指令値演算部
305 力制御部
3031 帯域制限部
3032 上下動計数部