JP2023021555A - 制御装置、制御方法およびプログラム - Google Patents

制御装置、制御方法およびプログラム Download PDF

Info

Publication number
JP2023021555A
JP2023021555A JP2021126488A JP2021126488A JP2023021555A JP 2023021555 A JP2023021555 A JP 2023021555A JP 2021126488 A JP2021126488 A JP 2021126488A JP 2021126488 A JP2021126488 A JP 2021126488A JP 2023021555 A JP2023021555 A JP 2023021555A
Authority
JP
Japan
Prior art keywords
speed
robot
time
acceleration
ratio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021126488A
Other languages
English (en)
Inventor
庸弘 原田
Nobuhiro Harada
裕貴 ▲高▼▲崎▼
Yuki Takasaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2021126488A priority Critical patent/JP2023021555A/ja
Priority to PCT/JP2022/015553 priority patent/WO2023013168A1/ja
Publication of JP2023021555A publication Critical patent/JP2023021555A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Figure 2023021555000001
【課題】複数の軸を有するロボットに支持される物体の振動を抑制できる制御装置を提供する。
【解決手段】制御装置は、複数の軸を有し、片持ち梁状に物体を支持するロボットを制御する。制御装置は、ロボットの動作を規定する動作指令を生成する生成部と、動作指令を含む入力情報に従って、物体が直線移動するようにロボットを制御するロボット制御部と、を備える。生成部は、物体の共振周期を定義付ける第1パラメータの入力を受け、物体の直線移動におけるジャーク時間と等加速度時間との和が共振周期の自然数倍となるように動作指令を生成する。
【選択図】図1

Description

