JP5908544B2 - 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置 - Google Patents
駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置 Download PDFInfo
- Publication number
- JP5908544B2 JP5908544B2 JP2014163796A JP2014163796A JP5908544B2 JP 5908544 B2 JP5908544 B2 JP 5908544B2 JP 2014163796 A JP2014163796 A JP 2014163796A JP 2014163796 A JP2014163796 A JP 2014163796A JP 5908544 B2 JP5908544 B2 JP 5908544B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- robot program
- jerk
- generation device
- program
- 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.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40053—Pick 3-D object from pile of objects
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40454—Max velocity, acceleration limit for workpiece and arm jerk rate as constraints
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40517—Constraint motion planning, variational dynamic programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
- Y10S901/03—Teaching system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/27—Arm part
- Y10S901/28—Joint
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Description
本発明は、ロボットを動作させるためのロボットプログラムを生成するロボットプログラム生成装置に関する。
対象物をロボットにより搬送するのに使用されるロボットシステムにおいて、処理効率を向上させるためにロボットを高速で動作させることが望まれる。しかしながら、ロボットの動作を単純に高速化した場合、ロボットが対象物を把持する際又は解放する際に対象物が損傷する虞がある。また、ロボットが対象物を搬送途中で落下させる虞がある。そのため、対象物の損傷ないし落下が発生した場合には、操作者がロボットプログラムを変更する必要があった。
例えば、速度プロファイルなどに対して補間処理を実行する際に、ローパスフィルタを介在させることによって入力プロファイルを平滑化し、それによりジャークの変化を緩やかにしてロボットの動作を円滑化するようにした産業用ロボットの経路計画方法が公知である(特許文献1及び特許文献2参照)。
しかしながら、補間経路を調整してロボットの動作を円滑化したとしても、ロボットを高速で動作させたときに必ずしも常にロボットの振動が抑制されるとは限らない。そのため、実際には、操作者が試行錯誤しながらロボットプログラムを変更する必要がある。そこで、振動発生の原因の1つである駆動軸のジャークをより容易かつ確実に低減する技術が求められている。
本願の1番目の発明によれば、複数の関節を有するロボットを動作させるロボットプログラムを生成するロボットプログラム生成装置であって、前記ロボットの各々の関節の駆動軸に対してジャークの許容値を設定する許容値設定部と、ロボットプログラムの実行を仮想空間内でシミュレーションして、前記駆動軸の位置及びジャークを時間に関連付けて計算する軸情報計算部と、前記軸情報計算部によって計算される前記ジャークが前記許容値を超える超過ジャークであるか否かを判定するジャーク判定部と、前記超過ジャークが発生した駆動軸及び駆動軸の位置を特定する軸情報特定部と、前記軸情報特定部によって特定される前記駆動軸のジャークが前記許容値以下になるように、前記超過ジャークが発生した前記駆動軸の位置の近傍の教示点を変更することによって前記ロボットプログラムを調整するロボットプログラム調整部と、を備える、ロボットプログラム生成装置が提供される。
本願の2番目の発明によれば、1番目の発明に係るロボットプログラム生成装置において、前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸の位置の近傍の空間を格子状に分割して形成される格子点のうち、最もジャークが小さくなる格子点に一致するように前記教示点を変更する。
本願の3番目の発明によれば、1番目の発明に係るロボットプログラム生成装置において、前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸において時間に関するジャークの変化量を低減させるように前記教示点を変更する。
本願の4番目の発明によれば、1番目から3番目のいずれかの発明に係るロボットプログラム生成装置において、前記ロボット及び前記ロボットの周囲に存在する物体の三次元モデルを前記仮想空間内にそれぞれ配置し、前記シミュレーションの際に、前記ロボットと前記物体との干渉の有無を判定する干渉判定部をさらに備えており、前記ロボットプログラム調整部は、前記ロボットと前記物体との干渉が発生しないように前記教示点を変更する。
本願の5番目の発明によれば、1番目から4番目のいずれかの発明に係るロボットプログラム生成装置において、前記ロボットプログラムを実行するのに必要な動作時間を計算する動作時間計算部をさらに備えており、前記ロボットプログラム調整部は、前記動作時間が短縮されるように前記教示点を変更する。
本願の6番目の発明によれば、1番目から5番目のいずれかの発明に係るロボットプログラム生成装置において、前記ロボットにおいてロボットプログラムが更新可能であるか否かを判定する更新判定部と、当該ロボットプログラム生成装置によって生成されたロボットプログラムをロボットに送信するプログラム送信部をさらに備えており、前記プログラム送信部は、前記更新判定部によってロボットプログラムが更新可能であると判定されたときに、前記ロボットプログラムを前記ロボットに送信する。
本願の2番目の発明によれば、1番目の発明に係るロボットプログラム生成装置において、前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸の位置の近傍の空間を格子状に分割して形成される格子点のうち、最もジャークが小さくなる格子点に一致するように前記教示点を変更する。
本願の3番目の発明によれば、1番目の発明に係るロボットプログラム生成装置において、前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸において時間に関するジャークの変化量を低減させるように前記教示点を変更する。
本願の4番目の発明によれば、1番目から3番目のいずれかの発明に係るロボットプログラム生成装置において、前記ロボット及び前記ロボットの周囲に存在する物体の三次元モデルを前記仮想空間内にそれぞれ配置し、前記シミュレーションの際に、前記ロボットと前記物体との干渉の有無を判定する干渉判定部をさらに備えており、前記ロボットプログラム調整部は、前記ロボットと前記物体との干渉が発生しないように前記教示点を変更する。
本願の5番目の発明によれば、1番目から4番目のいずれかの発明に係るロボットプログラム生成装置において、前記ロボットプログラムを実行するのに必要な動作時間を計算する動作時間計算部をさらに備えており、前記ロボットプログラム調整部は、前記動作時間が短縮されるように前記教示点を変更する。
本願の6番目の発明によれば、1番目から5番目のいずれかの発明に係るロボットプログラム生成装置において、前記ロボットにおいてロボットプログラムが更新可能であるか否かを判定する更新判定部と、当該ロボットプログラム生成装置によって生成されたロボットプログラムをロボットに送信するプログラム送信部をさらに備えており、前記プログラム送信部は、前記更新判定部によってロボットプログラムが更新可能であると判定されたときに、前記ロボットプログラムを前記ロボットに送信する。
これら及び他の本発明の目的、特徴及び利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。
本発明のロボットプログラム生成装置によれば、許容値を超える超過ジャークが発生したときに、ロボットプログラム調整部によって、超過ジャークが発生した駆動軸に対する教示点を変更し、ジャークを低減させるようにする。それにより、ロボット動作時に発生する振動の原因となるジャークが低減されるので、ロボットを高速でかつ安全に動作させられるようになる。
以下、添付図面を参照して本発明の実施形態を説明する。図示される構成要素は、本発明の理解を助けるために縮尺が適宜変更されている。また、同一又は対応する構成要素には、同一の参照符号が使用される。
図1は、ロボットシステム1の構成例を示している。ロボットシステム1は、例えばロボット2を使用して複数の対象物3(例えばワーク)を所定の位置まで順次搬送するのに使用される。ロボット2は、例えばハンド7をアームの先端に備えた垂直多関節ロボットである。対象物3は、例えば容器4内にバラ積みされており、ロボット2のハンド7によって保持されて容器4から順次取出される。ロボットシステム1は、ロボット2の各関節の駆動軸を駆動するサーボモータを制御するコンピュータ5をさらに備えている。
コンピュータ5は、オンラインでは、対象物3の位置及び姿勢を検出するのに使用される視覚センサ(図示せず)と協働してロボット2を制御する制御装置として機能する。コンピュータ5は、視覚センサの制御装置としての機能と、及びカメラで撮影した画像を処理する画像処理装置としての機能と、を有していてもよい。また、コンピュータ5は、オフラインでは、ロボット2の動作を仮想空間内でシミュレーションしてロボットプログラムを生成するロボットプログラム生成装置10として機能する。コンピュータ5は、互いにバスで接続されたCPU、ROM、RAM、外部装置とデータ及び信号を送受信するインターフェイスなどを備えたデジタルコンピュータである。コンピュータ5には、例えば液晶ディスプレイなどのモニタ、マウス及びキーボードなどの入力デバイスその他の外部装置が接続される。以下、本発明の一実施形態に従ってロボットプログラムを生成するロボットプログラム生成装置10について説明する。
前述したように、ロボットプログラム生成装置10は、ロボット2の動作を仮想空間内でシミュレーションする機能を有する。シミュレーションを実行する際、ロボットプログラム生成装置10は、関連する構成要素をそれぞれ3次元空間で表現した形状モデルを仮想空間内に配置する。図2は、ロボットプログラム生成装置10に接続されたモニタ6に表示される仮想空間8の例を示している。仮想空間8には、ロボット2、対象物3、容器4を三次元モデルでそれぞれ表現したロボットモデル2M、対象物モデル3M、容器モデル4Mが配置される。操作者は、入力デバイスを操作して視点を変更することによって、各々のモデルの位置関係を三次元空間において確認できるようになっている。
シミュレーションに使用されるモデルは、動力学、振動に関して必要な精度が得られる近似モデルである。近似モデルは、機構だけを考慮する剛体モデルであってもよいし、或いは機構に加えて手先の負荷、機構の撓み及び重力の作用を考慮した弾塑性モデルであってもよい。また、近似モデルは、サーボモータに付与される角度センサから得られる駆動軸の位置からロボットの手先の位置を求めるロボットシステムと、逆にロボットの手先の位置から駆動軸の位置を求めるロボットシステムの両方に対応可能であってもよい。
図3は、ロボットプログラム生成装置10の機能ブロック図を示している。ロボットプログラム生成装置10は、所定のロボットプログラムに従ってロボット2が動作するときに、各関節に設けられた駆動軸のジャーク(単位時間当りの加速度の変化量)が所定の許容値以下になるように、駆動軸に対する教示点を変更することによってロボットプログラムを調整する機能を有する。ロボットプログラム生成装置10は、図示されるように、許容値設定部11と、軸情報計算部12と、ジャーク判定部13と、軸情報特定部14と、ロボットプログラム調整部15と、を機能的構成として備えている。
許容値設定部11は、ロボット2の各々の駆動軸に対してジャークの許容値を設定する。ジャークの許容値は、例えばロボット2の製造者によって指定される値、例えばロボット2の仕様書に記載された値である。或いは、試験用の動作プログラムに従ってロボットを動作させ、その際に測定されるジャークに基づいて許容値を求めてもよい。なお、ジャークは、各々の駆動軸を駆動するサーボモータに取付けられた角度センサによって検出される駆動軸の位置データに基づいて計算される。角度センサによって検出される駆動軸の位置は、その取得時間に関連付けられて出力される。ジャークは、駆動軸の位置を時間に関して3階微分することによって求められる。
ジャークは、実際のロボット2を動作させて得られる実測値であってもよいし、或いは図2に示されるような仮想空間8において実行されるシミュレーションを利用して取得されてもよい。試験用のロボットプログラムによって指定されるロボット2の動作には、搬送工程を想定した所定のロボット2の動作が含まれる。また、実際の動作を想定した種々の条件が課されてもよい。また、試験用のロボットプログラムは、ロボット2において、対象物の損傷ないし落下の原因となり得る振動を発生させないものである必要がある。許容値設定部11は、試験用のロボットプログラムを実行した結果として取得されたジャークの最大値を許容値として設定する。
軸情報計算部12は、ロボット2の動作を仮想空間内でシミュレーションしたときに、各々の駆動軸の位置及びジャークを時間に関連付けて計算する。ジャークは、位置データを時間に関して3階微分することによって計算される。
ジャーク判定部13は、軸情報計算部12によって計算された各々の駆動軸のジャークが、許容値設定部11によって設定される許容値を超えたか否かを判定する。ジャーク判定部13による判定結果は、軸情報特定部14に出力される。以下、許容値を超えたジャークを「超過ジャーク」と便宜上称することがある。
軸情報特定部14は、ジャーク判定部13によって超過ジャークが発生したと判定されたときに、超過ジャークが発生した駆動軸及び駆動軸の位置を特定する。超過ジャークは、複数の駆動軸において発生することがある。また、同一の駆動軸において超過ジャークが複数回発生することがある。軸情報特定部14は、すべての超過ジャークに対応する駆動軸及び駆動軸の位置を特定する。
ロボットプログラム調整部15は、駆動軸のジャークを低減して駆動軸のジャークが許容値以下になるようにロボットプログラムを調整する。具体的には、ロボットプログラム調整部15は、軸情報特定部14によって特定される超過ジャークに対応する駆動軸の位置の近傍の教示点を変更する。
図4に示されるフローチャートを参照して、ロボットプログラム生成装置10によって実行される工程を説明する。まず、ステップS401において、許容値設定部11がジャークの許容値を設定する。
ステップS402において、ロボットプログラム生成装置10は、ロボットプログラムのシミュレーションを実行する。シミュレーションは、予め用意されたロボットシステム1の構成要素の三次元モデル、例えばロボットモデル2M、対象物モデル3Mを仮想空間8に配置して実行される。
ステップS403では、動作プログラムのシミュレーションの結果に基づいて、軸情報計算部12が、ロボット2の各々の駆動軸の位置を時間に関連付けて計算するとともに、それら駆動軸の位置及び時間からジャークの時系列データを計算する。
ステップS404では、ジャーク判定部13によって、ステップS403で取得した駆動軸のジャークが、ステップS401で設定した許容値を超えたか否かを判定する。すべての駆動軸におけるジャークについてステップS404の判定が否定された場合、ジャークは十分に小さく、ロボット2において顕著な振動は生じないとみなされ、処理を終了する。
他方、ステップS404の判定が肯定された場合、すなわち超過ジャークが発生した区間が少なくとも1つ検出された場合、ステップS405に進み、軸情報特定部14によって、超過ジャークが発生した駆動軸及び駆動軸の位置を特定する。
図5は、超過ジャークが発生する区間の近傍に位置する教示点PA、PB,PC及びそれら教示点PA、PB、PCに従って作成される動作経路Qを示している。図5において、2つの黒丸は、超過ジャークが発生する区間の始点Q(t1)及び終点Q(t2)を示している。「t1」、「t2」は、超過ジャーク発生区間の始点及び終点にそれぞれ対応する時刻である。白色の四角は、ロボットプログラムによって指定されるロボットに対する教示点のうち、超過ジャーク発生区間の近傍に位置する教示点を示している。ロボットプログラムによって指定される教示点は、P1、P2、P3、・・・PA、PB、PC、・・・Pnを含む点の集合である(n:自然数)。ロボットプログラムを実行したとき、それら教示点に対して所定の補間処理が実行され、動作経路Qが求められる。
ステップS406では、ロボットプログラム調整部15によって、超過ジャークが発生した駆動軸の位置の近傍の教示点を変更する。例えば、図5に示された例において、始点Q(t1)と終点Q(t2)とによって定められる超過ジャーク発生区間の近傍に位置する教示点PB、PCがそれぞれ変更される。教示点PB、PCを変更する具体的な態様については後述する。
ロボットプログラムの修正が完了すると、ステップS402に戻り、ステップS406において変更された教示点を含む調整後のロボットプログラムに従ってロボット2の動作をシミュレーションする。
続いて、図6〜図8を参照して、ステップS406においてロボットプログラム調整部15がロボットプログラムの教示点を変更する態様について説明する。
前述したように、ロボットプログラム調整部15は、超過ジャークが発生した区間の近傍の教示点を変更する。一実施形態において、教示点は、動作経路Qを中心軸線とする筒状空間の範囲内において変更される。例えば、図6に示される例においては、筒状空間TSは、動作経路Qを中心軸線とするとともに、超過ジャークが発生した区間の動作経路Q、すなわち動作経路Qに沿った始点Q(t1)と終点Q(t2)との間の距離に等しい半径を有する。
ロボットプログラム調整部15は、このような筒状空間TSの範囲内で変更後の教示点PB’、PC’を決定する(図6参照)。この場合、ロボットプログラム生成装置10によって生成されるロボットプログラムの教示点は、P1、P2、P3、・・・PA、PB’、PC’・・・Pnとなり、それら変更後の教示点に従って、図6に点線で示される動作経路Q’が形成される。
一実施形態において、図7に示されるように、筒状空間TSを格子状に分割して教示点の候補を求めてもよい。この場合、筒状空間TS内に設定される有限個の格子点の中から教示点PB、PCの変更後の教示点PB’、PC’をそれぞれ選択する。
一実施形態において、ロボットプログラム調整部15は、次のような工程に従って変更後の教示点を取得する。まず、図4のステップS403で取得されたジャークの時系列データから、超過ジャークが発生する区間に対応するジャークの時系列データを特定する。特定されたジャークの時系列データに基づいて、時間に関するジャークの変化量が小さくなるように新たなジャークの時系列データを作成する。この際、新たなジャークの時系列データから求められる駆動軸の回転量は、元のジャークの時系列データから求められる駆動軸の回転量に概ね一致するようにする。本実施形態において、ロボットプログラム調整部15は、ジャークの時間変化量を小さくした新たなジャークの時系列データに基づいて、教示点を変更する。
図8は、教示点を変更する前の動作経路Q、及び新たなジャークの時系列データに基づいて形成される動作経路Q’を示している。Q’(t1)は、変更前のロボットプログラムにおいて超過ジャーク発生区間の始点Q(t1)に対応する時刻t1における動作経路Q’上の位置を表している。また、Q’(t2)は、超過ジャーク発生区間の終点Q(t2)に対応する時刻t2における動作経路Q’上の位置を表している。図8に示された例によれば、ロボットプログラム調整部15は、始点Q(t1)及び終点Q(t2)の近傍のロボットプログラムの教示点PB、PCを、動作経路Q’上のQ’(t1)及びQ’(t2)にそれぞれ一致する教示点PB’、PC’に変更する。変更された教示点PB’、PC’を含む教示点に従って形成される動作経路は、ロボットに固有のサーボ制御及び補間処理に依存するので、図示される動作経路Q’には一致しないことがある。しかしながら、変更後の教示点に従って形成される動作経路は、ジャークの時間変化量を小さくした動作経路Q’に近似しているので、ジャークを低減する効果が得られるであろう。
一実施形態において、ロボットプログラム生成装置10は、ロボットプログラム調整部15による教示点の変更を所定の回数だけ繰返し実行しても、依然として超過ジャークが発生する場合、ロボットプログラムの調整を終了するように構成される。教示点の変更を繰り返しても超過ジャークが解消されない場合、操作者は、教示点以外の設定内容を見直して超過ジャークの低減を図ることが合理的である場合がある。
なお、複数の超過ジャーク発生区間が検出された場合は、各々の超過ジャーク発生区間におけるジャークを低減するように、ロボットプログラムの教示点を変更する処理が実行される。
前述した実施形態に係るロボットプログラム生成装置10は、次のような利点を有する。
(1)ロボットプログラム調整部15によって、ジャークが許容値以下になるようにロボットに対する教示点が調整される。それにより、駆動軸のジャークが大きい場合に発生するロボットの振動を防止できるようになる。
(1)ロボットプログラム調整部15によって、ジャークが許容値以下になるようにロボットに対する教示点が調整される。それにより、駆動軸のジャークが大きい場合に発生するロボットの振動を防止できるようになる。
(2)ロボットプログラム生成装置10によれば、超過ジャークが発生することが予測されるときに、ロボットプログラムを自動的に調整できる。それにより、操作者に試行錯誤の負担を強いることなく、ジャークを低減できるようになる。
(3)ロボットプログラム生成装置10によれば、ロボットを動作させるロボットに対する教示点を変更することによってジャークの低減を図ることができる。すなわち、ロボットの仕様に依存しないジャークの低減方法を提供できる。例えばパラメータ又は補間処理は、ロボットの製造者によって異なる仕様に従って定められているので、製造元が異なる複数のロボットを備えたロボットシステムにおいては、パラメータ又は補間処理を同一の方法で調整しても十分なジャーク低減効果が得られないことがある。それに対し、ロボットプログラム生成装置10は、ロボットに対する教示点を変更するので、ロボットの仕様に依存しないジャーク低減効果が得られる。
(4)動作経路Qに沿って形成される筒状空間TS内で変更後の教示点を選択するようにすれば、教示点の変更を効率的に実行できるようになる。
(5)筒状空間TSを格子状に分割して形成される格子点から変更後の教示点を選択するようにすれば、教示点を有限個の候補の中から選択できるので、教示点の変更を効率的に実行できるようになる。
図9は、別の実施形態に係るロボットプログラム生成装置10の機能ブロック図である。本実施形態に係るロボットプログラム生成装置10は、図3を参照して説明した構成に加えて、干渉判定部16をさらに備えている。
干渉判定部16は、仮想空間8内でロボット2の動作をシミュレーションする際に、ロボットモデル2Mが周囲の物体(例えば対象物モデル3M、容器モデル4M)に干渉するか否かを判定する。
本実施形態に係るロボットプログラム生成装置10においては、ロボットプログラム調整部15が、ロボットが周囲の物体に干渉しないようにロボットプログラムの教示点を変更する。したがって、本実施形態に係るロボットプログラム生成装置10は、駆動軸のジャークが許容値以下になるとともに、ロボットシステム1が干渉を起こさないようなロボットプログラムを生成できる。
図10を参照して、ロボットシステム1において干渉が生じた場合の教示点の変更方法の一例について説明する。仮想空間8内で干渉が発生した場合、ロボット2Mと干渉物モデル9Mとは、少なくとも1つの点で接触しているか、或いはロボットモデル2Mと干渉物モデル9Mとが互いに3次元空間で重なり合っている。図10は、ロボットモデル2Mと干渉物モデル9Mとが互いに重なり合っている状態を示している。図10に示されるように、ロボットモデル2Mと干渉物モデル9Mとが重なり合っている部分の質量中心の位置をK1とする。なお、ロボットモデル2Mと干渉物モデルとが点で接触している場合は、それらの接触点の位置をK1に設定すればよい。
ロボットモデル2M(ロボット2の手先の三次元モデル)の質量中心の位置をK2とし、干渉物の質量中心をK3とする。K1からK2に向けられた方向の単位ベクトルをV1とし、K3からK2に向けられた方向の単位ベクトルをV2とする。ベクトルV1、V2の平均をV3とする。ロボットプログラム調整部15は、干渉判定部16によって干渉が生じたと判定された場合、干渉が生じた教示点Pmを、ベクトルV3の方向に所定の距離だけ離間する位置の変更教示点Pm’に変更する。このようにして、ロボットプログラム生成装置10は、ロボット2が周囲の物体に干渉しないように調整されたロボットプログラムを生成できる。
図11は、別の実施形態に係るロボットプログラム生成装置10の機能ブロック図である。本実施形態に係るロボットプログラム生成装置10は、図3を参照して説明した構成に加えて、動作時間計算部17をさらに備えている。動作時間計算部17は、ロボットプログラムを実行するのに必要な時間をそれぞれ計算する。本実施形態に係るロボットプログラム生成装置10は、任意の数のロボットプログラムのうち、実行するのに必要な時間が最も短いロボットプログラムを生成する。
例えば、前述した実施形態に従ってジャークを低減するように変更した教示点(便宜上、「第1の変更教示点」と称する。)を含むロボットプログラム(便宜上、「第1のロボットプログラム」と称する。)に基づいて、第1のロボットプログラムとは異なる任意の数、例えば2つのロボットプログラムを生成する。すなわち、教示点が互いに異なる3種類のロボットプログラムが一旦作成されることになる。そして、動作時間計算部17の計算結果に基づいて、ロボットプログラム生成装置10は、3種類のロボットプログラムのうち最も所要時間が短いロボットプログラムを選択して生成する。
図12を参照して、第1のロボットプログラムの教示点から、第2のロボットプログラム及び第3のロボットプログラムの教示点を求める方法の例について説明する。図12に示されるように、教示点を変更する前の超過ジャーク発生区間の始点Q(t1)から、第1のロボットプログラムに従って形成される動作経路の時刻t1における位置Q’(t1)まで延在するベクトルV1とする。ベクトルV1を、変更前の動作経路Qに対して直交する平面PL上において始点Q(t1)の周りに角度αだけ回転させたベクトルをV2とし、角度−αだけ回転させたベクトルをV3とする。
第2のロボットプログラムでは、教示点PB(図5参照)を、始点Q(t1)からベクトルV2だけ移動した位置にある教示点PB2に変更する。また、教示点PC(図5参照)を、超過ジャークの発生区間の終点Q(t2)(図5参照)からベクトルV2だけ移動した位置にある教示点PC2に変更する。それにより、第2のロボットプログラムによって指定される教示点は、P1、P2、P3、・・・PA、PB2、PC2、・・・Pnとなる。
第3のロボットプログラムでは、教示点PB(図5参照)を、始点Q(t1)からベクトルV3だけ移動した位置にある教示点PB3に変更する。また、教示点PC(図5参照)を、超過ジャークの発生区間の終点Q(t2)(図5参照)からベクトルV3だけ移動した位置にある教示点PC3に変更する。それにより、第3のロボットプログラムによって指定される教示点は、P1、P2、P3、・・・PA、PB3、PC3、・・・Pnとなる。
第1〜第3のロボットプログラムを実行したときに発生するジャークがいずれも許容値を下回る場合、本実施形態に係るロボットプログラム生成装置10は、第1のロボットプログラム、第2のロボットプログラム及び第3ロボットプログラムのうち、実行するのに必要な時間が最も短いロボットプログラムを選択的に生成する。
図13は、別の実施形態に係るロボットプログラム生成装置10の機能ブロック図である。本実施形態に係るロボットプログラム生成装置10は、図3を参照して説明した構成に加えて、更新判定部18と、プログラム送信部19と、をさらに備えている。更新判定部18は、ロボット2(図1参照)がロボットプログラムを更新できる状態で否かを判定する。プログラム送信部19は、例えば教示操作盤の操作に応答して、ロボットプログラム生成装置10によって生成されたロボットプログラムをロボット2に送信する。
図14は、本実施形態に従ってロボットプログラムを更新する工程を示すフローチャートである。ロボットプログラム生成装置10によってロボットプログラムが生成されたときに当該工程は開始される。ステップS1401において、ロボットプログラム生成装置10(コンピュータ5)がロボットプログラムを生成したことをロボット2に通知する。
ステップS1402において、更新判定部18によって、ロボット2がロボットプログラムの更新を許可しているか否かを判定する。例えばロボット2がロボットプログラム生成装置10によって生成されたロボットプログラムとは無関係の動作をしているときに、ロボット2に対するロボットプログラムを更新できる。ステップS1402における判定が否定されると、ステップS1403には進まずに、所定の制御周期でステップS1402の判定を実行する。
ステップ1402における判定が肯定されると、ステップS1403に進み、プログラム送信部19が、ロボットプログラム生成装置10によって生成されたロボットプログラムをロボット2に送信する。それにより、ロボット2は、ジャークが低減されるように教示点が変更されたロボットプログラムに従って所定の動作を実行できるようになる。
本実施形態に係るロボットプログラム生成装置10は、ロボット2の動作を一旦停止しなくても、状況に応じてロボットプログラムの更新を可能にする。それにより、作業効率を向上させられる。
以上、本発明の種々の実施形態について説明したが、当業者であれば、他の実施形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施形態の構成要素を削除又は置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
1 ロボットシステム
2 ロボット
2M ロボットモデル
3 対象物
3M 対象物モデル
4 容器
4M 容器モデル
5 コンピュータ
6 モニタ
7 ハンド
8 仮想空間
9M 干渉物モデル
10 ロボットプログラム生成装置
11 許容値設定部
12 軸情報計算部
13 ジャーク判定部
14 軸情報特定部
15 ロボットプログラム調整部
16 干渉判定部
17 動作時間計算部
18 更新判定部
19 プログラム送信部
2 ロボット
2M ロボットモデル
3 対象物
3M 対象物モデル
4 容器
4M 容器モデル
5 コンピュータ
6 モニタ
7 ハンド
8 仮想空間
9M 干渉物モデル
10 ロボットプログラム生成装置
11 許容値設定部
12 軸情報計算部
13 ジャーク判定部
14 軸情報特定部
15 ロボットプログラム調整部
16 干渉判定部
17 動作時間計算部
18 更新判定部
19 プログラム送信部
Claims (6)
- 複数の関節を有するロボットを動作させるロボットプログラムを生成するロボットプログラム生成装置であって、
前記ロボットの各々の関節の駆動軸に対してジャークの許容値を設定する許容値設定部と、
ロボットプログラムの実行を仮想空間内でシミュレーションして、前記駆動軸の位置及びジャークを時間に関連付けて計算する軸情報計算部と、
前記軸情報計算部によって計算される前記ジャークが前記許容値を超える超過ジャークであるか否かを判定するジャーク判定部と、
前記超過ジャークが発生した駆動軸及び駆動軸の位置を特定する軸情報特定部と、
前記軸情報特定部によって特定される前記駆動軸のジャークが前記許容値以下になるように、前記超過ジャークが発生した前記駆動軸の位置の近傍の教示点を変更することによって前記ロボットプログラムを調整するロボットプログラム調整部と、を備える、ロボットプログラム生成装置。 - 前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸の位置の近傍の空間を格子状に分割して形成される格子点のうち、最もジャークが小さくなる格子点に一致するように前記教示点を変更する、請求項1に記載のロボットプログラム生成装置。
- 前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸において時間に関するジャークの変化量を低減させるように前記教示点を変更する、請求項1に記載のロボットプログラム生成装置。
- 前記ロボット及び前記ロボットの周囲に存在する物体の三次元モデルを前記仮想空間内にそれぞれ配置し、前記シミュレーションの際に、前記ロボットと前記物体との干渉の有無を判定する干渉判定部をさらに備えており、
前記ロボットプログラム調整部は、前記ロボットと前記物体との干渉が発生しないように前記教示点を変更する、請求項1から3のいずれか1項に記載のロボットプログラム生成装置。 - 前記ロボットプログラムを実行するのに必要な動作時間を計算する動作時間計算部をさらに備えており、
前記ロボットプログラム調整部は、前記動作時間が短縮されるように前記教示点を変更する、請求項1から4のいずれか1項に記載のロボットプログラム生成装置。 - 前記ロボットにおいてロボットプログラムが更新可能であるか否かを判定する更新判定部と、
当該ロボットプログラム生成装置によって生成されたロボットプログラムをロボットに送信するプログラム送信部をさらに備えており、
前記プログラム送信部は、前記更新判定部によってロボットプログラムが更新可能であると判定されたときに、前記ロボットプログラムを前記ロボットに送信する、請求項1から5のいずれか1項に記載のロボットプログラム生成装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014163796A JP5908544B2 (ja) | 2014-08-11 | 2014-08-11 | 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置 |
CN201510441689.6A CN106181964B (zh) | 2014-08-11 | 2015-07-24 | 机器人程序生成装置 |
DE102015010124.2A DE102015010124B4 (de) | 2014-08-11 | 2015-08-04 | Roboterprogramm-Erzeugungsvorrichtung, die Roboterprogramm zum Reduzieren von Stössen der Gelenke des Roboters erzeugt |
US14/822,293 US9610688B2 (en) | 2014-08-11 | 2015-08-10 | Robot program generation apparatus generating robot program for reducing jerks of joints of robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014163796A JP5908544B2 (ja) | 2014-08-11 | 2014-08-11 | 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016036895A JP2016036895A (ja) | 2016-03-22 |
JP5908544B2 true JP5908544B2 (ja) | 2016-04-26 |
Family
ID=55134929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014163796A Active JP5908544B2 (ja) | 2014-08-11 | 2014-08-11 | 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9610688B2 (ja) |
JP (1) | JP5908544B2 (ja) |
CN (1) | CN106181964B (ja) |
DE (1) | DE102015010124B4 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6632208B2 (ja) * | 2015-03-24 | 2020-01-22 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
JP6898779B2 (ja) * | 2016-08-18 | 2021-07-07 | 株式会社ユーシン精機 | 成形品取出機 |
JP6514171B2 (ja) * | 2016-09-27 | 2019-05-15 | ファナック株式会社 | 最適な物品把持経路を学習する機械学習装置、及び機械学習方法 |
EP3367185A1 (de) * | 2017-02-28 | 2018-08-29 | Siemens Aktiengesellschaft | Antriebssystem und dessen beurteilung |
DE102017104335A1 (de) * | 2017-03-02 | 2018-09-06 | Physik Instrumente (Pi) Gmbh & Co. Kg | Vorrichtung zur Bewegungsanalyse und Antriebsvorrichtung |
JP7237447B2 (ja) * | 2017-09-29 | 2023-03-13 | キヤノン株式会社 | 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、および物品の製造方法 |
US11340045B2 (en) | 2017-11-21 | 2022-05-24 | Techtronic Outdoor Products Technology Limited | Cold fogger |
JP7080649B2 (ja) * | 2018-01-17 | 2022-06-06 | キヤノン株式会社 | 制御方法、物品の製造方法、制御プログラム、記録媒体、ロボットシステム、制御装置 |
US11458626B2 (en) | 2018-02-05 | 2022-10-04 | Canon Kabushiki Kaisha | Trajectory generating method, and trajectory generating apparatus |
JP7158862B2 (ja) * | 2018-02-05 | 2022-10-24 | キヤノン株式会社 | 情報処理方法及び情報処理装置 |
JP6879238B2 (ja) * | 2018-03-13 | 2021-06-02 | オムロン株式会社 | ワークピッキング装置及びワークピッキング方法 |
US11235467B2 (en) * | 2018-04-23 | 2022-02-01 | University Of Southern California | System and method for trajectory planning for manipulators in robotic finishing applications |
US11325263B2 (en) * | 2018-06-29 | 2022-05-10 | Teradyne, Inc. | System and method for real-time robotic control |
JP6895128B2 (ja) * | 2018-11-09 | 2021-06-30 | オムロン株式会社 | ロボット制御装置、シミュレーション方法、及びシミュレーションプログラム |
JP7500947B2 (ja) * | 2019-10-17 | 2024-06-18 | オムロン株式会社 | 干渉評価装置、方法、及びプログラム |
JP7444588B2 (ja) | 2019-11-25 | 2024-03-06 | ファナック株式会社 | 軌道生成装置、自動位置制御装置および軌道生成方法 |
JP6792184B1 (ja) * | 2019-11-27 | 2020-11-25 | 株式会社安川電機 | シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム |
WO2024075200A1 (ja) * | 2022-10-05 | 2024-04-11 | ファナック株式会社 | オフラインシミュレーション装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2664476B2 (ja) * | 1989-05-19 | 1997-10-15 | トキコ株式会社 | 工業用ロボット |
US5655060A (en) | 1995-03-31 | 1997-08-05 | Brooks Automation | Time optimal trajectory for cluster tool robots |
KR100242447B1 (ko) | 1997-12-31 | 2000-04-01 | 윤종용 | 로봇 제어를 위한 경로 계획 장치 및 경로 계획 방법 |
US6216058B1 (en) * | 1999-05-28 | 2001-04-10 | Brooks Automation, Inc. | System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes |
US6782306B2 (en) | 1999-12-16 | 2004-08-24 | Siemens Energy & Automation | Motion control system and method utilizing spline interpolation |
JP3900789B2 (ja) * | 2000-04-14 | 2007-04-04 | セイコーエプソン株式会社 | モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置 |
JP3955217B2 (ja) | 2002-02-15 | 2007-08-08 | 株式会社不二越 | 産業用ロボットの制御方法及び制御装置 |
JP2004314137A (ja) * | 2003-04-17 | 2004-11-11 | Fanuc Ltd | レーザ加工ロボット |
JP3946753B2 (ja) | 2005-07-25 | 2007-07-18 | ファナック株式会社 | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 |
JP4829151B2 (ja) * | 2005-07-25 | 2011-12-07 | ファナック株式会社 | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 |
JP5005366B2 (ja) * | 2007-01-24 | 2012-08-22 | 株式会社ダイヘン | ロボット制御装置 |
JP4256440B2 (ja) | 2007-08-10 | 2009-04-22 | ファナック株式会社 | ロボットプログラム調整装置 |
US7919940B2 (en) * | 2007-10-21 | 2011-04-05 | Ge Intelligent Platforms, Inc. | System and method for jerk limited trajectory planning for a path planner |
JP2010137292A (ja) * | 2008-12-09 | 2010-06-24 | Seiko Epson Corp | ロボット、ロボットの駆動制御方法 |
JP5146512B2 (ja) | 2010-10-13 | 2013-02-20 | オムロン株式会社 | 制御装置、制御システムおよび制御方法 |
JP5896789B2 (ja) * | 2012-03-07 | 2016-03-30 | キヤノン株式会社 | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 |
JP6128767B2 (ja) * | 2012-07-05 | 2017-05-17 | キヤノン株式会社 | ロボット制御装置、及びロボット制御方法 |
JP2014024162A (ja) | 2012-07-27 | 2014-02-06 | Seiko Epson Corp | ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム |
-
2014
- 2014-08-11 JP JP2014163796A patent/JP5908544B2/ja active Active
-
2015
- 2015-07-24 CN CN201510441689.6A patent/CN106181964B/zh active Active
- 2015-08-04 DE DE102015010124.2A patent/DE102015010124B4/de active Active
- 2015-08-10 US US14/822,293 patent/US9610688B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN106181964B (zh) | 2017-09-22 |
US9610688B2 (en) | 2017-04-04 |
DE102015010124A8 (de) | 2016-03-24 |
DE102015010124A1 (de) | 2016-02-11 |
US20160039090A1 (en) | 2016-02-11 |
JP2016036895A (ja) | 2016-03-22 |
CN106181964A (zh) | 2016-12-07 |
DE102015010124B4 (de) | 2018-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5908544B2 (ja) | 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置 | |
US11498214B2 (en) | Teaching device, teaching method, and robot system | |
US20200338730A1 (en) | Trajectory planning device, trajectory planning method and program | |
US9149931B2 (en) | Robot system, robot control device and method for controlling robot | |
US11007646B2 (en) | Programming assistance apparatus, robot system, and method for generating program | |
CN109849025B (zh) | 振动抑制装置 | |
CN107530879B (zh) | 多轴机械装置仿真器、运转指令装置的设计辅助装置、电动机控制装置的设计辅助装置以及电动机的容量选定装置 | |
US20150328776A1 (en) | Interference check device | |
JP6825026B2 (ja) | 情報処理装置、情報処理方法及びロボットシステム | |
JP7293267B2 (ja) | 情報処理装置、情報処理方法及びロボットシステム | |
US10456913B2 (en) | Method and apparatus for controlling a robot movement of a robot on the basis of a second trajectory | |
JP5806105B2 (ja) | パラメータ補正方法および制御システム | |
JP7447568B2 (ja) | シミュレーション装置およびプログラム | |
JP5857803B2 (ja) | 産業用機械の干渉判定装置、干渉判定方法、コンピュータプログラムおよび記録媒体 | |
US20210154831A1 (en) | Information processing method, robot system, article manufacturing method and information processing apparatus | |
WO2022137581A1 (ja) | シミュレーション装置およびシミュレーションプログラム | |
JP6862849B2 (ja) | 演算装置、演算方法、演算プログラムおよびロボットシステム | |
JP7424122B2 (ja) | シミュレーション装置およびプログラム | |
WO2021149419A1 (ja) | シミュレーション装置およびシミュレーションプログラム | |
CN114800523A (zh) | 机械臂轨迹修正方法、系统、计算机及可读存储介质 | |
JP7175433B1 (ja) | 加工面品位シミュレーション装置および加工面品位表示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160323 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5908544 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |