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

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

▶ ファナック株式会社の特許一覧

特許7688144制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
<>
  • 特許-制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 図1
  • 特許-制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 図2
  • 特許-制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 図3
  • 特許-制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 図4
  • 特許-制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 図5
  • 特許-制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 図6
  • 特許-制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 図7
  • 特許-制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-26
(45)【発行日】2025-06-03
(54)【発明の名称】制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
(51)【国際特許分類】
   G05B 19/4103 20060101AFI20250527BHJP
   G05B 19/4093 20060101ALI20250527BHJP
【FI】
G05B19/4103 A
G05B19/4093 H
【請求項の数】 11
(21)【出願番号】P 2023552672
(86)(22)【出願日】2021-10-08
(86)【国際出願番号】 JP2021037434
(87)【国際公開番号】W WO2023058243
(87)【国際公開日】2023-04-13
【審査請求日】2024-05-15
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】村上 大樹
(72)【発明者】
【氏名】河村 宏之
(72)【発明者】
【氏名】藤山 次郎
(72)【発明者】
【氏名】小出 直矢
【審査官】大屋 静男
(56)【参考文献】
【文献】特開2001-117617(JP,A)
【文献】特開平09-160623(JP,A)
【文献】国際公開第2016/067392(WO,A1)
【文献】特表2010-511919(JP,A)
【文献】米国特許第07444202(US,B2)
【文献】特開2014-167684(JP,A)
【文献】特開平10-240328(JP,A)
【文献】特開2005-309990(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/00-19/46
(57)【特許請求の範囲】
【請求項1】
制御用プログラムに基づいて産業機械によるワークの加工を制御する制御装置であって、
前記制御用プログラムにより指令された指令経路に対してローパスフィルタによるスムージングを施すことでスムージング経路を生成するローパスフィルタ部と、
前記指令経路の曲率と、前記ローパスフィルタのフィルタ長とに基づいて、前記ローパスフィルタ部によって得られるスムージング経路の、前記指令経路に対して内回る方向の内回り量を計算する内回り量計算部と、
前記内回り量に基づいて、前記スムージング経路が前記内回る方向と逆方向へ引き戻された経路を出力するスムージング処理部と、
を備える制御装置。
【請求項2】
前記スムージング処理部は、
前記ローパスフィルタ部が生成したスムージング経路を、前記内回り量計算部が計算した前記内回り量の分だけ、前記内回る方向と逆方向へ引き戻す補正を行う引き戻し補正部を備え、
前記引き戻し補正部が補正した経路を出力する、
請求項1に記載の制御装置。
【請求項3】
前記スムージング処理部は、
前記指令経路を、前記内回り量計算部が計算した前記内回り量の分だけ、前記内回る方向と逆方向へ事前に引き戻す補正を行う事前引き戻し補正部を備え、
前記事前引き戻し補正部が補正した指令経路を前記ローパスフィルタ部によりスムージングを施したスムージング経路を出力する、
請求項1に記載の制御装置。
【請求項4】
前記内回り量計算部は、前記指令経路と、前記スムージング経路との差分を内回り量とする、
請求項1に記載の制御装置。
【請求項5】
前記内回り量計算部は、前記制御用プログラムにより指令される複数の指令点と、前記スムージング経路との差分に基づいて内回り量を計算する、
とする、
請求項1に記載の制御装置。
【請求項6】
前記指令経路の曲率は、前記スムージング経路の曲率を用いて計算する、
請求項1に記載の制御装置。
【請求項7】
前記指令経路の曲率は、前記制御用プログラムに付随する情報として指定されている、
請求項1に記載の制御装置。
【請求項8】
前記フィルタ長は、前記指令経路に沿った移動速度及び前記ローパスフィルタの時定数の少なくともいずれかに基づいて計算する、
請求項1に記載の制御装置。
【請求項9】
前記スムージング処理部は、出力した経路に対して前記内回り量計算部及び前記ローパスフィルタ部を用いたスムージング処理を繰り返し行う、
請求項1に記載の制御装置。
【請求項10】
経路変更量が指定されたトレランス以内となっているかチェックするトレランスチェック部を更に備え、
前記スムージング処理部は、前記トレランスチェック部により前記経路変更量が指定されたトレランス以内となるまで、スムージング処理を繰り返し行う、
請求項9に記載の制御装置。
【請求項11】
制御用プログラムに基づいて産業機械によるワークの加工を制御する制御装置を動作させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記制御用プログラムにより指令された指令経路に対してローパスフィルタによるスムージングを施すことでスムージング経路を生成するローパスフィルタ部と、
前記指令経路の曲率と、前記ローパスフィルタのフィルタ長とに基づいて、前記ローパスフィルタ部によって得られるスムージング経路の、前記指令経路に対して内回る方向の内回り量を計算する内回り量計算部と、
前記内回り量に基づいて、前記スムージング経路が前記内回る方向と逆方向へ引き戻された経路を出力するスムージング処理部として、
制御装置を動作させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【0002】
工作機械や放電加工機などの産業機械で滑らかな自由曲面を加工するための制御用プログラムを作成する場合、CAD(Computer Aided Design)で作成された曲線を、CAM(Computer Aided Manufacturing)により点列に変換する。これらの点を指令点と称する。曲線は指令点列に変換されることで、連続する複数の微小線分として表現される。
【0003】
図7は、CAMが変換した複数の指令点の列を例示する図である。図7では、複数の指令点422を黒丸で、指令点422の間の微小線分424を点線矢印で示している。図7に示されるように、微小線分424により構成される移動経路は多面体的な形状となる。制御装置は、この制御用プログラムにより指令される複数の微小点又は複数の微小線分に基づいて滑らかな工具経路を作成する(例えば、特許文献1など)。そして滑らかな工具経路に沿って工具をワークに対して相対的に移動させながら加工することで、滑らかな加工面を形成する。
【0004】
複数の微小線分から滑らかな工具経路を作成する方法の1つに、移動平均フィルタなどのローパスフィルタを用いたスムージングを行う方法がある。図8は、連続する複数の微小線分から為る多角経路をローパスフィルタでスムージングして作成される曲線経路(以下、スムージング経路とする)の例を示している。図8では、スムージング経路426を実線矢印で示している。ローパスフィルタによるスムージングには、隣接する経路間の断差を小さくするメリットがある。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2000-353006号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
図8に例示されるように、ローパスフィルタによるスムージング経路426は、元の多角経路と比較して、複数の指令点422を通る曲線の主法線ベクトルの方向(曲線のカーブの内側方向)にずれた経路となる。本明細書では、このようなずれの量を内回り量と称する。そのため、スムージング経路は、滑らかである反面、指令点422からずれた位置を通る。すなわち、加工精度(形状精度)が低下することとなる。スムージング処理をする際に、トレランス(許容誤差)を設定することで加工精度の低下をある程度抑えることもできる。しかしながら、加工精度の低下を抑えようとして厳しいトレランスを設定すると、経路が十分に滑らかにならないという問題が生じる。
そこで、加工精度を保ちながら加工経路を十分に滑らかにする技術が望まれている。
【課題を解決するための手段】
【0007】
本開示による制御装置は、ローパスフィルタでスムージング処理をした場合に生じる経路のずれである内回り量を考慮して、スムージング後の曲線が複数の指令点に近づくように補正を行う。この補正は、スムージング処理の後にスムージング経路に対して行ってもよいし、スムージング処理の前に処理対象となる指令点に対して行ってもよい。スムージング経路又は指令点は、複数の指令点を通る曲線の主法線ベクトルの逆方向(曲線のカーブの外側方向)に補正される。
【0008】
そして、本開示の一態様は、制御用プログラムに基づいて産業機械によるワークの加工を制御する制御装置であって、前記制御用プログラムにより指令された指令経路に対してローパスフィルタによるスムージングを施すことでスムージング経路を生成するローパスフィルタ部と、前記指令経路の曲率と、前記ローパスフィルタのフィルタ長とに基づいて、前記ローパスフィルタ部によって得られるスムージング経路の、前記指令経路に対して内回る方向の内回り量を計算する内回り量計算部と、前記内回り量に基づいて、前記スムージング経路が前記内回る方向と逆方向へ引き戻された経路を出力するスムージング処理部と、を備える制御装置である。
【0009】
本開示の他の一態様は、制御用プログラムに基づいて産業機械によるワークの加工を制御する制御装置を動作させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記制御用プログラムにより指令された指令経路に対してローパスフィルタによるスムージングを施すことでスムージング経路を生成するローパスフィルタ部と、前記指令経路の曲率と、前記ローパスフィルタのフィルタ長とに基づいて、前記ローパスフィルタ部によって得られるスムージング経路の、前記指令経路に対して内回る方向の内回り量を計算する内回り量計算部と、前記内回り量に基づいて、前記スムージング経路が前記内回る方向と逆方向へ引き戻された経路を出力するスムージング処理部として、制御装置を動作させるプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0010】
本開示の一態様により、滑らかであり、かつ高精度な(内回りによる精度低下がない)経路が得られる。そのため、加工面が滑らかであり、かつ形状精度が悪化しない加工ワークが得られる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施形態による制御装置の概略的なハードウェア構成図である。
図2】本発明の第1実施形態による制御装置の概略的な機能を示すブロック図である。
図3】内回り量について説明する図である。
図4】本発明の第2実施形態による制御装置の概略的な機能を示すブロック図である。
図5】本発明の第3実施形態による制御装置の概略的な機能を示すブロック図である。
図6】本発明の他の実施形態による制御装置の概略的な機能を示すブロック図である。
図7】CAMが変換した複数の指令点の列を例示する図である。
図8】多角経路をローパスフィルタでスムージングして作成されるスムージング経路の例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の第1実施形態による制御装置の要部を示す概略的なハードウェア構成図である。本発明の制御装置1は、例えば制御用プログラムに基づいて工作機械や放電加工機、ロボットなどの産業機械を制御する制御装置として実装することができる。以下では、本実施形態による制御装置1について、制御用プログラムに基づいて工具をワークに対して相対的に移動させることで該ワークを加工する工作機械を制御する制御装置を例として説明する。
【0013】
本実施形態による制御装置1が備えるCPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って制御装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0014】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、制御装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、産業機械2から取得されたデータ、インタフェース15を介して外部機器72から読み込まれた制御用プログラムやデータ、入力装置71を介して入力された制御用プログラムやデータ、ネットワーク5を介して他の装置から取得された制御用プログラムやデータ等が記憶される。不揮発性メモリ14に記憶された制御用プログラムやデータは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0015】
インタフェース15は、制御装置1のCPU11とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば産業機械2の制御に用いられる制御用プログラムや設定データ等が読み込まれる。また、制御装置1内で編集した制御用プログラムや設定データ等は、外部機器72を介して外部記憶手段に記憶させることができる。PLC(プログラマブル・ロジック・コントローラ)16は、ラダープログラムを実行して産業機械2及び産業機械2の周辺装置(例えば、工具交換装置や、搬送ロボットのアクチュエータ、産業機械2に取付けられている温度センサや湿度センサ等の複数のセンサ)にI/Oユニット19を介して信号を出力し制御する。また、産業機械2の本体に配備された操作盤の各種スイッチや周辺装置等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0016】
インタフェース20は、制御装置1のCPUと有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5には、工作機械や放電加工機などの他の産業機械4やフォグコンピュータ6、クラウドサーバ7等が接続され、制御装置1との間で相互にデータのやり取りを行っている。
【0017】
表示装置70には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース17を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、オペレータによる操作に基づく指令,データ等をインタフェース18を介してCPU11に渡す。
【0018】
産業機械2が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる産業機械2に備えられた軸の数だけ用意される。
【0019】
図2は、本発明の第1実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、図1に示した制御装置1が備えるCPU11がシステム・プログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
【0020】
本実施形態の制御装置1は、解析部100、スムージング処理部110、ローパスフィルタ部112、内回り量計算部114、モータ制御部120を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、予め産業機械2の運転を制御するための制御用プログラム200が記憶されている。
【0021】
解析部100は、制御用プログラム200のブロックを読み出して解析し、産業機械2の各部を駆動するサーボモータ50の移動指令データを生成する。解析部100は、制御用プログラム200のブロックにより指令される送り指令に基づいて、産業機械2の工具をワークに対して相対的に移動させるサーボモータ50に対する移動指令に係るデータを生成する。生成した移動指令に係るデータには、少なくとも複数の指令点の列を含む。解析部100は、生成した移動指令に係るデータをスムージング処理部110に出力する。
【0022】
スムージング処理部110は、解析部100から入力された移動指令に係るデータに基づいて、該移動指令に係るデータに含まれる複数の指令点の列から構成される移動経路をスムージングしたスムージング経路を生成する。スムージング処理部110が生成するスムージング経路は、内回り量計算部114が計算する内回り量を考慮したものであり、また、ローパスフィルタ部112により生成された曲線経路に基づくものである。
【0023】
ローパスフィルタ部112は、複数の指令点の間を結んで得られる複数の微小線分から構成される経路に対してローパスフィルタによるスムージングを施すことでスムージング経路を生成する。ローパスフィルタ部112は、複数の微小線分から構成される経路に対してローパスフィルタを掛ける際に、複数の微小線分から構成される経路を、例えばパラメトリック曲線P(t)として定める。ここで、P(t)は各軸の座標値を要素とするベクトルであり、ベクトルの次元は軸数と一致する。例えば、産業機械2がX軸、Y軸、Z軸により工具とワークとを相対移動させている場合には、P(t)は3次元のベクトルとなる。tはパラメトリック曲線のパラメータである。制御用プログラム200により指令された経路をパラメトリック曲線で表す方法については公知の技術であるため割愛する。このように定義した場合、経路P(t)に対してスムージング処理を施した曲線経路をQ(t)とすると、Q(t)は以下の数1式で計算することができる。なお、数1式においてF(l)はローパスフィルタによるフィルタ操作を表す。ローパスフィルタとしては、例えば公知の移動平均フィルタやガウス畳み込みフィルタなどを用いることができる。この時、lはフィルタの適用範囲(フィルタ長)を表すパラメータである。フィルタ長は、指令経路に沿った工具の移動時間や移動距離、移動速度、及びフィルタによって定まる時定数の少なくともいずれかに基づいて計算すればよい。経路を構成する微小線分の長さ程度(パラメトリック曲線のパラメータtが時間の単位である場合には、微小線分の移動に係る時間程度)にフィルタ長を設定することで、多角形の経路を十分に滑らかにすることができる。制御用プログラム200が微小線分で表される場合は、フィルタ長は一般に線分長より長い範囲で適用する。この線分長はフィルタ処理の前に予めチェックしても良いし、別途与えても良い。
【0024】
【数1】
【0025】
ローパスフィルタ部112がスムージングに用いるローパスフィルタとしては、他の公知のローパスフィルタを用いてもよい。
【0026】
内回り量計算部114は、複数の指令点の間を結んで得られる複数の微小線分から構成される経路に対してローパスフィルタ部112がローパスフィルタを掛けることで生成されるスムージング経路がどの程度内回るのか、その内回り量を計算する。
【0027】
内回り量計算部114は、例えば複数の微小線分から構成される経路と、スムージング経路との間で単純に差分を取ることで内回り量を計算してもよい。例えば、以下に例示する数2式を用いて、所定のパラメータ周期で内回り量を計算するようにしてよい。なお、数2式において、d(t)は所定のパラメータの位置における内回り量(スカラー値)である。
【0028】
【数2】
【0029】
図3は、複数の微小線分から構成される経路に対するスムージング経路の内回り量を例示する図である。図3では、指令点422を黒丸で、微小線分424を点線矢印で、スムージング経路426を実線矢印で示している。なお、図3は内回り量を把握しやすくするために、現実よりもスムージング経路が大きく内回るように描画している。図3に例示するように、微小線分から構成される経路と、スムージング経路との間で単純に差分を取った内回り量を計算する場合、例えば指令点422の位置における内回り量や、指令点422間の所定のパラメータtの値の位置における内回り量を算出することができる。
【0030】
内回り量計算部114は、例えば指令点422の位置における内回り量のみを数2式を用いて計算し、他の位置における内回り量を比例配分などで計算するようにしてもよい。例えば、所定の指令点の位置におけるパラメータtの値がts、その次の指令点の位置におけるパラメータtの値がteであるとする。この時、以下の数3式に示す値aが一意に定まる。
【0031】
【数3】
【0032】
この値aを用いて、指令点間における所定の位置の内回り量を以下の数4式で計算するようにすればよい。
【0033】
【数4】
【0034】
内回り量計算部114は、例えばスムージング曲線の曲率に基づいて、近似的に内回り量を計算するようにしてもよい。スムージング曲線Q(t)の所定の位置における曲率半径R(t)は、パラメトリック曲線から公知の解析的手法又は近似的手法により求めることができる。この曲率半径R(t)の円弧経路をCircle(R)とした時、内回り量d(t)は以下の数5式を満たす。この数5式をd(t)について解析的または近似的に解くことで、内回り量を計算することができる。
【0035】
【数5】
【0036】
スムージング処理部110は、このようにして内回り量計算部114が計算する内回り量に基づいて、ローパスフィルタ部112により生成されたスムージング経路を補正することで、指令点近傍を通るスムージング経路を生成するようにしてもよい。他の手法としては、内回り量計算部114が計算する内回り量に基づいて、予め指令点を移動させた補正点を計算する。そして、この複数の補正点の列から構成される補正後の移動経路に対してローパスフィルタ部112によりフィルタを掛けることで、指令点近傍を通るスムージング経路を生成するようにしてもよい。
【0037】
モータ制御部120は、スムージング処理部110により生成されたスムージング経路に沿って工具とワークとが相対的に移動するように産業機械2が備えるサーボモータ50を制御する。
【0038】
上記構成を備えた本開示の一態様により、滑らかであり、かつ高精度な(内回りによる精度低下がない)経路が得られる。そのため、加工面が滑らかであり、かつ形状精度が悪化しない加工ワークが得られる。
【0039】
図4は、本発明の第2実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、図1に示した制御装置1が備えるCPU11がシステム・プログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
【0040】
本実施形態の制御装置1は、解析部100、スムージング処理部110、ローパスフィルタ部112、内回り量計算部114、モータ制御部120に加えて、更に引き戻し補正部116を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、予め産業機械2の運転を制御するための制御用プログラム200が記憶されている。
【0041】
解析部100、ローパスフィルタ部112、内回り量計算部114、モータ制御部120が備える各機能は、第1実施形態による制御装置1が備える各機能と同様である。
本実施形態によるスムージング処理部110は、複数の指令点に対して内回りが生じたスムージング経路を、引き戻し補正部116により内回る方向とは逆方向に補正することで、スムージング曲線を生成する。言い換えると、スムージング経路の曲率中心方向ベクトル(主法線ベクトル)と逆方向に補正する。本明細書では、この内回る方向とは逆方向に補正することを引き戻し補正と称する。
【0042】
引き戻し補正部116は、スムージング処理部110が生成したスムージング経路に対して引き戻し補正をしたスムージング曲線を生成する。引き戻し補正部116は、例えば内回り量計算部114が計算した内回り量をそのまま使用して引き戻し補正をしてもよい。例えば、スムージング曲線Q(t)の各位置における曲率中心をQC(t)とする。この場合における曲率単位ベクトルeq(t)は、以下の数6式で示すことができる。
【0043】
【数6】
【0044】
この場合において、引き戻しベクトルh(t)は、以下の数7式で計算することができる。
【0045】
【数7】
【0046】
そして、引き戻し補正部116は、以下の数8式で引き戻し補正後のスムージング曲線S(t)を算出することができる。
【0047】
【数8】
【0048】
スムージング処理部110は、このようにして得られた引き戻し補正後のスムージング曲線S(t)を最終的な経路としてモータ制御部120へ出力する。
【0049】
引き戻し補正部116は、引き戻しベクトルh(t)の計算時に、以下の数9式に示すように平滑化の処理を行うようにしてもよい。数9式において、F(l)はローパスフィルタによるフィルタ操作を表し、lはフィルタの適用範囲(フィルタ長)を表すパラメータである。このフィルタF(l)は、ローパスフィルタ部112が用いるフィルタと同じものであってもよいし、異なるものであってもよい。
【0050】
【数9】
【0051】
上記構成を備えた本開示の一態様により、ローパスフィルタによる内回り量を計算し、計算した内回り量を用いてスムージング曲線の補正を行うことができるので、滑らかであり、かつ高精度な(内回りによる精度低下がない)経路が得られる。そのため、加工面が滑らかであり、かつ形状精度が悪化しない加工ワークが得られる。
【0052】
図5は、本発明の第3実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、図1に示した制御装置1が備えるCPU11がシステム・プログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
【0053】
本実施形態の制御装置1は、解析部100、スムージング処理部110、ローパスフィルタ部112、内回り量計算部114、モータ制御部120に加えて、更に事前引き戻し補正部118を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、予め産業機械2の運転を制御するための制御用プログラム200が記憶されている。
【0054】
解析部100、ローパスフィルタ部112、内回り量計算部114、モータ制御部120が備える各機能は、第1実施形態による制御装置1が備える各機能と同様である。
本実施形態によるスムージング処理部110は、スムージング処理を行う前の複数の指令点に対して、事前引き戻し補正部118により内回った方向とは逆方向に補正した補正点を生成する。そして、この複数の補正点に対してローパスフィルタ部112によりスムージングをすることで、スムージング曲線を生成する。
【0055】
事前引き戻し補正部118は、スムージング処理を行う前の複数の指令点に対して事前に引き戻し補正を行う。以下、事前に引き戻し補正を行う手法について説明する。指令経路をパラメトリック曲線P(t)とし、その各位置における曲率半径をRP(t)とする。経路が微小線分で与えられる時、P(t)は多角形的となる。この場合、局所的に曲率を求めるのではなく、ある程度の範囲の平均的な形状情報から曲率を求める。一般には、多項式によるフィッティングなどを用いることで、各位置における曲率を求めることができる。例えば、半径Rの円弧経路をCircle(R)で示すとする。この時、内回り量は以下の数10式で計算できる。
【0056】
【数10】
【0057】
また、P(t)の各位置における曲率中心をPC(t)とする。この場合における曲率単位ベクトルep(t)は、以下の数11式で示すことができる。
【0058】
【数11】
【0059】
このようにして求めたd(t)及びep(t)を用いて、以下の数12式で事前引き戻しベクトルhpre(t)を計算することができる。
【0060】
【数12】
【0061】
そして、数13式を用いて、事前引き戻しベクトルhpre(t)を用いてP(t)を事前に引き戻し補正を行うことで、補正された指令経路S(t)を計算する。
【0062】
【数13】
【0063】
スムージング処理部110は、この補正された指令経路S(t)に対してローパスフィルタ部112によりスムージングをすることですることで、スムージング曲線を生成する。
【0064】
上記構成を備えた本開示の一態様により、事前に内回り量を計算し、計算した内回り量を用いて指令点の補正を行う。そして、補正された複数の指令点に対してスムージングを行うため、滑らかであり、かつ高精度な(内回りによる精度低下がない)経路が得られる。スムージング曲線を計算してから補正を行う場合と比較して、計算量の低減も見込まれる。
【0065】
以上、本発明の実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態では制御用プログラム200により複数の指令点の列が経路として示されている例を示した。そのため、指令点の間が微小線分であることを前提とした説明となっている。しかしながら、制御用プログラム200により指令点の間の経路が微小線分だけでなく、微小円弧、所定のパラメトリック曲線などで明示的に経路が指定されている場合においても、本願発明を適用することは可能である。
【0066】
また、上記した実施形態では、内回り量の計算に用いる各値を指令経路やスムージング経路から計算していたが、例えば指令経路の各部における曲率は、予め制御用プログラム200の各ブロックに付随的に設定されるようにしてもよい。このような情報を付加する処理は、予めCAD/CAMの側で予め行うようにすることができる。このように構成することで、スムージング処理を行う際の制御装置1における計算負荷を低減させることができる。
【0067】
また、上記した実施形態では、1つの計算パスでスムージング経路を生成している。しかしながら、一度スムージング経路を生成した後に、同様の処理を繰り返してスムージング経路を生成するようにしてもよい。例えば、一度作成したスムージング経路を繰り返しスムージング処理部110によりスムージングを行う。この過程を複数回繰り返す。そして、繰り返すたびに用いるローパスフィルタのフィルタ長をより短くすることで、内回り量と引き戻し量を低減していき、引き戻し後経路の精度を高めることができる。この場合、例えば図6に例示するように、トレランスチェック部119を設けてもよい。トレランスチェック部119に、予め所定のトレランス(許容誤差)を設定しておく。トレランスチェック部119は、スムージング処理部110によるスムージング処理が行われるたびに、指令経路に対するスムージング経路の変更量(平均変更量、又は最大変更量)がトレランス内に収まっているかチェックを行う。そして、トレランス内に収まらない場合に、スムージング処理を繰り返すようにすればよい。この手法を用いる場合、引き戻し補正部116が出力した経路を最終的なスムージング経路として出力してもよいし(第2実施形態)、ローパスフィルタ部112の出力を最終的なスムージング経路として出力してもよい(第2、第3実施形態)。
【符号の説明】
【0068】
1 制御装置
2,4 産業機械
5 ネットワーク
6 フォグコンピュータ
7 クラウドサーバ
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,17,18,20 インタフェース
22 バス
30 軸制御回路
40 サーボアンプ
50 サーボモータ
70 表示装置
71 入力装置
72 外部機器
100 解析部
110 スムージング処理部
112 ローパスフィルタ部
114 内回り量計算部
116 引き戻し補正部
118 事前引き戻し補正部
119 トレランスチェック部
120 モータ制御部
200 制御用プログラム
図1
図2
図3
図4
図5
図6
図7
図8