(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-25
(45)【発行日】2025-03-05
(54)【発明の名称】プログラム作成装置
(51)【国際特許分類】
G05B 19/4093 20060101AFI20250226BHJP
B25J 9/10 20060101ALI20250226BHJP
【FI】
G05B19/4093 E
B25J9/10 A
(21)【出願番号】P 2023525193
(86)(22)【出願日】2021-05-31
(86)【国際出願番号】 JP2021020746
(87)【国際公開番号】W WO2022254551
(87)【国際公開日】2022-12-08
【審査請求日】2023-12-08
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】顧 義華
(72)【発明者】
【氏名】佐藤 貴之
【審査官】大屋 静男
(56)【参考文献】
【文献】特開2016-101644(JP,A)
【文献】特開2010-182210(JP,A)
【文献】特開2000-075914(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B19/18-19/416
G05B19/42-19/46
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
加工面と、加工面から変位した基準面とを有するワークの除去加工用ロボットの動作プログラムを作成するプログラム作成装置であって、
前記除去加工用ロボットは、除去加工ツールを備え、
前記プログラム作成装置は、
前記ワークの前記加工面と前記基準面との間の位置関係に関する位置情報を取得する位置情報取得部と、
前記除去加工ツー
ルの形状情報及び姿勢情報を含むツール情報を保持するツール情報保持部と、
前記ワークの前記位置情報及び前記除去加工ツールの前記ツール情報に基づいて、前記除去加工用ロボットの前記動作プログラムを作成するプログラム作成部と、を備え、
前記プログラム作成部は、前記除去加工ツールと前記ワークの前記基準面との干渉を回避するように、前記除去加工ツールの使用部位
及び姿勢を選
択し、
前記ワークが前記基準面から突出した突出部を有する場合、前記ワークの前記加工面と前記基準面との間の第1の変位量に比べて、前記ワークの前記加工面と前記突出部における前記基準面に平行な突出面との間の第2の変位量が小さいことに起因して、前記突出部の前記第2の変位量を有する前記突出面に対応する前記加工面の加工領域において除去加工が困難な部分が含まれるかを判断する、プログラム作成装置。
【請求項2】
前記ワークの前記加工面と前記基準面との間の前記位置関係は、前記ワークの形状情報に基づく計算によって取得するか、又は3次元視覚センサによる検出によって取得する、請求項
1に記載のプログラム作成装置。
【請求項3】
前記ワークの形状情報又は前記3次元視覚センサによって取得した前記位置情報において前記ワークの前記基準面に
前記突出部が検出された場合、前記位置情報取得部は、前記突出部に起因して前記ワークの前記加工面において除去加工が不可能な部分又は困難な部分を計算によって取得する、請求
項2に記載のプログラム作成装置。
【請求項4】
前記計算によって、前記突出部の前記第2の変位量を有する前記突出面に対応する前記加工面の加工領域において除去加工が困難な
前記部分が取得された場合、前記プログラム作成部は、除去加工が困難な前記部分において、前記第1の変位量と前記第2の変位量との差の大きさに応じて、前記除去加工ツールの使用部位を変更するか、前記除去加工ツールの姿勢を変更するか、又は前記除去加工ツールの形状を変更する、請求
項3に記載のプログラム作成装置。
【請求項5】
前記突出部の前記第2の変位量を有する前記突出面に対応する前記加工面の加工領域において、前記除去加工ツールの使用部位又は形状を変更する場合、前記プログラム作成部は、前記加工面の全加工領域において均一な加工深さが得られるように、前記加工領域における前記除去加工用ロボットの進行速度及び押付力と、前記加工領域を除く残りの加工領域における前記除去加工用ロボットの進行速度及び押付力とを調整する、請求
項1に記載のプログラム作成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム作成装置に関し、より具体的には、バリ取り加工等の除去加工用ロボットの動作プログラムを作成するプログラム作成装置に関する。
【背景技術】
【0002】
従来、ロボットによるバリ取り加工工程では、視覚センサを利用してバリ取り領域としての稜線を検出し、バリ取り軌道を生成する。バリ取りツールをバリ取り軌道に沿って移動することにより、バリ取りを行う。
【0003】
ロボットによるこのようなバリ取り加工工程では、ワークの加工面と、加工面から変位した基準面(例えば、鋳肌面)との間に十分な変位量(例えば、段差)が存在すれば、バリ取り加工中に、バリ取りツールとワークの基準面とが接触等の干渉をすることなく、円滑にバリ取りを行うことができる(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ワークの加工面と基準面との間に十分な変位量がない場合や、変位量が変化する場合など、位置関係によっては、バリ取り加工中に、バリ取りツールが基準面に接触して基準面を傷付ける虞がある。また、バリ取りツールの姿勢がワークの形状に適合していない場合には、バリ取り領域としての稜線の一部がバリ取りされない虞がある。バリ取り加工以外の除去加工においても同様である。
【課題を解決するための手段】
【0006】
本開示は、加工面と、加工面から変位した基準面とを有するワークの除去加工用ロボットの動作プログラムを作成するプログラム作成装置であって、前記除去加工用ロボットは、除去加工ツールを備え、前記プログラム作成装置は、前記ワークの前記加工面と前記基準面との間の位置関係に関する位置情報を取得する位置情報取得部と、前記除去加工ツールに関するツール情報を保持するツール情報保持部と、前記ワークの前記位置情報及び前記除去加工ツールの前記ツール情報に基づいて、前記除去加工用ロボットの前記動作プログラムを作成するプログラム作成部と、を備え、前記プログラム作成部は、前記除去加工ツールと前記ワークの前記基準面との干渉を回避するように、前記除去加工ツールの使用部位を選択する、プログラム作成装置である。
【発明の効果】
【0007】
本開示によれば、ワークの加工面と基準面との間に十分な変位量がない場合や、変位量が変化する場合でも、ワークの除去加工用ロボットの動作プログラムを作成することができる。
【図面の簡単な説明】
【0008】
【
図1】本開示の一実施形態に係るプログラム作成装置を含むバリ取りシステムの構成を示す模式図である。
【
図2A】
図1のバリ取りシステムに使用するバリ取りツールの例を示す模式図である。
【
図2B】
図1のバリ取りシステムに使用するバリ取りツールの例を示す模式図である。
【
図2C】
図1のバリ取りシステムに使用するバリ取りツールの例を示す模式図である。
【
図2D】
図1のバリ取りシステムに使用するバリ取りツールの例を示す模式図である。
【
図3】ワークの加工面と基準面とが互いに平行であり、ワークの加工面と基準面との間に十分な段差がある場合のバリ取りツールとワークとの位置関係を示す模式図である。
【
図4】
図3のワークの加工面と基準面との間に十分な段差がない場合にバリ取りツールとワークとの干渉が生じることを示す模式図である。
【
図5】
図3のワークの加工面と基準面との間に十分な段差がない場合にバリ取りツールとワークとの干渉を回避するための一例を示す模式図である。
【
図6】
図3のワークの加工面と基準面との間に十分な段差がない場合にバリ取りツールとワークとの干渉を回避するための他の例を示す模式図である。
【
図7】ワークの加工面と基準面とが互いに垂直であり、ワークの加工面の稜線と基準面との間に十分な段差がある場合のバリ取りツールとワークとの位置関係を示す模式図である。
【
図8】
図7のワークの加工面と基準面との間に十分な段差がない場合にバリ取りツールとワークとの干渉が生じることを示す模式図である。
【
図9】
図7のワークの加工面と基準面との間に十分な段差がない場合にバリ取りツールとワークとの干渉を回避するための一例を示す模式図である。
【
図10】
図7のワークの加工面と基準面との間に十分な段差がない場合にバリ取りツールとワークとの干渉を回避するための他の例を示す模式図である。
【
図11】ワークの加工面と基準面との間に十分な段差がない場合にバリ取りツールとワークとの干渉を回避するための動作プログラムの作成に係るフローチャートである。
【
図12】3次元視覚センサを利用してワークの加工面と基準面との間の段差を検出することを示す模式図である。
【
図13】検出した段差に基づいてバリ取り不可能部分を示す模式図である。
【
図14】段差の一部に突出部等がある場合のワークを示す模式図である。
【
図15】
図14のワークのバリ取りのための第1の例を示す模式図である。
【
図16】
図14のワークのバリ取りのための第2の例を示す模式図である。
【
図17】
図14のワークのバリ取りのための第3の例を示す模式図である。
【
図18】
図14のワークのバリ取りのための第4の例を示す模式図である。
【
図19】
図14のワークのバリ取りのための第5の例を示す模式図である。
【
図20】
図14のワークのバリ取りのためにバリ取りツールの使用部位を変更する場合の第1の部分を示す模式図である。
【
図21】
図14のワークのバリ取りのためにバリ取りツールの使用部位を変更する場合の第2の部分を示す模式図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施形態について、図面を参照しながら説明する。
図1は、本開示の一実施形態に係るプログラム作成装置20を含むバリ取りシステム1の構成を示す模式図である。バリ取りシステム1は、ワークW1のバリ取り加工を行うシステムである。
【0010】
本実施形態のバリ取りシステム1は、ロボット2と、ロボット2の先端部に保持されるバリ取りツール3と、ロボット2とバリ取りツール3との間に設けられる力覚センサ4と、3次元視覚センサ5(
図12参照)と、ロボット2を制御するロボット制御装置10と、を備える。プログラム作成装置20は、ロボット制御装置10の一部を構成する。
【0011】
ロボット2としては、典型的には垂直多関節型ロボットが用いられるが、特に限定されず、例えばスカラー型ロボット、パラレルリンク型ロボット、直交座標型ロボット等を用いてもよい。
【0012】
バリ取りツール3としては、例えばグラインダ、リーマ等を用いることができる。また、バリ取りツール3の形状は、例えば円筒型、テーパ型、砲弾型、円錐型等、適宜選択することができる。これについては後述する。
【0013】
力覚センサ4は、3軸の力及びトルクを測定するセンサである。つまり、力覚センサ4は、バリ取りツール3に作用する力を3次元のベクトルとして検出可能である。
【0014】
3次元視覚センサ5は、ワークW1の加工面W11と基準面W13との間の段差W14を検出し、取得する。
【0015】
ロボット制御装置10は、ロボット2によりバリ取りツール3をワークW1の稜線に沿って移動させることによってワークW1のバリを除去するバリ取り加工を制御する。バリ取り加工は、除去加工の一例である。他の例としては、面取り加工がある。
【0016】
本実施形態に係るロボット制御装置10は、ロボット制御部11と、位置情報取得部12と、ツール情報保持部13と、押付力取得部14と、進行速度取得部15と、プログラム作成部16と、を備える。位置情報取得部12、ツール情報保持部13、押付力取得部14、進行速度取得部15、及びプログラム作成部16は、プログラム作成装置20を構成する。
【0017】
ロボット制御装置10は、CPU、メモリ等を有する1又は複数のコンピューター装置に適切な動作プログラムを導入することによって実現することができる。上述のロボット制御装置10の各構成要素は、ロボット制御装置10の機能を類別したものであって、その物理構造及びプログラム構造において明確に区分できるものでなくてもよい。また、ロボット制御装置10は、他の機能を実現するさらなる構成要素を有してもよい。
【0018】
ロボット制御部11は、教示データに従ってロボット2を動作させることにより、バリ取りツール3をワークW1の稜線に沿って移動させる。
【0019】
位置情報取得部12は、ワークW1の加工面W11と基準面W13との間の位置関係(例えば、変位量としての段差)を取得する。具体的には、段差は、ワークW1の形状情報(CAD情報など)から計算するか、又は3次元視覚センサを利用して検出される。
【0020】
ツール情報保持部13は、バリ取りツール3の形状等の情報を保持する。形状は、サイズ(大きさ)を含む概念である。具体的には、ツール情報保持部13は、各形状のバリ取りツール3に関して、後述するように、ツール中部3Cからツール先端3Eまでの軸線に沿った長さL1、先部3Dからツール先端3Eまでの軸線に沿った長さL2、ツール中部3Cからツール後端3Aまでの軸線と垂直方向に沿った長さL4、ツール後部3Bからツール後端3Aまでの軸線と垂直方向に沿った長さL5、等を保持する。ツール情報保持部13は、各形状のバリ取りツール3に関して、バリ取り加工ツール3の姿勢の傾斜に応じた、ツール中部3Cからツール先端3Eまでの軸線に沿った長さL1の垂直成分L3、ツール中部3Cからツール後端3Aまでの軸線と垂直方向に沿った長さL4の水平成分L6、等を算出して保持する。
【0021】
押付力取得部14は、バリ取りツール3のワークW1に対する押付力を取得する。押付力取得部14が取得する押付力は、向きの情報を含むベクトルデータであることが好ましい。押付力取得部14は、例として、ロボット1に設けられる力覚センサ4からバリ取りツール3の押付力を取得するよう構成され得る。
【0022】
進行速度取得部15は、ロボット2によるバリ取りツール3の進行速度を取得する。進行速度取得部15は、例えば、ロボット制御部11からロボット2によるバリ取りツール3の進行速度を取得するよう構成され得る。
【0023】
プログラム作成部16は、位置情報取得部12が取得する位置情報、ツール情報保持部13が保持するツール情報、押付力取得部14が取得する押付力、進行速度取得部15が取得する進行速度などの情報に基づいて、ロボット制御部11がロボット2を動作させる動作プログラムを作成する。プログラム作成部16については、後述する。
【0024】
図2A~
図2Dは、バリ取りツール3の形状の種類を示し、
図2Aは円筒型のバリ取りツール3-1を示し、
図2Bはテーパ型のバリ取りツール3-2を示し、
図2Cは砲弾型のバリ取りツール3-3を示し、
図2Dは円錐型のバリ取りツール3-4を示す。
【0025】
以下の実施形態において例示する円錐型のバリ取りツール3-4を用いて、バリ取りツール3について説明するが、他のバリ取りツール3-1~3-3についても同様に説明できる。バリ取りツール3は、軸方向に根元から先端に向かって、ツールの後端3Aに近いツール後部3B、ツールの中間部分であるツール中部3C、ツールの先端3Eに近いツール先部3D、の3つの領域を有する。ツール後部3Bは直径D1を有し、ツール中部3Cは直径D2を有し、ツール先部3Dは、直径D3を有する。通常は、ツール中部3Cを使用して、バリ取り加工を行う。
【0026】
図3~
図6を参照して、第1のタイプのワークW1のバリ取り加工について説明する。ワークW1は、加工面W11と、加工面W11から変位した基準面(例えば、鋳肌面)W13とを有する。具体的には、稜線W12を有する加工面W11は、基準面(例えば、鋳肌面)W13に対して平行であり、基準面W13から段差W14だけ突出している。
【0027】
このような段差付きワークW1のバリ取り加工は、通常、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した標準タイプ1の動作プログラムにより、次のようにして行われる。
【0028】
具体的には、
図3に示すように、バリ取りツール3(例えば、円錐型のバリ取りツール3-4)の軸線がワークW1の加工面W11に対して垂直になるように、バリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W11の稜線W12に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W11の稜線W12に沿って加工面W11の周囲を進行させる。
【0029】
但し、このようなバリ取り加工は、バリ取りツール3のツール中部3Cからツール先端3Eまでの軸線に沿った長さL1を超える十分な段差W14(W14>L1)を、ワークW1が有していることが必要である。
【0030】
図4に示すように、ワークW1の段差W14がツール中部3Cからツール先端3Eまでの軸線に沿った長さL1よりも小さい(W14<L1)場合には、バリ取りツール3のツール先端3Eが基準面W13と干渉する。そのため、標準タイプ1の動作プログラムでは、バリ取り加工を行うことができない。
【0031】
このような場合に、バリ取りツール3とワークW1との干渉を回避するための第1の例を
図5に示す。
図5では、バリ取りツール3のツール先部3Dを使用部位とする、プログラム作成部16が作成した先部使用タイプの動作プログラムにより、バリ取り加工は、次のようにして行われる。
【0032】
具体的には、
図5に示すように、バリ取りツール3の軸線がワークW1の加工面W11に対して垂直になるようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール先部3Dを加工面W11の稜線W12に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W11の稜線W12に沿って加工面W11の周囲を進行させる。
【0033】
これにより、バリ取りツール3のツール先部3Dからツール先端3Eまでの軸線に沿った長さL2が段差W14よりも短い(W14>L2)範囲でも、バリ取り加工を行うことができる。
【0034】
バリ取りツール3とワークW1との干渉を回避するための第2の例を
図6に示す。
図6では、バリ取りツール3の軸線の向きを傾け、かつ、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した傾斜タイプ1の動作プログラムにより、バリ取り加工は、次のようにして行われる。
【0035】
具体的には、
図6に示すように、バリ取りツール3の軸線がワークW1の加工面W11に対して垂直から傾斜するようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W11の稜線W12に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W11の稜線W12に沿って加工面W11の周囲を進行させる。
【0036】
これにより、バリ取りツール3のツール中部3Cからツール先端3Eまでの軸線に沿った長さL1の垂直成分L3が段差W14よりも短い(W14>L3)範囲でも、バリ取り加工を行うことができる。
【0037】
バリ取りツール3とワークW1との干渉を回避するための第3の例について説明する。バリ取りツール3を、一回り小型である(サイズが小さい)ためツール中部3Cからツール先端3Eまでの軸線に沿った長さが段差W14よりも短い小型のバリ取りツール3に取り換えることによって、バリ取り加工を行うことができる。このようなツールは、例えば、
図17の右側に示すバリ取りツール3である。
【0038】
図7~
図10を参照して、第2のタイプのワークW2のバリ取り加工について説明する。ワークW2は、加工面W21と、加工面W21から変位した基準面(例えば、鋳肌面)W23とを有する。具体的には、加工面W21は、基準面(例えば、鋳肌面)W23に対して垂直であり、加工面W21の稜線W22は、基準面W23から段差W24だけ突出している。
【0039】
このような段差付きワークW2のバリ取り加工は、通常、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した標準タイプ2の動作プログラムにより、次のようにして行われる。
【0040】
具体的には、
図7に示すように、バリ取りツール3(例えば、円錐型のバリ取りツール3-4)の軸線がワークW2の加工面W21に対して垂直になるようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W21の稜線W22に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W21の稜線W22に沿って加工面W21の周囲を進行させる。
【0041】
但し、このようなバリ取り加工は、バリ取りツール3のツール中部3Cからツール後端3Aまでの軸線と垂直方向に沿った長さL4を超える十分な段差W24(W24>L4)を、ワークW1が有していることが必要である。
【0042】
図8に示すように、ワークW2の段差W24がツール中部3Cからツール後端3Aまでの軸線と垂直方向に沿った長さL4よりも小さい(W24<L4)場合には、バリ取りツール3のツール後端3Aが基準面W23と干渉する。そのため、標準タイプ2の動作プログラムでは、バリ取り加工を行うことができない。
【0043】
このような場合に、バリ取りツール3とワークW2との干渉を回避するための第1の例を
図9に示す。
図9では、バリ取りツール3のツール後部3Bを使用部位とする、プログラム作成部16が作成した後部使用タイプの動作プログラムにより、バリ取り加工は、次のようにして行われる。
【0044】
具体的には、
図9に示すように、バリ取りツール3の軸線がワークW2の加工面W21に対して垂直になるようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール後部3Bを加工面W21の稜線W22に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W21の稜線W22に沿って加工面W21の周囲を進行させる。
【0045】
これにより、バリ取りツール3のツール後部3Bからツール後端3Aまでの軸線と垂直方向に沿った長さL5が段差W24よりも短い(W24>L5)範囲でも、バリ取り加工を行うことができる。
【0046】
バリ取りツール3とワークW2との干渉を回避するための第2の例を
図10に示す。
図10では、バリ取りツール3の軸線の向きを傾け、かつ、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した傾斜タイプ2の動作プログラムにより、バリ取り加工は、次のようにして行われる。
【0047】
具体的には、
図10に示すように、バリ取りツール3の軸線がワークW2の加工面W21に対して垂直から傾斜するようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W21の稜線W22に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W21の稜線W22に沿って加工面W21の周囲を進行させる。
【0048】
これにより、バリ取りツール3のツール中部3Cからツール後端3Aまでの軸線と垂直方向に沿った長さL4の水平成分L6が段差W24よりも短い(W24>L6)範囲でも、バリ取り加工を行うことができる。
【0049】
バリ取りツール3とワークW2との干渉を回避するための第3の例について説明する。バリ取りツール3を、一回り小型である(サイズが小さい)ためツール中部3Cからツール後端3Aまでの軸線と垂直方向に沿った長さが段差W24よりも短い小型のバリ取りツール3に取り換えることによって、バリ取り加工を行うことができる。このようなツールは、例えば、
図17の右側に示すバリ取りツール3である。
【0050】
プログラム作成部16は、上記の各タイプの動作プログラムを作成する。作成は、既存の動作プログラムの修正、変更を含む。
図11は、プログラム作成部16による動作プログラムの作成に係るフローチャートを示す。プログラム作成部16は、ワークの段差の程度に応じて、動作プログラムの標準タイプ1、先部使用タイプ及び傾斜タイプ1、又は、標準タイプ2、後部使用タイプ及び傾斜タイプ2を判定する。
【0051】
具体的には、ワークW1の場合、プログラム作成部16は、段差W14と、バリ取りツール3のツール中部3Cからツール先端3Eまでの軸線に沿った長さL1、先部3Dからツール先端3Eまでの軸線に沿った長さL2、ツール中部3Cからツール先端3Eまでの軸線に沿った長さL1の垂直成分L3に基づいて、
図11に示すように、W14>L1、W14>L2、W14>L3について順次判定する。
【0052】
ワークW2の場合、プログラム作成部16は、段差W24と、バリ取りツール3のツール中部3Cからツール後端3Aまでの軸線と垂直方向に沿った長さL4、ツール後部3Bからツール後端3Aまでの軸線と垂直方向に沿った長さL5、ツール中部3Cからツール後端3Aまでの軸線と垂直方向に沿った長さL4の水平成分L6に基づいて、W24>L4、W24>L5、W24>L6について順次判定する。
【0053】
図11のステップS1において、プログラム作成部16は、W14>L1又はW24>L4を判定し、YESの場合には、処理はステップS2に進む。ステップS2は、標準タイプ1又は標準タイプ2の動作を行う。NOの場合には、処理はステップS3に進む。
【0054】
ステップS3において、プログラム作成部16は、W14>L2又はW24>L5を判定し、YESの場合には、処理はステップS4に進む。ステップS4は、先部使用タイプ又は後部使用タイプの動作を行う。NOの場合には、処理はステップS5に進む。
【0055】
ステップS5において、プログラム作成部16は、W14>L3又はW24>L6を判定し、YESの場合には、処理はステップS6に進む。ステップS6は、傾斜タイプ1又は傾斜タイプ2の動作を行う。NOの場合には、処理は終了する。
【0056】
本開示においては、ワークの形状情報又は3次元視覚センサによって取得した位置情報においてワークの基準面に突出部が検出された場合、位置情報取得部12は、突出部に起因してワークの加工面において除去加工が不可能な部分又は困難な部分を計算によって取得してもよい。以下に詳述する。
【0057】
ワークの段差の検出方法の例について説明する。
図12に示すように、3次元視覚センサ5を利用して、ワークW1の段差W14の有無及び段差W14の寸法を検出する。また、ワークW1の形状情報(CAD情報)から、ワークW1の段差W14の有無及び段差W14の寸法を算出してもよい。ワークW2の段差W24についても同様である。
【0058】
図13は、第3のタイプのワークW3を示す。ワークW3は、加工面W31と、加工面W31から変位した基準面(例えば、鋳肌面)W33とを有する。具体的には、稜線W32を有する加工面W31は、基準面(例えば、鋳肌面)W33に対して平行であり、基準面W33から段差W34だけ突出している。
【0059】
ワークW3はさらに、基準面W33から突出した突出部W35を有する。突出部W35は、基準面W33から高さW36だけ突出している。突出部W35の突出高さW36は、加工面W31と基準面W33との段差W34と近似している。つまり、加工面W31の稜線W32において、突出部W35に隣接する部分W320は、突出部W35の上面(突出面)W37との間に段差がほぼ無い。
【0060】
そのため、ワークW3の場合、加工面W31の全周に亘る稜線W32のうち、突出部W35に隣接する稜線W32の部分W320については、バリ取り不可能である。一方、部分W320を除く残りの稜線W32については、バリ取りツール3によりバリ取り可能である。突出部W35に隣接する稜線W32の部分W320は、「突出部に起因してワークの加工面において除去加工が不可能な部分又は困難な部分」の一例である。
【0061】
このようなバリ取り不可能な部分の有無についても、
図12に示すように、3次元視覚センサ5を利用して、検出することができる。また、ワークW3の形状情報(CAD情報)から、ワークW3のバリ取り不可能部分の有無を算出してもよい。
【0062】
このようなバリ取り不可能な部分を有するワークW1のバリ取り加工は、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した標準タイプ1の動作プログラムにより、バリ取り可能な部分のみ、例えば、
図3に示すようにして行われる。
【0063】
また、ワークの加工面と基準面との間の第1の変位量に比べて、ワークの加工面と突出部における基準面に平行な突出面との間の第2の変位量が小さいことに起因して、突出部の第2の変位量を有する突出面に対応する加工面の加工領域において除去加工が困難な部分が取得された場合、プログラム作成部16は、除去加工が困難な前記部分において、第1の変位量と第2の変位量との差の大きさに応じて、除去加工ツール3の使用部位を変更するか、除去加工ツール3の姿勢を変更するか、又は除去加工ツール3の形状を変更してもよい。以下に詳述する。
【0064】
図14は、第4のタイプのワークW4を示す。ワークW4は、加工面W41と、加工面W41から変位した基準面(例えば、鋳肌面)W43とを有し、基準面W43から突出した突出部W45をさらに有する。
図13のワークW3とは異なり、ワークW4は、突出部W45の上面(突出面)W47と加工面W41との間に段差W46を有する。この段差W46は、加工面W41と基準面W43との段差W44に比べて小さい(W46<W44)。「W46<W44」は、「ワークの加工面と基準面との間の第1の変位量に比べて、ワークの加工面と突出部における基準面に平行な突出面との間の第2の変位量が小さいこと」の一例である。「突出部W45の突出面W47」は、「突出部の第2の変位量を有する突出面」の一例である。
【0065】
図15~
図19を参照して、第4のタイプのワークW4のバリ取り加工について説明する。
ワークW4のバリ取り加工の第1の実施形態は、
図15に示すように、最も小さい段差(この場合は突出部W45の部分の段差W46)に合わせて、稜線W42の全ての部分でバリ取りツール3の同じ加工部位を選択する。
【0066】
このようなワークW4の第1の実施形態のバリ取り加工は、バリ取りツール3のツール先部3Dを使用部位とする、プログラム作成部16が作成した先部使用タイプの動作プログラムにより、次のようにして行われる。
【0067】
具体的には、
図15の右側に示すバリ取りツール3が突出部W45と干渉しないように、
図5の例に倣って、バリ取りツール3の軸線がワークW4の加工面W41に対して垂直になるようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール先部3Dを加工面W41の稜線W42に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W41の稜線W42に沿って加工面W41の周囲を進行させる。これにより、1つのバリ取りツール3を使用して稜線W42の全体をバリ取りすることができる。
【0068】
ワークW4のバリ取り加工の第2の実施形態は、
図16に示すように、最も小さい段差(この場合は突出部W45の部分の段差W46)に合わせて、同じツール姿勢を選択する。
【0069】
このようなワークW4の第2の実施形態のバリ取り加工は、バリ取りツール3の軸線の向きを傾け、かつ、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した傾斜タイプ1の動作プログラムにより、次のようにして行われる。
【0070】
具体的には、
図16の右側に示すバリ取りツール3が突出部W45と干渉しないように、
図6の例に倣って、バリ取りツール3の軸線がワークW4の加工面W41に対して垂直から傾斜するようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W41の稜線W42に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W41の稜線W42に沿って加工面W41の周囲を進行させる。これにより、1つのバリ取りツール3を使用して稜線W42の全体をバリ取りすることができる。
【0071】
ワークW4のバリ取り加工の第3の実施形態は、
図17に示すように、小さい段差(この場合は突出部W45の部分の段差W46)の部分には、比較的小型のバリ取りツール3を選択し、大きい段差(この場合は突出部W45以外の部分の段差W44)の部分には、比較的大型のバリ取りツール3を選択する。
【0072】
このようなワークW4の第3の実施形態のバリ取り加工は、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した標準タイプ1の動作プログラムにより、次のようにして行われる。
【0073】
具体的には、
図17の右側に示すバリ取りツール3が突出部W45と干渉しないように、小さい段差の部分には、比較的小型のバリ取りツール3を使用する。
図3の例に倣って、バリ取りツール3の軸線がワークW4の加工面W41に対して垂直になるようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W41の稜線W42に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W41の稜線W42に沿って加工面W41の周囲の一部(小さい段差の部分)を進行させる。
【0074】
図17の左側に示す大きい段差の部分には、比較的大型のバリ取りツール3を使用する。
図3の例に倣って、バリ取りツール3の軸線がワークW4の加工面W41に対して垂直になるようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W41の稜線W42に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W41の稜線W42に沿って加工面W41の周囲の残部(大きい段差の部分)を進行させる。
【0075】
ワークW4のバリ取り加工の第4の実施形態は、
図18に示すように、小さい段差(この場合は突出部W45の部分の段差W46)の部分には、バリ取りツール3の先部3Dを選択し、大きい段差(この場合は突出部W45以外の部分の段差W44)の部分には、バリ取りツール3の中部3Cを選択する。
【0076】
このようなワークW4の第4の実施形態のバリ取り加工は、小さい段差の部分には、バリ取りツール3のツール先部3Dを使用部位とする、プログラム作成部16が作成した先部使用タイプの動作プログラムにより、また、大きい段差の部分には、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した標準タイプ1の動作プログラムにより、次のようにして行われる。
【0077】
具体的には、
図18の右側に示すバリ取りツール3が突出部W45と干渉しないように、小さい段差の部分では、
図5の例に倣って、バリ取りツール3の軸線がワークW4の加工面W41に対して垂直になるようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール先部3Dを加工面W41の稜線W42に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W41の稜線W42に沿って加工面W41の周囲の一部(小さい段差の部分)を進行させる。
【0078】
図18の左側に示す大きい段差の部分では、
図3の例に倣って、バリ取りツール3の軸線がワークW4の加工面W41に対して垂直になるようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W41の稜線W42に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W41の稜線W42に沿って加工面W41の周囲の残部(大きい段差の部分)を進行させる。
【0079】
ワークW4のバリ取り加工の第5の実施形態は、
図19に示すように、小さい段差(この場合は突出部W45の部分の段差W46)の部分と、大きい段差(この場合は突出部W45以外の部分の段差W44)の部分とで、異なるバリ取りツールの姿勢を選択する。
【0080】
このようなワークW4の第5の実施形態のバリ取り加工は、小さい段差の部分には、バリ取りツール3の軸線の向きを傾け、かつ、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した傾斜タイプ1の動作プログラムにより、また、大きい段差の部分には、バリ取りツール3のツール中部3Cを使用部位とする、プログラム作成部16が作成した標準タイプ1の動作プログラムにより、次のようにして行われる。
【0081】
具体的には、
図19の右側に示すバリ取りツール3が突出部W45と干渉しないように、小さい段差の部分では、
図6の例に倣って、バリ取りツール3の軸線がワークW4の加工面W41に対して垂直から傾斜するようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W41の稜線W42に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W41の稜線W42に沿って加工面W41の周囲の一部(小さい段差の部分)を進行させる。
【0082】
図19の左側に示す大きい段差の部分では、
図3の例に倣って、バリ取りツール3の軸線がワークW4の加工面W41に対して垂直になるようにバリ取りツール3の姿勢を保つ。バリ取りツール3のツール中部3Cを加工面W41の稜線W42に当接させる。バリ取りツール3を軸線の周りに回転させながら、バリ取りツール3を加工面W41の稜線W42に沿って加工面W41の周囲の残部(大きい段差の部分)を進行させる。
【0083】
本開示においては、突出部の第2の変位量を有する突出面に対応する加工面の加工領域において、除去加工ツール3の使用部位又は形状を変更する場合、プログラム作成部16は、加工面の全加工領域において均一な加工深さが得られるように、加工領域における除去加工用ロボット2の進行速度及び押付力と、加工領域を除く残りの加工領域における除去加工用ロボット2の進行速度及び押付力とを調整してもよい。以下に詳述する。
【0084】
図20、
図21を参照して、例えば、
図18に示すように、1つのバリ取りツール3の使用部位を変更する場合の、ロボット2によるバリ取りツール3の進行速度(V1、V2)又は押付力(F1、F2)の調整について説明する。
【0085】
プログラム作成部16は、進行速度取得部15から得られるバリ取りツール3の進行速度(V1、V2)の情報、及び押付力取得部14から得られるバリ取りツール3によるワークの押付力(F1、F2) の情報に基づいて、以下のようにして調整を行う。
【0086】
図20は、
図18の左側に示すような大きい段差の部分を加工するときのバリ取りツール3を示す。このバリ取りツール3の使用部位は中部3Cであり、そのため標準タイプ1の動作プログラムをベースとする。また、ロボット2によるバリ取りツール3の進行速度はV1、ロボット2によるバリ取りツール3の押付力はF1である。この状態は、突出部W45以外の全ての部分に適用される。
【0087】
図21は、
図18の右側に示すような小さい段差の部分を加工するときのバリ取りツール3を示す。このバリ取りツール3の使用部位は先部3Dであり、そのため先部使用タイプの動作プログラムをベースとする。また、ロボット2によるバリ取りツール3の進行速度はV2、ロボット2によるバリ取りツール3の押付力はF2である。この状態は、突出部W45の突出面W47の両端間の部分に対応するワークW4の稜線W42のみ適用される。「突出部W45の突出面W47の両端間の部分に対応するワークW4の稜線W42」は、「突出部の第2の変位量を有する突出面に対応する加工面の加工領域」の一例である。
【0088】
図20のバリ取りツール3の使用部位である中部3Cの直径D2(
図2参照)は、
図21のバリ取りツール3の使用部位である先部3Dの直径D3(
図2参照)に比べて大きく(D2>D3)、そのため、中部3Cの円周長さは、先部3Dの円周長さに比べて長い。
【0089】
また、バリ取りツール3が軸の周りを定速度で回転しているとき、
図20のバリ取りツール3の中部3Cが1回転する間に
図21のバリ取りツール3の先部3Dも1回転する。そのため、バリ取りツール3が1回転する間に中部3CがワークW4の稜線W42と接触する長さは、先部3DがワークW4の稜線W42と接触する長さに比べて長い。つまり、バリ取りツール3の中部3Cで加工する方が、先部3Dで加工する場合に比べて、加工量がより多い。
【0090】
そこで、プログラム作成部16は、バリ取りツール3の中部3Cを使用する場合と、先部3Dを使用する場合とで、加工量が均一となるように、ロボット2によるバリ取りツール3の進行速度(V1、V2)又は押付力(F1、F2)を調整する。
【0091】
具体的には、例えば、バリ取りツール3の中部3Cを使用する場合のロボット2によるバリ取りツール3の押付力F1と、バリ取りツール3の先部3Dを使用する場合のロボット2によるバリ取りツール3の押付力F2とが等しい(F1=F2)場合、プログラム作
成部16は、バリ取りツール3の中部3Cを使用する場合のロボット2によるバリ取りツール3の進行速度V1を、バリ取りツール3の先部3Dを使用する場合のロボット2によるバリ取りツール3の進行速度V2よりも大きく(V1>V2)する。
【0092】
また、バリ取りツール3の中部3Cを使用する場合のロボット2によるバリ取りツール3の進行速度V1と、バリ取りツール3の先部3Dを使用する場合のロボット2によるバリ取りツール3の進行速度V2とが等しい(V1=V2)場合、プログラム作成部16は、バリ取りツール3の中部3Cを使用する場合のロボット2によるバリ取りツール3の押付力F1を、バリ取りツール3の先部3Dを使用する場合のロボット2によるバリ取りツール3の押付力F2よりも小さく(F1<F2)する。
【0093】
なお、
図15~
図19の実施形態では、
図14に示す第4のタイプのワークW4について説明した。第4のタイプのワークW4は、
図1、
図3に示す第1のタイプのワークW1に突出部W45を追加したものである。しかし、
図7に示す第2のタイプのワークW2に突出部を追加したタイプのワークについても、
図15~
図19の実施形態と同様に、様々な実施形態を考慮することが可能である。
【0094】
そのようなタイプのワークにおいて、1つのバリ取りツール3の使用部位を変更する場合の、ロボット2によるバリ取りツール3の進行速度(V1、V2)又は押付力(F1、F2)の調整に際しては、一方のバリ取りツール3の使用部位である中部3Cの直径D2
と、他方のバリ取りツール3の使用部位である後部3Bの直径D1(
図2参照)との関係(D2<D1)を用いることはいうまでもない。
【0095】
また、上記の各実施形態では、ワークのバリ取り加工について説明した。しかし、本発明は、バリ取り加工以外の任意の除去加工にも同様に適用することが可能である。除去加工は、典型的には接触による除去加工であり、例えば、切削加工、研削加工、研磨加工である。
【符号の説明】
【0096】
1 バリ取りシステム
2 ロボット
3 バリ取りツール(除去加工ツール)
4 力覚センサ
5 3次元視覚センサ
10 ロボット制御装置
11 ロボット制御部
12 位置情報取得部
13 ツール情報保持部
14 押付力取得部
15 進行速度取得部
16 プログラム作成部
20 プログラム作成装置
W1、W2、W3、W4 ワーク
W11、W21、W31、W41 加工面
W13、W23、W33、W43 基準面
W14、W24、W34、W44、W46 段差
W35、W45 突出部
W37、W47 突出面