本開示は、制御装置、制御方法およびプログラムに関する。
近年、機械の固有振動数による振動を励起しない条件を満たすことで、機械に生じる振動を抑える制振技術が開発されている。例えば、特開2017-84288号公報(特許文献1)は、入力された機械性能指標と制振条件式とに基づいて位置指令を算出し、算出した位置指令をサーボドライバに出力する指令生成装置を開示している。
特開2017-84288号公報
振動を抑えるためには、多軸ロボットの先端の速度、加速度およびジャーク(加加速度)の制御が重要となる。一般に、複数の軸を有する多軸ロボットを制御する制御装置では、これら3つのパラメータを含む動作プロファイルを詳細に指定できない。そのため、多軸ロボットに支持される物体に振動が発生しやすく、多軸ロボットにおける制振技術の開発が望まれている。特許文献1に記載の技術は、サーボドライバへ出力される位置指令の生成に関するものであり、多軸ロボットへ適用することが困難である。
本開示は、上記の問題に鑑みてなされたものであり、その目的は、複数の軸を有するロボットに支持される物体の振動を抑制できる制御装置、制御方法およびプログラムを提供することである。
本開示の一例によれば、制御装置は、複数の軸を有し、片持ち梁状に物体を支持するロボットを制御する。制御装置は、ロボットの動作を規定する動作指令を生成する生成部と、動作指令を含む入力情報に従って、物体が直線移動するようにロボットを制御するロボット制御部と、を備える。生成部は、物体の共振周期を定義付ける第1パラメータの入力を受け、物体の直線移動におけるジャーク時間と等加速度時間との和が共振周期の自然数倍となるように動作指令を生成する。
この開示によれば、ジャークが変化するポイントにおいて発生する振動は、共振周期のN倍だけずれたポイントにおいて発生する振動によって相殺される。これにより、複数の軸を有するロボット200によって片持ち梁状に支持されたワーク300を直線移動させるときに、ワーク300の振動を抑制できる。
上述の開示において、動作指令は、ロボットの最大合成加速度に対する比率を示す第2パラメータを含む。生成部は、速度0の状態から最大合成加速度で加速し、制限速度に到達するまでの標準時間を取得する。さらに、生成部は、標準時間の逆数に対する共振周期の自然数倍の逆数の第1比率を算出し、第1比率に基づいて第2パラメータの値を決定する。
本発明者らは、第2パラメータを用いてロボットを制御する際に、標準時間の逆数に対するジャーク時間と等加速度時間との和の逆数の比率が第2パラメータの値と一致するという知見を得た。そのため、上記の開示によれば、物体の直線移動におけるジャーク時間と等加速度時間との和が共振周期の自然数倍となるように動作指令を生成することができる。
上述の開示において、入力情報は、第2比率を含む。ロボット制御部は、動作指令に従って決定される速度に第2比率を乗算することにより得られる速度でロボットを動作させる。第2パラメータは、第1比率を第2比率によって除算することにより得られる値を示す。
この開示によれば、速度を調整するための第2比率を考慮して、物体の直線移動におけるジャーク時間と等加速度時間との和が共振周期の自然数倍となるように動作指令を生成することができる。
上述の開示において、動作指令は、直線移動における物体の最大速度を定義付けるための第3パラメータを含む。生成部は、物体の移動距離と、第1速度との入力をさらに受け、共振周期の自然数倍とジャーク時間との和によって移動距離を除算することにより得られる第2速度と第1速度とを比較する。生成部は、第2速度が第1速度よりも小さいことに応じて、第2速度を最大速度として定義付ける第3パラメータを生成し、第2速度が第1速度よりも大きいことに応じて、第1速度を最大速度として定義付ける第3パラメータを生成する。
後述するように、第2速度が第1速度よりも小さい場合、第1速度を最大速度として定義付ける第3パラメータを生成すると、ジャーク時間と等加速度時間との和を共振周期の自然数倍と一致させることができない。上記の開示によれば、第2速度が第1速度よりも小さいことに応じて、第2速度を最大速度として定義付ける第3パラメータを生成する。これにより、物体の直線移動におけるジャーク時間と等加速度時間との和が共振周期の自然数倍となるように動作指令を生成することができる。
上述の開示において、生成部は、ファンクションブロックの形で命令が規定されることにより実現されてもよい。
本開示の一例によれば、複数の軸を有し、片持ち梁状に物体を支持するロボットを制御する制御方法は、ロボットの動作を規定する動作指令を生成するステップと、動作指令を含む入力情報に従って、物体が直線移動するようにロボットを制御するステップと、を備える。生成するステップは、物体の共振周期を定義付けるパラメータの入力を受けるステップと、物体の直線移動におけるジャーク時間と等加速度時間との和が共振周期の自然数倍となるように動作指令を生成するステップと、を含む。
本開示の一例によれば、プログラムは、上記の制御方法をコンピュータに実行させる。これらの開示によっても、複数の軸を有するロボット200によって片持ち梁状に支持されたワーク300を直線移動させるときに、ワーク300の振動を抑制できる。
本開示によれば、複数の軸を有するロボットに支持される物体の振動を抑制できる。
実施の形態に係る制御装置が適用されるシステムの一例を示す図である。 ロボットの合成速度および合成加速度のプロファイルの一例を示す図である。 ジャーク時間が設定されたときのロボットの合成速度および合成加速度のプロファイル(S字カーブプロファイル)の一例を示す図である。 図3に示すS字カーブプロファイルに対応するジャーク(加加速度)の時間変化を示す図である。 制御装置のハードウェア構成を示す模式図である。 制御装置の機能構成を示す模式図である。 速度調整比率を変更したときの合成速度の時間変化の一例を示す図である。 制御装置の処理の流れを示すフローチャートである。 図8のステップS100のサブルーチンの流れの一例を示すフローチャートである。 図9のステップS2によって算出される変数を示す図である。 ステップS2で計算された変数Hの値を合成速度の最大値とする速度プロファイルと、式(4)の左辺の値を合成速度の最大値とする速度プロファイルとを示す図である。 参考形態に係る制御装置を用いたときのワークの振動波形を示す図である。 本実施の形態に係る制御装置を用いたときのワークの振動波形を示す図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。以下で説明される各変形例は、適宜選択的に組み合わされてもよい。
§1 適用例
本実施の形態にかかる制御装置の概略について説明する。図1は、実施の形態に係る制御装置が適用されるシステムの一例を示す図である。図1に示すシステム1は、例えば生産ラインに設置される。図1に示されるように、システム1は、制御装置100と、ロボット200と、を備える。
ロボット200は、複数の軸201と、エンドエフェクタ202と、を有する多軸ロボットである。例えば、ロボット200は垂直多関節ロボットである。ロボット200のエンドエフェクタ202は、片持ち梁状にワーク300を支持する。ワーク300は、例えばシャフトである。
制御装置100は、ロボット200を制御する。シャフトであるワーク300を軸方向に交差する方向に直線移動させる場合、ワーク300に振動が発生しやすい。ワーク300を移動させた後にワーク300に振動が発生していると、振動が許容範囲内に収まるまで待機する必要が生じる。その結果、タクトタイムが長くなる。制御装置100は、タクトタイムを短縮するために、ワーク300の振動を抑えるようにロボット200を制御する。
制御装置100は、ロボットの動作を規定する動作指令を生成する動作指令生成部10と、動作指令を含む入力情報に従って、ワーク300が直線移動するようにロボット200を制御するロボット制御部12と、を備える。
ワーク300を直線移動させるために、ロボット200は、エンドエフェクタ202の軌跡が直線となるように直線補間動作を行なう。エンドエフェクタ202の軌跡が1次元となるため、ロボット200の複数の軸201の合成速度および合成加速度も1次元で表現される。
図2は、ロボットの合成速度および合成加速度のプロファイルの一例を示す図である。図2には、ロボット200が最大能力を発揮したときのプロファイルが示される。図2において、線20は合成速度の時間変化を示し、線21は合成加速度の時間変化を示す。ワーク300は、加速時間T10において加速し、等速度時間T11において等速運動し、減速時間T12において減速する。
図2に示す線20は、台形を示す。すなわち、図2には、いわゆる台形速度プロファイルが示される。台形速度プロファイルを用いることにより、移動時間を最短にできる。しかしながら、加減速の開始時および終了時に加速度が急激に変化する。ロボット200は、加速度の急激な変化による衝撃を受ける。このような衝撃を緩和させる目的のため、加速度を連続的に変化させる時間(ジャーク時間)が設定される。
図3は、ジャーク時間が設定されたときのロボットの合成速度および合成加速度のプロファイル(S字カーブプロファイル)の一例を示す図である。図3においても、線20は合成速度の時間変化を示し、線21は合成加速度の時間変化を示す。S字カーブプロファイルでは、ジャーク時間T1、等加速度時間T2、ジャーク時間T3、等速度時間T4、ジャーク時間T5、等加速度時間T6、およびジャーク時間T7がこの順に設定される。
ジャーク時間T1では、加速度が0から最大加速度まで単調に増大する。等加速度時間T2では、加速度が最大加速度に維持される。ジャーク時間T3では、加速度が最大加速度から0まで単調に減小する。等速度時間T4では、加速度が0に維持される。ジャーク時間T5では、加速度が0から最小加速度(負)まで単調に減小する。等加速度時間T6では、加速度が最小加速度に維持される。ジャーク時間T7では、加速度が最小加速度から0に単調に増大する。
ジャーク時間T1,T3,T5,T7は、同じ長さを有する。等加速度時間T2,T6は、同じ長さを有する。
動作指令生成部10は、ワーク300の共振周期を定義付けるパラメータ(典型的には共振周波数)の入力を受け、ワーク300の直線移動におけるジャーク時間T1と等加速度時間T2との和が共振周期のN倍(Nは自然数)となるように動作指令を生成する。ジャーク時間T1と等加速度時間T2との和が共振周期のN倍となるように動作指令が生成されることにより、ワーク300の振動が抑制される。そのメカニズムについて図4を参照しながら説明する。
図4は、図3に示すS字カーブプロファイルに対応するジャーク(加加速度)の時間変化を示す図である。図4において、線22はジャークの時間変化を示す。図4に示されるように、ジャークは、8つのタイミングにおいて変化する。すなわち、ジャークは、ジャーク時間T1の開始時刻t0および終了時刻t1、ジャーク時間T3の開始時刻t2および終了時刻t3、ジャーク時間T5の開始時刻t4および終了時刻t5、ジャーク時間T7の開始時刻t6および終了時刻t7において変化する。
時刻t0のジャークの変化は正方向であり、時刻t2のジャークの変化は負方向である。そして、時刻t0から時刻t2までの時間、すなわち、ジャーク時間T1と等加速度時間T2との和は、共振周期のN倍である。そのため、時刻t0において発生した振動は、共振周期のN倍の後の時刻t2において発生する逆位相の振動によって相殺される。同様に、時刻t1において発生した振動は、共振周期のN倍の後の時刻t3において発生する逆位相の振動によって相殺される。時刻t4において発生した振動は、共振周期のN倍の後の時刻t6において発生する逆位相の振動によって相殺される。時刻t5において発生した振動は、共振周期のN倍の後の時刻t7において発生する逆位相の振動によって相殺される。このように、ジャークが変化する全てのポイントの各々において発生する振動は、共振周期のN倍だけずれたポイントにおいて発生する振動によって相殺される。したがって、ワーク300の振動が抑制される。
このように、本実施の形態に係る制御装置100によれば、複数の軸を有するロボット200によって片持ち梁状に支持されたワーク300を直線移動させるときに、ワーク300の振動を抑制できる。
§2 具体例
<制御装置のハードウェア構成>
図5は、制御装置のハードウェア構成を示す模式図である。図5に示されるように、制御装置100は、フィールドネットワークコントローラ102と、制御処理回路104と、入力インターフェイス106と、を含む。
フィールドネットワークコントローラ102は、フィールドネットワークを介して、例えばPLC(Programmable Logic Controller)などの外部装置との間でデータをやり取りする。
制御処理回路104は、ロボット200を駆動するために必要な演算処理を実行する。一例として、制御処理回路104は、プロセッサ110と、メインメモリ112と、ストレージ114と、インターフェイス回路116とを含む。
プロセッサ110は、ロボット200を駆動するための制御演算を実行する。メインメモリ112は、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ114は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
ストレージ114には、ロボット200を駆動するための制御を実現するための制御プログラム120が格納される。制御プログラム120は、ロボット200の動作に係る制御演算を実行する命令、および、ロボット200との間のインターフェイスに係る命令を含む。制御プログラム120は、1以上のファンクションブロック(FB)を含んでもよい。ファンクションブロックは、入出力変数を有するブロックであり、指定されたタイミングで読み出されてインスタンス化されることで実行される。図5に示す制御プログラム120は、制振制御ファンクションブロック122と、直線補間ファンクションブロック124と、を含む。なお、制御プログラム120は、メモリカードなどの記録媒体、配信サーバなどからインストールされてもよい。
インターフェイス回路116は、ロボット200との間でデータをやり取りする。
入力インターフェイス106は、制御処理回路104とキーボード、マウス、タッチパネル、専用コンソールなどの入力デバイス400との間のデータ伝送を仲介する。すなわち、入力インターフェイス106は、ユーザが入力デバイス400を操作することで与えられる情報を受け付ける。
<制御装置の機能構成>
図6は、制御装置の機能構成を示す模式図である。図6に示されるように、制御装置100は、動作指令生成部10と、ロボット制御部12と、プロファイル選択部14とを含む。動作指令生成部10、ロボット制御部12およびプロファイル選択部14は、プロセッサ110(図5参照)が制御プログラム120を実行することにより実現される。より具体的には、動作指令生成部10およびロボット制御部12は、プロセッサ110が制振制御ファンクションブロック122および直線補間ファンクションブロック124を実行することによりそれぞれ実現される。
制御装置100は、入力変数として、ワーク300の共振周波数(Hz)、ワーク300の移動距離(mm)、ユーザ所望のワーク300の最大速度(mm/s)(以下、「入力速度」と称する。)、速度調整比率(%)、ジャーク時間(ms)、調整定数(自然数)、およびロボット固有パラメータを受ける。ワーク300の移動距離は、ロボット200の先端の現在位置から目標位置までの距離である。制御装置100は、これらの入力変数をフィールドネットワークまたは入力デバイス400から受ける。
ワーク300の共振周波数は、予め計測される。例えば、ロボット200を動作させたときのワーク300を撮像することにより得られる映像を解析することにより、ワーク300の共振周波数が計測される。あるいは、ロボット200を動作させたときのワーク300の振動を目視で確認することにより、ワーク300の共振周波数が計測されてもよい。あるいは、センサを用いて、ワーク300の共振周波数が計測されてもよい。
速度調整比率は、ロボット200の合成速度(つまり、ワーク300の速度)の調整のために使用される。調整定数(自然数)は、共振周期の倍数として使用される。
図7は、速度調整比率を変更したときの合成速度の時間変化の一例を示す図である。図7において、線25は、調整比率100%のときの、ロボット200の合成速度の時間変化を示す。線26は、速度調整比率50%のときの、ロボット200の合成速度の時間変化を示す。図7に示されるように、速度調整比率50%に設定されたときの速度は、速度調整比率100%に設定されたときの速度の50%に調整される。そのため、速度調整比率50%に設定されたときの加速時間T20および減速時間T22はそれぞれ、速度調整比率100%に設定されたときの加速時間T10および減速時間T12の2倍である。このように、加速時間T10および減速時間T12は、速度調整比率に反比例する。
ロボット固有パラメータは、標準時間(ms)、制限速度(mm/s)および制限比率(%)を含む。
制限速度は、ロボット200が最大能力で動作したときの合成速度であり、ロボット200に固有の値である。
制限比率は、ロボット200の合成加速度(つまり、ワーク300の加速度)の調整のために使用される比率(以下、「加速度調整比率」と称する。)の上限値であり、ロボット200に固有の値である。加速度調整比率は、ロボットが最大能力で動作したときの合成加速度(最大合成加速度)に対する比率である。具体的には、加速度調整比率は、加速時において、ロボットが最大能力で動作したときの第1基準加速度(正)に対する比率を示し、減速時において、第2基準加速度(負)に対する比率を示す。第1基準加速度の値は、最大合成加速度の絶対値と一致する。第2基準加速度の絶対値は、第1基準加速度の値と同じである。
標準時間は、ジャーク時間が0msであるときの加減速の時間である。すなわち、標準時間は、速度0の状態から、第1基準加速度(すなわち、最大合成加速度)で加速し、制限速度に到達するまでの時間である。標準時間は、ロボット200に固有の値であり、例えば180msである。ジャーク時間が0msである場合、速度プロファイルは、図2の線20によって表される。そのため、標準時間は、図2の加速時間T10(または減速時間T12)に相当する。
図6に示されるように、プロファイル選択部14は、ジャーク時間の入力を受ける。プロファイル選択部14は、ロボット制御部12が受け付け可能な複数の速度プロファイルの中から、入力されたジャーク時間に応じた1つのS字カーブ速度プロファイルを選択する。プロファイル選択部14は、選択した速度プロファイルを示す変数をロボット制御部12に出力する。複数の速度プロファイルは、図3に示されるようなS字カーブを有し、互いに異なるジャーク時間を有する。そのため、プロファイル選択部14は、複数の速度プロファイルの中から、入力されたジャーク時間を有する速度プロファイルを選択すればよい。
なお、ロボット制御部12が受け付け可能な複数の速度プロファイルの各々において、ジャーク時間T1,T3,T5,T7(図3参照)は、同じ長さを有し、等加速度時間T2,T6は、同じ長さを有する。
ロボット制御部12は、ロボット200の先端の現在位置および目標位置、速度調整比率、速度プロファイル、最大合成速度および加速度調整比率を受け、ワーク300が直線移動するようにロボット200を制御する。最大合成速度は、速度調整比率100%におけるロボット200の合成速度の最大値を示す。
ロボット制御部12は、移動距離、速度調整比率、最大合成速度および加速度調整比率に応じて、速度プロファイルを修正する。
具体的には、ロボット制御部12は、速度プロファイルにおける等速度時間T4(図3参照)の速度を、最大合成速度に修正する。
次に、ロボット制御部12は、速度プロファイルにおける等加速度時間T2(図3参照)の加速度を、第1基準加速度(正)に加速度調整比率を乗じた値に修正する。同様に、ロボット制御部12は、速度プロファイルにおける等加速度時間T6(図3参照)の加速度を、第2基準加速度(負)に加速度調整比率を乗じた値に修正する。このとき、ロボット制御部12は、加速終了時および減速開始時の速度が等速度時間T4の速度と一致するように、等加速度時間T2,T6の長さも修正する。
次に、ロボット制御部12は、ロボット200の先端の現在位置と目標位置とを結ぶ直線距離(すなわち移動距離)を演算する。ロボット制御部12は、速度プロファイルの積分値が移動距離と一致するように、等速度時間T4の長さを修正する。
最後に、ロボット制御部12は、速度調整比率に従って、速度プロファイルの各時刻の速度を修正するとともに、ジャーク時間T1、等加速度時間T2、ジャーク時間T3、等速度時間T4、ジャーク時間T5、等加速度時間T6、およびジャーク時間T7の長さを修正する。
ロボット制御部12は、このようにして修正された速度プロファイルに従った合成速度が出力されるように、ロボット200の各軸の指令値を生成し、生成した指令値をロボット200に出力する。
ロボット制御部12が受ける速度調整比率、最大合成速度および加速度調整比率は、ユーザにとって、ワーク300の直線移動の時間変化をイメージしやすいパラメータである。そのため、ロボット制御部12が速度調整比率、最大合成速度および加速度調整比率を入力デバイス400から直接取得する参考形態が考えられる。これにより、ユーザは、これらのパラメータの値を適宜調整することにより、所望の時間変化でワーク300を直線移動させることができる。
システム1が生産ラインに設置される場合、通常、ワーク300をできるだけ短時間が移動させることが好ましい。そのため、ユーザは、最短時間でワーク300を直線移動させるときのワーク300の最大速度を最大合成速度として入力すればよい。ただし、最短時間でワーク300を直線移動させた場合、何らかの不具合が生じる可能性がある。このような場合、ユーザは、速度調整比率の値を調整することにより、ワーク300の速度を調整できる。あるいは、ユーザは、加速度調整比率を調整することにより、加速時間および減速時間を調整できる。
しかしながら、速度調整比率、最大合成速度および加速度調整比率は、ワーク300の制振に関わるパラメータ(例えばジャーク時間と等加速度時間との和)を直接定義するものではない。また、ユーザは、速度調整比率、最大合成速度および加速度調整比率をどのように調整すれば、ワーク300の振動を抑制する条件(例えば、ジャーク時間と等加速度時間との和が共振周期の自然数倍と一致するという条件)を満たすかについて把握していない。そのため、ロボット制御部12が速度調整比率、最大合成速度および加速度調整比率を入力デバイス400から直接取得する参考形態では、ワーク300を直線移動させるときの振動を抑制することが困難である。
そのため、本実施の形態に係る制御装置100は、動作指令生成部10を備えることを特徴とする。
動作指令生成部10は、共振周波数、移動距離、入力速度、速度調整比率、ジャーク時間、調整定数、およびロボット固有パラメータを受け、動作指令を生成する。生成された動作指令は、ロボット制御部12に入力される。動作指令は、最大合成速度と加速度調整比率とを含む。
本発明者は、加速度調整比率とロボット200の合成速度のプロファイルとを比較検証した結果、標準時間の逆数に対するジャーク時間と等加速度時間との和の逆数の比率が加速度調整比率と一致するという知見を得た。動作指令生成部10は、当該知見に基づいて、ワーク300の直線移動におけるジャーク時間と等加速度時間との和が共振周期の自然数倍となるように動作指令を生成する。動作指令の生成方法については後述する。
<制御装置の処理の流れ>
図8は、制御装置の処理の流れを示すフローチャートである。図8に示されるように、プロセッサ110は、入力変数を用いて、動作指令を生成する(ステップS100)。次に、プロセッサ110は、生成された動作指令を含む入力情報に従って、ワーク300が直線移動するようにロボット200を制御する(ステップS200)。入力情報には、速度調整比率およびジャーク時間が含まれる。上述したように、プロセッサ110は、ジャーク時間に応じた速度プロファイルを選択する。プロセッサ110は、選択した速度プロファイルと、速度調整比率と、動作指令(最大合成速度および加速度調整比率)とを用いて、ワーク300が直線移動するようにロボット200を制御する。
<動作指令の生成方法>
図9~図11を参照して、動作指令の生成方法について説明する。図9は、図8のステップS100のサブルーチンの流れの一例を示すフローチャートである。
プロセッサ110は、入力変数を受け付ける(ステップS1)。入力変数には、以下の変数A~Nが含まれる。
変数A:移動距離(mm)、
変数B:入力速度(mm/s)、
変数C:速度調整比率(%)、
変数D:ジャーク時間(ms)、
変数E:共振周波数(Hz)、
変数F:調整定数、
変数G:標準時間(ms)、
変数M:制限速度(mm/s)、
変数N:制限比率(%)。
次に、プロセッサ110は、以下の式(1)~(3)に従って、変数H,I,Jをそれぞれ算出する(ステップS2)。
H=B×C÷100 式(1)
I=1000÷E×F 式(2)
J=I+D 式(3)。
図10は、図9のステップS2によって算出される変数を示す図である。図10に示されるように、変数Hは、ワーク300を直線移動させるときのロボット200の合成速度の最大値を示す。ステップS2において、入力速度に速度調整比率を乗じることにより、変数Hの値が算出される。変数Iは、ワーク300の共振周期の調整定数(自然数)倍の時間を示す。本実施の形態では、ジャーク時間と等加速度時間との和が共振周期の調整定数(自然数)倍となるように動作指令が生成される(図3参照)。そのため、ジャーク時間と等加速度時間との和は、変数Iの値を一致する。変数Jは、ワーク300の共振周期の調整定数(自然数)倍とジャーク時間との和を示す。ジャーク時間と等加速度時間との和が共振周期の調整定数(自然数)倍となるように動作指令が生成される場合、変数Jは、加速時間を示す。
次に、プロセッサ110は、B<Mが満たされるか否かを判断する(ステップS3)。ステップS3でYESの場合、すなわち、入力速度が制限速度未満である場合、プロセッサ110は、変数Bの値を利用可能であると判断し、次のステップS4を実行する。
ステップS4において、プロセッサ110は、D<Iが満たされるか否かを判断する。図10に示されるように、ジャーク時間と等加速度時間との和が共振周期の調整定数(自然数)倍と一致するためには、D<Iが満たされる必要がある。そのため、ステップS4でYESの場合、プロセッサ110は、変数D,Iの値を利用可能であると判断し、次のステップS5を実行する。
ステップS5において、プロセッサ110は、以下の式(4)が満たされるか否かを判断する。
A÷J×1000<H 式(4)。
図11は、ステップS2で計算された変数Hの値を合成速度の最大値とする速度プロファイルと、式(4)の左辺の値を合成速度の最大値とする速度プロファイルとを示す図である。図11において、線20aは、ステップS2で計算された変数Hの値を合成速度の最大値とし、等速度時間を0としたときの速度プロファイルを示す。線20bは、式(4)の左辺の値を合成速度の最大値とし、等速度時間を0としたときの速度プロファイルを示す。線21は、線20bによって示される速度プロファイルに対応する加速度プロファイルを示す。
加速時間と減速時間とが同じ条件下において同じ移動距離だけ直線移動する場合、等速度時間が0であるときに、加速時間が最も長くなる。
式(4)が満たされる場合(ステップS5でYES)、図11に示されるように、線20aによって示される速度プロファイルの加速時間は、線20bによって示される速度プロファイルの加速時間よりも短い。線20bは、ジャーク時間と等加速度時間との和が共振周期の調整定数(自然数)倍と一致するときの速度プロファイルを示す。そのため、式(4)が満たされる場合、ステップS2で計算された変数Hの値を合成速度の最大値とする速度プロファイルでは、ジャーク時間と等加速度時間との和が共振周期の調整定数(自然数)倍よりも短くなる。すなわち、式(4)が満たされる場合、ジャーク時間と等加速度時間との和が共振周期の調整定数(自然数)倍となるように動作指令を生成できない。したがって、ステップS5でYESの場合、プロセッサ110は、変数Hの値をA÷J×1000の計算値に置き換える(ステップS6)。その後、プロセッサ110は、ステップS7を実行する。
一方、式(4)が満たされない場合(ステップS5でNO)、線20aによって示される速度プロファイルの加速時間は、線20bによって示される速度プロファイルの加速時間以上となる。この場合、ステップS2で計算された変数Hの値を合成速度の最大値としても、等速度時間を調整することにより、ジャーク時間と等加速度時間との和を共振周期の調整定数(自然数)倍と一致させることができる。そのため、ステップS5でNOの場合、プロセッサ110は、変数Hの値を変更することなく、次のステップS7を実行する。
ステップS7において、プロセッサ110は、以下の式(5)に従って、変数Lを算出する。
L=100×H÷C 式(5)。
次のステップS8において、プロセッサ110は、以下の式(6)に従って、変数Kを算出する。
K=(100×G)÷(1000÷E×F)×(100÷C) 式(6)
すなわち、プロセッサ110は、標準時間の逆数に対する共振周期の自然数倍の逆数の比率((100×G)÷(1000÷E×F))を算出し、当該比率に基づいて変数Kの値を決定する。具体的には、プロセッサ110は、当該比率を速度調整比率によって除算することにより、変数Kの値を算出する。
次のステップS9において、プロセッサ110は、K<Nを満たすか否かを判断する。K<Nを満たす場合(ステップS9でYES)、プロセッサ110は、ステップS8において算出された変数Kを利用可能と判断し、ステップS10を実行する。
ステップS10において、プロセッサ110は、最大合成速度および加速度調整比率として、変数L,Kをそれぞれ出力する。ステップS10の後、プロセッサ110は、処理を図8のステップS200に戻す。
変数Lによって表される最大合成速度は、速度調整比率100%におけるロボット200の合成速度の最大値を示す。ワーク300の直線移動における最大速度は、最大合成速度と入力された速度調整比率との積で表される。そのため、変数L(最大合成速度)は、ワーク300の直線移動における最大速度を定義付けるパラメータである。上述したように、式(4)が満たされる場合、すなわち、A÷J×1000によって表される速度が変数Bと変数Cとの積で表される速度よりも小さい場合、プロセッサ110は、A÷J×1000によって表される速度を直線移動における最大速度として定義付ける変数Lを生成する。一方、A÷J×1000によって表される速度が変数Bと変数Cとの積で表される速度よりも大きい場合、プロセッサ110は、変数Bと変数Cとの積で表される速度を直線移動における最大速度として定義付ける変数Lを生成する。
ステップS3,S4,S9のいずれかにおいてNOの場合、プロセッサ110は、エラーコードを生成し、生成したエラーコードを出力する(ステップS11)。ステップS10の後、プロセッサ110は、処理を終了する。
ロボット制御部12として動作するプロセッサ110は、最大合成速度および加速度調整比率としてそれぞれ受けた変数L,Kを用いて、ワーク300が直線移動するようにロボット200を制御する。
具体的には、プロセッサ110は、速度プロファイルにおける等速度時間T4(図3参照)の速度を、変数L(最大合成速度)の値に修正する。次に、プロセッサ110は、変数K(加速度調整比率)の値に応じて、速度プロファイルにおける等加速度時間T2,T6の各々の加速度を修正する。このとき、プロセッサ110は、加速終了時および減速開始時の速度が等速度時間T4の速度と一致するように、等加速度時間T2,T6の長さも修正する。次に、プロセッサ110は、速度プロファイルの積分値が移動距離と一致するように、等速度時間T4の長さを修正する。最後に、プロセッサ110は、速度調整比率に従って、速度プロファイルの各時刻の速度を修正するとともに、ジャーク時間T1、等加速度時間T2、ジャーク時間T3、等速度時間T4、ジャーク時間T5、等加速度時間T6、およびジャーク時間T7の長さを修正する。
上述したように、本発明者は、「標準時間の逆数に対するジャーク時間と等加速度時間との和の逆数の比率が加速度調整比率と一致する」という知見を得た。また、図7に示されるように、加速時間および減速時間は、速度調整比率に反比例する。そのため、加速度調整比率および速度調整比率に従って修正された速度プロファイルにおいて、ジャーク時間と加速度時間との和は、以下の式(7)で表される。
ジャーク時間と加速度時間との和=G÷(K÷100)×(100÷C) 式(7)
式(7)のKに式(6)を代入することにより、ジャーク時間と加速度時間との和は、(1000÷E×F)、つまり、共振周期[ms]の調整定数(自然数)倍となる。
このように、最大合成速度および加速度調整比率として変数L,Kをそれぞれ受けることにより、ジャーク時間と等加速度時間との和がワーク300の共振周期の調整定数(自然数)倍と一致する速度プロファイルに従って、ロボット200が制御される。これにより、ワーク300の振動が抑制される。
<振動の抑制効果>
本実施の形態に係る制御装置100によるワーク300の振動の抑制効果を確認した。図12は、参考形態に係る制御装置を用いたときのワークの振動波形を示す図である。図13は、本実施の形態に係る制御装置を用いたときのワークの振動波形を示す図である。
図12および図13には、共振周波数31.05Hzを有する、直径0.55mmの針金をワーク300として用いたときの振動波形が示される。なお、参考形態に係る制御装置は、制御装置100と比較して、動作指令生成部10を備えない点で相違する。参考形態に係る制御装置において、ロボット制御部12には、加速度調整比率100%を入力するとともに、最大合成速度として入力速度を入力した。
図12に示されるように、参考形態に係る制御装置によってロボット200を制御した場合、ワーク300の先端は、振幅約1.0mmで振動した。振動の収束時間は、6秒以上であった。これに対し、本実施の形態に係る制御装置100によってロボット200を制御した場合、ワーク300の先端は、振幅約0.35mmで振動した。振動の収束時間は、0.5秒であった。このように、本実施の形態に係る制御装置100を用いることにより、ワーク300の振動が抑制される。
<変形例>
ロボット200の本体がエンドエフェクタ202を片持ち梁状に支持する場合、エンドエフェクタ202自体が振動する可能性がある。この場合、ユーザは、エンドエフェクタ202の共振周波数、または、エンドエフェクタ202およびワーク300の全体の共振周波数を制御装置100に入力すればよい。
§3 付記
以上のように、本実施の形態は以下のような開示を含む。
(構成1)
複数の軸(201)を有し、片持ち梁状に物体(300,202)を支持するロボット(200)を制御する制御装置(100)であって、
前記ロボット(200)の動作を規定する動作指令を生成する生成部(10,110)と、
前記動作指令を含む入力情報に従って、前記物体(300,202)が直線移動するように前記ロボット(200)を制御するロボット制御部(12,110)と、を備え、
前記生成部(10,110)は、前記物体(300,202)の共振周期を定義付ける第1パラメータの入力を受け、前記物体(300,202)の直線移動におけるジャーク時間と等加速度時間との和が前記共振周期の自然数倍となるように前記動作指令を生成する、制御装置(100)。
(構成2)
前記動作指令は、前記ロボット(200)の最大合成加速度に対する比率を示す第2パラメータを含み、
前記生成部(10,110)は、
速度0の状態から前記最大合成加速度で加速し、制限速度に到達するまでの標準時間を取得し、
前記標準時間の逆数に対する前記共振周期の自然数倍の逆数の第1比率を算出し、
前記第1比率に基づいて前記第2パラメータの値を決定する、構成1に記載の制御装置(100)。
(構成3)
前記入力情報は、第2比率を含み、
前記ロボット制御部(12,110)は、前記動作指令に従って決定される速度に前記第2比率を乗算することにより得られる速度で前記ロボット(200)を動作させ、
前記第2パラメータは、前記第1比率を前記第2比率によって除算することにより得られる値を示す、構成2に記載の制御装置(100)。
(構成4)
前記動作指令は、前記直線移動における前記物体(300,202)の最大速度を定義付けるための第3パラメータを含み、
前記生成部(10,110)は、
前記物体(300,202)の移動距離と、第1速度との入力をさらに受け、
前記共振周期の自然数倍と前記ジャーク時間との和によって前記移動距離を除算することにより得られる第2速度と前記第1速度とを比較し、
前記第2速度が前記第1速度よりも小さいことに応じて、前記第2速度を前記最大速度として定義付ける前記第3パラメータを生成し、
前記第2速度が前記第1速度よりも大きいことに応じて、前記第1速度を前記最大速度として定義付ける前記第3パラメータを生成する、構成1から3のいずれかに記載の制御装置(100)。
(構成5)
前記生成部(10,110)は、ファンクションブロック(122)の形で命令が規定されることにより実現される、構成1から4のいずれかに記載の制御装置(100)。
(構成6)
複数の軸(201)を有し、片持ち梁状に物体(300,202)を支持するロボット(200)を制御する制御方法であって、
前記ロボット(200)の動作を規定する動作指令を生成するステップと、
前記動作指令を含む入力情報に従って、前記物体(300,202)が直線移動するように前記ロボットを制御するステップと、を備え、
前記生成するステップは、
前記物体(300,202)の共振周期を定義付けるパラメータの入力を受けるステップと、
前記物体(300,202)の直線移動におけるジャーク時間と等加速度時間との和が前記共振周期の自然数倍となるように前記動作指令を生成するステップと、を含む、制御方法。
(構成7)
構成6に記載の制御方法をコンピュータ(100,110)に実行させる、プログラム(120)。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 システム、10 動作指令生成部、12 ロボット制御部、14 プロファイル生成部、100 制御装置、102 フィールドネットワークコントローラ、104 制御処理回路、106 入力インターフェイス、110 プロセッサ、112 メインメモリ、114 ストレージ、116 インターフェイス回路、120 制御プログラム、122 制振制御ファンクションブロック、124 直線補間ファンクションブロック、200 ロボット、201 軸、202 エンドエフェクタ、300 ワーク、400 入力デバイス。

