(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-30
(45)【発行日】2025-07-08
(54)【発明の名称】加工経路生成装置、加工経路生成方法及びコンピュータプログラム
(51)【国際特許分類】
G05B 19/4097 20060101AFI20250701BHJP
B23Q 15/00 20060101ALI20250701BHJP
G05B 19/42 20060101ALI20250701BHJP
B25J 9/10 20060101ALI20250701BHJP
【FI】
G05B19/4097 C
B23Q15/00 301J
G05B19/42 H
B25J9/10 A
(21)【出願番号】P 2021126250
(22)【出願日】2021-07-30
【審査請求日】2024-03-15
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】前田 高志
(72)【発明者】
【氏名】桂川 俊太郎
【審査官】増山 慎也
(56)【参考文献】
【文献】特開平08-243910(JP,A)
【文献】特開平06-312343(JP,A)
【文献】特開2005-157980(JP,A)
【文献】特開2016-101644(JP,A)
【文献】米国特許出願公開第2020/0290207(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/4093、4097、42
B23Q 15/00
B24B 27/00
B25J 9/10
(57)【特許請求の範囲】
【請求項1】
ワークを加工する工具を装着し、前記工具における所定軸に対する所定点の位置及び前記工具の前記ワークに対する姿勢を変更可能な加工機の加工経路を生成する加工経路生成装置において、
第一時点にて前記工具が前記ワークに付与する力の方向である第一方向を取得する第一方向取得部と、
第一時点の後に前記工具が移動した時の第二時点にて前記工具が前記ワークに付与する力の方向である第二方向を取得する第二方向取得部と、
前記第一方向及び第二方向の差分に基づいて、前記工具の前記所定軸回りの方向の角度変化量を演算する角度変化量演算部と、
前記第一時点における前記工具における所定軸に対する所定点の位置の方向と、前記角度変化量演算部にて演算した前記角度変化量とに基づいて、前記所定軸回りの目標方向を演算する目標方向演算部と、
該目標方向演算部が演算した目標方向と、前記第二時点における前記工具の前記所定軸回りの方向との差分に基づいて、前記工具の前記所定軸回りの補正角度を演算する第一補正角度演算部と
を備える加工経路生成装置。
【請求項2】
第二時点の後の第三時点にて前記工具が前記ワークに付与する力の方向である第三方向を取得する第三方向取得部と、
前記第一方向及び第三方向の差分に基づいて、前記工具の前記所定軸回りの方向の第二角度変化量を演算する第二角度変化量演算部と、
前記第二角度変化量演算部にて演算した前記第二角度変化量に、
前記第三時点の前回の時点である前記第二時点において演算した前記補正角度に基づく調整角度を加算する加算部と、
前記第一時点における前記工具における所定軸に対する所定点の位置の方向と、前記加算部の加算結果とに基づいて、前記所定軸回りの目標方向を演算する第二目標方向演算部と、
該第二目標方向演算部が演算した目標方向と、前記第三時点における前記工具の前記所定軸回りの方向との差分に基づいて、前記工具の前記所定軸回りの補正角度を演算する第二補正角度演算部と、
を備える請求項1に記載の加工経路生成装置。
【請求項3】
前記加算部は、前記補正角度に予め定めた係数を乗算することによって算出される調整角度を、前記第二角度変化量に加算する
請求項2に記載の加工経路生成装置。
【請求項4】
ワークを加工する工具を装着し、前記工具における所定軸に対する所定点の位置及び前記工具の前記ワークに対する姿勢を変更可能な加工機の加工経路を生成する加工経路生成方法において、
第一時点にて前記工具が前記ワークに付与する力の方向である第一方向を取得し、
第一時点の後の第二時点にて前記工具が前記ワークに付与する力の方向である第二方向を取得し、
前記第一方向及び第二方向の差分に基づいて、前記工具の前記所定軸回りの方向の角度変化量を演算し、
前記第一時点における前記工具における所定軸に対する所定点の位置の方向と、演算した前記角度変化量とに基づいて、前記所定軸回りの目標方向を演算し、
演算した目標方向と、前記第二時点における前記工具の前記所定軸回りの方向との差分に基づいて、前記工具の前記所定軸回りの補正角度を演算する
加工経路生成方法。
【請求項5】
ワークを加工する工具を装着し、前記工具における所定軸に対する所定点の位置及び前記工具の前記ワークに対する姿勢を変更可能な加工機の加工経路を生成する加工経路生成装置で実行可能なプログラムにおいて、
第一時点にて前記工具が前記ワークに付与する力の方向である第一方向を取得し、
第一時点の後の第二時点にて前記工具が前記ワークに付与する力の方向である第二方向を取得し、
前記第一方向及び第二方向の差分に基づいて、前記工具の前記所定軸回りの方向の角度変化量を演算し、
前記第一時点における前記工具における所定軸に対する所定点の位置の方向と、演算した前記角度変化量とに基づいて、前記所定軸回りの目標方向を演算し、
演算した目標方向と、前記第二時点における前記工具の前記所定軸回りの方向との差分に基づいて、前記工具の前記所定軸回りの補正角度を演算する
処理を前記加工経路生成装置に実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、ワークを加工する工具の加工経路を生成する加工経路生成装置等に関する。
【背景技術】
【0002】
工具を保持するロボットハンドと、該ロボットハンドに取り付けた力センサと、制御装置とを備えるロボット装置がある。ロボット装置はワークのバリ取り作業を行う。作業者は、バリ取り作業の前にロボット装置への教示作業を行う。教示作業において、制御装置はワーク上の複数の教示点、各教示点に作用する力の単位ベクトル及びロボットハンドの送り速度等を記憶する。
【0003】
制御装置は記憶した教示点、力の単位ベクトル及び送り速度等に基づき、ロボットハンドを動かす。制御装置は教示点間の補間点を演算し、補間点における力の単位ベクトルを演算し、ワークの形状誤差の有無に拘わらず、ワークに対して一様なバリ取り作業を実現することができる(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ロボット装置への教示作業では工具の刃をワークに接触させる。しかし、工具をワークの表面に沿って移動させると、工具の姿勢によっては工具の刃以外の部分がワークに干渉し、生成するバリ取り作業を実現する加工経路の精度が低くなる。
【0006】
本開示は斯かる事情に鑑みてなされたものであり、精度の高いバリ取り作業を実現する加工経路生成装置、加工経路生成方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一実施形態に係る加工経路生成装置は、ワークを加工する工具を装着し、所定軸回りの前記工具の位置を変更可能な加工機の加工経路を生成する加工経路生成装置において、第一時点にて前記工具が前記ワークに付与する力の方向である第一方向を取得する第一方向取得部と、第一時点の後の第二時点にて前記工具が前記ワークに付与する力の方向である第二方向を取得する第二方向取得部と、前記第一方向及び第二方向の差分に基づいて、前記工具の前記所定軸周りの方向の角度変化量を演算する角度変化量演算部と、前記第一時点における前記工具の前記所定軸周りの位置と、前記角度変化量演算部にて演算した前記角度変化量とに基づいて、前記所定軸周りの目標方向を演算する目標方向演算部と、該目標方向演算部が演算した目標方向と、前記第二時点における前記工具の前記所定軸周りの方向との差分に基づいて、前記工具の前記所定軸周りの補正角度を演算する第一補正角度演算部とを備える。
【0008】
本開示においては、工具をワークの表面に沿って移動させるごとに工具の姿勢を自動で制御するので、工具の刃以外の部分がワークに干渉することを防ぎ、精度の高いバリ取り作業を実現する加工経路を生成できる。
【0009】
本開示の一実施形態に係る加工経路生成装置は、第二時点の後の第三時点にて前記工具が前記ワークに付与する力の方向である第三方向を取得する第三方向取得部と、前記第一方向及び第三方向の差分に基づいて、前記工具の前記所定軸周りの方向の第二角度変化量を演算する第二角度変化量演算部と、前記第二角度変化量演算部にて演算した前記第二角度変化量に、前記第一補正角度演算部にて演算した補正角度に基づく調整角度を加算する加算部と、前記第一時点における前記工具の前記所定軸周りの位置と、前記加算部の加算結果とに基づいて、前記所定軸周りの目標方向を演算する第二目標方向演算部と、該第二目標方向演算部が演算した目標方向と、前記第三時点における前記工具の前記所定軸周りの方向との差分に基づいて、前記工具の前記所定軸周りの補正角度を演算する第二補正角度演算部とを備える。
【0010】
本開示においては、工具をワークの表面に沿って移動を連続的に行いながら工具の姿勢を自動で制御する際において、工具移動に対する工具回転の遅延による、工具がワークに付与する力の方向と工具の所定軸回りの方向とのずれを抑制する。
【0011】
本開示の一実施形態に係る加工経路生成方法は、前記調整角度は、前記補正角度に予め定めた係数を乗算することによって算出される
【0012】
本開示においては、工具がワークに付与する力の方向と工具の所定軸回りの方向とのずれを高い精度で抑制することが出来る。
【0013】
本開示の一実施形態に係る加工経路生成方法は、ワークを加工する工具を装着し、所定軸回りの前記工具の位置を変更可能な加工機の加工経路を生成する加工経路生成方法において、第一時点にて前記工具が前記ワークに付与する力の方向である第一方向を取得し、第一時点の後に前記工具が移動した時の第二時点にて前記工具が前記ワークに付与する力の方向である第二方向を取得し、前記第一方向及び第二方向の差分に基づいて、前記工具の前記所定軸周りの位置の角度変化量を演算し、前記第一時点における前記工具の前記所定軸周りの位置と、演算した前記角度変化量とに基づいて、前記所定軸周りの目標方向を演算し、演算した目標方向と、前記第二時点における前記工具の前記所定軸周りの位置との差分に基づいて、前記工具の前記所定軸周りの補正角度を演算する。
【0014】
本開示においては、工具をワークの表面に沿って移動させるごとに工具の姿勢を自動で制御するので、工具の刃以外の部分がワークに干渉することを防ぎ、精度の高いバリ取り作業を実現する加工経路を生成できる。
【0015】
本開示の一実施形態に係るコンピュータプログラムは、ワークを加工する工具を装着し所定軸回りの、前記工具の位置を変更可能な加工機の加工経路を生成する加工経路生成装置で実行可能なプログラムにおいて、第一時点にて前記工具が前記ワークに付与する力の方向である第一方向を取得し、第一時点の後の第二時点にて前記工具が前記ワークに付与する力の方向である第二方向を取得し、前記第一方向及び第二方向の差分に基づいて、前記工具の前記所定軸周りの位置の角度変化量を演算し、前記第一時点における前記工具の前記所定軸周りの位置と、演算した前記角度変化量とに基づいて、前記所定軸周りの目標方向を演算し、演算した目標方向と、前記第二時点における前記工具の前記所定軸周りの位置との差分に基づいて、前記工具の前記所定軸周りの補正角度を演算する処理を前記加工経路生成装置に実行させる。
【0016】
本開示においては、工具をワークの表面に沿って移動させるごとに工具の姿勢を自動で制御するので、工具の刃以外の部分がワークに干渉することを防ぎ、精度の高いバリ取り作業を実現する加工経路を生成できる。
【発明の効果】
【0017】
本開示の一実施形態に係る加工経路生成装置、加工経路生成方法及びコンピュータプログラムにあっては、適切にバリ取り作業を実現する加工経路を生成する。
【図面の簡単な説明】
【0018】
【
図4】制御装置及び力覚センサ等を示すブロック図である。
【
図6】工具が開始点に接触したマスターワークの略示部分拡大平面図である。
【
図7】工具がマスターワークに非接触な状態の略示部分拡大平面図である。
【
図8】工具移動制御処理を説明するフローチャートである。
【
図9】状態0における工具が接触したマスターワークの略示部分拡大図である。
【
図10】状態1における工具が接触したマスターワークの略示部分拡大図である。
【
図11】状態2における工具が接触したマスターワークの略示部分拡大図である。
【
図12】状態3における工具が接触したマスターワークの略示部分拡大図である。
【
図13】状態4における工具が接触したマスターワークの略示部分拡大図である。
【
図14】実施形態1に係る工具回転制御処理を説明するフローチャートである。
【
図15】工具がマスターワークに接する際の略示断面図である。
【
図16】実施形態2に係る、状態k、状態k+1及び状態k+2における工具が接触したマスターワークの略示部分拡大図である。
【
図17】実施形態2に係る工具回転制御処理を説明するフローチャートである。
【発明を実施するための形態】
【0019】
(実施形態1)
以下本発明を実施形態1に係る工作機械及び加工経路生成装置を示す図面に基づいて説明する。以下の説明では図に示す上下前後左右を使用する。左右方向はX方向に対応し、前後方向はY方向に対応し、上下方向はZ方向に対応する。
図1は工作機械の外観斜視図、
図2はカバー内の工作機械の略示斜視図である。
【0020】
工作機械は保持台1を備える。保持台1の上面はワークを保持する。保持台1の周囲にカバー2が設けてある。カバー2は上下に延びた直方体をなし、前面部2a、右面部2b、左面部2c、後面部2d及び上面部2eを備える。開閉扉3は前面部2aに設け、透明な窓4は右面部2b及び左面部2cに設ける。
【0021】
カバー2の内側に、上下方向に延びた三つの立柱5が設けてある。三つの立柱5は、平面視にて約120度の位相間隔を空けて、保持台1の周囲に配置してある。各立柱5の保持台1側の側面に軌道6が設けてある。軌道6は上下方向に延びる。軌道6に移動部7と駆動機構(図示略)を設け、駆動機構はボールねじ機構等で構成する。駆動機構に動力を供給するモータ8は立柱5の上端部に設ける。モータ8の駆動によって、移動部7は軌道6に沿って上下方向に移動する。モータ8は上面部2eの上に設け、且つカバー2の外側に位置する。
【0022】
図2に示す如く、上面部2eは平面視三角形状の支持板2fを備える。支持板2fの上にモータ10及び減速機11が設けてある。三つの立柱5は支持板2fの三つの角部に夫々隣接する。三つの立柱5の上端部は上面部2eから上方に突出する。前記上端部と支持板2fの角部は連結板9を介して連結する。
図1にて、上端部、支持板2f及び連結板9の記載を省略する。
【0023】
保持台1の上側に主軸ユニット20が配置してある。主軸ユニット20は、上下に延びたボールスプライン12を介して減速機11に連結する。モータ10の回転は減速機11で減速後、ボールスプライン12に伝達する。ボールスプライン12は軸回りに回転する。
【0024】
主軸ユニット20は各立柱5に対向する。主軸ユニット20と移動部7とは、平行な二つのリンク13で連結する。リンク13は棒状をなす。二つのリンク13の一端部は主軸ユニット20の第一ハウジング21に回転可能な継手14を介して連結する。二つのリンク13の他端部は移動部7に継手14を介して連結する。継手14は自在継手等である。三つの移動部7の上下位置を変更して、主軸ユニット20は上下前後左右に移動する。
【0025】
図3は主軸ユニットの縦断面図である。主軸ユニット20は円錐台形の第一ハウジング21を備える。第一ハウジング21は小径側を上方に向け、大径側を下方に向けて配置する。第一ハウジング21の下面全体は開口する。第一ハウジング21の下縁部にリンク13(
図2参照)が連結する。
【0026】
第一ハウジング21の下面開口に第二ハウジング22が設けてある。第二ハウジング22は、内部が空洞の円柱状をなし、上下方向を軸方向にして配置してある。第二ハウジング22の上縁部は第一ハウジング21の下縁部内側に配置してある。第二ハウジング22の上縁部と第一ハウジング21の下縁部との間にクロスローラベアリング23が設けてある。クロスローラベアリング23は第二ハウジング22を回転可能に支持する。第二ハウジング22は上下軸回りに回転する。第一ハウジング21及び第二ハウジング22の上下方向に延びる中心軸は同じ位置にある。以下、第一ハウジング21及び第二ハウジング22の中心軸をC軸と称する。C軸は所定軸に対応する。
【0027】
第二ハウジング22の周面部の一部が、径方向外側に且つ斜め下向きに突出している。以下、この突出した部分を突出部22aと称する。突出部22aの下端は開口している。突出部22aと第二ハウジング22の周面部とのなす角は鋭角であり、例えば約30度である。突出部22aの下端に第一アーム40が設けてある。第一アーム40は上下に延びる筒状のハウジング40aを備える。ハウジング40aの上端部は突出部22aに連結し、ハウジング40aは突出部22aから斜め下向きに延びる。
【0028】
ハウジング40aの下端部側面に開口41が形成してある。開口41の周縁部に第二アーム42が回転可能に連結する。第二アーム42は、アーム部43及び支持筒44を備える。アーム部43は棒の中央を曲げたような形状を有し、ハウジング40aに平行な方向に延びる第一部分43aと、第一部分43aに交差する方向に延びる第二部分43bとを備える。第一部分43aの一端部と第二部分43bの一端部は一体的に連結する。第一部分43aの他端部は開口41の周縁部に、A軸回りに回転可能に連結する。A軸及びC軸の内角は90°未満であり、例えば約60°である。第二部分43bの他端部に支持筒44が設けてある。
【0029】
支持筒44の軸線と、C軸とが一致するように、支持筒44は配置してある。支持筒44にモータ及び主軸(何れも図示略)が収納してある。主軸の下端部に円柱形の工具45が装着してある。工具45は支持筒44から下方に突出し、工具45の軸線とC軸とは一致する。工作機械は、移動部7の移動または第二ハウジング22のC軸回りの回転又は第二アーム42のA軸回りの回転によって作業対象のワークに対する工具45の軸線の角度を変化させ、工具45の姿勢を変更することが出来る。工具45の先端はC軸及びA軸の交点に位置する。支持筒44に収納したモータは主軸に動力を供給し、主軸及び工具45はC軸回りに回転する。支持筒44は力覚センサ44aを収納する。力覚センサ44aは、工具45に作用した力の大きさ及び方向を検出する。力覚センサ44aの測定方法は限定されず、力覚センサ44aとしては、例えば、ひずみゲージ式力覚センサ、圧電式力覚センサ、光学式力覚センサ、又は静電容量式力覚センサ等が挙げられる。
【0030】
第一ハウジング21は切替機構28を収納する。第一ハウジング21及び第二ハウジング22は、第一伝達機構26を収納する。第一ハウジング21、第二ハウジング22及びハウジング40aは第二伝達機構27を収納する。エアシリンダ50が第一ハウジング21の外側に取り付けてある。エアシリンダ50はロッド(図示略)を有する。
【0031】
ロッドの移動によって切替機構28はボールスプライン12の回転の伝達先を第一伝達機構26又は第二伝達機構27に切り替える。第一伝達機構26は、ボールスプライン12の回転を第二ハウジング22に伝達する。第二伝達機構27は第一部分43aの他端部に連結する。第二伝達機構27は、ボールスプライン12の回転を第二アーム42に伝達する。なお切替機構28は第一伝達機構26及び第二伝達機構27の何れにも回転を伝達しない中立状態に切り替えることもできる。
【0032】
切替機構28がボールスプライン12の回転の伝達先を第一伝達機構26に切り替えた場合、第二ハウジング22、第一アーム40及び第二アーム42は、C軸回りに回転する。このとき第二アーム42はA軸回りに回転しない。切替機構28がボールスプライン12の回転の伝達先を第二伝達機構27に切り替えた場合、第二アーム42は、A軸回りに回転する。このとき第二ハウジング22、第一アーム40及び第二アーム42はC軸回りに回転しない。
【0033】
図4は、制御装置60及び力覚センサ44a等を示すブロック図である。工作機械はモータ8、モータ10及びエアシリンダ50等の駆動を制御する制御装置60を備える。制御装置60は加工経路生成装置を構成する。制御装置60は、CPU61、RAM62、記憶部63等を備える。記憶部63は、例えばEEPROM、EPROM、ハードディスク等の書き換え可能な記憶媒体を有する。記憶部63は、加工経路を生成する加工経路生成プログラム、ワークを加工する加工プログラム、閾値、目標値等を記憶する。持ち運び可能な記憶媒体63a、例えばCD-ROM及びフラッシュメモリ等に記憶した加工経路生成プログラム及び加工プログラム(プログラム製品)を記憶部63に格納してもよく、ネットワークを介してサーバから各プログラムを記憶部63に格納してもよい。CPU61は、加工経路生成プログラム及び加工プログラムをRAM62に読み込んで加工経路生成処理及び加工プログラムを実行する。
【0034】
力覚センサ44aは工具45に作用した力の方向及び大きさを示す信号を制御装置60に出力する。モータ8はエンコーダ8aを有する。エンコーダ8aはモータ8の回転位置を示す信号を制御装置60に出力する。モータ10はエンコーダ10aを有する。エンコーダ10aはモータ10の回転位置を示す信号を制御装置60に出力する。制御装置60は力覚センサ44a、エンコーダ8a及びエンコーダ10aからの入力に基づき、加工経路生成処理を実行する。
【0035】
図5は、マスターワーク70の略示平面図である。なお、本実施例ではXY平面での加工経路生成方法について記述するが、平面を指定することでXY平面に限らず3次元空間上での任意の平面での加工経路生成を行うことができる。加工経路生成処理を行う場合、作業者はマスターワーク70を保持台1に設置し、加工経路の開始点S及び終了点Eを設定する。作業者は手動で工具45を操作し、マスターワーク70の所望の位置に接触させる。CPU61は工具45が接触した位置、即ち開始点S及び終了点Eの前後左右上下位置を記憶部63に記憶する。本実施例では開始点Sよりも右側に終了点Eが設けてある。
【0036】
図6のP(t
k )は時点t
kにおける工具45のマスターワーク70への接触位置である。V軸は、時点t
k において、工具45が接触位置にてマスターワーク70に付与する力の方向を示す軸である。V軸はマスターワーク70側を正側とする。U軸は、V軸に直交する軸であって、工具45が移動する方向を示す軸である。本実施例では、U軸は略前後方向に延び、工具45は後方に移動するので、U軸は後方を正とする。開始点S、接触位置P(t
k )は第一位置に対応する。
【0037】
開始点Sにおいて、CPU61は力覚センサ44aの検出値に基づき、工具45がマスターワーク70の接触位置P(tk )に付与する力f(tk )の大きさ及び方向、即ちV軸に関する情報を取得する。CPU61は取得した力f(tk )の大きさと、目標値fd(tk )との差分を演算する。目標値fd(tk )は記憶部63に予め記憶してある。目標値fd(tk )はV軸方向における力の目標値である。
【0038】
CPU61は、演算した差分に係数κを乗じて、V軸方向における位置偏差量ΔPfd(tk )を求める。CPU61は、U軸方向と同一方向で記憶部63に予め記憶してある送り量nとなるよう位置偏差量ΔPd (tk )を求める。例えば、U軸の単位ベクトルに送り量nを乗算して位置偏差量ΔPd (tk )を求める。ただし、送り量nはU軸方向と同一方向でなくてもよい。その場合、V軸方向における位置偏差量ΔPfd(tk )にU軸方向の成分が含まれ、U軸方向における位置偏差量ΔPd (tk )にV軸方向の成分が含まれることになる。前述した他軸の成分を含む位置偏差量(ΔPfd(tk )、ΔPd (tk ))に対して該他軸の成分を削除したものがV軸方向誤差Ferr 、U軸方向誤差Perr である。なお、第一位置P(tk )から位置偏差量ΔPd (tk )移動した位置が第二位置に対応する。U軸方向における位置偏差量ΔPd (tk )は、工具45が開始点S、即ち現在位置から次の位置に向かう場合におけるU軸方向の移動距離である。V軸方向における位置偏差量ΔPfd(tk )は、工具45が開始点S、即ち現在位置から次の位置に向かう場合におけるV軸方向の移動距離である。
【0039】
CPU61は、下記式1を用いて、V軸方向誤差Ferr を求める。
【0040】
【数1】
ここで、Rは、XY座標系からUV座標系への変換行列であり、R=(v(t
k ),u(t
k ))である。R
-1は、UV座標系からXY座標系への変換行列であり、R
-1=(v(t
k ),u(t
k ))
T である。なお、v(t
k )はV軸方向における単位ベクトルを表し、u(t
k )はU軸方向における単位ベクトルを表す。
【0041】
CPU61は、下記式2を用いて、U軸方向誤差Perr を求める。
【0042】
【0043】
CPU61はV軸方向誤差Ferrに対して、PID制御を用いて第一制御量を算出する。PID制御は一般的なフィードバック制御方法である。第一制御量は工具45の押付量に対応する。またCPU61はU軸方向誤差Perr に対して、PID制御を用いて第二制御量を算出する。第二制御量は工具45の送り量に対応する。CPU61は第一制御量及び第二制御量を夫々独立して算出する。即ち、ハイブリッド制御に基づいて算出する。ハイブリッド制御とは、位置と力夫々の制御方向において、夫々の方向における制御量を互いに独立して算出及び制御することをいう。なお、必ずしもPID制御で第一制御量及び第二制御量を算出する必要はなく、例えば、V軸方向誤差Ferrを第一制御量、U軸方向誤差Perrを第二制御量としてもよい。CPU61は第一制御量及び第二制御量を加算し、XY座標系の合成制御量、即ち目標位置を求める。
【0044】
位置P(tk )から次の位置P(tk+1 )への移動においても同様に演算し、工具45の目標位置を求める。この場合、位置P(tk )は第一位置に対応し、位置P(tk+1 )は目標位置に対応する。
【0045】
図7のP(t
k )は時点t
kにおける工具45の位置であって、マスターワーク70に非接触な位置である。以下、P(t
k )を非接触位置と称する。P(t
k-1 )は時点t
k-1、即ち時点t
kの一つ前の時点にて工具45のマスターワーク70への接触位置である。V′軸は、時点t
k-1 において、工具45が接触位置にてマスターワーク70に付与する力の方向を示す軸である。V′軸はマスターワーク70側を正側とする。U′軸は、V′軸に直交する軸であって、工具45が移動する方向を示す軸である。本実施例では、工具45は右側に移動するので、U′軸は右側を正とする。
【0046】
時点tkにおいて、工具45はマスターワーク70に非接触であり、即ち位置P(tk )にある。この場合、力覚センサ44aの検出値が0となり、マスターワーク70から工具45に作用する力の方向、即ちV軸方向を求めることができない。
【0047】
この場合、CPU61は、時点tk-1 での接触位置P(tk-1 )におけるV′軸を角度θ回転させた軸を、時点tk での非接触位置P(tk )におけるV軸に決定する。このV軸に基づいてU軸を決定する。角度θは予め記憶部63に記憶してある。また力覚センサ44aの検出値に関する閾値が予め記憶部63に記憶してあり、検出値が示す力の大きさが前記閾値以下である場合、検出された力の大きさが0であり、V軸方向を求めることができないとCPU61は判断する。尚、時点tk-1 での接触位置P(tk-1 )におけるU′軸を角度θ回転させた軸を、時点tk での非接触位置P(tk )におけるU軸に決定し、このU軸に基づいてV軸を決定してもよい。
【0048】
図8は、加工経路生成処理を説明するフローチャートである。CPU61は工具45を開始点Sに移動する(S1)。CPU61は力覚センサ44aの検出値、即ち力f(t
k )の大きさと方向を取得し(S2)、CPU61は力f(t
k )の方向をV軸又はV′軸として記憶部63に記憶する(S3)。CPU61は検出された力の大きさが閾値以下であるか否か判定する(S4)。
【0049】
検出された力の大きさが閾値以下でない場合(S4:NO)、CPU61は、記憶したV軸に基づき、U軸を決定する(S5)。尚検出された力の大きさが閾値以下でない場合(S4:NO)、ステップS3における力f(tk )の方向はV軸である。U軸はV軸に直交する軸であり、CPU61は力f(tk )の方向に直交する方向をU軸に決定する。CPU61は第一制御量及び第二制御量、即ち押付量及び送り量を算出する(S6)。CPU61は第一制御量及び第二制御量を加算し、合成制御量、即ち目標位置を演算する(S7)。
【0050】
CPU61は目標位置まで工具45を移動する(S8)。フィードバック制御によって、工具45は目標位置まで移動する。工具45の移動終了後、CPU61はエンコーダ8aからモータ8の回転位置を取得し(S9)、該取得したモータ8の回転位置から工具45が終了点Eにあるか否か判定する(S10)。なお、CPU61は、エンコーダ8aから取得した工具45の位置と、終了点Eの位置との差分が所定値以下である場合、工具45が終了点Eにあると判断する。所定値は記憶部63に予め記憶してある。
【0051】
工具45が終了点Eにない場合(S10:NO)、CPU61はステップS2に処理を戻す。即ち、CPU61は目標位置における力f(tk+1 )の大きさ及び方向を取得し(S2)、処理を繰り返す。工具45が終了点Eにある場合(S10:YES)、CPU61は処理を終了する。
【0052】
ステップS4において、検出された力の大きさが閾値以下である場合(S4:YES)、CPU61は、ステップS2にて記憶部63に記憶したV′軸の情報に基づき、V軸及びU軸を決定し(S11)、ステップS6に処理を進める。尚検出された力の大きさが閾値以下である場合(S4:YES)、ステップS3における力f(tk )の方向はV′軸である。
【0053】
実施の形態に係る工作機械にあっては、第一位置、例えば開始点Sに付与する力の方向及び大きさを取得するだけで、開始点Sから第二位置、即ち次の位置P(tk )への工具の送り方向及び送り量、位置P(tk )にて工具45がマスターワーク70に接近する距離、即ち押付量を自動的に演算する。そのため、多数の教示点を予め記憶する必要が無く、工具の加工経路の生成に要する時間を短縮することができる。
【0054】
また第二位置にて工具45をマスターワーク70に押し付ける力が目標値に近づくように、押付量を演算することができる。
【0055】
またハイブリッド制御によって、工具45の送り量に影響されることなく、工具45の押付量を演算することができる。
【0056】
なお力覚センサ44aを使用して、力の大きさ及び方向を検出しているが、これに限定されず、各モータ8に作用する負荷、例えばトルクを検出し、検出したトルクに基づいて力の大きさ及び方向を算出してもよい。
【0057】
CPU61は、上述のように工具をマスターワーク70の周方向に沿って移動するように制御する。また、CPU61は工具の移動の制御と同時に工具をC軸回りに回転させるように制御する。以下では、CPU61による、工具のC軸回りの回転の制御について説明する。
【0058】
図9は、状態0における工具が接触したマスターワークの略示部分拡大図である。
図9Aには押付方向、
図9Bには工具回転方向を示している。工具45は前述のとおり円柱状であり、側面においてマスターワーク70と接触する。
図9Aに示す如く、作業者が工具45をマスターワーク70に接触させて、CPU61は、加工生成経路作成を開始する。加工経路生成開始時の工具45の状態を状態0とする。M(0)は加工経路生成開始時の工具45(状態0)におけるマスターワーク70と接触する位置である。CPU61は、状態0において、力覚センサ44aの検出値に基づき、工具45がC軸からM(0)に向けて押し付けられる方向F(0)(以下、初期押付方向とする)を記憶する。
図9Bに示す如く、CPU61はM(0)を基準点Bとして、工具回転方向G、即ちC軸から基準点Bに向けての方向を算出する。ただし、基準点BはM(0)である必要はなく、どの方向にとっても良い。CPU61はエンコーダ10aの検出値に基づき、状態0におけるC軸から基準点Bの方向G(0)(以下、初期工具回転方向とする)を記憶する。
CPU61は、初期押付方向F(0)及び初期工具回転方向G(0)を記憶した後、工具45をC軸回りに回転させずに工具45をマスターワーク70の周方向に沿って移動させる。
【0059】
図10は状態1における工具が接触したマスターワークの略示部分拡大図である。
図10Aには押付方向、
図10Bには工具回転方向を示している。
図10の白抜き矢印に示す如く、状態0から工具45が所定距離移動すると、工具45は状態1となる。以下、ある状態k(k=1、2、・・・)において、工具45におけるマスターワーク70との接触位置をM(k)とし、C軸からM(k)に向けて工具45がマスターワーク70に押し付けられる方向を押付方向F(k)とする。また、C軸から基準点Bに向けての方向を工具回転方向G(k)とする。
状態1において、CPU61は力覚センサ44aの検出値に基づきF(1)を取得する。
図10Aに示す如く、CPU61は予め記憶した初期押付方向F(0)と、取得したF(1)に基づき、工具45のマスターワークに対する押付方向の、状態0から状態1までのC軸回りの角度変化量を演算する。以下、状態0からある状態kまでのC軸回りの角度変化量を押付角度変化量φkとする。
【0060】
図10Bに示す如く、CPU61は予め記憶した初期工具回転方向G(0)と押付角度変化量φ1に基づいて、状態1における目標工具回転方向Gd(1)を演算する。目標工具回転方向Gd(1)と現在押付方向F(1)は一致している。
CPU61はエンコーダ10aの検出値に基づき、工具回転方向G(1)を取得する。なお、工具45は状態0から移動して状態1になるときにC軸回りに回転していないので、G(0)とG(1)は同方向である。CPU61は、工具回転方向G(1)と目標工具回転方向Gd(1)に基づいて、C軸回りの、工具補正回転角度を演算する。以下、ある状態kにおける、工具回転方向G(k)と目標工具回転方向Gd(k)に基づいて算出された工具補正回転角度をψkとする。
【0061】
図11は、状態2における工具が接触したマスターワークの略示部分拡大図である。
図11Aには押付方向、
図11Bには工具回転方向を示している。
図11の矢印に示す如く、CPU61は工具補正回転角度ψ1と同角度、工具45をC軸回りに回転させる。工具45回転後の工具45の状態を状態2とする。状態2における、C軸から基準点Bへの方向、即ち工具回転方向G(2)は工具押付方向F(2)と合致する。即ち、基準点BとM(2)は合致する。
CPU61は工具45をC軸回りに回転させたのち、工具45をC軸回りに回転させずにマスターワーク70の周方向に沿って移動させる。
【0062】
図12は状態3における工具が接触したマスターワークの略示部分拡大図である。
図12Aには押付方向、
図12Bには工具回転方向を示している。
図12の白抜き矢印に示す如く、状態2から工具45が所定距離移動すると、工具45は状態3となる。
状態3において、CPU61は力覚センサ44aの検出値に基づきF(3)を取得する。
図12Aに示す如く、CPU61は予め記憶した初期押付方向F(0)と、取得したF(3)に基づき、押付角度変化量φ3を算出する。
【0063】
図12Bに示す如く、CPU61は予め記憶した初期工具回転方向G(0)と押付角度変化量φ3に基づいて、状態3における目標工具回転方向Gd(3)を演算する。目標工具回転方向Gd(3)と現在押付方向F(3)は一致している。
CPU61はエンコーダ10aの検出値に基づき、工具回転方向G(3)を取得する。なお、工具45は状態2から移動して状態3になるときにC軸回りに回転していないので、G(3)とG(2)は同方向である。CPU61は、工具回転方向G(3)と目標工具回転方向Gd(3)に基づいて、C軸回りの、工具補正回転角度ψ3を演算する。
【0064】
図13は、状態4における工具が接触したマスターワークの略示部分拡大図である。
図13Aには押付方向、
図13Bには工具方向を示している。
図13の矢印に示す如く、CPU61は工具補正回転角度ψ3と同角度、工具45をC軸回りに回転させる。工具45回転後の工具45の状態を状態4とする。状態4における、C軸から基準点Bへの方向、即ち工具回転方向G(4)は工具押付方向F(4)と合致する。即ち、基準点BとM(4)は合致する。
CPU61は工具45をC軸回りに回転させたのち、工具45をC軸回りに回転させずにマスターワーク70の周方向に沿って移動させる。
【0065】
以降、CPU61は状態2から状態4にかけての処理及び制御と同様の処理及び制御を繰り返し、工具45が終了点Eに到達した時、処理及び制御を終了する。
【0066】
図14は、実施形態1に係る工具回転制御処理を説明するフローチャートである。なお、工具45は第一時点において状態0になり、第二時点において状態kになる。CPU61は工具45を開始点Sに移動させる(S11)。CPU61は力覚センサ44aの検出値に基づいて、初期押付方向F(0)を取得し、記憶する(S12)。初期押付方向F(0)は第一方向に対応する。CPU61はエンコーダ10aの検出値に基づき、初期工具回転方向G(0)の方向を取得し、記憶する(S13)。
【0067】
CPU61は、工具45をマスターワーク70の周方向に沿って所定距離移動させる(S14)。このとき、工具45の状態を状態k(k=1、2、・・・)とする。工具45の移動完了後、CPU61は力覚センサ44aの検出値に基づいて、押付方向F(k)を取得する(S15)。押付方向F(k)は第二方向に対応する。また、CPU61は工具回転方向G(k)を取得する(S16)。
【0068】
CPU61は押付方向F(k)及び初期押付方向F(0)を基にして押付角度変化量を算出する(S17)。CPU61は押付角度変化量及び初期工具回転方向G(0)を基にして目標工具回転方向Gd(k)を算出する(S18)。CPU61は目標工具回転方向Gd(k)と工具回転方向G(k)から工具補正回転角度を算出し(S19)、工具補正回転角度と同角度、工具45をC軸回りに回転させる(S20)。
【0069】
CPU61は工具45を回転させ、状態がk+1になったのち、エンコーダ8aから工具45の位置を取得し、工具45が終了点Eにあるか否か判定する(S21)。なお、CPU61は、エンコーダ8aから取得した工具45の位置と、終了点Eの位置との差分が所定値以下である場合、工具45が終了点Eにあると判断する。所定値は記憶部63に予め記憶してある。
【0070】
工具45が終了点Eにない場合(S21:NO)、CPU61はステップS14に処理を戻す。即ち、工具45をマスターワーク70の周方向に沿って所定距離移動させ(S14)、次の工具の状態k+2について処理を繰り返す。工具45が終了点Eにある場合(S21:YES)、CPU61は処理を終了する。
【0071】
実施形態1に係る加工経路生成装置にあっては、工具45が移動する毎に工具回転方向を補正して押付方向に合致させる。これにより、開始時点と任意の時点におけるマスターワーク70に対する工具45の角度は同じになる。また、同様の処理を繰り返すことによって、マスターワーク70に対する工具45の角度を一定にすることが出来る。
【0072】
図15は工具がマスターワークに接する際の略示断面図である。
図15Aでは、本実施形態に係る処理及び制御を行わずに工具45をマスターワーク70の周方向に沿って移動させた際の、状態0及び状態kにおける工具45を表しており、
図15Bでは本実施形態に係る処理及び制御を行いながら工具45をマスターワーク70の周方向に沿って移動させた際の、状態0および状態kにおける工具45を表している。
図15Aに示す如く、状態0において工具刃部45aをマスターワーク70に接触させたのち、工具45をC軸回りに回転させることなくマスターワーク70の周方向に沿って移動させると、状態kにおいて、工具45において意図しない箇所がマスターワーク70に当たって干渉し、工具刃部45aがマスターワーク70に接触せず正しい加工経路を生成できない。
これに対し、本実施形態に係る処理及び制御を行いながら工具45をマスターワーク70の周方向に沿って移動させた場合、
図15Bに示す如く、工具45において意図しない箇所がマスターワーク70に当たって干渉することを防ぐようにC軸の方向が変わり、状態kにおいても、状態0と同様に工具刃部45aがマスターワークに接触する。よって、工具45において意図しない箇所がマスターワーク70に当たって干渉することなく、正しい加工経路を生成することが出来る。
【0073】
(実施形態2)
以下では、実施形態2について、実施形態1と異なる点を説明する。実施形態1と共通する処理及び構成には実施形態1と同一の参照符号を付し、その説明を省略する。
図16は、実施形態2に係る、状態k、状態k+1及び状態k+2における工具が接触したマスターワークの略示部分拡大図である。
図16Aには押付方向、
図16Bには工具回転方向を示している。工具45は移動開始後、移動終了まで常にマスターワーク70の周方向に沿って移動するが、
図16では説明の都合上、三つの状態おける工具45を重ねて表示する。
図16Bに示す如く、状態kにおいて、G(k)はF(k)よりもC軸回りの回転方向においてG(0)側にある。
【0074】
実施形態1に係る加工経路生成装置は、工具45がマスターワーク70の周方向に沿って移動する毎に、押付方向と工具回転方向の差異がなくなるように工具45をC軸回りに回転させる。対して実施形態2では、
図16に示すように、加工経路生成時間の削減のために工具45を白抜き矢印の方向に移動させながら工具45をC軸回りに回転させる。このとき、工具45のC軸回りの回転はマスターワーク70の周方向の移動に対して遅延するので、押付方向と工具回転方向を合致させることが出来ない。
そこで、実施形態2に係る加工経路生成装置は、初期工具回転方向G(0)からφkよりも大きい角度、C軸回りに回転させた方向を目標工具回転方向Gd(k)とすることで、工具45をマスターワーク70の周方向に移動させながら、工具45の押付方向と工具回転方向の差異が大きくならないように制御する。即ち、CPU61は状態kにおいてGd(k)をF(k)と同じ方向ではなく、F(k)よりも図面上において時計回りに、C軸回りに回転させた方向に設定する。
【0075】
CPU61は状態k+1において、G(k+1)と、F(k+1)を取得する。その後、CPU61は工具45をマスターワーク70の周方向に沿って移動させながら、目標工具回転方向Gd(k+1)を演算する。このとき、CPU61は、予め記憶したG(0)、F(0)、取得したF(k+1)に加え、状態kにおいて演算した、前回工具補正回転角度ψkを基にして目標工具回転方向Gd(k+1)を演算する。具体的には、状態k+1において算出した押付角度変化量φk+1に、状態kにおける前回工具補正回転角度ψkに予め定めた係数αを乗算した調整角度を加え調整後角度変化量φ’k+1(φ’k+1=φk+1+α・ψk)とし、初期工具回転方向G(0)から調整後角度変化量φ’k+1と同角度、C軸回りに回転した工具の方向を、状態k+1における目標工具回転方向Gd(k+1)とする。
【0076】
CPU61はGd(k+1)を演算したのち、G(k+1)とGd(k+1)との差分を基にして工具補正回転角度ψk+1を演算する。CPU61は、工具45をマスターワーク70の周方向に沿って移動をすすめながら、工具補正回転角度ψk+1と同角度、工具45をC軸回りに回転させる。工具45の回転後、工具45は状態k+2になり、CPU61は状態k+1における処理及び制御と同様の処理及び制御を繰り返す。
【0077】
図17は、実施形態2に係る工具回転制御処理を説明するフローチャートである。工具45は第三時点において状態k+1となり、押付方向F(k+1)は第三方向に対応する。S31~S33では、S11~S13と同様の処理を行う。CPU61は初期工具回転方向G(0)を記憶した(S33)のち、工具45の連続移動を開始する(S34)。CPU61は状態k+1において、押付方向F(k+1)を取得し(S35)、工具回転方向G(k+1)を取得する(S36)。CPU61は、状態kにおける前回工具補正回転角度ψkに予め定めた係数αを乗算して調整角度α・ψkを算出する(S37)。CPU61は、押付方向F(k+1)と初期押付方向F(0)から押付角度変化量φk+1を算出し(S38)、押付角度変化量φk+1に調整角度α・ψkを加えて調整後角度変化量φ’k+1とし、初期工具回転方向G(0)と調整後角度変化量φ’k+1を基にして目標工具回転方向Gd(k+1)を算出する(S39)。CPU61は目標工具回転方向Gd(k)と工具回転方向G(k)から工具補正回転角度ψk+1を算出し(S40)、工具補正回転角度ψk+1と同角度、工具45をC軸回りに回転させる(S41)。
【0078】
CPU61は工具45が終了点Eにあるか否か判定する(S42)工具45が終了点Eにない場合(S42:NO)、CPU61はステップS35に処理を戻す。即ち、次の状態k+1において押付方向を取得し(S35)、同様の処理を繰り返す。工具45が終了点Eにある場合(S42:YES)、CPU61は処理を終了する。
【0079】
実施形態2に係る加工経路生成装置においては、工具45をマスターワーク70の周方向に沿って移動させることで加工経路生成時間を短縮しつつ、押付方向と工具回転方向のずれを微小にすることが出来る。
【0080】
(変形例)
実施形態1及び2ではC軸と工具45の軸線は一致し、所定軸はC軸に対応する。しかし、A軸回りに第二アーム44が回転した場合、C軸と工具45の軸線は一致しない。このとき、所定軸は工具45の軸線に対応するものとし、CPU61は実施形態1及び2と同様の制御を行ってもよい。
【0081】
今回開示した実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。各実施例にて記載されている技術的特徴は互いに組み合わせることができ、本発明の範囲は、特許請求の範囲内での全ての変更及び特許請求の範囲と均等の範囲が含まれることが意図される。
【符号の説明】
【0082】
8 モータ
8a エンコーダ
10 モータ
10a エンコーダ
20 主軸ユニット
45 工具
60 制御装置
61 CPU
62 RAM
63 記憶部
63a 記憶媒体
70 マスターワーク