IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 学校法人慶應義塾の特許一覧

特開2023-183831ロボット研磨制御方法、システム、およびプログラム
<>
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図1
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図2
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図3
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図4
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図5
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図6
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図7
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図8
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図9
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図10
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図11
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図12
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図13
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図14
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図15
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図16
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図17
  • 特開-ロボット研磨制御方法、システム、およびプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023183831
(43)【公開日】2023-12-28
(54)【発明の名称】ロボット研磨制御方法、システム、およびプログラム
(51)【国際特許分類】
   B24B 27/00 20060101AFI20231221BHJP
   B25J 13/08 20060101ALI20231221BHJP
【FI】
B24B27/00 A
B25J13/08 Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022097593
(22)【出願日】2022-06-16
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り (1)2021年6月24日、ウェブサイトのアドレス:https://event.asme.org/MSEC-2021,https://namrc.sme.org/wp-content/uploads/2022/04/NAMRC-49-MSEC-2021-Conference-Program-e-Book.pdf,https://asmedigitalcollection.asme.org/MSEC/proceedings-abstract/MSEC2021/85062/V001T05A012/1115411 (2)2021年6月24日、ウェブサイトのアドレス:https://event.asme.org/MSEC-2021,https://namrc.sme.org/wp-content/uploads/2022/04/NAMRC-49-MSEC-2021-Conference-Program-e-Book.pdf,https://asmedigitalcollection.asme.org/MSEC/proceedings-abstract/MSEC2021/85062/V001T05A013/1115409 (3)2022年5月14日、ウェブサイトのアドレス:https://www.sciencedirect.com/science/article/abs/pii/S0007850622001214
(71)【出願人】
【識別番号】598121341
【氏名又は名称】慶應義塾
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】柿沼 康弘
(72)【発明者】
【氏名】小川 翔太郎
(72)【発明者】
【氏名】古藤 捷希
【テーマコード(参考)】
3C158
3C707
【Fターム(参考)】
3C158AC02
3C158BA09
3C158BB02
3C158BC02
3C158CB01
3C158DA01
3C707AS12
3C707BS10
3C707BT05
3C707JS02
3C707KS17
3C707KS20
3C707KS25
3C707LV04
3C707LV05
(57)【要約】
【課題】ロボット研磨技術に関して、研磨の形状精度や表面品位を高めることができる技術を提供する。
【解決手段】ロボット研磨制御方法は、ロボット1に接続された研磨装置2を制御する制御装置(研磨装置コントローラ10)によって実行される方法である。この方法は、制御装置が、ロボット1の位置、姿勢および送り速度に関する情報を受信し、受信した情報に基づいて、研磨装置2の回転工具4の先端の位置、姿勢、および送り速度を計算するステップと、計算した回転工具4の先端の位置、姿勢、および送り速度に基づいて、研磨装置2による研磨力f、回転数n、および送り速度vを連動して制御するための計算を行い、計算した研磨力f、回転数n、および送り速度vに基づいて、研磨装置2に指令を出力するステップと、を有する。
【選択図】図4
【特許請求の範囲】
【請求項1】
ロボットに接続された研磨装置を制御する制御装置によって実行されるロボット研磨制御方法であって、
前記研磨装置は、回転数が制御され、先端によって対象物を研磨する装置であり、
前記制御装置が、前記ロボットの位置、姿勢および送り速度に関する情報を受信するステップと、
前記制御装置が、受信した前記ロボットの位置、姿勢および送り速度に関する情報に基づいて、前記研磨装置の先端の位置、姿勢、および送り速度を計算するステップと、
前記制御装置が、計算した前記研磨装置の先端の位置、姿勢、および送り速度に基づいて、前記研磨装置による研磨力、回転数、および送り速度を連動して制御するための計算を行い、計算した研磨力、回転数、および送り速度に基づいて、前記研磨装置に指令を出力するステップと、
を有する、ロボット研磨制御方法。
【請求項2】
ロボットに接続された研磨装置を制御する制御装置によって実行されるロボット研磨制御方法であって、
前記研磨装置は、回転数が制御される回転工具を有し、前記回転工具の先端によって対象物を研磨する装置であり、
前記制御装置が、前記ロボットの位置、姿勢および送り速度に関する情報を受信するステップと、
前記制御装置が、受信した前記ロボットの位置、姿勢および送り速度に関する情報に基づいて、前記研磨装置の前記回転工具の先端の位置、姿勢、および送り速度を計算するステップと、
前記制御装置が、計算した前記回転工具の先端の位置、姿勢、および送り速度に基づいて、および、プレストンの法則の拡張による、前記回転工具による研磨力、回転数、および送り速度を連動して制御するための計算に基づいて、前記研磨の傷間隔が所望の量となることを目標とするフィードバック制御として、前記ロボットの送り速度に応じて前記研磨装置の前記回転工具による回転あたりの送り量を所望の量とするように、前記回転工具の回転数を制御して、前記研磨装置に対し指令を出力するステップと、
を有する、ロボット研磨制御方法。
【請求項3】
ロボットに接続された研磨装置を制御する制御装置によって実行されるロボット研磨制御方法であって、
前記研磨装置は、前記ロボットに接続され研磨力が制御されるエンドエフェクタと、前記エンドエフェクタに接続され回転数が制御される回転工具と、を有し、前記回転工具の先端によって対象物を研磨する装置であり、
前記制御装置が、前記ロボットの位置、姿勢および送り速度に関する情報を受信し、前記回転工具の回転数に関する情報を受信するステップと、
前記制御装置が、受信した前記ロボットの位置、姿勢および送り速度に関する情報に基づいて、前記研磨装置の前記回転工具の先端の位置、姿勢、および送り速度を計算するステップと、
前記制御装置が、計算した前記回転工具の先端の位置、姿勢、および送り速度に基づいて、および、プレストンの法則または前記プレストンの法則の拡張による、前記回転工具による研磨力、回転数、および送り速度を連動して制御するための計算に基づいて、前記研磨の除去量が所望の量となることを目標とするフィードバック制御として、前記ロボットの送り速度および前記回転工具の制御された回転数に応じて前記除去量を所望の量とするように、前記エンドエフェクタによる研磨力を制御して、前記研磨装置に対し指令を出力するステップと、
を有する、ロボット研磨制御方法。
【請求項4】
請求項2記載のロボット研磨制御方法において、
前記研磨装置は、前記ロボットに接続され研磨力が制御されるエンドエフェクタと、前記エンドエフェクタに接続される前記回転工具と、を有し、
前記制御するステップは、
前記制御装置が、計算した前記回転工具の先端の位置、姿勢、および送り速度に基づいて、および、前記プレストンの法則または前記プレストンの法則の拡張による、前記回転工具による研磨力、回転数、および送り速度を連動して制御するための計算に基づいて、
前記研磨の傷間隔が所望の量となる、かつ、前記研磨の除去量が所望の量となることを目標とするフィードバック制御として、
前記ロボットの送り速度に応じて前記研磨装置の前記回転工具による回転あたりの送り量を所望の量とするように回転数を制御し、かつ、
前記ロボットの送り速度および前記回転工具の制御された回転数に応じて前記除去量を所望の量とするように前記エンドエフェクタによる研磨力を制御して、
前記研磨装置に対し指令を出力するステップである、
ロボット研磨制御方法。
【請求項5】
ロボットに接続された研磨装置と、前記研磨装置を制御する制御装置とを備えるロボット研磨制御システムであって、
前記研磨装置は、回転数が制御され、先端によって対象物を研磨する装置であり、
前記制御装置は、
前記ロボットの位置、姿勢および送り速度に関する情報を受信し、
受信した前記ロボットの位置、姿勢および送り速度に関する情報に基づいて、前記研磨装置の先端の位置、姿勢、および送り速度を計算し、
計算した前記研磨装置の先端の位置、姿勢、および送り速度に基づいて、前記研磨装置による研磨力、回転数、および送り速度を連動して制御するための計算を行い、計算した研磨力、回転数、および送り速度に基づいて、前記研磨装置に指令を出力する、
ロボット研磨制御システム。
【請求項6】
ロボットの先端に接続された研磨装置と、前記研磨装置を制御する制御装置と、を備えるロボット研磨制御システムであって、
前記研磨装置は、回転数が制御される回転工具を有し、前記回転工具の先端によって対象物を研磨する装置であり、
前記制御装置は、
前記ロボットの位置、姿勢および送り速度に関する情報を受信し、
受信した前記前記ロボットの位置、姿勢および送り速度に関する情報に基づいて、前記研磨装置の前記回転工具の先端の位置、姿勢、および送り速度を計算し、
計算した前記回転工具の先端の位置、姿勢、および送り速度に基づいて、および、プレストンの法則の拡張による、前記回転工具による研磨力、回転数、および送り速度を連動して制御するための計算に基づいて、前記研磨の傷間隔が所望の量となることを目標とするフィードバック制御として、前記ロボットの送り速度に応じて前記研磨装置の前記回転工具による回転あたりの送り量を所望の量とするように、前記回転工具の回転数を制御して、前記研磨装置に対し指令を出力する、
ロボット研磨制御システム。
【請求項7】
ロボットの先端に接続された研磨装置と、前記研磨装置を制御する制御装置と、を備えるロボット研磨制御システムであって、
前記研磨装置は、前記ロボットに接続され研磨力が制御されるエンドエフェクタと、前記エンドエフェクタに接続され回転数が制御される回転工具と、を有し、前記回転工具の先端によって対象物を研磨する装置であり、
前記制御装置は、
前記ロボットの位置、姿勢および送り速度に関する情報を受信し、前記回転工具の回転数に関する情報を受信し、
受信した前記ロボットの位置、姿勢および送り速度に関する情報に基づいて、前記研磨装置の前記回転工具の先端の位置、姿勢、および送り速度を計算し、
計算した前記回転工具の先端の位置、姿勢、および送り速度に基づいて、および、プレストンの法則または前記プレストンの法則の拡張による、前記回転工具による研磨力、回転数、および送り速度を連動して制御するための計算に基づいて、前記研磨の除去量が所望の量となることを目標とするフィードバック制御として、前記ロボットの送り速度および前記回転工具の制御された回転数に応じて前記除去量を所望の量とするように、前記エンドエフェクタによる研磨力を制御して、前記研磨装置に対し指令を出力する、
ロボット研磨制御システム。
【請求項8】
請求項6記載のロボット研磨制御システムにおいて、
前記研磨装置は、前記ロボットに接続され研磨力が制御されるエンドエフェクタと、前記エンドエフェクタに接続される前記回転工具と、を有し、
前記制御装置は、
計算した前記回転工具の先端の位置、姿勢、および送り速度に基づいて、および、前記プレストンの法則または前記プレストンの法則の拡張による、前記回転工具による研磨力、回転数、および送り速度を連動して制御するための計算に基づいて、
前記研磨の傷間隔が所望の量となる、かつ、前記研磨の除去量が所望の量となることを目標とするフィードバック制御として、
前記ロボットの送り速度に応じて前記研磨装置の前記回転工具による回転あたりの送り量を所望の量とするように回転数を制御し、かつ、
前記ロボットの送り速度および前記回転工具の制御された回転数に応じて前記除去量を所望の量とするように前記エンドエフェクタによる研磨力を制御して、
前記研磨装置に対し指令を出力する、
ロボット研磨制御システム。
【請求項9】
ロボットの先端に接続された研磨装置を制御する制御装置に処理を実行させるためのロボット研磨制御プログラムであって、
前記研磨装置は、回転数が制御され、先端によって対象物を研磨する装置であり、
前記制御装置が、前記ロボットの位置、姿勢および送り速度に関する情報を受信する処理と、
前記制御装置が、受信した前記ロボットの位置、姿勢および送り速度に関する情報に基づいて、前記研磨装置の先端の位置、姿勢、および送り速度を計算する処理と、
前記制御装置が、計算した前記研磨装置の先端の位置、姿勢、および送り速度に基づいて、前記研磨装置による研磨力、回転数、および送り速度を連動して制御するための計算を行い、計算した研磨力、回転数、および送り速度に基づいて、前記研磨装置に指令を出力する処理と、
を実行させるための、ロボット研磨制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット研磨技術に関する。
【背景技術】
【0002】
金型などの製造において、研磨加工は、表面品位を高めるために最終工程で行われる重要な加工である。従来の研磨加工は、主に作業者による手動作業で行われているが、時間やコストがかかる。そのため、ロボットにより研磨加工を行うロボット研磨の需要が高まっている。
【0003】
ロボット研磨システムは、例えば複数の駆動軸やリンクを備える産業用ロボットに研磨装置(研磨機、研磨モジュールなどと記載する場合もある)が搭載されたシステムである。ロボット研磨システムは、ワークピースに対する研磨加工を自動化することができる。
【0004】
従来のロボット研磨システムは、マクロシステムであるロボットとして例えばシリアルリンクロボットの先端のリンクに、ミクロシステムである研磨装置が接続された構成を有する。研磨装置は、例えば、回転工具(言い換えると研磨工具)を接続・保持して回転工具を駆動するエンドエフェクタを有して構成される。
【0005】
ロボット研磨システムに関する先行技術例として、特開平10-549号公報(特許文献1)が挙げられる。特許文献1には、「研磨加工装置」として、「コンタクトホイール等の回転加工手段に関する検知情報によって能動的に制御可能な研磨加工を行えるようにする」旨や、「研磨ヘッド10は、研磨ベルト12を掛け回したコンタクトホイール1の位置を、サーボモータ18とボールネジ21、23により調節可能とする。トッププレート24にコンタクトホイール1を取り付けるための支持部25に力センサを内蔵し、ロボット30のワークチャック7で把持したワーク2から受ける押し付け力を検知可能とする。支持部25の力センサが検知した押し付け力を入力値としてサーボモータ18を所定の制御アルゴリズムによって駆動し、コンタクトホイール1の位置と速度を制御する。」旨が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平10-549号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来、研磨加工理論として、プレストンの法則がある。この法則によると、研磨に関する材料除去高さ(言い換えると材料除去深さ、材料除去量など)は、3つの条件、パラメータに依存する。すなわち、この法則では、材料除去高さは、圧力、速度(相対速度)、および時間(加工時間、滞留時間など)に比例する。
【0008】
従来のロボット研磨システムは、マクロシステム(言い換えるとマクロメカニズム)であるロボットの位置制御をベースとしている。ロボットに対し、研磨装置は、ミクロシステム(言い換えるとミクロメカニズム)である。従来、マクロ側であるロボットの制御とミクロ側である研磨装置の制御とは独立であり、それらは連動していない。言い換えると、従来のロボット研磨システムは、ロボットと研磨装置との連動について、十分には検討されていない。従来のロボット研磨システムは、位置制御がベースであるため、研磨装置の素早い力加減の制御はできていない。言い換えると、従来のロボット研磨システムは、ロボットに対する研磨装置の高い応答性の制御はできていない。
【0009】
また、従来技術例のロボット研磨システムとしては、研磨装置に力センサやバネ等を備える構成がある。言い換えると、従来技術例としては、パッシブな力制御が可能なエンドエフェクタを有する構成として、回転工具に対し検出した力をパッシブな制御として利用するものもある。しかしながら、従来技術例のロボット研磨システムは、回転工具に関する力や回転数などをアクティブに制御するものではなく、例えば均一な研磨の実現が難しい。
【0010】
従来のロボット研磨システムは、プレストンの法則における、圧力、速度、および時間の3つのパラメータのすべてを制御するものではない。研磨加工理論から考えると、圧力、速度、および時間の3つのパラメータの積が、材料除去量などに関係する。そのため、それらの3つのパラメータ値のすべてを連動させて同時にアクティブに制御することが望ましいと考えられる。しかしながら、従来、そのような制御や計算を行うロボット研磨システムや制御方法は提案されていない。
【0011】
上記のような課題から、従来のロボット研磨システムや制御方法は、研磨に限界があり、研磨の精度が高めにくく、例えばワークピース表面の研磨の形状精度や表面品位に関して改善余地がある。
【0012】
本開示の目的は、上記ロボット研磨技術に関して、研磨の形状精度や表面品位を高めることができる技術を提供することである。
【0013】
なお、特許文献1のような従来技術例は、例えば回転数の制御が全く無い技術であり、力、速度、および時間の3つのパラメータのすべてを連動して制御する技術ではない。研磨の傷間隔や除去量を好適または最適に制御するためには、力、速度、および時間の3つのパラメータのすべてを連動して制御する必要がある。
【課題を解決するための手段】
【0014】
本開示のうち代表的な実施の形態は以下に示す構成を有する。実施の形態のロボット研磨制御方法は、ロボットに接続された研磨装置を制御する制御装置によって実行されるロボット研磨制御方法であって、前記研磨装置は、回転数が制御され、先端によって対象物を研磨する装置であり、前記制御装置が、前記ロボットの位置、姿勢および送り速度に関する情報を受信するステップと、前記制御装置が、受信した前記ロボットの位置、姿勢および送り速度に関する情報に基づいて、前記研磨装置の前記回転工具の先端の位置、姿勢、および送り速度を計算するステップと、前記制御装置が、計算した前記回転工具の先端の位置、姿勢、および送り速度に基づいて、前記研磨装置による研磨力、回転数、および送り速度を連動して制御するための計算を行い、計算した研磨力、回転数、および送り速度に基づいて、前記研磨装置に指令を出力するステップと、を有する。
【発明の効果】
【0015】
本開示のうち代表的な実施の形態によれば、上記ロボット研磨技術に関して、研磨の形状精度や表面品位を高めることができる。上記した以外の課題、構成および効果等については、発明を実施するための形態において示される。
【図面の簡単な説明】
【0016】
図1】実施の形態1のロボット研磨制御システムの構成を示す。
図2】実施の形態1で、ロボットと研磨装置の構成例を示す。
図3】実施の形態1で、研磨装置の回転工具に関するパラメータを示す。
図4】実施の形態1~3における、研磨装置コントローラによる制御機能の基本構成を示す。
図5】実施の形態1で、プレストンの法則および拡張モデルに関する計算式などを示す。
図6】実施の形態1で、拡張パラメータの同定のための試験についての説明図を示す。
図7】実施の形態1~3における、ユーザインタフェースの画面例を示す。
図8】実施の形態1で、研磨装置コントローラによる研磨傷間隔制御機能の構成を示す。
図9】実施の形態1で、研磨装置コントローラの研磨傷間隔制御機能に関する機能ブロック構成例を示す。
図10】実施の形態2のロボット研磨制御システムにおける、研磨装置コントローラによる研磨除去量制御機能の構成を示す。
図11】実施の形態2で、研磨装置コントローラの研磨除去量制御機能の機能ブロック構成例を示す。
図12】実施の形態3ロボット研磨制御システムにおける、研磨装置コントローラによる制御機能の構成を示す。
図13】実施の形態3で、研磨装置コントローラの制御機能の機能ブロック構成例を示す。
図14】実施の形態1~3の変形例のロボット研磨制御システムの構成を示す。
図15】実施の形態1~3の他の変形例のロボット研磨制御システムの構成を示す。
図16】実施の形態1~3に関する、ロボット研磨の実験例を示す。
図17】実施の形態1~3に関する、比較例との対比での、ロボット研磨加工結果の材料除去高さの例を示す。
図18】実施の形態1~3に関する、比較例との対比での、ロボット研磨加工結果のワークピース表面の例を示す。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら本開示の実施の形態を詳細に説明する。図面において、同一部には原則として同一符号を付し、繰り返しの説明を省略する。図面において、構成要素の表現は、発明の理解を容易にするために、実際の位置、大きさ、形状、範囲等を表していない場合がある。
【0018】
説明上、プログラムによる処理について説明する場合に、プログラムや機能や処理部等を主体として説明する場合があるが、それらについてのハードウェアとしての主体は、プロセッサ、あるいはそのプロセッサ等で構成されるコントローラ、装置、計算機、システム等である。計算機は、プロセッサによって、適宜にメモリや通信インタフェース等の資源を用いながら、メモリ上に読み出されたプログラムに従った処理を実行する。これにより、所定の機能や処理部等が実現される。プロセッサは、例えばCPU/MPUやGPU等の半導体デバイス等で構成される。処理は、ソフトウェアプログラム処理に限らず、専用回路でも実装可能である。専用回路は、FPGA、ASIC、CPLD等が適用可能である。
【0019】
プログラムは、対象計算機に予めデータとしてインストールされていてもよいし、プログラムソースから対象計算機にデータとして配布されてもよい。プログラムソースは、通信網上のプログラム配布サーバでもよいし、非一過性のコンピュータ読み取り可能な記憶媒体、例えばメモリカードやディスクでもよい。プログラムは、複数のモジュールから構成されてもよい。コンピュータシステムは、複数台の装置によって構成されてもよい。コンピュータシステムは、クライアントサーバシステム、クラウドコンピューティングシステム、IoTシステム等で構成されてもよい。各種のデータや情報は、例えばテーブルやリスト等の構造で構成されるが、これに限定されない。識別情報、識別子、ID、名前、番号等の表現は互いに置換可能である。
【0020】
<解決手段等>
本開示の実施の形態は、より高精度なロボット研磨加工を実現するために、ロボット研磨に関する3つの条件、パラメータを、同時に連動させてアクティブに調整・制御する仕組みを実現する。実施の形態のロボット研磨制御システムおよび方法は、公知のプレストンの法則を拡張し、マクロシステム/マクロメカニズムであるロボット本体とミクロシステム/ミクロメカニズムである研磨装置とが接続されたシステムにおけるマクロ-ミクロ制御に対応した新たな拡張モデルを構築する。
【0021】
研磨加工理論であるプレストンの法則における、圧力、速度、および時間の3つのパラメータに対応して、拡張モデルでの3つのパラメータは、ミクロシステムである研磨装置での回転工具に関する研磨力、回転数、および送り速度である。拡張モデルは、これらの3つのパラメータ値を連動して最適に決定するための計算式などを含む。
【0022】
実施の形態のロボット研磨制御システムおよび方法は、マクロ側であるロボットにミクロ側である研磨装置が接続されたマクロ-ミクロシステムにおいて、研磨装置に接続されるコントローラ(研磨装置コントローラや制御装置などと記載する場合もある)が設けられる。このシステムおよび方法では、マクロ側のロボットとミクロ側の研磨装置との間に、それらの連動制御などのためのインテリジェントな機能を有する機構として、研磨装置コントローラが追加で具備される。このシステムおよび方法では、研磨装置コントローラを設けることで、マクロ側であるロボットとミクロ側である研磨装置との間の通信などを含む連動制御が、間接的に実現される。
【0023】
実施の形態のロボット研磨制御システムおよび方法は、この研磨装置コントローラを介して、マクロ側のロボットとミクロ側の研磨装置とを連動して制御する仕組みとする。そして、このロボット研磨制御システムおよび方法は、上記拡張モデルに基づいて、ロボット研磨に関する3つのパラメータとして、回転工具による研磨力、回転数、および送り速度のすべてを、同時に連動させてアクティブに制御する。これにより、ロボット研磨による傷間隔や材料除去高さを、より高精度に制御可能となる。また、研磨装置コントローラがパラメータ値を計算して制御を行うので、研磨装置に力センサ等を具備する必要も無い。
【0024】
実施の形態のロボット研磨制御システムおよび方法は、研磨装置コントローラによって、モニタおよび拡張モデルの計算に基づいて、マクロ側であるロボットの動きに合わせて、ミクロ側である研磨装置からみた上記3つのパラメータ値を、連動してアクティブに制御する。
【0025】
実施の形態のロボット研磨制御システムは、少なくとも研磨装置コントローラを有するシステムであり、研磨装置コントローラが上記拡張モデルに基づいた特有の計算処理などを行って研磨装置を制御するシステムである。実施の形態のロボット研磨制御方法は、研磨装置コントローラが上記拡張モデルに基づいた特有の計算処理などを行って研磨装置を制御するステップを有する方法である。
【0026】
実施の形態のロボット研磨制御方法およびシステムは、研磨装置コントローラによって、マクロ側のロボットコントローラによるロボットの制御と、ミクロ側の研磨装置コントローラによる研磨装置の制御とを連動させる。これにより、この方法およびシステムは、回転工具を用いたロボット研磨に関する上記3つのパラメータ値を好適または最適に制御する。
【0027】
実施の形態のロボット研磨制御方法およびシステムにおける主な特徴は、研磨装置に接続された研磨装置コントローラによる計算処理内容とそれに伴う入出力である。この研磨装置コントローラは、マクロ-ミクロシステムのモニタ、および拡張モデルに基づいて、研磨装置の回転工具による上記3つのパラメータ値のすべてを連動させて好適または最適な値を決定する。
【0028】
研磨装置コントローラは、拡張モデルの計算のために必要な情報を、マクロ側のロボットおよびミクロ側の研磨装置から、常時にモニタとして入力・取得する。研磨装置コントローラは、マクロ側のロボットの状態(後述の位置、姿勢、および送り速度など)、およびミクロ側の研磨装置の状態(後述の回転数や位置応答など)をモニタする。実施の形態のロボット研磨制御方法およびシステムは、ミクロ側の研磨装置が、マクロ側のロボットの状態を反映して研磨加工を行うために、それらの間に研磨装置コントローラを介在して、研磨装置コントローラによって、マクロ側のロボットの状態をモニタする。
【0029】
研磨装置コントローラは、モニタ入力情報などを用いて、拡張モデルの計算処理を行って、ミクロ側の研磨装置による研磨加工動作を連動制御するための上記3つのパラメータ値を決定する。研磨装置コントローラは、上記計算の際に、モニタ入力情報や設定情報に基づいて、ロボットの先端の位置、姿勢、および送り速度などから、研磨装置の回転工具の先端の位置、姿勢、および送り速度などを計算する。研磨装置コントローラは、拡張モデルの計算に基づいて、例えば研磨の傷間隔を一定に制御するための、回転工具の3つのパラメータ値として、研磨力、回転数、および送り速度について、連動した最適な値を決定する。
【0030】
そして、研磨装置コントローラは、上記計算処理結果に基づいて生成した指令値などを、研磨装置に対し出力する。これにより、研磨装置では、回転工具の3つのパラメータ値が連動するように駆動されて、対象物に対する研磨加工が行われる。
【0031】
実施の形態で、研磨装置は、ロボットからの基本的な駆動制御、すなわち位置ベース制御に基づいた駆動制御のみならず、研磨装置コントローラからの上記3つのパラメータ値の連動制御に関する指令値、言い換えると駆動制御情報・信号に従って、動作する。この研磨装置自体は、従来と同様のハードウェアやソフトウェアを有する研磨装置も適用可能である。
【0032】
<実施の形態1>
図1図9等を用いて、本開示の実施の形態1のロボット研磨制御システムおよび方法などについて説明する。
【0033】
図1等に示される実施の形態1のロボット研磨制御システムは、研磨装置に接続された制御装置(研磨装置コントローラ)によって、ロボット研磨の際の傷間隔が所望の量、例えば一定値になるように、研磨装置を制御する機能を有するシステムである。実施の形態1のロボット研磨制御方法は、制御装置によって、研磨装置に対し、そのような制御を行うステップを有する方法である。
【0034】
研磨装置は、回転数が制御される回転工具(言い換えると研磨工具)を有し、回転工具の先端によって対象物(ワークピース)を研磨する装置である。
【0035】
実施の形態1のロボット研磨制御方法は、制御装置が、モニタとして、ロボットの位置、姿勢、および送り速度に関する情報を受信・入力するステップと、制御装置が、モニタとして入力した情報(ロボットの位置、姿勢、および送り速度)に基づいて、研磨装置の回転工具の先端の位置、姿勢、および送り速度を計算するステップと、を有する。
【0036】
実施の形態1のロボット研磨制御方法は、制御装置が、上記計算されたパラメータ値(回転工具の先端の位置、姿勢、および送り速度)、および、プレストンの法則またはそのプレストンの法則の拡張モデルに基づいて、回転工具による研磨力、回転数、および送り速度を、連動して制御するための計算を行うステップを有する。その計算を行うステップは、研磨の傷間隔が所望の量(例えば一定値あるいは可変値)となることを目標とするフィードバック制御として、ロボットの送り速度に応じて、回転工具による回転あたりの送り量を所望の量とするように回転数を制御するステップである。
【0037】
実施の形態1のロボット研磨制御方法は、制御装置が、上記計算された3つのパラメータ値(研磨力、回転数、および送り速度)に対応した指令値を生成して、研磨装置に対し出力するステップを有する。
【0038】
公知のプレストンの法則は、研磨の除去量などが、力、速度、および時間の3つの条件、パラメータ値によって決まることを表している。実施の形態1では、マクロ-ミクロシステムの考え方に基づいて、プレストンの法則を拡張した拡張モデルを構築する。この拡張モデルは、ミクロ側の研磨装置における回転工具による3つの条件、パラメータ値として、研磨力、回転数、および送り速度を連動して決定するための計算式などである。この拡張モデルは、研磨の傷間隔や除去量の制御などに利用できる。
【0039】
実施の形態1では、拡張モデルの計算式に基づいて、傷間隔を一定に制御する機能(後述の図8の傷間隔制御機能1001)を有する。この機能は、ロボットの送り速度に応じて、研磨装置側の回転工具の送り速度を決定し、回転工具の回転あたりの送り量を一定とするように、回転数を制御する機能である。研磨力はその回転数に合わせて決定される。これにより、研磨の傷間隔を略一定にすることができる。
【0040】
なお、実施の形態1での傷間隔制御機能1001のみを実現する場合には、研磨装置にエンドエフェクタを備えることは必須ではない。傷間隔を一定に制御するのみの場合には、研磨装置としては、回転工具への力制御を行うエンドエフェクタは不要であり、回転数が制御される回転工具を備えていればよい。研磨装置コントローラは、傷間隔を一定に制御する際に、回転数に対する研磨力の連動制御は必須ではない。研磨装置コントローラは、プレストンの法則または拡張モデルに基づいた特有の計算に基づいて、研磨装置の回転工具の送り速度と回転数とを連動させて決定して制御すればよい。
【0041】
実施の形態1のロボット研磨制御方法およびシステムは、制御装置によって、ロボットの送り速度に応じて、研磨装置の回転工具の主軸についての研磨力と回転数とを独立に制御することができる。実施の形態1では、研磨装置は、制御装置からの連動制御に対応できる構成として、回転工具の主軸に関する回転数と研磨力との両方のパラメータ値を同時に独立して駆動できる機構を有するものであればよい。
【0042】
[ロボット研磨制御システム]
図1は、実施の形態1のロボット研磨制御システムの構成を示す。なお、図1では、実施の形態1のロボット研磨制御システム以外の関連する要素も含めたシステムを図示している。図1の実施の形態1のロボット研磨制御システムは、ロボット1、研磨装置2、ロボットコントローラ(ロボット制御装置)100、ロボットCAM101、CADモデル102、研磨装置コントローラ(制御装置)10、エンドエフェクタドライバ51、および回転工具ドライバ52を有して構成されている。
【0043】
実施の形態1のロボット研磨制御システムは、ロボットコントローラ100によってロボット1を制御して、研磨装置2の回転工具4の先端によって対象物9であるワークピースを研磨加工するシステムである。実施の形態1のロボット研磨制御システムは、研磨装置コントローラ10によって研磨装置2による研磨加工を制御するシステムである。
【0044】
図1の各構成要素の間は、有線ケーブルで接続されており、所定の通信インタフェースで相互に通信が可能であるが、これに限定されず、所定の通信インタフェースでの無線通信を適用してもよい。なお、図示しない電源部からは、図1の各構成要素に対し、必要な電力が供給される。
【0045】
ロボット1は、産業ロボットの一種として、垂直多関節ロボット、言い換えるとシリアルリンクロボットである。ロボット1は、複数の駆動軸および複数のリンクを有している。ロボットコントローラ100は、位置ベース制御に基づいて、ロボット1のモータ等のアクチュエータを駆動制御する。
【0046】
ロボットコントローラ100は、例えばPCや産業用マイコン、特にプログラマブル・ロジック・コントローラ(PLC)等によって実装でき、ロボット1の動作を制御する機能を有している。
【0047】
ロボット1のアーム(後述の図2)の先端には研磨装置2が接続・固定されている。研磨装置2は、エンドエフェクタ3と、エンドエフェクタ3に接続された回転工具4とを有する。エンドエフェクタ3は、モータ31やエンコーダ32を有する。モータ31にはエンドエフェクタドライバ51が接続されている。回転工具4には回転工具ドライバ52が接続されている。モータ31は、例えばボイスコイルモータ(VCM)であり、研磨力(後述の図3)のために回転工具4を駆動するアクチュエータである。エンコーダ32は、モータ31に接続されているリニアエンコーダであり、モータ31の位置を検出し、位置応答A10として出力する。
【0048】
ロボットCAM101は、CAM(Computer-aided manufacturing)およびロボットプログラミングソフトウェアを備えているシステムである。ロボットCAM101は、対象物9に関するCAD(Computer-aided design)モデル102に基づいて、ロボット1の動作のためのツールパスなどを作成し、そのツールパスに対応したロボット動作指令A1などを、ロボットコントローラ100に出力する。ロボット動作指令A1は、コマンド等に相当する。
【0049】
ロボットコントローラ100は、マクロシステムであるロボット1の動作を制御する制御装置であり、ロボット1の位置ベース制御を行う。ロボットコントローラ100は、ロボットCAM101からのロボット動作指令A1、およびロボット1からのリンク位置応答A3に基づいて、ロボット1の動作を制御するためのリンク位置指令A2を生成し、ロボット1に出力・送信する。また、ロボットコントローラ100は、ロボット1から、所定のタイミングで、リンク位置応答A3を入力・受信する。リンク位置応答A3は、ロボット1の各リンクの位置および姿勢に関する情報を含む。また、ロボットコントローラ100は、リンク位置応答A3に対応したリンク位置応答A4を、研磨装置コントローラ10に出力・送信する。
【0050】
リンク位置応答A4は、ロボット1の各リンクの変位に関する値を有し、例えば各リンクの角度(言い換えると姿勢を表す各軸の向き)等の情報を含んでいる。各リンクの角度等の情報と、アームの長さ等の情報とに基づいて、計算によって、ロボット1の先端のリンクの位置、姿勢、および送り速度が得られる。
【0051】
ロボット1は、リンク位置指令A2に従って、各リンクを動作させる。ロボット1のアームの先端のリンクの位置、姿勢、および送り速度に応じて、研磨装置2の位置、姿勢、および送り速度も定まる。
【0052】
研磨装置コントローラ10は、ミクロシステムである研磨装置2に関する制御装置であるとともに、マクロ-ミクロシステムでの連動制御を行う制御装置であり、実施の形態1のロボット研磨制御システムでの主制御部である。
【0053】
研磨装置コントローラ10は、後述の図4の基本構成に基づいた、図8の研磨傷間隔制御機能1001等を有しており、当該機能によって研磨装置2を制御する。研磨装置コントローラ10は、当該機能によって、マクロシステムであるロボット1の状態と、ミクロシステムである研磨装置2の状態とを常時にモニタする。具体的には、研磨装置コントローラ10は、当該機能によって、ロボット1からリンク位置応答A4を入力・受信し、研磨装置2から回転数A8および位置応答A10を入力・受信する。
【0054】
研磨装置コントローラ10は、当該機能によって、後述の拡張モデル計算に基づいて、研磨装置2の研磨加工動作を連動制御するための指令値を生成する。研磨装置コントローラ10は、その指令値(言い換えると駆動制御信号)を、ドライバであるエンドエフェクタドライバ51および回転工具ドライバ52に出力することで、ドライバを通じて研磨装置2を駆動制御する。具体的には、研磨装置コントローラ10は、回転工具4の回転数を制御するための指令値である回転指令A5を、回転工具ドライバ52に出力・送信し、エンドエフェクタ3による研磨力を制御するための指令値である電流参照値A6を、エンドエフェクタドライバ51に出力・送信する。
【0055】
エンドエフェクタドライバ51は、モータ31(VCM)をサーボ制御するサーボドライバに相当する。回転工具ドライバ52は、回転工具4の主軸を回転駆動制御するスピンドルコントローラに相当する。
【0056】
なお、実施の形態1では、エンドエフェクタドライバ51は、エンドエフェクタ3から離れた箇所に有線ケーブルで接続されて配置されている。回転工具ドライバ52は、回転工具4から離れた箇所に有線ケーブルで接続されて配置されている。これに限らず、エンドエフェクタドライバ51がエンドエフェクタ3に一体的に実装されてもよいし、回転工具ドライバ52が回転工具4に一体的に実装されてもよい。あるいは、それらのドライバが、研磨装置コントローラ10と一体的に実装されてもよい。
【0057】
実施の形態1では、モータ31は、ボイスコイルモータ(VCM)であるが、これに限定されず、各種のアクチュエータが適用可能である。例えば、空気圧ピストン、ピエゾアクチュエータなども適用可能である。
【0058】
エンドエフェクタドライバ51は、電流参照値A6に従って、研磨力の制御のための駆動信号である電流A9を生成し、その電流A9をエンドエフェクタ3のモータ31に供給する。モータ31は、その電流A9に従って、回転工具4を並進駆動する。これにより、回転工具4は、指定された研磨力fで駆動される(後述の図3)。また、エンドエフェクタ3は、エンコーダ32からの位置応答A10を、研磨装置コントローラ10に出力・送信する。位置応答A10は、研磨装置2の位置、姿勢、および送り速度を表す信号や情報である。
【0059】
回転工具ドライバ52は、回転指令A5に従って、回転数の制御のための駆動信号である電流A7を生成し、その電流A7を回転工具4に供給する。回転工具4は、その電流A7に従って、指定された回転数nで回転駆動される(後述の図3)。
【0060】
また、回転工具ドライバ52は、回転工具4から、応答として、回転数A8を受信・入力し、その回転数A8と同様の回転数A8を、研磨装置コントローラ10に出力・送信する。これにより、研磨装置コントローラ10は、回転工具4の回転数をモニタする。
【0061】
研磨加工時のロボット1の動きにおける、位置、姿勢、および送り速度は、ロボットCAM101によるツールパスとして決定される。研磨装置コントローラ10によるロボット1のロボットコントローラ100のモニタによって得られる情報、すなわちリンク位置応答A4の情報は、ロボット1の位置、姿勢、および送り速度に対応した、各リンクの角度等の情報を有する。
【0062】
研磨装置コントローラ10は、常時のモニタによって、マクロシステムであるロボット1の位置、姿勢、および送り速度を把握し、ミクロシステムである研磨装置2の回転工具4の回転数A8や、モータ31の電流値に相当する電流参照値A6、および位置応答A10を把握する。なお、モータ31の電流制御は高速で行われており、指令と応答がほぼ同時となるため、研磨装置コントローラ10は、指令として生成した電流参照値A6を用いて、モータ31の電流値を把握する。研磨装置コントローラ10は、その電流参照値A6と位置応答A10を用いて、後述の研磨力を計算する。なお、モータ31に電流センサなどを備えている場合には、研磨装置コントローラ10は、その電流センサなどから電流値をモニタしてもよい。
【0063】
研磨装置コントローラ10は、上述のようなモニタ入力情報(リンク位置応答A4)に基づいて、ロボット1の例えば先端のリンク、すなわち研磨装置2のエンドエフェクタ3が接続される箇所(図2でのロボット先端位置P1)における、位置、姿勢、および送り速度を、計算によって得る。さらに、研磨装置コントローラ10は、そのロボット1の先端のリンクの位置(図2でのロボット先端位置P1)に対し、予め規定された、ロボット1に対する研磨装置2の回転工具4の先端の位置(図2での工具先端位置P2)までの相対関係などの情報に基づいて、その回転工具4の先端(図2での工具先端位置P2)における位置、姿勢、および送り速度を、計算によって得る。
【0064】
上記ロボット1の先端の位置等を計算するために必要な、ロボット1のリンク等の構造の情報は、後述のロボット構成情報2001(図4)に予め設定されている。上記回転工具4の先端の位置等を計算するために必要な、研磨装置2の構造や相対関係などの情報は、後述の研磨装置構成情報2002(図4)に予め設定されている。
【0065】
研磨装置コントローラ10は、上記計算して得た、ロボット1の送り速度等に応じた回転工具4の送り速度に基づいて、後述の拡張モデルの計算を行い、回転工具4の研磨力、回転数、および送り速度を連動して制御するためのそれらのパラメータ値を決定する。
【0066】
実施の形態1では、研磨装置コントローラ10は、例えば傷間隔一定制御を行う。この場合に、研磨装置コントローラ10は、上記計算の際に、傷間隔を一定に維持するための回転数を決定する。そして、研磨装置コントローラ10は、その回転数の指令値に対応する回転指令A5を生成し、回転工具ドライバ52に供給する。また、研磨装置コントローラ10は、上記回転数の制御とともに、研磨力を決定し、その研磨力の指令値に対応する電流参照値A6を生成し、エンドエフェクタドライバ51に供給する。
【0067】
実施の形態1のロボット研磨制御システムでは、ミクロシステムである研磨装置2は、研磨力制御および回転数制御を実現できる機構を備える装置である。言い換えると、この研磨装置2は、研磨装置コントローラ10から研磨力と回転数とが独立に制御できる装置である。実施の形態1のシステムは、研磨装置コントローラ10によって、研磨装置2による研磨力と回転数とを連動して制御することができる。
【0068】
[研磨装置コントローラ]
図1の研磨装置コントローラ10は、例えば一般的な産業用コントローラ、例えばプログラマブル・ロジック・コントローラ(PLC)、あるいは、PCや電子回路基板などで実装可能であり、実装の詳細を限定しない。実施の形態1では、この研磨装置コントローラ10は、有線通信を通じて、ロボットコントローラ100、研磨装置2、および各ドライバ等と接続されている。
【0069】
研磨装置コントローラ10は、プロセッサ、メモリ、通信インタフェース、バスなどを備えている。研磨装置コントローラ10は、例えばプロセッサによってメモリ上に読み出したプログラムに従った処理を実行する。これにより、後述の制御機能や機能ブロック等が実現される。そのプログラムは、研磨装置コントローラ10のプロセッサに所定の処理を実行させるコンピュータプログラムである。
【0070】
研磨装置コントローラ10は、モニタおよび拡張モデルに基づいて、研磨装置2の回転工具4による研磨の際の3つのパラメータ値として、研磨力、回転数、および送り速度を連動して制御する制御機能1000を有する(後述の図4)。特に、実施の形態1では、研磨装置コントローラ10は、研磨の傷間隔を所望の量に制御する機能である傷間隔制御機能1001などを有する(後述の図8)。
【0071】
[ロボットおよび研磨装置(1)]
図2は、実施の形態1でのロボット1と研磨装置2の外観などの構成例を示す。なお、図2では、3次元空間座標系を(X,Y,Z)で表している。
【0072】
ロボット1は、図示のように例えば多リンクのシリアルリンクロボットであり、アームの先端のリンクに、研磨装置2が接続されている。実施の形態1では、ロボット1は、シリアルリンクロボットとするが、これに限定されず、パラレルメカニズムのロボットでもよいし、スカラロボットでもよい。
【0073】
ロボット1のアームの先端のリンクの位置を、ロボット先端位置P1としても示している。ロボット1は、ロボット1の動作に応じて、ロボット先端位置P1における、位置、姿勢、および送り速度の情報を有する。この位置は、各リンクの角度等から計算可能であり、3次元空間座標系の位置座標として表せる。この姿勢は、直交する3軸(X,Y,Z)の各軸の向き(角度)として表せる。この送り速度は、その位置および姿勢での速度として表せる。
【0074】
また、ミクロシステムである研磨装置2は、マクロシステムであるロボット1に対し、所定の配置、形状、状態などの相対関係を有している。そのため、研磨装置2の位置、姿勢、および送り速度は、ロボット1の位置、姿勢、および送り速度から計算可能である。特に、回転工具4の先端の位置を、工具先端位置P2として示している。工具先端位置P2における位置、姿勢、および送り速度は、ロボット先端位置P1の情報に基づいて、ロボット1に対する研磨装置2の相対関係を反映する計算によって、得ることができる。
【0075】
研磨装置2は、筐体内にモータ31等が搭載されている。研磨装置2は、ロボット1の先端のリンクに対し、例えばエアチャックで接続・固定されている。主軸(電動スピンドル)である回転工具4の先端には、研磨ヘッドないし研磨チップ4bが固定されている。研磨ヘッドないし研磨チップ4bには、例えば円板形状のサンドペーパーが具備されている。研磨ヘッドないし研磨チップ4bは、回転工具4の回転に伴って回転する。研磨ヘッドないし研磨チップ4bは、対象物9であるワークピースの表面に接触する。対象物9であるワークピースは、作業台上のチャックに固定されている。ロボット1の先端の研磨装置2は、回転する回転工具4の先端の研磨ヘッドないし研磨チップ4bが、対象物9の表面に押し付けられながら回転し、これにより、対象物9の表面が研磨される。
【0076】
図2の下部には、研磨装置2を拡大して図示している。研磨装置2は、パラメータとして、図示のように、送り速度v、送り量d、研磨力f、回転数n等を有する。送り速度vは、ロボット1によって研磨装置2を対象物9の表面の方向に沿って送る際の速度である。送り量dは、送り速度vおよび回転数nと対応して、対象物9の表面の方向において、1回転あたりに送られる量である。回転数nは、回転工具4の主軸回転数である。
【0077】
エンドエフェクタ3は、回転工具4を並進および回転可能に支持している。エンドエフェクタ3は、モータ31によって、回転工具4を、対象物9の表面に押し付ける方向に駆動し、これにより研磨力fを生じさせる。
【0078】
実施の形態1のロボット研磨制御システムは、ロボットコントローラ100による制御に基づいて、ロボット1の研磨装置2によって、対象物9の表面を、CADモデル102に基づいた所定の制御された形状となるように研磨加工する。その際、本システムは、研磨装置コントローラ10による制御に基づいて、回転工具4の先端の位置(工具先端位置P2)における位置、姿勢、および送り速度vや送り量dが制御されるとともに、回転数nおよび研磨力fが連動して制御される。
【0079】
[ロボットおよび研磨装置(2)]
図3は、図2とも対応して、研磨装置2の回転工具4に関するパラメータや、制御量などを示す。回転工具4は、前述のように、研磨装置コントローラ10から、ドライバおよびエンドエフェクタ3を通じて、研磨力fおよび回転数nが制御される。図3では、対象物9の表面に対し回転工具4の先端の研磨ヘッドないし研磨チップ4bが押し付けられて回転する状態を模式で図示している。図示の矢印で示すように、対象物9の表面の方向などにおいて回転工具4による送り速度vが生じる。送り速度vと、回転あたりの送り量dとは対応関係を有する。また、回転工具4に対し加工面の法線方向に、回転工具4による研磨力fが生じる。詳しくは、対象物9の表面に対する回転工具4の姿勢等に応じて、対象物9の表面に対し法線方向に、回転工具4による研磨力fが生じる。加工面に対し回転工具4を斜めに傾けて研磨する場合もある。その場合には、研磨装置コントローラ10は、その傾きの角度に応じて、加工面に対する法線方向の研磨力に換算し、その研磨力が一定になるように制御する。上記のように加工面に対する法線方向と回転工具4である主軸の方向とが一致していない場合でも制御可能である。また、回転工具4である主軸を回転軸として回転数nによる回転が生じる。回転数nと回転速度とは対応関係を有する。
【0080】
また、図3の下部には、対象物9の表面における研磨加工のイメージ図において、制御対象のパラメータ、言い換えると制御量として、研磨に関する傷間隔(xとする)と、研磨に関する材料除去高さ(zとする)とを図示している。傷間隔xは、言い換えると、周期などであり、対象物9の表面の方向において生じる。材料除去高さzは、言い換えると、材料除去深さや除去量であり、対象物9の表面に対し深さ・高さ方向に生じる。
【0081】
傷間隔xの定義としては以下が挙げられる。図3のように、回転工具4の先端の接触点を含む、対象物9の表面に対応した平面を考える。その場合に、その平面において、一方向、例えば研磨のツールパスの方向(図6での工具送り方向)に対し、概略的に垂直な方向において、研磨による傷(言い換えると除去部分)の線が生じる。図3の下部ではその傷を曲線で図示している。そして、その一方向において、複数の傷における傷同士の間隔(それに対応する長さ等)を、傷間隔xとして定義できる。この傷間隔xは、回転あたりの送り量dと対応関係を有している。工具送り方向は、表面に対し回転工具4の先端の研磨ヘッドないし研磨チップ4bが移動する方向である。
【0082】
材料除去高さzの定義としては以下が挙げられる。回転工具4の先端の接触点を含む対象物9の表面に対応した平面を考える。その場合に、その平面に対する面垂直方向として回転工具4の先端が押し付けられる方向、例えば対象物9の材料の高さ方向や深さ方向において、研磨により除去される高さ(深さや量など)を、材料除去高さzとして定義できる。
【0083】
[基本構成-制御機能]
図4は、実施の形態1~3のロボット研磨制御方法およびシステムにおける、研磨装置コントローラ10による制御機能1000の基本構成を示す。各実施の形態1~3は、基本構成として、図4のような制御機能1000を共通に有している。
【0084】
図4の制御機能1000は、研磨装置コントローラ10のハードウェアおよびソフトウェアに基づいて実現される。実施の形態1~3では、図4の制御機能1000は、主にプロセッサによるプログラム処理によって実現される。
【0085】
図4の制御機能1000は、マクロ-ミクロシステムである図1のようなロボット1と研磨装置2とが接続されたシステムでの研磨加工に関して、プレストンの法則、およびプレストンの法則の拡張モデルに基づいた計算によって、研磨装置2の回転工具4の3つのパラメータ値として、研磨力f、回転数n、および送り速度v(図3)を同時に連動して制御する機能である。
【0086】
研磨装置コントローラ10は、ロボット1からのモニタ入力として、前述のロボット1の位置、姿勢、および送り速度に関する情報(リンク位置応答A4)を受信・入力する。また、研磨装置コントローラ10は、研磨装置2からのモニタ入力として、前述の回転工具4の回転数nに関する情報(回転数A8)や、モータ31の位置応答A10の情報を受信・入力する。
【0087】
研磨装置コントローラ10は、それらのモニタ入力情報等に基づいて、研磨装置2の回転工具4の先端(前述の工具先端位置P2)の位置、姿勢、および送り速度を計算して得る。また、研磨装置コントローラ10は、回転工具4の先端(前述の工具先端位置P2)の位置、姿勢、および送り速度と、拡張モデルの計算とに基づいて、回転工具4の先端による研磨加工に関する3つのパラメータ値を連動制御するように、それらの3つのパラメータ値として好適または最適な値を決定する。そして、研磨装置コントローラ10は、決定した3つのパラメータ値に対応した指令値を生成し、前述のドライバに出力する。
【0088】
上記計算の際に、研磨装置コントローラ10は、例えば傷間隔や除去量の制御における所望の制御量(言い換えると目標値、例えば一定値)に応じて、回転工具4の先端による研磨力f、回転数n、および送り速度vが、連動した好適または最適な値になるように、それらの3つのパラメータ値を決定する。
【0089】
実施の形態1~3の方法およびシステムは、研磨装置コントローラ10が上記のような基本構成の制御機能1000を有する。これにより、回転工具4に関する3つのパラメータ値を同時に連動して好適または最適な値に制御できるので、研磨加工の精度を高めることができる。
【0090】
図4では、マクロシステムであるロボット1から、ミクロシステムである研磨装置2に対し、矢印で示すように、直接的な制御として位置ベース制御が行われること、ロボット1の先端の位置等に基づいて、研磨装置2の回転工具4の先端の位置、姿勢、および送り速度vが得られることを表している。また、図4では、ロボット1および研磨装置2に対し設けられた研磨装置コントローラ10が、ロボット1からのモニタ入力、および研磨装置2からのモニタ入力に基づいて、拡張モデル等の計算を行い、回転工具4の3つのパラメータ値を連動制御することを表している。また、図4では、研磨装置コントローラ10が、計算処理結果として、連動制御に対応する指令値を、研磨装置2に対し出力すること、これにより、回転工具4による研磨力f、回転数n、および送り速度vが連動して制御されることを表している。また、図4で、ロボット1から研磨装置2への破線矢印は、研磨装置コントローラ10を介することで実現される連動制御および高速応答を示している。
【0091】
上記基本構成の制御機能1000に関して、回転工具4の3つのパラメータ値として研磨力f、回転数n、および送り速度vの連動制御の一例を簡単に述べれば以下の通りである。時系列上、制御時点として、例えば第1時点、第2時点、第3時点などを有するとする。時系列上で、1つのパラメータである送り速度vが、一定値として送り速度v1であるとする。この場合、コントローラ10は、拡張モデルの計算に基づいて、連動する他の2つのパラメータとして研磨力fと回転数nとの好適な値を計算して決定する。例えば、第1時点では、研磨力fの値がf1であり、回転数nの値がn1であるとする。研磨装置コントローラ10は、第1時点の値v1,f1,n1をモニタまたは計算する。
【0092】
次に、第2時点では、研磨力fが値f2に変動したとし、3つの値は値v1,f2,n1であるとする。研磨装置コントローラ10は、第2時点での値v1,f2,n1を用いて、拡張モデルの計算に基づいて、それらを連動させるように、次の第3時点での制御のための好適な回転数nの値n3を決定する。以降同様に、研磨装置コントローラ10は、所望の制御目標に応じて、各制御時点で、送り速度v、研磨力f、および回転数nを連動させて好適な値を決定し、フィードバック制御を行う。
【0093】
上記制御例は、先に研磨力fが決まり、次にその研磨力fに合わせて回転数nを決める例であるが、これに限らず、先に回転数nが決まり、次にその回転数nに合わせて研磨力fを決めるといったことも、同様に可能である。また、送り速度vが変化する場合にも、同様の制御が適用可能である。
【0094】
また、図4の下部には、研磨装置コントローラ10に対するユーザインタフェース2000を有する例も図示している。ユーザインタフェース2000は、研磨装置コントローラ10に対し外部接続される入出力装置(例えば表示装置)やコンピュータシステム(例えばクライアントPC)を用いて実現されてもよいし、研磨装置コントローラ10にそのユーザインタフェース2000を実現する入出力装置などが内蔵されていてもよい。図4のユーザインタフェース2000は、ユーザに対し、例えばGUI(グラフィカル・ユーザ・インタフェース)の画面を提供し、その画面で、ロボット構成情報2001、研磨装置構成情報2002、制御設定情報2003等を確認や設定可能とする。ユーザは、実施の形態のロボット研磨制御システムを使用する人である。画面は例えばWebページで実現されてもよい。
【0095】
ロボット構成情報2001は、ロボット1のリンクやアーム等の形状や構造の情報であり、前述のロボット先端位置P1の位置等の計算に必要な情報である。研磨装置構成情報2002は、研磨装置2の形状や構造の情報であり、前述の工具先端位置P2の位置等の計算に必要な情報である。
【0096】
なお、図4のようなロボット構成情報2001や研磨装置構成情報2002は、予め、本システムの設計の一部として内部に実装済みとしてもよい。例えば、制御機能1000を構成するコンピュータプログラムや回路等において、そのような構成情報が予め設定されていてもよい。その場合、ユーザは、ロボット構成情報2001や研磨装置構成情報2002を設定する必要は無い。ロボット1や研磨装置2の構成が変更され得るシステムの場合には、上記ユーザインタフェース2000を用いてその変更に対応可能である。
【0097】
制御設定情報2003は、研磨装置コントローラ10の制御機能1000による所望の制御の内容に関する設定情報であり、後述の傷間隔設定値xc(図8)や除去量設定値zc(図10)等が含まれる。ユーザは、ユーザインタフェース2000の画面に対する操作によって、制御設定情報2003等を確認し、ユーザ設定を行うことも可能である(後述の図7)。
【0098】
[プレストンの法則の拡張モデル]
図5を用いて、上記基本構成の制御機能1000等に関する、プレストンの法則およびその法則の拡張によるモデル(拡張モデル等と記載する場合がある)等について説明する。
【0099】
プレストンの法則は、光学レンズの研磨加工に関する経験則である。この法則では、材料除去高さz(図3)は、工具とワークピースとの間の圧力p、相対速度v、および加工時間tの積に比例する。図5の上部にはプレストンの法則を図示している。
【0100】
実施の形態1等では、相対速度vが比較的高速である金属の粗研磨などの研磨加工において、プレストンの法則の拡張モデルを導入・構築する。図5の下部には拡張モデルについて図示している。ここでは、指数を用いてプレストンの法則が拡張される。その拡張された関係や計算式は、式1で表される。式1で、Kは、プレストン係数である。α,β,γは、それぞれ、重み指数(拡張パラメータ)である。
【0101】
式1: z=Kαβγ
【0102】
プレストンの法則と、研磨ロボットの調整される加工条件とを対応させると、圧力pは研磨力fと比例関係があり、相対速度vは回転数nと比例関係があり、加工時間tは送り速度vと反比例関係がある。したがって、材料除去高さzとの関係は、式2で表される。
【0103】
式2: z=kfαβ(1/vγ
【0104】
式2から、対数を取ると、式3のように表される。式3でのkは、プレストン係数Kに対応する定数(拡張パラメータ)であり、K,F,N,Vは、k,f,n,vの対数である。
【0105】
式3: z=K+αF+βN-γV
【0106】
式3を行列式(Z=AX)で表現すると、図5の式4のようになる。式4で、nはサンプル数であり、線形回帰モデルにおいて、Zは目的変数、Xは説明変数、Aは回帰パラメータである。
【0107】
異なる4つ以上の加工条件でロボット研磨が行われ、材料除去高さzが測定される。その測定結果に基づいて、回帰パラメータAが推定される。これにより、拡張パラメータであるk,α,β,γが同定される。同定の式を、式5に示す。
【0108】
式5: A=(XX)-1
【0109】
本発明者は、金属平板を対象に、各加工条件を一定に調整するロボット研磨を行った。加工面形状としては16個のサンプルが用意された。本発明者は、この結果および式に基づいて、上記拡張パラメータを同定した。
【0110】
図6は、拡張パラメータの同定に関する説明図である。図6の上部には、対象物9の表面における研磨加工傷のイメージ図において、例えば3本(#1~#3)の研磨加工傷のサンプルや、工具送り方向、除去深さ方向、および測定方向を示している。
【0111】
図6中の表は、サンプル数値例と拡張パラメータの同定結果を示している。#1~#16の16個のサンプルにおけるf,n,v,zの値から、拡張パラメータk,α,β,γの値が得られた。
【0112】
上記プレストンの法則の拡張の結果、マクロシステムであるロボット1の条件・状態として前述の位置、姿勢、および送り速度、特に送り速度に基づいて、ミクロシステムである研磨装置2の3つのパラメータとして前述の研磨力f、回転数n、および送り速度v、特に回転工具4の先端の研磨力fおよび回転数nを、連動して同時に制御するための計算式などが得られた。
【0113】
実施の形態1~3では、研磨装置コントローラ10は、上記拡張モデルの計算式に基づいて、ロボット1の送り速度に応じて、研磨装置2の回転工具4の研磨力fおよび回転数nに関する指令値を連動させるように、計算および制御を行う。後述の実施の形態1での制御機能1001(図8)では、研磨の傷間隔が所望の量になるように、ロボット1の送り速度に応じて、研磨装置2の回転工具4の研磨力fおよび回転数nを連動して最適な値に制御するフィードバック制御が行われる。後述の実施の形態2での制御機能1002(図10)では、研磨の材料除去量が所望の量になるように、ロボット1の送り速度に応じて、研磨装置2の回転工具4の研磨力fおよび回転数nを連動して最適な値に制御するフィードバック制御が行われる。
【0114】
実施の形態1では、回転数nは、異なる送り速度に対しても1回転あたりの送り量dが等しくなるように設定される(図8の制御機能1001)。そのように設定する場合の回転数nの指令値ncmdに関する式は、式6で表される。v resは、送り速度vの応答値、dcmdは、送り量dの指令値である。
【0115】
式6: ncmd=v res/dcmd
【0116】
実施の形態2では、研磨力fは、異なる送り速度と連動した回転数nに対しても材料除去高さzが等しくなるように設定される(図10の制御機能1002)。そのように設定する場合の式は、式7で表される。Fcmdは、研磨力Fの指令値である。Zcmdは、材料除去高さZの指令値である。Ncmdは、回転数Nの指令値である。V resは、送り速度Vの応答値である。
【0117】
式7: Fcmd=(Zcmd-K-βNcmd+γV res)/α
【0118】
[実験]
本発明者は、上記拡張モデルを用いた方法およびシステムで、実際に、金属平板を対象に、ロボット研磨の実験を行った。
【0119】
図16は、その実験例における加工条件や結果を示す。実験結果として、図16の1番上のグラフは、横軸が時間[秒]、縦軸が回転数n[min-1]や送り速度v[mm/s]である。2番目のグラフは、横軸が時間[秒]、縦軸が研磨力[N](指令値と応答値)である。図16中の表には、送り速度v、回転数nの指令値ncmd、研磨力fの指令値fcmd、送り量dの指令値dcmd、材料除去高さzの指令値zcmdを示している。例えば、回転あたりの送り量dcmdを30μmとし、材料除去高さzcmdを15μmとし、送り速度v res(V cmd)を、3.0,4.5,5.0mm/sの3段階とした。
【0120】
図示のように、3段階の異なる送り速度vの各時間内において、回転数nおよび研磨力fが一定値になるように制御されている。ロボット1の送り速度に応じて、各研磨加工条件(パラメータ)の指令値が連動し、応答(回転数nおよび研磨力f)が追従していることが確認された。例えば、第1段階の送り速度v=3.0mm/sの時間では、回転数nが6000 min-1、研磨力fが1.52Nとなっており、第2段階の送り速度v=4.5mm/sの時間では、回転数nが9000 min-1、研磨力fが1.03Nとなっており、第3段階の送り速度v=6.0mm/sの時間では、回転数nが12000 min-1、研磨力fが0.78Nとなっている。それらの各送り速度vの時間では、いずれも、送り量dが30μm、除去量zが15μmといったように同じになっている。この結果は、図3の傷間隔xおよび材料除去高さzが一定に維持されることを表しており、すなわち、実施の形態1~3による効果を表している。
【0121】
また、図17は、(A)に、上記実験に対応する材料除去高さzの測定結果を示し、(B)には、対比で、比較例の方式による材料除去高さzの測定結果を示している。本発明者は、図6および図16のような3種類の送り速度v{3.0,4.5,5.0mm/s}での3つの研磨箇所について、それぞれ測定方向での材料除去高さzを測定した。(A)のグラフは、横軸が測定方向での位置[mm]、縦軸が材料除去高さz[μm]であり、連動制御の指令値により得られた結果として、送り速度vごとの材料除去高さzの測定値を示している。
【0122】
(B)のグラフは、縦軸・横軸が(A)と同様であり、比較例での一定制御の指令値により得られた結果を示している。比較例での一定制御は、異なる送り速度v(例えば3段階)に対し、いずれも、研磨力fおよび回転数nの指令値を同じ一定値に制御する場合を示している。
【0123】
(B)の比較例の場合では、3段階の送り速度vに対応した3本の研磨加工傷(図6)において、グラフの矢印で示すように、材料除去高さzが増加するように変化しており、すなわち、均一な研磨加工が実現できていない。それに対し、(A)の実施の形態の場合では、3段階の送り速度vに対応した3本の研磨加工傷(図6)において、グラフの矢印で示すように、材料除去高さzが略一定となっており、送り速度vごとの材料除去高さzの測定値が概ね一致していることが確認された。すなわち、実施の形態のロボット研磨制御方法等によれば、均一な研磨加工が実現できる。
【0124】
また、図18は、ワークピース表面の研磨加工の結果の例を示す。図18の(A)は、図17の(B)の比較例による結果を示し、図18の(B)は、図17の(A)の実施の形態(特に後述の実施の形態3の制御機能1003)の方法による結果を示している。図18の(A)および(B)では、それぞれ、上記3段階の送り速度に応じて研磨加工された部分を拡大で図示している。図18の(A)の比較例に対し、(B)の実施の形態の方法によれば、ワークピース表面において、傷間隔および除去量が、より均一になっている。これにより、表面品位および形状精度が向上できることが確認された。
【0125】
[画面例]
図7は、実施の形態1~3で適用可能であるユーザインタフェース2000(図4)の例として、研磨装置コントローラ10に対する入出力装置による表示画面において特有のGUIを含む画面を表示する例を示す。図7の画面では、図4のロボット構成情報2001、研磨装置構成情報2002、制御設定情報2003等を表示する、欄701,702,703を有し、これらの欄でユーザによる確認や設定が可能である。欄701には、ロボット構成情報2001の内容が表示され、確認および設定が可能である。欄702には、研磨装置構成情報2002の内容が表示され、確認および設定が可能である。欄703には、制御設定情報2003の内容が表示され、確認および設定が可能である。
【0126】
図7の画面例では、欄703の制御設定情報2003については、特に実施の形態3の制御機能1003(後述の図12)に対応する場合を示している。欄703では、実施の形態1の傷間隔制御機能1001についての適用のオン/オフを選択して設定可能となっており、制御量となる傷間隔設定値xc(図8)についても設定可能となっている。また、欄703では、実施の形態2の除去量制御機能1002についての適用のオン/オフを選択して設定可能となっており、制御量となる除去量設定値zc(図10)についても設定可能となっている。設定値は、一定値とする場合の値を入力可能である他に、設定ファイルを参照する等して、可変値(例えば線形関数など)も設定可能となっている。設定ファイルは、例えば制御量を表す関数、あるいはプログラムや計算式などが定義されているファイルである。
【0127】
実施の形態1等のロボット研磨制御システムでは、上記ユーザインタフェース2000の画面のGUIを用いて、ユーザが、傷間隔制御や除去量制御を適用するかどうかを設定でき、また、その際の制御量についても一定値にするか可変値にするか等を自由に設定可能である。これにより、多様な研磨加工が実現できる。例えば、粗研磨の場合には、傷間隔が比較的広く、除去量も比較的大きく設定でき、仕上げ研磨の場合には、傷間隔が比較的狭く、除去量も比較的小さく設定できる。
【0128】
[実施の形態1-傷間隔制御機能]
図8は、実施の形態1で、研磨装置コントローラ10による制御機能1000のうちの研磨傷間隔制御機能1001の構成を示す。図8では、図4と同様に、ロボット1と研磨装置2に対する研磨装置コントローラ10の研磨傷間隔制御機能1001の概念を図示している。
【0129】
実施の形態1のロボット研磨制御システムおよび方法は、前述の拡張モデルとして、研磨傷間隔を制御するためのモデル(傷間隔モデルとも記載する)を構築し、この傷間隔モデルに基づいて、研磨傷間隔の予測などを可能とする。研磨装置コントローラ10の制御機能1001は、この傷間隔モデルに基づいて、研磨の傷間隔を所望の量(例えば一定値)に制御するように、研磨装置2の回転工具4の3つのパラメータ値として、研磨力f、回転数n、および送り速度vの連動制御を行う。
【0130】
実施の形態1のロボット研磨制御システムおよび方法では、研磨装置コントローラ10は、ロボット1の送り速度に対応させた回転工具4の送り速度に応じて、研磨の傷間隔が、例えば一定値に制御されるように、研磨装置2の回転工具4の研磨力fと回転数nとを同期して最適な値に決定して、フィードバック制御を行う。上記傷間隔の制御の量である例えば一定値は、傷間隔設定値xcとして設定されており、研磨装置コントローラ10は、その設定値を参照する。
【0131】
実施の形態1での研磨装置コントローラ10は、制御機能1001による連動制御として、回転工具4の先端による対象物9の表面の対象箇所の研磨に関して、時系列上で、対象の時間に、研磨の傷間隔x(図3)が一定値となるように、研磨装置2の回転工具4による研磨力f、回転数n、および送り速度vの3つのパラメータ値を連動させて最適な値を決定する。その際、研磨装置コントローラ10は、拡張モデルの計算に基づいて、傷間隔を制御目標値として一定値にするための3つのパラメータ値を決定し、フィードバック制御を研磨装置2に対し行う。この制御機能1001により、研磨の傷間隔を例えば一定にできるので、表面品位を従来技術例よりも高めることができる。
【0132】
実施の形態1で、研磨装置2の回転工具4の先端の送り速度は、ロボット1の先端の送り速度に応じて決定され、例えばそれらが殆ど同じ値として決定される。回転工具4の回転数n(およびそれに対応する回転速度)は、研磨装置コントローラ10による拡張モデル計算に基づいて決定され、研磨装置コントローラ10からの回転指令A7による制御に基づいて、回転工具ドライバ52による回転工具4の駆動として調整される。回転工具4の研磨力fは、研磨装置コントローラ10からの電流参照値A6による制御に基づいて、エンドエフェクタ3によるモータ31の駆動として調整される。
【0133】
研磨力fは、後述のオブザーバを用いた推定に基づいて制御される。そのため、研磨装置2を含む制御系には力センサを具備する必要が無く、センサレスの研磨モジュールおよびシステムが実現できる。
【0134】
具体的に、実施の形態1では、ロボット1の位置ベース制御に基づいて、ロボット1の先端(図2のロボット先端位置P1)の位置、姿勢、および送り速度が決まり、そのロボット1の送り速度等に応じて、回転工具4の先端(図2の工具先端位置P2)の位置、姿勢、および送り速度が決まる。よって、研磨装置コントローラ10は、回転工具4の送り速度v以外の2つのパラメータ値である研磨力fと回転数nとを、連動させて決定する。特に、実施の形態1での制御機能1001では、研磨装置コントローラ10は、変動し得る、異なる送り速度vに対し、1回転あたりの送り量dが等しくなるように、最適な回転数nを決定する。
【0135】
研磨装置コントローラ10の制御機能1001は、モニタ入力情報として、ロボットコントローラ100からのリンク位置応答A4と、研磨装置2の回転工具4からの回転数A8やエンドエフェクタ3からの位置応答A10とを得る。
【0136】
研磨装置コントローラ10は、前述の拡張モデルの計算(特に図5の式6)に基づいて、ロボット1の送り速度に応じた連動制御として、回転工具4の3つのパラメータ値(図3)のうち、傷間隔xを一定値に制御するための回転数nを決定する。その際、研磨装置コントローラ10は、回転工具4の送り速度vと、傷間隔設定値xcとから、その回転数nを計算する。実施の形態1での傷間隔一定制御の場合には、具体的に、図5の式6に基づいて、回転数nは、送り速度vと送り量dとから得られる。すなわち、送り速度vの応答値を送り量dの指令値によって除算することで、回転数nの指令値が得られる。
【0137】
また、研磨装置コントローラ10は、上記計算で得た送り速度vと回転数nとから、それらに連動させる研磨力fを計算して決定する。
【0138】
研磨装置コントローラ10は、上記計算によって得た回転数nと研磨力fとに対応したそれぞれの指令値として回転指令A5と電流参照値A6を生成し、それぞれ対応するドライバとして回転工具ドライバ52とエンドエフェクタドライバ51に出力する。回転工具ドライバ52は、その回転指令A5に従って、例えば電流A7の制御によって、回転工具4を駆動する。エンドエフェクタドライバ51は、基準電流となる電流参照値A6に従って、電流A9の制御によって、モータ31を駆動する。
【0139】
傷間隔xの制御量(なおフィードバック制御量(差分)ではなく目標値)は、一定値に限らずに、可能な範囲内で任意の設定値として設定可能である。実施の形態1では、研磨装置コントローラ10に対し、この傷間隔xの設定値xcを可変値として指定・設定することで、時系列上で傷間隔xを可変制御することも可能である。
【0140】
[実施の形態1-機能ブロック]
図9は、実施の形態1の研磨装置コントローラ10の傷間隔制御機能1001に関する機能ブロック構成例を示す。図9で、研磨装置コントローラ10は、機能ブロックとして、ロボットモニタ部111、研磨装置モニタ部112、工具先端位置計算部113、オブザーバ(反力推定オブザーバ)114、拡張モデル計算部115、傷間隔制御部116A、回転数制御部117、研磨力制御部118、および傷間隔制御量設定部119を有する。
【0141】
ロボットモニタ部111は、ロボット1から所定の情報として前述のリンク位置応答A4をモニタとして入力・受信する。ロボットモニタ部111は、ロボットコントローラ100との間の所定の通信インタフェースで通信によりモニタを行う。
【0142】
研磨装置モニタ部112は、研磨装置2から所定の情報として前述の回転数A8および位置応答A10をモニタとして入力・受信する。研磨装置モニタ部112は、研磨装置2やドライバとの間の所定の通信インタフェースで通信によりモニタを行う。
【0143】
なお、モニタの詳細として、1つの方式は、予めの設定に基づいて、例えばロボットコントローラ100から研磨装置コントローラ10への一方向のみでモニタ情報を送受信する方式としてもよい。他の方式は、両方向で送受信する方式であり、例えば研磨装置コントローラ10からロボットコントローラ100への方向でモニタ要求を送信し、ロボットコントローラ100から研磨装置コントローラ10への方向でモニタ応答を送信する、といった方式でもよい。
【0144】
なお、研磨装置コントローラ10による各部へのモニタのタイミング、周期についても、本システムで例えばユーザインタフェース2000を用いて設定可能としてもよい。
【0145】
工具先端位置計算部113は、ロボット1からのモニタ入力情報、ロボット構成情報2001、および研磨装置構成情報2002(図4)等に基づいて、ロボット1の先端(図2のロボット先端位置P1)での位置、姿勢、および送り速度から、回転工具4の先端(図2の工具先端位置P2)での位置、姿勢、および送り速度を計算する。
【0146】
オブザーバ(反力推定オブザーバ)114は、研磨装置2からのモニタ入力情報(位置応答A10)および電流参照値A6等に基づいて、回転工具4による研磨力f(反力)を推定する。なお、研磨力制御部118とオブザーバ114とを一体にした構成などとしてもよい。
【0147】
拡張モデル計算部115は、図5のようなプレストンの法則および拡張モデルに基づいた計算を行う機能を有する。拡張モデル計算部115は、傷間隔制御部116Aを有している。傷間隔制御部116Aは、図8の傷間隔制御機能1001に関する主な制御処理を行う部分である。
【0148】
傷間隔制御部116Aは、工具先端位置計算部113の計算結果情報や、オブザーバ114の計算結果情報を入力し、また、傷間隔制御量設定部119Aに設定されている傷間隔設定値xcを参照する。傷間隔制御部116Aは、入力情報に対し、拡張モデル計算に基づいて、所望の傷間隔制御量(傷間隔設定値xc)に対応した傷間隔の制御のための、3つのパラメータ値を決定する。言い換えると、傷間隔制御部116Aは、拡張モデルを満足するように、所望の傷間隔制御のための3つのパラメータ値として、回転工具4の研磨力f、回転数n、および送り速度vを、連動させて決定する。
【0149】
回転数制御部117は、傷間隔制御部116Aで決定された回転数nに従って、回転工具4に関する回転数nの指令値を生成し、その指令値(回転指令A5)を、回転工具ドライバ52に出力・供給する。
【0150】
研磨力制御部118は、傷間隔制御部116Aで決定された研磨力fに従って、回転工具4に関する研磨力fの指令値を生成し、その指令値(電流参照値A6)を、エンドエフェクタドライバ51に出力・供給する。
【0151】
傷間隔制御量設定部119は、ユーザの所望の傷間隔制御のための制御量、例えば一定値などの傷間隔設定値xcを設定し、保持する。設定は、前述のユーザインタフェース2000を利用できる。
【0152】
[実施の形態1-信号の流れ]
図1図8図9等を用いて、実施の形態1での研磨装置コントローラ10および研磨装置2に対する信号・情報の入出力や流れ、機能ブロック間の処理シーケンス等について説明する。まず、研磨装置コントローラ10は、予め、ロボット1の構成を表す情報(図4のロボット構成情報2001)や、研磨装置2の構成を表す情報(図4の研磨装置構成情報2002)を自身に入力・設定しておく。例えば、図4のユーザインタフェース2000を用いて、ユーザにより、研磨装置コントローラ10に、それらの情報が入力・設定されてもよい。
【0153】
ロボット構成情報2001は、ロボット1のリンク情報(前述の各リンクの回転角度範囲、アーム等の各部位の長さ等の情報)を含む。研磨装置構成情報2002は、研磨装置2のエンドエフェクタ3や回転工具4の構造、形状、サイズ等の情報を含む。これらの情報は、図2のロボット先端位置P1から工具先端位置P2を計算する際にも用いられる。
【0154】
また、研磨装置コントローラ10は、予め、研磨加工制御に関する制御設定情報(図4の制御設定情報2003)を自身に入力・設定しておく。図9の実施の形態1の場合では、傷間隔制御量設定部119には、傷間隔を例えば一定値に制御する場合の傷間隔制御量として傷間隔設定値xcが予め設定される。
【0155】
図1のロボットCAM101は、対象物9の研磨加工形状などに基づいて、ロボット1の動きのツールパス等を決定し、その動きを表す動作ファイル(図1でのロボット動作指令A1)をロボットコントローラ100に送信、アップロード等する。ロボットコントローラ100は、その動作ファイルに基づいて、ロボット1に対する動作指令(リンク位置指令A2)を生成して送信し、ロボット1からは動作の応答値(リンク位置応答A3)を受信する。
【0156】
一方、ロボットコントローラ100は、研磨装置コントローラ10に、ロボット1の動作や状態を表すロボット情報(リンク位置応答A4)を送信する。このロボット情報には、ロボット1との入出力情報(リンク位置指令A2,リンク位置応答A3)に基づいた、ロボット1の各リンクの角度情報(水平、上下、軸周り等の角度)などが含まれている。このロボット情報の送信は、例えば1m秒ごとに行われる。言い換えると、研磨装置コントローラ10(図9のロボットモニタ部111)は、モニタとして、ロボットコントローラ100から、そのタイミングで、そのロボット情報(リンク位置応答A4)を受信・取得する。
【0157】
研磨装置コントローラ10(図9の工具先端位置計算部113)は、上記構成情報やモニタ入力情報に基づいて、研磨装置2の回転工具4の先端(工具先端位置P2)における位置、姿勢、および送り速度を計算する。
【0158】
また、研磨装置コントローラ10(図9の研磨装置モニタ部112)は、モニタとして、研磨装置2から、測定された回転工具4の回転数nを表す情報(回転数A8)と、モータ31(VCM)の位置応答A10とを受信・入力して、情報を読み取る。これらの回転数A8および位置応答A10の情報の送受信は、例えば0.2m秒ごとに行われる。
【0159】
実施の形態1等のロボット研磨制御システムは、研磨装置2の高い応答性を有するシステムとするため、上記マクロ側のロボット1との間でのロボット情報(リンク位置応答A4)の送受信と、ミクロ側の研磨装置2との間での回転数A8および位置応答A10の情報の送受信とは、前者よりも後者の方が、高速応答、短い周期、高い頻度で行われる。
【0160】
研磨装置コントローラ10は、モニタ入力情報等に基づいて、反力推定オブザーバ114を用いて、研磨装置2の回転工具4による研磨力f(言い換えると反力、圧力、押し付け力)を推定する計算を行う。オブザーバ114の計算に必要な情報は、上記電流参照値A6および位置応答A10の情報であり、これらの2つの情報から、研磨力fが推定可能である。上記オブザーバ114を用いる形態の場合には、研磨装置2に力センサなどを具備する必要が無い。
【0161】
研磨装置コントローラ10(図9の拡張モデル計算部115)は、上記で得られた情報、すなわち、回転工具4の先端の位置、姿勢、および送り速度と、回転数A8と、推定された研磨力fとに基づいて、制御量を計算する。実施の形態1の場合、特に傷間隔制御部116は、上記情報、および傷間隔設定値xcに基づいて、傷間隔を一定値に制御するための制御量としての回転数nを、拡張モデル計算によって決定する。この制御量としての回転数nは、回転工具4に対し次のタイミングで新たに指令するための値であり、言い換えると、回転数nに関するフィードバック制御における制御量である。
【0162】
なお、実施の形態1での制御機能1001のみの場合、すなわち傷間隔を一定に制御するのみでいい場合には、ロボット1の送り速度に対し回転工具4の送り速度を同じとして、その送り速度に応じて、回転数nのみを適切な値に制御すれば、傷間隔を一定にすることができる。この計算は、図5の式6に基づいて実現できる。
【0163】
研磨装置コントローラ10は、上記決定した新たな回転数nに基づいて、図9の回転数制御部117によって、回転工具ドライバ52に対し、回転数nの指令値(回転指令A5)を送信する。回転工具ドライバ52は、その指令値(回転指令A5)に従って、駆動信号(電流A7)を回転工具4に供給する。回転工具4は、その駆動信号に従って、指定された回転数nとなるように回転駆動される。
【0164】
また、研磨装置コントローラ10は、上記決定した回転数nに対応して決定された研磨力fに基づいて、図9の研磨力制御部118によって、エンドエフェクタドライバ51に対し、研磨力fの指令値(電流参照値A6)を送信する。エンドエフェクタドライバ51は、その研磨力fの指令値(電流参照値A6)に従って、駆動信号(電流A9)をエンドエフェクタ3のモータ31に供給する。モータ31は、その駆動信号に従って、指定された研磨力fとなるように回転工具4を駆動する。
【0165】
上記回転数nの駆動制御(回転指令A5,電流A7)と、研磨力fの駆動制御(電流参照値A6,電流A9)とは、所定のタイミング、例えば0.2m秒ごとに行われる。
【0166】
なお、研磨装置コントローラ10(例えば工具先端位置計算部113またはオブザーバ114)は、ロボット1の先端からの研磨装置2の重力や姿勢を考慮した重力補償として、回転工具4の先端の位置、姿勢、および送り速度や、研磨力fを、高精度に計算する機能も有している。このような重力補償機能を備えることがより望ましい。回転工具4の先端と対象物9の加工面との間の接触状態に関しても、この重量補償機能を用いて、より高精度に計算可能である。
【0167】
[実施の形態1の効果等]
以上説明したように、実施の形態1のロボット研磨制御方法およびシステムによれば、研磨装置コントローラ10を設けることで、マクロシステムであるロボット1の制御とミクロシステムである研磨装置2の制御とを連動させる。この方法およびシステムによれば、研磨に関するプレストンの法則における、力、速度、および時間の3つのパラメータ値のすべてを、好適に制御できる。すなわち、この方法およびシステムによれば、プレストンの法則に基づいた新たな拡張モデルに基づいて、回転工具に関する3つのパラメータ値として、研磨力、回転数、および送り速度のすべてを、同時に連動させて、好適または最適な値を決定して、アクティブに制御することができる。これにより、例えば研磨の傷間隔を一定にする制御などを実現でき、研磨の表面品位を高めることができる。
【0168】
実施の形態1のロボット研磨制御方法およびシステムによれば、制御の設定に基づいて、ロボット研磨による傷間隔が一定になるように制御でき、また、傷間隔を所望の制御量(例えば可変値)として自由に制御することもできる。これにより、多様な研磨も可能となる。
【0169】
[入出力インタフェースやパラメータ項目について]
実施の形態1等における研磨装置コントローラ10と研磨装置2やロボット1との入出力インタフェースやパラメータ項目などについて補足説明する。まず、実施の形態1等での研磨装置2に対する入出力のパラメータ項目は、従来の研磨装置の入出力のパラメータ項目と同様とすることができる。すなわち、実施の形態1等での研磨装置2は、新規の研磨装置コントローラ10に合わせた特別な実装は不要である。
【0170】
実施の形態1等で、研磨装置2に対する入出力は、主軸である回転工具4では、入力が、回転指令の電流A7(図1)であり、出力が、回転工具4に備えるエンコーダ(ロータリーエンコーダ)により検出できる回転数A8である(図1)。また、研磨装置2では、アクチュエータであるモータ31での入力が、研磨力fの制御のための電流参照値A6(電流A9)であり、出力が、位置応答A10である。
【0171】
よって、実施の形態1等では、研磨装置2は、従来に対し異なる入出力パラメータ項目を用いるわけではなく、従来と同様の研磨モジュールも適用可能となる。実施の形態1等で示すロボット研磨制御システムの導入にあたって、研磨装置2自体に特別な実装は必要無いため、従来のエンドユーザ環境と親和性が高く、導入が容易であるという利点もある。
【0172】
なお、勿論、変形例としては、研磨装置2は、新規の研磨装置コントローラ10に合わせた機能(一例としてはモニタや設定等に関する機能)を実装した新規の研磨装置2を適用しても構わない。
【0173】
研磨装置コントローラ10からみると、研磨装置コントローラ10は、ロボット1や研磨装置2から、モニタとして、既存の入出力インタフェースを通じて、従来から存在するパラメータ項目の出力値を、入力値として入力・受信する。これにより、研磨装置コントローラ10は、この入力値に基づいて、ロボット1や研磨装置2の状態を把握し、拡張モデルに基づいた特有の計算を行う。
【0174】
実施の形態1等では、研磨装置コントローラ10からの出力としては、拡張モデルに基づいた特有の計算の結果としての、特有の出力値として、回転数nや研磨力fの指令値が出力される。そして、ドライバ(51,52)を通じて、それらに対応した信号が、研磨装置2のエンドエフェクタ3や回転工具4に入力値として入力される。これにより、研磨装置2での特有の研磨動作として、研磨力f、回転数n、および送り速度vの値が連動した動作が実現される。
【0175】
なお、図1の実施の形態1のロボット研磨制御システムでは、ロボット1のロボットコントローラ100と研磨装置コントローラ10との間の入出力インタフェースとしては、ロボットコントローラ100から研磨装置コントローラ10への一方向の矢印での入出力として図示している。すなわち、研磨装置コントローラ10は、ロボット1からの必要な情報のモニタ入力のみでよく、研磨装置コントローラ10からロボットコントローラ100への何らかの出力は必要ではない。例えば、研磨装置コントローラ10からロボットコントローラ100へ何かの情報をフィードバックし、ロボットコントローラ100からロボット1へ動作の補正を行うといったことは必要ではない。
【0176】
なお、変形例としては、上記一方向の入出力に加えて、研磨装置コントローラ10からロボットコントローラ100への何らかのフィードバック等の情報の出力を行ってもよい。一例としては、研磨装置コントローラ10は、研磨装置2に対し出力した回転数nや研磨力fの情報と同様の情報を、ロボットコントローラ100へ出力してもよい。
【0177】
また、実施の形態1等のシステムは、ロボット1の先端に研磨装置2が保持されて回転工具4の先端により対象物9を研磨するロボット研磨システムである。このシステム構成の場合、パラメータ情報としては、前述のように、ロボット1の先端での位置、姿勢、および送り速度だけでなく、研磨装置2の回転工具4の先端の位置、姿勢、研磨力f、回転数n、および送り速度vなどがある。また、他のパラメータ情報としては、ロボット1の位置・姿勢に応じた研磨装置2の重力情報や、回転工具4の先端の推定摩耗量なども挙げられる。研磨装置コントローラ10は、そのような重力情報や推定摩耗量なども用いて、回転工具4のパラメータ値の計算を行うことで、より高精度の研磨を実現できる。
【0178】
実施の形態1等のシステムでの研磨装置コントローラ10は、ロボット1のモニタ値に基づいてロボット1の位置、姿勢、および送り速度を把握し、研磨装置2のモニタ値に基づいて、研磨装置2の研磨力fや回転数nを把握・計算する。そして、研磨装置コントローラ10は、ある制御時点で把握したそれらのパラメータ値を用いた拡張モデル計算に基づいて、次の制御時点での所望の制御(例えば傷間隔一定制御)のための、回転工具4の先端の位置、姿勢、送り速度、研磨力fおよび回転数nを計算する。具体的には、ロボット1の送り速度に対応した回転工具4の送り速度に応じて、研磨力fおよび回転数nが連動して決定される。
【0179】
また、実施の形態1等のロボット研磨制御システムは、エンドエフェクタ3および回転工具4を有する研磨装置2と、研磨装置2を制御する研磨装置コントローラ10とを備えるシステムである。このエンドエフェクタ3は、マクロシステムであるロボット1に対し、素早い力制御、言い換えると高い応答性を実現するための、研磨力fを制御可能なエンドエフェクタである。なお、実施の形態1の場合、すなわち傷間隔制御のみの場合では、研磨装置2にはエンドエフェクタ3の具備は必須ではない。実施の形態2の場合、すなわち除去量制御を行う場合では、研磨装置2に具備されたエンドエフェクタ3が利用される。ミクロシステムである研磨装置2は、特に実施の形態2では、研磨力制御と回転数制御とを両立できるエンドエフェクタ3を有するモジュールとされる。
【0180】
実施の形態1等の方法やシステムは、前述のように、研磨装置コントローラ10によって連動制御の計算を行う構成であるため、研磨装置2に力センサ等を具備することは必須では無い。研磨装置コントローラ10は、研磨力fの推定を含む計算を行い、その推定された研磨力fに基づいた連動制御を行う構成であるため、これにより、素早い力加減の制御が実現できる。
【0181】
実施の形態1の例(図8)では、傷間隔xを一定に制御する場合を説明したが、これに限定されない。研磨の際に、ある時間において傷間隔を一定に制御できれば、基本的には十分である。しかしながら、これに限らず、研磨の際に、ある時間において傷間隔を任意の設定した可変値、例えば関数(例えば線形関数)などに沿うように制御する形態も、同様に実現できる。
【0182】
[研磨装置の応答性について]
実施の形態1のロボット研磨制御方法およびシステムによれば、研磨装置コントローラ10を介在することで、マクロシステムであるロボット1に対する、ミクロシステムである研磨装置2の高い応答性を実現し、その高速応答性に基づいて、マクロ-ミクロシステムの連動制御での高精度な研磨加工を実現できる。
【0183】
実施の形態1等の方法およびシステムでは、マクロシステムであるロボット1に対し、ミクロシステムである研磨装置2が、より高い応答性(例えば前述の入出力の周期)を有する構成とし、これにより、素早い力加減制御や回転数制御を実現する構成とした。なお、応答性は、例えばサンプリング周期などで表現・定義できる。実施の形態1等で示したように、マクロシステムであるロボット1よりもミクロシステムである研磨装置2の応答性を高くした構成が好ましい。一例として、ロボット1側の応答性を1ミリ秒とすると、研磨装置2側の応答性を0.2ミリ秒(200マイクロ秒)とする。
【0184】
<実施の形態2>
図10および図11を用いて、実施の形態2のロボット研磨制御システムおよび方法について説明する。実施の形態2等の基本的な構成は実施の形態1と同様・共通であり、以下では、実施の形態2等における実施の形態1とは異なる構成部分について主に説明する。
【0185】
実施の形態2のロボット研磨制御システムおよび方法は、研磨の際の材料除去量が所望の量、例えば一定値になるように、研磨装置コントローラ10から研磨装置2を制御する機能(図10での研磨除去量制御機能1002)を有するシステムおよび方法である。
【0186】
実施の形態2のロボット研磨制御方法は、ロボット1の先端に接続された研磨装置2を制御する研磨装置コントローラ10によって実行されるステップを有する方法である。研磨装置2は、ロボット1の先端に接続され研磨力fが制御されるエンドエフェクタ3と、エンドエフェクタ3に接続され回転数nが制御される回転工具4とを有し、回転工具4の先端によって対象物9を研磨する装置である。
【0187】
実施の形態2のロボット研磨制御方法は、研磨装置コントローラ10が、ロボット1の位置、姿勢および送り速度に関する情報を受信するステップと、研磨装置コントローラ10が、受信した情報(ロボット1の位置、姿勢および送り速度)に基づいて研磨装置2の回転工具4の先端の位置、姿勢、および速度を計算するステップと、研磨装置コントローラ10が、計算したパラメータ値(回転工具4の先端の位置、姿勢、および速度)に基づいて、および、プレストンの法則の拡張モデルによる、回転工具4による研磨力f、回転数n、および送り速度vを連動して制御するための計算に基づいて、研磨の材料除去量z(図3)が所望の量(例えば一定値)となることを目標とするフィードバック制御として、エンドエフェクタ3による研磨力fを制御するステップと、を有する。
【0188】
実施の形態2では、研磨除去量制御機能1002のために、研磨装置2は、研磨力fが制御されるエンドエフェクタ3を備える。また、実施の形態2では、研磨装置2の回転工具4の回転数nの制御については、エンドエフェクタ3によって回転工具4の回転数nを制御する構成としてもよいが、これには限られない。実施の形態2での材料除去量zの一定制御のみでいい場合には、研磨装置2の状態のモニタとしては、少なくとも回転数nがモニタできればよい。すなわち、実施の形態2での研磨装置2の回転工具4は、研磨コントローラ10によって回転数nをモニタできる工具であればよい。
【0189】
実施の形態2での研磨除去量制御機能1002では、回転工具4の研磨力f、回転数nおよび送り速度vの3つのパラメータのうち、回転数nについてはモニタ入力情報として使用し、研磨装置コントローラ10は、回転工具4の送り速度vに応じて、材料除去量zが例えば一定となるように、エンドエフェクタ3による研磨力fを連動して制御すればよい。
【0190】
[実施の形態2-除去量制御機能]
図10は、実施の形態2のロボット研磨制御方法およびシステムにおける研磨装置コントローラ10による研磨除去量制御機能1002の構成を図8と同様に示している。
【0191】
実施の形態2のロボット研磨制御方法およびシステムは、拡張モデルとして、研磨の材料除去量z(図3)を制御するためのモデル(材料除去量モデルとも記載する)を構築する。この方法およびシステムは、この拡張モデルに基づいて、材料除去量zの予測を可能とする。研磨装置コントローラ10は、材料除去量zを所望の量、例えば一定値に制御するように、研磨装置2の回転工具4の3つのパラメータ値として、研磨力f、回転数n、および送り速度vの連動制御を実現する。この連動制御は、例えば、回転工具4の先端によるワークピース表面の研磨に関して、時系列上で、材料除去量zが例えば一定となるように、研磨装置2の回転工具4の研磨力f、回転数n、および送り速度vの3つのパラメータ値の好適または最適な値を決定することである。これにより、研磨の形状精度を従来技術例よりも高めることができる。
【0192】
研磨装置コントローラ10は、例えば除去量一定制御を行う場合、モニタおよび拡張モデル計算に基づいて、材料除去量zを一定に維持するための研磨力fを決定し、その研磨力fに対応する指令値を生成し、その指令値(電流参照値A6)をエンドエフェクタドライバ51に出力・供給する。
【0193】
研磨装置コントローラ10は、入力として、ロボットコントローラ100からのモニタ入力値(リンク位置応答A4)の他、研磨装置2からの回転工具4の回転数n等の情報(回転数A8,位置応答A10)を得る。研磨装置コントローラ10は、リンク位置応答A4に基づいて計算によって回転工具4の送り速度v等を得る。研磨装置コントローラ10は、ロボット1の送り速度に応じた連動制御として、拡張モデルの計算に基づいて、回転工具4の3つのパラメータのうち、材料除去量zを一定値に制御するための研磨力fを決定する。その際、研磨装置コントローラ10は、ロボット1の送り速度に応じて決まる回転工具4の送り速度vと、除去量設定値zcとから、その研磨力fを計算して決定する。除去量設定値zcは、例えば前述のユーザインタフェース2000で設定可能である。
【0194】
また、研磨装置コントローラ10は、送り速度vと、その研磨力fとから、それらに連動させる回転数nを計算して決定する。実施の形態2での除去量一定制御の場合は、回転数nについては自由に設定可能である。研磨装置コントローラ10は、計算して得た回転数nと研磨力fとに対応したそれぞれの指令値(回転指令A5,電流参照値A6)を、ドライバに出力する。
【0195】
実施の形態2での除去量一定制御の場合には、具体的に、図5の式7に基づいて、研磨力f(それに対応するFcmd)は、除去量設定値zc(それに対応するZcmd)、送り速度v(それに対応するV res)、回転数n(それに対応するNcmd)、および拡張パラメータ(K,α,β,γ)から得られる。
【0196】
なお、実施の形態2での除去量制御機能1002のみの場合、すなわち材料除去量zを一定に制御するのみでいい場合には、ロボット1の送り速度と回転工具4の回転数nをモニタし、ロボット1の送り速度に対し回転工具4の送り速度を略同じとして、その回転数nおよび送り速度に応じて、研磨力fを適切な値に制御すれば、材料除去量zを略一定にすることができる。
【0197】
実施の形態2では、材料除去量z(深さや高さ)は、可能な範囲内で任意の設定値として設定可能である。研磨装置コントローラ10に対し、除去量設定値zcを可変値として指定・設定することで、時系列上で材料除去量zを可変制御することも可能である。
【0198】
[実施の形態2-機能ブロック]
図11は、実施の形態2で、研磨装置コントローラ10の研磨除去量制御機能1002の機能ブロック構成例を示す。図11の構成概要は図9と同様であるが、異なる構成点として、拡張モデル計算部115は、傷間隔制御部116Aの代わりに除去量制御部116Bを有し、また、傷間隔制御量設定部119Aの代わりに除去量制御量設定部119Bを有する。除去量制御部116Bは、研磨除去量制御機能1002に関する主な処理を行う部分である。除去量制御量設定部119Bは、材料除去量zの制御量・設定値(図10の除去量設定値zc)が設定・保持されている。
【0199】
除去量制御部116Bは、工具先端位置計算部113の計算結果情報や、オブザーバ114の計算結果情報を入力し、また、除去量制御量設定部119Bに設定されている除去量設定値zcを参照する。除去量制御部116Bは、入力情報に対し、拡張モデル計算に基づいて、所望の除去量制御量(除去量設定値zc)に対応した材料除去量の制御のための、3つのパラメータ値を決定する。言い換えると、除去量制御部116Bは、拡張モデルを満足するように、所望の除去量制御のための3つのパラメータ値として、回転工具4の研磨力f、回転数n、および送り速度vを、連動させて決定する。
【0200】
実施の形態2の場合、図11の研磨装置コントローラ10の除去量制御部116Bは、除去量設定値zc等に基づいて、材料除去量zを一定値に制御するための制御量としての研磨力fを、拡張モデル計算によって決定する。この制御量としての研磨力fは、エンドエフェクタ3のモータ31に対し次のタイミングで新たに指令するための値であり、言い換えると、研磨力fに関するフィードバック制御における制御量としてのモータ電流値(電流参照値A6,電流A9)である。
【0201】
研磨装置コントローラ10は、上記決定した新たな研磨力fに基づいて、図11の研磨力制御部118によって、エンドエフェクタドライバ51に対し、研磨力fの指令値(電流参照値A6)を送信する。エンドエフェクタドライバ51は、その研磨力fの指令値(電流参照値A6)に従って、駆動信号(電流A9)をエンドエフェクタ3のモータ31に供給する。モータ31は、その駆動信号に従って、指定された研磨力fとなるように回転工具4を駆動する。
【0202】
実施の形態2の例(図10)では、材料除去量zを一定に制御する場合を説明したが、これに限定されない。研磨の際に、ある時間において材料除去量zを一定に制御できれば、基本的には十分である。しかしながら、これに限らず、研磨の際に、ある時間において材料除去量zを任意の設定した可変値、例えば関数(例えば線形関数)などに沿うように制御する形態も、同様に実現できる。
【0203】
[実施の形態2の効果等]
以上説明したように、実施の形態2のロボット研磨制御方法およびシステムによれば、マクロシステムであるロボット1の制御とミクロシステムである研磨装置2の制御とを連動させて、研磨に関するプレストンの法則における圧力、速度、および時間の3つのパラメータのすべてを連動させて同時にアクティブに制御することにより、例えば研磨の材料除去量zを一定にする制御などを実現でき、これにより、研磨の形状精度を高めることができる。
【0204】
<実施の形態3>
図12および図13を用いて、実施の形態3のロボット研磨制御システムおよび方法について説明する。実施の形態3のロボット研磨制御システムおよび方法は、実施の形態1での研磨傷間隔制御機能1001(図8)と、実施の形態2での研磨除去量制御機能1002(図10)との両方の機能を1つに統合した形態に相当する。すなわち、実施の形態3のロボット研磨制御システムおよび方法では、研磨装置コントローラ10は、図12のような制御機能1003を有する。
【0205】
実施の形態3のロボット研磨制御システムおよび方法は、傷間隔xと材料除去量z(図3)との両方を同時に制御する。この場合に、研磨装置コントローラ10は、モニタおよび拡張モデル計算に基づいて、対象物9に対する研磨の傷間隔xが例えば一定となり、かつ、研磨の材料除去量zが例えば一定となるように、研磨装置2の回転工具4の3つのパラメータ値として研磨力f、回転数n、および送り速度vを連動制御する。
【0206】
[実施の形態3-傷間隔および除去量制御機能]
図13は、実施の形態3での研磨装置コントローラ10の制御機能1003である傷間隔および除去量制御機能1003についての説明図である。研磨装置コントローラ10の制御機能1003は、モニタおよび拡張モデル計算に基づいて、傷間隔xを所望の量(例えば一定値)に制御し、かつ、材料除去量zを所望の量(例えば一定値)に制御するように、回転工具4の3つのパラメータ値として研磨力f、回転数n、および送り速度vを連動して決定する機能である。
【0207】
この研磨装置コントローラ10の制御機能1003による処理の概要としては以下の通りである。まず、制御機能1003は、ロボット1の送り速度から回転工具4の送り速度vを計算・決定するステップを有する。次に、制御機能1003は、回転工具4の送り速度vに応じて、前述の実施の形態1の制御機能1001と同様の計算で、傷間隔xを一定に制御するための回転数nを決定するステップを有する。次に、制御機能1003は、回転工具4の送り速度vおよび回転数nに応じて、前述の実施の形態2の制御機能1002と同様の計算で、材料除去量zを一定に制御するための研磨力fを決定するステップを有する。
【0208】
そして、制御機能1003は、上記決定された回転工具4の送り速度v、回転数n、および研磨力fに対応させたそれぞれの指令値を生成し、対応するドライバに出力するステップを有する。その後、制御機能1003は、ロボット1および研磨装置2からの応答のモニタに基づいて、各タイミングで同様にフィードバック制御を繰り返す。これにより、傷間隔xおよび材料除去量zを例えば一定値にすることを目標とするフィードバック制御が、継続的に行われる。
【0209】
[実施の形態3-機能ブロック]
図13は、実施の形態3で、研磨装置コントローラ10の制御機能1003の機能ブロック構成例を示す。図13の構成概要は図9図11と同様であり、それらを1つに統合した構成である。図13の研磨装置コントローラ10は、異なる構成点としては、拡張モデル計算部115に制御部116Cを有し、また、制御量設定部119Cを有する。制御部116Cは、制御機能1003に関する主な処理を行う部分である。制御量設定部119Cには、傷間隔xの制御量・設定値(前述の傷間隔設定値xc)と、材料除去量zの制御量・設定値(前述の除去量設定値zc)との両方が設定・保持されている。
【0210】
図13の下部には、制御部116C内の処理概要も図示している。処理概要は、順に、回転工具送り速度計算1301、傷間隔制御回転数計算1302、および除去量制御研磨力計算1303を有する。回転工具送り速度計算1301は、ロボット1の先端の送り速度に応じた回転工具4の先端の送り速度vの決定または計算である。簡易的には、回転工具4の先端の送り速度vを、ロボット1の先端の送り速度と同じとして決定してもよい。傷間隔制御回転数計算1302は、実施の形態1と同様に、傷間隔を所望の量(傷間隔設定値xc)に制御するための回転数nの計算である。除去量制御研磨力計算1303は、その回転数nに連動させて、実施の形態2と同様に、除去量を所望の量(除去量設定値zc)に制御するための研磨力fの計算である。
【0211】
実施の形態3の場合では、制御機能1003による連動制御は、実施の形態1の傷間隔制御機能1001による傷間隔xおよび回転数nに関するフィードバック制御と、実施の形態2の除去量制御機能1002による材料除去量zおよび研磨力fに関するフィードバック制御とが1つに統合されたフィードバック制御となる。図13の拡張モデル計算部115の制御部116Cは、そのフィードバック制御を行う。
【0212】
[実施の形態3の効果等]
以上説明したように、実施の形態3のロボット研磨制御方法およびシステムによれば、マクロシステムであるロボット1の制御とミクロシステムである研磨装置2の制御とを連動させて、研磨に関するプレストンの法則における力、速度、および時間の3つのパラメータのすべてを連動させて同時にアクティブに制御することにより、例えば研磨の傷間隔xおよび材料除去量zを一定にする制御などを実現でき、これにより、研磨の表面品位および形状精度を高めることができる。
【0213】
上述したように、実施の形態1~3では、研磨装置コントローラ10が、ロボット1および研磨装置2からのモニタ入力情報に基づいて、回転工具4の研磨力fおよび回転数fの連動制御に関する指令値を生成し、ドライバ経由で研磨装置2に対し出力するフィードバック制御を行うものである。これにより、ロボット研磨加工に関する回転工具4の先端による研磨力f、回転数fおよび送り速度vが連動して好適または最適に制御される。
【0214】
<変形例>
上記実施の形態1~3に限定されず、様々な変形例が可能であり、以下に例を挙げる。
【0215】
[変形例:研磨装置コントローラの実装]
実施の形態1等では、図1のように、研磨装置2およびロボットコントローラ100に対し外部に研磨装置コントローラ10を独立に設ける場合を示したが、このような構成に限定されない。例えば、研磨装置コントローラ10の少なくとも一部の機能を、研磨装置2に実装してもよい。その場合、研磨装置2に備えるプロセッサ等が、その一部の機能に関する処理等を行えばよい。また、研磨装置2に研磨装置コントローラ10のすべての機能を一体として実装してもよい。また、ロボットコントローラ101に、研磨装置コントローラ10の少なくとも一部の機能を実装してもよいし、ロボットコントローラ101に研磨装置コントローラ10のすべての機能を一体として実装してもよい。
【0216】
図14には、変形例のロボット研磨制御システムの構成を示す。図14のロボット研磨制御システムは、研磨装置2に研磨装置コントローラ10(例えば実施の形態3と同様の制御機能1003を有する)およびドライバ51,52が一体として実装されている。このような変形例でも、実施の形態1~3と同様の効果を実現できる。なお、この変形例の場合、ロボット1の先端に、例えば電子回路基板などの態様で研磨装置2に一体化された研磨装置コントローラ10が具備される。そのため、この研磨装置コントローラ10は、自身の重さ等も考慮して、回転工具4のパラメータ値を計算すると、より好ましい。
【0217】
図15には、他の変形例のロボット研磨制御システムの構成を示す。図15のロボット研磨制御システムは、ロボットコントローラ100に研磨装置コントローラ10(例えば実施の形態3と同様の制御機能1003を有する)が一体として実装されている。このような変形例でも、実施の形態1~3と同様の効果を実現できる。この変形例の場合、ロボットコントローラ100と研磨装置コントローラ10とが、より直接的に連携してもよいし、ロボットコントローラ100と研磨装置コントローラ10とを1つのコントローラとして統合して実装してもよい。
【0218】
[変形例:研磨装置の回転工具の駆動方式]
実施の形態1等では、研磨装置2のエンドエフェクタ3による回転工具4の駆動方式および実装としては、電流制御によるものとしたが、これに限定されない。他の例としては、空気圧による駆動方式および実装とした場合でも、本開示の連動制御は同様に適用できる。言い換えると、そのような実装とした変形例では、拡張モデルの計算に基づいて決定した3つのパラメータ値から、その実装でのドライバやアクチュエータなどの駆動系のパラメータ(例えば空気圧)に合わせるように、駆動値を決めればよい。
【0219】
[変形例:力センサ]
実施の形態1等は、研磨装置2に力センサ等を備えない構成とし、力センサ等を備えずとも、前述の拡張モデルの計算に基づいて、アクティブな研磨加工制御を実現した。これに限定されず、変形例としては、研磨装置2に力センサ等を追加で具備する構成としてもよく、その構成でも本開示の連動制御は同様に実現できる。実施の形態1等では、研磨装置コントローラ10は、オブザーバ114を用いて回転工具4の研磨力fを推定し、その推定した研磨力fを用いて、拡張モデルに基づいた連動制御の計算を行う。対して、変形例では、研磨装置2は、力センサ等によって、パッシブに、回転工具4の研磨力fの状態を検出し、研磨装置コントローラ10は、その検出された研磨力fを表す検出信号を入力する。研磨装置コントローラ10は、その検出信号で表す研磨力fを用いて、拡張モデル計算に基づいた連動制御を行う。
【0220】
以上、本開示の実施の形態を具体的に説明したが、前述の実施の形態に限定されず、要旨を逸脱しない範囲で種々変更可能である。各実施の形態は、必須構成要素を除き、構成要素の追加・削除・置換などが可能である。特に限定しない場合、各構成要素は、単数でも複数でもよい。各実施の形態を組み合わせた形態も可能である。
【符号の説明】
【0221】
1…ロボット、2…研磨装置、3…エンドエフェクタ、31…モータ、32…エンコーダ、4…回転工具、9…対象物(ワークピース)、10…研磨装置コントローラ(制御装置)、51…エンドエフェクタドライバ、52…回転工具ドライバ、100…ロボットコントローラ、101…ロボットCAM、102…CADモデル、1000…制御機能,1001…研磨傷間隔制御機能、1002…研磨除去量制御機能。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18