Claims (7)

  1. 複数の軸を有し、片持ち梁状に物体を支持するロボットを制御する制御装置であって、
    前記ロボットの動作を規定する動作指令を生成する生成部と、
    前記動作指令を含む入力情報に従って、前記物体が直線移動するように前記ロボットを制御するロボット制御部と、を備え、
    前記生成部は、前記物体の共振周期を定義付ける第1パラメータの入力を受け、前記物体の直線移動におけるジャーク時間と等加速度時間との和が前記共振周期の自然数倍となるように前記動作指令を生成する、制御装置。
  2. 前記動作指令は、前記ロボットの最大合成加速度に対する比率を示す第2パラメータを含み、
    前記生成部は、
    速度0の状態から前記最大合成加速度で加速し、制限速度に到達するまでの標準時間を取得し、
    前記標準時間の逆数に対する前記共振周期の自然数倍の逆数の第1比率を算出し、
    前記第1比率に基づいて前記第2パラメータの値を決定する、請求項1に記載の制御装置。
  3. 前記入力情報は、第2比率を含み、
    前記ロボット制御部は、前記動作指令に従って決定される速度に前記第2比率を乗算することにより得られる速度で前記ロボットを動作させ、
    前記第2パラメータは、前記第1比率を前記第2比率によって除算することにより得られる値を示す、請求項2に記載の制御装置。
  4. 前記動作指令は、前記直線移動における前記物体の最大速度を定義付けるための第3パラメータを含み、
    前記生成部は、
    前記物体の移動距離と、第1速度との入力をさらに受け、
    前記共振周期の自然数倍と前記ジャーク時間との和によって前記移動距離を除算することにより得られる第2速度と前記第1速度とを比較し、
    前記第2速度が前記第1速度よりも小さいことに応じて、前記第2速度を前記最大速度として定義付ける前記第3パラメータを生成し、
    前記第2速度が前記第1速度よりも大きいことに応じて、前記第1速度を前記最大速度として定義付ける前記第3パラメータを生成する、請求項1から3のいずれか1項に記載の制御装置。
  5. 前記生成部は、ファンクションブロックの形で命令が規定されることにより実現される、請求項1から4のいずれか1項に記載の制御装置。
  6. 複数の軸を有し、片持ち梁状に物体を支持するロボットを制御する制御方法であって、
    前記ロボットの動作を規定する動作指令を生成するステップと、
    前記動作指令を含む入力情報に従って、前記物体が直線移動するように前記ロボットを制御するステップと、を備え、
    前記生成するステップは、
    前記物体の共振周期を定義付けるパラメータの入力を受けるステップと、
    前記物体の直線移動におけるジャーク時間と等加速度時間との和が前記共振周期の自然数倍となるように前記動作指令を生成するステップと、を含む、制御方法。
  7. 請求項6に記載の制御方法をコンピュータに実行させる、プログラム。
JP2021126488A 2021-08-02 2021-08-02 制御装置、制御方法およびプログラム Pending JP2023021555A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021126488A JP2023021555A (ja) 2021-08-02 2021-08-02 制御装置、制御方法およびプログラム
PCT/JP2022/015553 WO2023013168A1 (ja) 2021-08-02 2022-03-29 制御装置、制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021126488A JP2023021555A (ja) 2021-08-02 2021-08-02 制御装置、制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2023021555A true JP2023021555A (ja) 2023-02-14

Family

ID=85155675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021126488A Pending JP2023021555A (ja) 2021-08-02 2021-08-02 制御装置、制御方法およびプログラム

Country Status (2)

Country Link
JP (1) JP2023021555A (ja)
WO (1) WO2023013168A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116871775B (zh) * 2023-09-08 2023-11-14 惠生(南通)重工有限公司 一种十字地轨式3d格栅框架结构焊接机器人***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638267A (en) * 1994-06-15 1997-06-10 Convolve, Inc. Method and apparatus for minimizing unwanted dynamics in a physical system
JPH09251955A (ja) * 1996-01-08 1997-09-22 Canon Inc 露光方法および装置、ならびにデバイス製造方法
US6320345B1 (en) * 1998-03-05 2001-11-20 Nikon Corporation Command trajectory for driving a stage with minimal vibration
KR100292354B1 (ko) * 1998-07-04 2001-06-01 윤종용 디지털콘벌루션을이용한입력쉐이핑필터링방법및그장치

Also Published As

Publication number Publication date
WO2023013168A1 (ja) 2023-02-09

Similar Documents

Publication Publication Date Title
KR100651352B1 (ko) 지령 생성 장치
JP5781241B1 (ja) 数値制御装置
JP6843314B1 (ja) 数値制御装置、数値制御方法および機械学習装置
JP2001296912A (ja) モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置
JPWO2016203614A1 (ja) 制御パラメータ調整装置
CN111745621B (zh) 机器人控制装置、机器人的控制方法及机器人***
WO2023013168A1 (ja) 制御装置、制御方法およびプログラム
JP6548830B2 (ja) 指令値生成装置
JP3135738B2 (ja) 数値制御装置
WO1994019732A1 (en) Device for reducing oscillations of a robot
CN113156894A (zh) 芯片封装控制的速度规划方法及芯片封装控制装置
JP2012137990A (ja) 数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体
WO2009141006A1 (en) A method and a system for controlling an industrial robot in accordance with a set of motion control parameters
JP2001188605A (ja) 曲線補間方法
JP5092831B2 (ja) 位置決め制御装置
JPH10143249A (ja) 制御システムおよび制御システムにおける加速度パターンの設定方法およびパラメータ設定方法
JP7119748B2 (ja) モデル予測制御装置、モデル予測制御装置の制御方法、情報処理プログラム、および記録媒体
JP6647477B1 (ja) 数値制御装置および機械学習装置
WO2023209754A1 (ja) サーボ調整システム
WO2024070054A1 (ja) 制御パラメータ調整装置、および、制御パラメータ調整方法
CN113031531B (zh) 数值控制装置、数值控制方法以及计算机可读存储介质
JP5381806B2 (ja) 工作機械の数値制御装置、工作機械の数値制御方法、及び工作機械の数値制御プログラム
WO2022118707A1 (ja) カム曲線生成装置、カム曲線生成方法、および、プログラム
JP2001154719A (ja) 自由曲線補間方法
JP2004094649A (ja) 位置決め制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240610