JP5908544B2 - Robot program generation device for generating a robot program for reducing drive shaft jerk - Google Patents

Robot program generation device for generating a robot program for reducing drive shaft jerk Download PDF

Info

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
Application number
JP2014163796A
Other languages
Japanese (ja)
Other versions
JP2016036895A (en
Inventor
匡宏 小山田
匡宏 小山田
嘉治 長塚
嘉治 長塚
衍学 梁
衍学 梁
俊也 武田
俊也 武田
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.)
FANUC Corp
Original Assignee
FANUC Corp
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 FANUC Corp filed Critical FANUC Corp
Priority to JP2014163796A priority Critical patent/JP5908544B2/en
Priority to CN201510441689.6A priority patent/CN106181964B/en
Priority to DE102015010124.2A priority patent/DE102015010124B4/en
Priority to US14/822,293 priority patent/US9610688B2/en
Publication of JP2016036895A publication Critical patent/JP2016036895A/en
Application granted granted Critical
Publication of JP5908544B2 publication Critical patent/JP5908544B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40454Max velocity, acceleration limit for workpiece and arm jerk rate as constraints
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40517Constraint motion planning, variational dynamic programming
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/03Teaching system
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/27Arm part
    • Y10S901/28Joint

Landscapes

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

Description

本発明は、ロボットを動作させるためのロボットプログラムを生成するロボットプログラム生成装置に関する。   The present invention relates to a robot program generation device that generates a robot program for operating a robot.

対象物をロボットにより搬送するのに使用されるロボットシステムにおいて、処理効率を向上させるためにロボットを高速で動作させることが望まれる。しかしながら、ロボットの動作を単純に高速化した場合、ロボットが対象物を把持する際又は解放する際に対象物が損傷する虞がある。また、ロボットが対象物を搬送途中で落下させる虞がある。そのため、対象物の損傷ないし落下が発生した場合には、操作者がロボットプログラムを変更する必要があった。   In a robot system used to transport an object by a robot, it is desired to operate the robot at a high speed in order to improve processing efficiency. However, if the speed of the robot operation is simply increased, the object may be damaged when the robot grips or releases the object. In addition, there is a risk that the robot may drop the object in the middle of conveyance. For this reason, when the object is damaged or dropped, the operator has to change the robot program.

例えば、速度プロファイルなどに対して補間処理を実行する際に、ローパスフィルタを介在させることによって入力プロファイルを平滑化し、それによりジャークの変化を緩やかにしてロボットの動作を円滑化するようにした産業用ロボットの経路計画方法が公知である(特許文献1及び特許文献2参照)。   For example, when interpolation processing is performed on a speed profile, etc., the input profile is smoothed by interposing a low-pass filter, thereby making the change of jerk gentle and smoothing the robot operation. Robot path planning methods are known (see Patent Document 1 and Patent Document 2).

特開2003−241811号公報JP 2003-241811 A 特開平11−249724号公報Japanese Patent Laid-Open No. 11-249724

しかしながら、補間経路を調整してロボットの動作を円滑化したとしても、ロボットを高速で動作させたときに必ずしも常にロボットの振動が抑制されるとは限らない。そのため、実際には、操作者が試行錯誤しながらロボットプログラムを変更する必要がある。そこで、振動発生の原因の1つである駆動軸のジャークをより容易かつ確実に低減する技術が求められている。   However, even if the interpolation path is adjusted to smooth the operation of the robot, the vibration of the robot is not always suppressed when the robot is operated at high speed. Therefore, in practice, it is necessary for the operator to change the robot program through trial and error. Therefore, there is a need for a technique that more easily and reliably reduces drive shaft jerk, which is one of the causes of vibration.

本願の1番目の発明によれば、複数の関節を有するロボットを動作させるロボットプログラムを生成するロボットプログラム生成装置であって、前記ロボットの各々の関節の駆動軸に対してジャークの許容値を設定する許容値設定部と、ロボットプログラムの実行を仮想空間内でシミュレーションして、前記駆動軸の位置及びジャークを時間に関連付けて計算する軸情報計算部と、前記軸情報計算部によって計算される前記ジャークが前記許容値を超える超過ジャークであるか否かを判定するジャーク判定部と、前記超過ジャークが発生した駆動軸及び駆動軸の位置を特定する軸情報特定部と、前記軸情報特定部によって特定される前記駆動軸のジャークが前記許容値以下になるように、前記超過ジャークが発生した前記駆動軸の位置の近傍の教示点を変更することによって前記ロボットプログラムを調整するロボットプログラム調整部と、を備える、ロボットプログラム生成装置が提供される。
本願の2番目の発明によれば、1番目の発明に係るロボットプログラム生成装置において、前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸の位置の近傍の空間を格子状に分割して形成される格子点のうち、最もジャークが小さくなる格子点に一致するように前記教示点を変更する。
本願の3番目の発明によれば、1番目の発明に係るロボットプログラム生成装置において、前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸において時間に関するジャークの変化量を低減させるように前記教示点を変更する。
本願の4番目の発明によれば、1番目から3番目のいずれかの発明に係るロボットプログラム生成装置において、前記ロボット及び前記ロボットの周囲に存在する物体の三次元モデルを前記仮想空間内にそれぞれ配置し、前記シミュレーションの際に、前記ロボットと前記物体との干渉の有無を判定する干渉判定部をさらに備えており、前記ロボットプログラム調整部は、前記ロボットと前記物体との干渉が発生しないように前記教示点を変更する。
本願の5番目の発明によれば、1番目から4番目のいずれかの発明に係るロボットプログラム生成装置において、前記ロボットプログラムを実行するのに必要な動作時間を計算する動作時間計算部をさらに備えており、前記ロボットプログラム調整部は、前記動作時間が短縮されるように前記教示点を変更する。
本願の6番目の発明によれば、1番目から5番目のいずれかの発明に係るロボットプログラム生成装置において、前記ロボットにおいてロボットプログラムが更新可能であるか否かを判定する更新判定部と、当該ロボットプログラム生成装置によって生成されたロボットプログラムをロボットに送信するプログラム送信部をさらに備えており、前記プログラム送信部は、前記更新判定部によってロボットプログラムが更新可能であると判定されたときに、前記ロボットプログラムを前記ロボットに送信する。
According to a first aspect of the present invention, there is provided a robot program generation device for generating a robot program for operating a robot having a plurality of joints, wherein a jerk tolerance is set for a drive axis of each joint of the robot. An allowable value setting unit, an axis information calculation unit that simulates execution of a robot program in a virtual space, and calculates the position and jerk of the drive axis in association with time, and the axis information calculation unit calculates the axis A jerk determination unit that determines whether or not jerk is an excess jerk that exceeds the allowable value, an axis information identification unit that identifies a drive shaft where the excess jerk has occurred, and a position of the drive shaft, and the axis information identification unit In the vicinity of the position of the drive shaft where the excess jerk has occurred so that the identified jerk of the drive shaft is below the allowable value And a robot program adjusting unit for adjusting the robot program by changing the teaching point, the robot program generating device is provided.
According to a second invention of the present application, in the robot program generation device according to the first invention, the robot program adjustment unit divides a space in the vicinity of the position of the drive shaft where the excess jerk has occurred into a grid pattern. The teaching points are changed so as to coincide with the lattice point with the smallest jerk among the lattice points formed in this manner.
According to a third invention of the present application, in the robot program generation device according to the first invention, the robot program adjusting unit reduces the amount of change in jerk with respect to time in the drive shaft where the excess jerk has occurred. The teaching point is changed.
According to a fourth invention of the present application, in the robot program generation device according to any one of the first to third inventions, the robot and a three-dimensional model of an object existing around the robot are respectively stored in the virtual space. And an interference determination unit that determines whether or not the robot and the object interfere with each other during the simulation, and the robot program adjustment unit prevents interference between the robot and the object. To change the teaching point.
According to a fifth invention of the present application, in the robot program generation device according to any one of the first to fourth inventions, the robot program generation device further includes an operation time calculation unit that calculates an operation time required to execute the robot program. The robot program adjustment unit changes the teaching point so that the operation time is shortened.
According to a sixth invention of the present application, in the robot program generation device according to any one of the first to fifth inventions, an update determination unit that determines whether or not the robot program can be updated in the robot; The program further includes a program transmission unit that transmits the robot program generated by the robot program generation device to the robot, and the program transmission unit, when the update determination unit determines that the robot program can be updated, A robot program is transmitted to the robot.

これら及び他の本発明の目的、特徴及び利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。   These and other objects, features and advantages of the present invention will become more apparent by referring to the detailed description of the exemplary embodiments of the present invention shown in the accompanying drawings.

本発明のロボットプログラム生成装置によれば、許容値を超える超過ジャークが発生したときに、ロボットプログラム調整部によって、超過ジャークが発生した駆動軸に対する教示点を変更し、ジャークを低減させるようにする。それにより、ロボット動作時に発生する振動の原因となるジャークが低減されるので、ロボットを高速でかつ安全に動作させられるようになる。   According to the robot program generation device of the present invention, when an excess jerk exceeding an allowable value occurs, the robot program adjustment unit changes the teaching point for the drive axis where the excess jerk has occurred, thereby reducing the jerk. . As a result, jerk that causes vibration during robot operation is reduced, and the robot can be operated at high speed and safely.

ロボットプログラム生成装置を含むロボットシステムの構成を示す図である。It is a figure which shows the structure of the robot system containing a robot program production | generation apparatus. 仮想空間内に配置されるロボットモデルの表示例である。It is an example of a display of the robot model arrange | positioned in virtual space. 一実施形態に係るロボットプログラム生成装置の機能ブロック図である。It is a functional block diagram of the robot program generation device concerning one embodiment. 一実施形態に係るロボットプログラム生成装置によって実行される工程を示すフローチャートである。It is a flowchart which shows the process performed by the robot program production | generation apparatus which concerns on one Embodiment. 教示点及び教示点に従って形成される動作経路並びに超過ジャークの発生区間を示す図である。It is a figure which shows the operation | movement path | route formed according to a teaching point and a teaching point, and the generation | occurrence | production area of an excess jerk. 教示点の変更範囲を示す図である。It is a figure which shows the change range of a teaching point. 図6の筒状空間を格子状に分割した状態を示す図である。It is a figure which shows the state which divided | segmented the cylindrical space of FIG. 6 in the grid | lattice form. 変更前の教示点及び変更後の教示点を示す図である。It is a figure which shows the teaching point before a change and the teaching point after a change. 別の実施形態に係るロボットプログラム生成装置の機能ブロック図である。It is a functional block diagram of the robot program generation device concerning another embodiment. ロボットモデルと干渉物モデルとが互いに重なり合っている状態を示す図である。It is a figure which shows the state in which the robot model and the interference object model mutually overlap. 別の実施形態に係るロボットプログラム生成装置の機能ブロック図である。It is a functional block diagram of the robot program generation device concerning another embodiment. 図11のロボットプログラム生成装置において、第2の変更教示点及び第3の変更教示点の例を示す図である。FIG. 12 is a diagram illustrating an example of a second change teaching point and a third change teaching point in the robot program generation device of FIG. 11. 別の実施形態に係るロボットプログラム生成装置の機能ブロック図である。It is a functional block diagram of the robot program generation device concerning another embodiment. 図12のロボットプログラム生成装置において実行されるロボットプログラムを更新する工程を示すフローチャートである。It is a flowchart which shows the process of updating the robot program performed in the robot program production | generation apparatus of FIG.

以下、添付図面を参照して本発明の実施形態を説明する。図示される構成要素は、本発明の理解を助けるために縮尺が適宜変更されている。また、同一又は対応する構成要素には、同一の参照符号が使用される。   Embodiments of the present invention will be described below with reference to the accompanying drawings. The illustrated components are appropriately scaled to assist in understanding the present invention. The same reference numerals are used for the same or corresponding components.

図1は、ロボットシステム1の構成例を示している。ロボットシステム1は、例えばロボット2を使用して複数の対象物3(例えばワーク)を所定の位置まで順次搬送するのに使用される。ロボット2は、例えばハンド7をアームの先端に備えた垂直多関節ロボットである。対象物3は、例えば容器4内にバラ積みされており、ロボット2のハンド7によって保持されて容器4から順次取出される。ロボットシステム1は、ロボット2の各関節の駆動軸を駆動するサーボモータを制御するコンピュータ5をさらに備えている。   FIG. 1 shows a configuration example of the robot system 1. The robot system 1 is used to sequentially convey a plurality of objects 3 (for example, workpieces) to a predetermined position using, for example, a robot 2. The robot 2 is, for example, a vertical articulated robot having a hand 7 at the tip of an arm. For example, the objects 3 are stacked in a container 4, held by the hand 7 of the robot 2, and sequentially taken out from the container 4. The robot system 1 further includes a computer 5 that controls a servo motor that drives a drive shaft of each joint of the robot 2.

コンピュータ5は、オンラインでは、対象物3の位置及び姿勢を検出するのに使用される視覚センサ(図示せず)と協働してロボット2を制御する制御装置として機能する。コンピュータ5は、視覚センサの制御装置としての機能と、及びカメラで撮影した画像を処理する画像処理装置としての機能と、を有していてもよい。また、コンピュータ5は、オフラインでは、ロボット2の動作を仮想空間内でシミュレーションしてロボットプログラムを生成するロボットプログラム生成装置10として機能する。コンピュータ5は、互いにバスで接続されたCPU、ROM、RAM、外部装置とデータ及び信号を送受信するインターフェイスなどを備えたデジタルコンピュータである。コンピュータ5には、例えば液晶ディスプレイなどのモニタ、マウス及びキーボードなどの入力デバイスその他の外部装置が接続される。以下、本発明の一実施形態に従ってロボットプログラムを生成するロボットプログラム生成装置10について説明する。   The computer 5 functions as a control device that controls the robot 2 in cooperation with a visual sensor (not shown) used to detect the position and posture of the object 3 online. The computer 5 may have a function as a control device of the visual sensor and a function as an image processing device that processes an image captured by the camera. In addition, the computer 5 functions as a robot program generation device 10 that generates a robot program by simulating the operation of the robot 2 in a virtual space when offline. The computer 5 is a digital computer including a CPU, a ROM, a RAM, and an interface for transmitting / receiving data and signals to / from an external device connected to each other via a bus. For example, a monitor such as a liquid crystal display, an input device such as a mouse and a keyboard, and other external devices are connected to the computer 5. Hereinafter, a robot program generation apparatus 10 that generates a robot program according to an embodiment of the present invention will be described.

前述したように、ロボットプログラム生成装置10は、ロボット2の動作を仮想空間内でシミュレーションする機能を有する。シミュレーションを実行する際、ロボットプログラム生成装置10は、関連する構成要素をそれぞれ3次元空間で表現した形状モデルを仮想空間内に配置する。図2は、ロボットプログラム生成装置10に接続されたモニタ6に表示される仮想空間8の例を示している。仮想空間8には、ロボット2、対象物3、容器4を三次元モデルでそれぞれ表現したロボットモデル2M、対象物モデル3M、容器モデル4Mが配置される。操作者は、入力デバイスを操作して視点を変更することによって、各々のモデルの位置関係を三次元空間において確認できるようになっている。   As described above, the robot program generation device 10 has a function of simulating the operation of the robot 2 in the virtual space. When executing the simulation, the robot program generation device 10 arranges a shape model in which each related component is expressed in a three-dimensional space in the virtual space. FIG. 2 shows an example of the virtual space 8 displayed on the monitor 6 connected to the robot program generation device 10. In the virtual space 8, a robot model 2M, an object model 3M, and a container model 4M that represent the robot 2, the object 3, and the container 4 by a three-dimensional model are arranged. The operator can confirm the positional relationship of each model in the three-dimensional space by operating the input device and changing the viewpoint.

シミュレーションに使用されるモデルは、動力学、振動に関して必要な精度が得られる近似モデルである。近似モデルは、機構だけを考慮する剛体モデルであってもよいし、或いは機構に加えて手先の負荷、機構の撓み及び重力の作用を考慮した弾塑性モデルであってもよい。また、近似モデルは、サーボモータに付与される角度センサから得られる駆動軸の位置からロボットの手先の位置を求めるロボットシステムと、逆にロボットの手先の位置から駆動軸の位置を求めるロボットシステムの両方に対応可能であってもよい。   The model used for the simulation is an approximate model that can obtain the necessary accuracy with respect to dynamics and vibration. The approximate model may be a rigid model that considers only the mechanism, or may be an elasto-plastic model that considers the load on the hand, the deflection of the mechanism, and the action of gravity in addition to the mechanism. The approximate model is a robot system that obtains the position of the robot's hand from the position of the drive axis obtained from the angle sensor applied to the servo motor, and conversely, the robot system that obtains the position of the drive axis from the position of the robot's hand. It may be possible to handle both.

図3は、ロボットプログラム生成装置10の機能ブロック図を示している。ロボットプログラム生成装置10は、所定のロボットプログラムに従ってロボット2が動作するときに、各関節に設けられた駆動軸のジャーク(単位時間当りの加速度の変化量)が所定の許容値以下になるように、駆動軸に対する教示点を変更することによってロボットプログラムを調整する機能を有する。ロボットプログラム生成装置10は、図示されるように、許容値設定部11と、軸情報計算部12と、ジャーク判定部13と、軸情報特定部14と、ロボットプログラム調整部15と、を機能的構成として備えている。   FIG. 3 shows a functional block diagram of the robot program generation device 10. When the robot 2 operates according to a predetermined robot program, the robot program generation device 10 causes the drive shaft jerk (the amount of change in acceleration per unit time) provided at each joint to be equal to or less than a predetermined allowable value. The robot program has a function to adjust the robot program by changing the teaching point for the drive axis. As illustrated, the robot program generation device 10 includes an allowable value setting unit 11, an axis information calculation unit 12, a jerk determination unit 13, an axis information identification unit 14, and a robot program adjustment unit 15. It is provided as a configuration.

許容値設定部11は、ロボット2の各々の駆動軸に対してジャークの許容値を設定する。ジャークの許容値は、例えばロボット2の製造者によって指定される値、例えばロボット2の仕様書に記載された値である。或いは、試験用の動作プログラムに従ってロボットを動作させ、その際に測定されるジャークに基づいて許容値を求めてもよい。なお、ジャークは、各々の駆動軸を駆動するサーボモータに取付けられた角度センサによって検出される駆動軸の位置データに基づいて計算される。角度センサによって検出される駆動軸の位置は、その取得時間に関連付けられて出力される。ジャークは、駆動軸の位置を時間に関して3階微分することによって求められる。   The allowable value setting unit 11 sets a jerk allowable value for each drive shaft of the robot 2. The allowable value of jerk is, for example, a value specified by the manufacturer of the robot 2, for example, a value described in the specifications of the robot 2. Alternatively, the robot may be operated according to the test operation program, and the allowable value may be obtained based on the jerk measured at that time. The jerk is calculated based on position data of the drive shaft detected by an angle sensor attached to a servo motor that drives each drive shaft. The position of the drive shaft detected by the angle sensor is output in association with the acquisition time. The jerk is determined by third-order differentiation of the drive shaft position with respect to time.

ジャークは、実際のロボット2を動作させて得られる実測値であってもよいし、或いは図2に示されるような仮想空間8において実行されるシミュレーションを利用して取得されてもよい。試験用のロボットプログラムによって指定されるロボット2の動作には、搬送工程を想定した所定のロボット2の動作が含まれる。また、実際の動作を想定した種々の条件が課されてもよい。また、試験用のロボットプログラムは、ロボット2において、対象物の損傷ないし落下の原因となり得る振動を発生させないものである必要がある。許容値設定部11は、試験用のロボットプログラムを実行した結果として取得されたジャークの最大値を許容値として設定する。   The jerk may be an actual measurement value obtained by operating the actual robot 2, or may be obtained by using a simulation executed in the virtual space 8 as shown in FIG. The operation of the robot 2 specified by the test robot program includes a predetermined operation of the robot 2 assuming a transfer process. Various conditions may be imposed assuming actual operation. Further, the robot program for testing needs to prevent the robot 2 from generating vibrations that can cause damage or dropping of the object. The allowable value setting unit 11 sets the maximum value of jerk acquired as a result of executing the test robot program as an allowable value.

軸情報計算部12は、ロボット2の動作を仮想空間内でシミュレーションしたときに、各々の駆動軸の位置及びジャークを時間に関連付けて計算する。ジャークは、位置データを時間に関して3階微分することによって計算される。   The axis information calculation unit 12 calculates the position and jerk of each drive axis in association with time when the operation of the robot 2 is simulated in the virtual space. Jerk is calculated by third order differentiation of position data with respect to time.

ジャーク判定部13は、軸情報計算部12によって計算された各々の駆動軸のジャークが、許容値設定部11によって設定される許容値を超えたか否かを判定する。ジャーク判定部13による判定結果は、軸情報特定部14に出力される。以下、許容値を超えたジャークを「超過ジャーク」と便宜上称することがある。   The jerk determination unit 13 determines whether the jerk of each drive shaft calculated by the axis information calculation unit 12 has exceeded the allowable value set by the allowable value setting unit 11. The determination result by the jerk determination unit 13 is output to the axis information identification unit 14. Hereinafter, the jerk exceeding the allowable value may be referred to as “excess jerk” for convenience.

軸情報特定部14は、ジャーク判定部13によって超過ジャークが発生したと判定されたときに、超過ジャークが発生した駆動軸及び駆動軸の位置を特定する。超過ジャークは、複数の駆動軸において発生することがある。また、同一の駆動軸において超過ジャークが複数回発生することがある。軸情報特定部14は、すべての超過ジャークに対応する駆動軸及び駆動軸の位置を特定する。   The axis information specifying unit 14 specifies the drive shaft where the excess jerk has occurred and the position of the drive shaft when the jerk determining unit 13 determines that the excess jerk has occurred. Excess jerk can occur on multiple drive shafts. In addition, excess jerk may occur multiple times on the same drive shaft. The axis information specifying unit 14 specifies the drive shafts and the positions of the drive shafts corresponding to all excess jerks.

ロボットプログラム調整部15は、駆動軸のジャークを低減して駆動軸のジャークが許容値以下になるようにロボットプログラムを調整する。具体的には、ロボットプログラム調整部15は、軸情報特定部14によって特定される超過ジャークに対応する駆動軸の位置の近傍の教示点を変更する。   The robot program adjustment unit 15 adjusts the robot program so as to reduce the drive shaft jerk so that the drive shaft jerk is below an allowable value. Specifically, the robot program adjustment unit 15 changes the teaching point in the vicinity of the position of the drive shaft corresponding to the excess jerk specified by the axis information specifying unit 14.

図4に示されるフローチャートを参照して、ロボットプログラム生成装置10によって実行される工程を説明する。まず、ステップS401において、許容値設定部11がジャークの許容値を設定する。   With reference to the flowchart shown in FIG. 4, steps executed by the robot program generation device 10 will be described. First, in step S401, the allowable value setting unit 11 sets an allowable value for jerk.

ステップS402において、ロボットプログラム生成装置10は、ロボットプログラムのシミュレーションを実行する。シミュレーションは、予め用意されたロボットシステム1の構成要素の三次元モデル、例えばロボットモデル2M、対象物モデル3Mを仮想空間8に配置して実行される。   In step S402, the robot program generation device 10 executes a simulation of the robot program. The simulation is executed by arranging a three-dimensional model of components of the robot system 1 prepared in advance, for example, the robot model 2M and the object model 3M in the virtual space 8.

ステップS403では、動作プログラムのシミュレーションの結果に基づいて、軸情報計算部12が、ロボット2の各々の駆動軸の位置を時間に関連付けて計算するとともに、それら駆動軸の位置及び時間からジャークの時系列データを計算する。   In step S403, based on the simulation result of the operation program, the axis information calculation unit 12 calculates the position of each drive axis of the robot 2 in association with time, and at the time of jerk from the position and time of these drive axes. Calculate series data.

ステップS404では、ジャーク判定部13によって、ステップS403で取得した駆動軸のジャークが、ステップS401で設定した許容値を超えたか否かを判定する。すべての駆動軸におけるジャークについてステップS404の判定が否定された場合、ジャークは十分に小さく、ロボット2において顕著な振動は生じないとみなされ、処理を終了する。   In step S404, the jerk determination unit 13 determines whether the drive shaft jerk acquired in step S403 has exceeded the allowable value set in step S401. If the determination in step S404 is negative for the jerks on all the drive shafts, the jerk is sufficiently small and no significant vibration occurs in the robot 2, and the process ends.

他方、ステップS404の判定が肯定された場合、すなわち超過ジャークが発生した区間が少なくとも1つ検出された場合、ステップS405に進み、軸情報特定部14によって、超過ジャークが発生した駆動軸及び駆動軸の位置を特定する。   On the other hand, if the determination in step S404 is affirmative, that is, if at least one section in which excess jerk has occurred is detected, the process proceeds to step S405, and the drive shaft and drive shaft in which excess jerk has been generated by the axis information identification unit Specify the position of.

図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が求められる。   FIG. 5 shows the teaching points PA, PB, PC located in the vicinity of the section where the excess jerk occurs, and the operation path Q created according to the teaching points PA, PB, PC. In FIG. 5, two black circles indicate the start point Q (t1) and the end point Q (t2) of the section where excess jerk occurs. “T1” and “t2” are times corresponding to the start point and the end point of the excess jerk occurrence section, respectively. White squares indicate teaching points located in the vicinity of the excess jerk generation section among teaching points for the robot specified by the robot program. The teaching points specified by the robot program are a set of points including P1, P2, P3,... PA, PB, PC,... Pn (n: natural number). When the robot program is executed, predetermined interpolation processing is executed for these teaching points, and an operation path Q is obtained.

ステップS406では、ロボットプログラム調整部15によって、超過ジャークが発生した駆動軸の位置の近傍の教示点を変更する。例えば、図5に示された例において、始点Q(t1)と終点Q(t2)とによって定められる超過ジャーク発生区間の近傍に位置する教示点PB、PCがそれぞれ変更される。教示点PB、PCを変更する具体的な態様については後述する。   In step S406, the robot program adjustment unit 15 changes the teaching point in the vicinity of the position of the drive shaft where the excess jerk has occurred. For example, in the example shown in FIG. 5, the teaching points PB and PC located in the vicinity of the excess jerk generation section defined by the start point Q (t1) and the end point Q (t2) are changed. A specific mode for changing the teaching points PB and PC will be described later.

ロボットプログラムの修正が完了すると、ステップS402に戻り、ステップS406において変更された教示点を含む調整後のロボットプログラムに従ってロボット2の動作をシミュレーションする。   When the modification of the robot program is completed, the process returns to step S402, and the operation of the robot 2 is simulated according to the adjusted robot program including the teaching point changed in step S406.

続いて、図6〜図8を参照して、ステップS406においてロボットプログラム調整部15がロボットプログラムの教示点を変更する態様について説明する。   Next, with reference to FIG. 6 to FIG. 8, a mode in which the robot program adjustment unit 15 changes the teaching point of the robot program in step S <b> 406 will be described.

前述したように、ロボットプログラム調整部15は、超過ジャークが発生した区間の近傍の教示点を変更する。一実施形態において、教示点は、動作経路Qを中心軸線とする筒状空間の範囲内において変更される。例えば、図6に示される例においては、筒状空間TSは、動作経路Qを中心軸線とするとともに、超過ジャークが発生した区間の動作経路Q、すなわち動作経路Qに沿った始点Q(t1)と終点Q(t2)との間の距離に等しい半径を有する。   As described above, the robot program adjustment unit 15 changes the teaching point in the vicinity of the section where the excess jerk occurs. In one embodiment, the teaching point is changed within a cylindrical space having the operation path Q as a central axis. For example, in the example shown in FIG. 6, the cylindrical space TS has the operation path Q as the central axis, and the operation path Q in the section where the excess jerk has occurred, that is, the start point Q (t1) along the operation path Q And a radius equal to the distance between the end point Q (t2).

ロボットプログラム調整部15は、このような筒状空間TSの範囲内で変更後の教示点PB’、PC’を決定する(図6参照)。この場合、ロボットプログラム生成装置10によって生成されるロボットプログラムの教示点は、P1、P2、P3、・・・PA、PB’、PC’・・・Pnとなり、それら変更後の教示点に従って、図6に点線で示される動作経路Q’が形成される。   The robot program adjusting unit 15 determines the changed teaching points PB ′ and PC ′ within such a cylindrical space TS (see FIG. 6). In this case, the teaching points of the robot program generated by the robot program generating device 10 are P1, P2, P3,... PA, PB ′, PC ′. An operation path Q ′ indicated by a dotted line in FIG.

一実施形態において、図7に示されるように、筒状空間TSを格子状に分割して教示点の候補を求めてもよい。この場合、筒状空間TS内に設定される有限個の格子点の中から教示点PB、PCの変更後の教示点PB’、PC’をそれぞれ選択する。   In an embodiment, as shown in FIG. 7, teaching point candidates may be obtained by dividing the cylindrical space TS into a lattice shape. In this case, the teaching points PB ′ and PC ′ after the change of the teaching points PB and PC are selected from a finite number of lattice points set in the cylindrical space TS.

一実施形態において、ロボットプログラム調整部15は、次のような工程に従って変更後の教示点を取得する。まず、図4のステップS403で取得されたジャークの時系列データから、超過ジャークが発生する区間に対応するジャークの時系列データを特定する。特定されたジャークの時系列データに基づいて、時間に関するジャークの変化量が小さくなるように新たなジャークの時系列データを作成する。この際、新たなジャークの時系列データから求められる駆動軸の回転量は、元のジャークの時系列データから求められる駆動軸の回転量に概ね一致するようにする。本実施形態において、ロボットプログラム調整部15は、ジャークの時間変化量を小さくした新たなジャークの時系列データに基づいて、教示点を変更する。   In one embodiment, the robot program adjustment unit 15 acquires the changed teaching point according to the following process. First, from the time series data of jerk acquired in step S403 of FIG. 4, the time series data of jerk corresponding to the section where excess jerk occurs is specified. Based on the identified time series data of jerk, new time series data of jerk is created so that the amount of change of jerk with respect to time becomes small. At this time, the rotation amount of the drive shaft obtained from the time series data of the new jerk is made to substantially match the rotation amount of the drive shaft obtained from the time series data of the original jerk. In the present embodiment, the robot program adjustment unit 15 changes the teaching point based on new jerk time-series data in which the amount of time change in jerk is reduced.

図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’に近似しているので、ジャークを低減する効果が得られるであろう。   FIG. 8 shows an operation path Q ′ before the teaching point is changed and an operation path Q ′ formed based on new jerk time-series data. Q ′ (t1) represents the position on the motion path Q ′ at time t1 corresponding to the start point Q (t1) of the excess jerk occurrence section in the robot program before the change. Further, Q ′ (t2) represents a position on the operation path Q ′ at time t2 corresponding to the end point Q (t2) of the excess jerk occurrence section. According to the example shown in FIG. 8, the robot program adjustment unit 15 uses the teaching points PB and PC of the robot program near the start point Q (t1) and the end point Q (t2) as Q ′ on the operation path Q ′. The teaching points PB ′ and PC ′ are changed to coincide with (t1) and Q ′ (t2), respectively. The motion path formed according to the teaching points including the changed teaching points PB ′ and PC ′ depends on the servo control and interpolation processing inherent to the robot, and may not coincide with the illustrated motion path Q ′. . However, since the operation path formed in accordance with the changed teaching point approximates the operation path Q 'in which the amount of time change of the jerk is reduced, the effect of reducing jerk will be obtained.

一実施形態において、ロボットプログラム生成装置10は、ロボットプログラム調整部15による教示点の変更を所定の回数だけ繰返し実行しても、依然として超過ジャークが発生する場合、ロボットプログラムの調整を終了するように構成される。教示点の変更を繰り返しても超過ジャークが解消されない場合、操作者は、教示点以外の設定内容を見直して超過ジャークの低減を図ることが合理的である場合がある。   In one embodiment, the robot program generation device 10 ends the adjustment of the robot program if an excessive jerk still occurs after the teaching point change by the robot program adjustment unit 15 is repeatedly performed a predetermined number of times. Composed. If the excess jerk is not resolved even after repeated teaching point changes, it may be reasonable for the operator to review the setting contents other than the teaching point to reduce the excess jerk.

なお、複数の超過ジャーク発生区間が検出された場合は、各々の超過ジャーク発生区間におけるジャークを低減するように、ロボットプログラムの教示点を変更する処理が実行される。   When a plurality of excess jerk occurrence sections are detected, processing for changing teaching points of the robot program is executed so as to reduce jerk in each excess jerk occurrence section.

前述した実施形態に係るロボットプログラム生成装置10は、次のような利点を有する。
(1)ロボットプログラム調整部15によって、ジャークが許容値以下になるようにロボットに対する教示点が調整される。それにより、駆動軸のジャークが大きい場合に発生するロボットの振動を防止できるようになる。
The robot program generation device 10 according to the above-described embodiment has the following advantages.
(1) The teaching point for the robot is adjusted by the robot program adjusting unit 15 so that the jerk is below the allowable value. Thereby, it becomes possible to prevent the vibration of the robot that occurs when the jerk of the drive shaft is large.

(2)ロボットプログラム生成装置10によれば、超過ジャークが発生することが予測されるときに、ロボットプログラムを自動的に調整できる。それにより、操作者に試行錯誤の負担を強いることなく、ジャークを低減できるようになる。   (2) According to the robot program generation device 10, the robot program can be automatically adjusted when an excess jerk is predicted to occur. Thereby, jerk can be reduced without imposing a burden of trial and error on the operator.

(3)ロボットプログラム生成装置10によれば、ロボットを動作させるロボットに対する教示点を変更することによってジャークの低減を図ることができる。すなわち、ロボットの仕様に依存しないジャークの低減方法を提供できる。例えばパラメータ又は補間処理は、ロボットの製造者によって異なる仕様に従って定められているので、製造元が異なる複数のロボットを備えたロボットシステムにおいては、パラメータ又は補間処理を同一の方法で調整しても十分なジャーク低減効果が得られないことがある。それに対し、ロボットプログラム生成装置10は、ロボットに対する教示点を変更するので、ロボットの仕様に依存しないジャーク低減効果が得られる。   (3) According to the robot program generation device 10, it is possible to reduce jerk by changing teaching points for the robot that operates the robot. That is, it is possible to provide a method for reducing jerk that does not depend on the specifications of the robot. For example, parameters or interpolation processing is determined according to different specifications depending on the manufacturer of the robot. Therefore, in a robot system having a plurality of robots with different manufacturers, it is sufficient to adjust the parameters or interpolation processing using the same method. Jerk reduction effect may not be obtained. On the other hand, since the robot program generation device 10 changes the teaching point for the robot, a jerk reduction effect that does not depend on the specifications of the robot can be obtained.

(4)動作経路Qに沿って形成される筒状空間TS内で変更後の教示点を選択するようにすれば、教示点の変更を効率的に実行できるようになる。   (4) If the changed teaching point is selected in the cylindrical space TS formed along the operation path Q, the teaching point can be changed efficiently.

(5)筒状空間TSを格子状に分割して形成される格子点から変更後の教示点を選択するようにすれば、教示点を有限個の候補の中から選択できるので、教示点の変更を効率的に実行できるようになる。   (5) If the changed teaching point is selected from the lattice points formed by dividing the cylindrical space TS into a lattice shape, the teaching point can be selected from a finite number of candidates. Changes can be performed efficiently.

図9は、別の実施形態に係るロボットプログラム生成装置10の機能ブロック図である。本実施形態に係るロボットプログラム生成装置10は、図3を参照して説明した構成に加えて、干渉判定部16をさらに備えている。   FIG. 9 is a functional block diagram of a robot program generation device 10 according to another embodiment. The robot program generation device 10 according to the present embodiment further includes an interference determination unit 16 in addition to the configuration described with reference to FIG.

干渉判定部16は、仮想空間8内でロボット2の動作をシミュレーションする際に、ロボットモデル2Mが周囲の物体(例えば対象物モデル3M、容器モデル4M)に干渉するか否かを判定する。   The interference determination unit 16 determines whether or not the robot model 2M interferes with surrounding objects (for example, the object model 3M and the container model 4M) when simulating the operation of the robot 2 in the virtual space 8.

本実施形態に係るロボットプログラム生成装置10においては、ロボットプログラム調整部15が、ロボットが周囲の物体に干渉しないようにロボットプログラムの教示点を変更する。したがって、本実施形態に係るロボットプログラム生成装置10は、駆動軸のジャークが許容値以下になるとともに、ロボットシステム1が干渉を起こさないようなロボットプログラムを生成できる。   In the robot program generation device 10 according to the present embodiment, the robot program adjustment unit 15 changes the teaching point of the robot program so that the robot does not interfere with surrounding objects. Therefore, the robot program generation device 10 according to the present embodiment can generate a robot program in which the jerk of the drive shaft falls below the allowable value and the robot system 1 does not cause interference.

図10を参照して、ロボットシステム1において干渉が生じた場合の教示点の変更方法の一例について説明する。仮想空間8内で干渉が発生した場合、ロボット2Mと干渉物モデル9Mとは、少なくとも1つの点で接触しているか、或いはロボットモデル2Mと干渉物モデル9Mとが互いに3次元空間で重なり合っている。図10は、ロボットモデル2Mと干渉物モデル9Mとが互いに重なり合っている状態を示している。図10に示されるように、ロボットモデル2Mと干渉物モデル9Mとが重なり合っている部分の質量中心の位置をK1とする。なお、ロボットモデル2Mと干渉物モデルとが点で接触している場合は、それらの接触点の位置をK1に設定すればよい。   With reference to FIG. 10, an example of a teaching point changing method when interference occurs in the robot system 1 will be described. When interference occurs in the virtual space 8, the robot 2M and the interferer model 9M are in contact at at least one point, or the robot model 2M and the interferer model 9M overlap each other in a three-dimensional space. . FIG. 10 shows a state where the robot model 2M and the interferer model 9M overlap each other. As shown in FIG. 10, the position of the center of mass of the portion where the robot model 2M and the interferer model 9M overlap is defined as K1. When the robot model 2M and the interferer model are in contact with each other at a point, the position of the contact point may be set to K1.

ロボットモデル2M(ロボット2の手先の三次元モデル)の質量中心の位置をK2とし、干渉物の質量中心をK3とする。K1からK2に向けられた方向の単位ベクトルをV1とし、K3からK2に向けられた方向の単位ベクトルをV2とする。ベクトルV1、V2の平均をV3とする。ロボットプログラム調整部15は、干渉判定部16によって干渉が生じたと判定された場合、干渉が生じた教示点Pmを、ベクトルV3の方向に所定の距離だけ離間する位置の変更教示点Pm’に変更する。このようにして、ロボットプログラム生成装置10は、ロボット2が周囲の物体に干渉しないように調整されたロボットプログラムを生成できる。   The position of the center of mass of the robot model 2M (three-dimensional model of the hand of the robot 2) is K2, and the center of mass of the interferer is K3. A unit vector in the direction from K1 to K2 is denoted by V1, and a unit vector in the direction from K3 to K2 is denoted by V2. The average of the vectors V1 and V2 is V3. When the interference determination unit 16 determines that the interference has occurred, the robot program adjustment unit 15 changes the teaching point Pm at which the interference has occurred to a change teaching point Pm ′ at a position separated by a predetermined distance in the direction of the vector V3. To do. In this way, the robot program generation device 10 can generate a robot program adjusted so that the robot 2 does not interfere with surrounding objects.

図11は、別の実施形態に係るロボットプログラム生成装置10の機能ブロック図である。本実施形態に係るロボットプログラム生成装置10は、図3を参照して説明した構成に加えて、動作時間計算部17をさらに備えている。動作時間計算部17は、ロボットプログラムを実行するのに必要な時間をそれぞれ計算する。本実施形態に係るロボットプログラム生成装置10は、任意の数のロボットプログラムのうち、実行するのに必要な時間が最も短いロボットプログラムを生成する。   FIG. 11 is a functional block diagram of a robot program generation device 10 according to another embodiment. The robot program generation device 10 according to the present embodiment further includes an operation time calculation unit 17 in addition to the configuration described with reference to FIG. The operation time calculation unit 17 calculates the time required to execute the robot program. The robot program generation device 10 according to the present embodiment generates a robot program having the shortest time required for execution among an arbitrary number of robot programs.

例えば、前述した実施形態に従ってジャークを低減するように変更した教示点(便宜上、「第1の変更教示点」と称する。)を含むロボットプログラム(便宜上、「第1のロボットプログラム」と称する。)に基づいて、第1のロボットプログラムとは異なる任意の数、例えば2つのロボットプログラムを生成する。すなわち、教示点が互いに異なる3種類のロボットプログラムが一旦作成されることになる。そして、動作時間計算部17の計算結果に基づいて、ロボットプログラム生成装置10は、3種類のロボットプログラムのうち最も所要時間が短いロボットプログラムを選択して生成する。   For example, a robot program (referred to as “first robot program” for convenience) including a teaching point (referred to as “first changed teaching point” for convenience) changed so as to reduce jerk according to the embodiment described above. Based on the above, an arbitrary number different from the first robot program, for example, two robot programs are generated. That is, three types of robot programs having different teaching points are created once. Then, based on the calculation result of the operation time calculation unit 17, the robot program generation device 10 selects and generates a robot program having the shortest required time among the three types of robot programs.

図12を参照して、第1のロボットプログラムの教示点から、第2のロボットプログラム及び第3のロボットプログラムの教示点を求める方法の例について説明する。図12に示されるように、教示点を変更する前の超過ジャーク発生区間の始点Q(t1)から、第1のロボットプログラムに従って形成される動作経路の時刻t1における位置Q’(t1)まで延在するベクトルV1とする。ベクトルV1を、変更前の動作経路Qに対して直交する平面PL上において始点Q(t1)の周りに角度αだけ回転させたベクトルをV2とし、角度−αだけ回転させたベクトルをV3とする。   With reference to FIG. 12, an example of a method for obtaining the teaching points of the second robot program and the third robot program from the teaching points of the first robot program will be described. As shown in FIG. 12, the extension from the start point Q (t1) of the excess jerk generation section before the teaching point is changed to the position Q ′ (t1) at the time t1 of the motion path formed according to the first robot program. It is assumed that the existing vector V1. A vector obtained by rotating the vector V1 by the angle α around the start point Q (t1) on the plane PL orthogonal to the operation path Q before the change is denoted by V2, and a vector rotated by the angle −α is denoted by V3. .

第2のロボットプログラムでは、教示点PB(図5参照)を、始点Q(t1)からベクトルV2だけ移動した位置にある教示点PB2に変更する。また、教示点PC(図5参照)を、超過ジャークの発生区間の終点Q(t2)(図5参照)からベクトルV2だけ移動した位置にある教示点PC2に変更する。それにより、第2のロボットプログラムによって指定される教示点は、P1、P2、P3、・・・PA、PB2、PC2、・・・Pnとなる。   In the second robot program, the teaching point PB (see FIG. 5) is changed to the teaching point PB2 at a position moved from the start point Q (t1) by the vector V2. Further, the teaching point PC (see FIG. 5) is changed to the teaching point PC2 at a position moved by the vector V2 from the end point Q (t2) (see FIG. 5) of the excess jerk generation section. Thereby, the teaching points designated by the second robot program are P1, P2, P3,... PA, PB2, PC2,.

第3のロボットプログラムでは、教示点PB(図5参照)を、始点Q(t1)からベクトルV3だけ移動した位置にある教示点PB3に変更する。また、教示点PC(図5参照)を、超過ジャークの発生区間の終点Q(t2)(図5参照)からベクトルV3だけ移動した位置にある教示点PC3に変更する。それにより、第3のロボットプログラムによって指定される教示点は、P1、P2、P3、・・・PA、PB3、PC3、・・・Pnとなる。   In the third robot program, the teaching point PB (see FIG. 5) is changed to the teaching point PB3 at a position moved by the vector V3 from the starting point Q (t1). Further, the teaching point PC (see FIG. 5) is changed to the teaching point PC3 at a position moved by the vector V3 from the end point Q (t2) (see FIG. 5) of the excess jerk generation section. Thereby, the teaching points designated by the third robot program are P1, P2, P3,... PA, PB3, PC3,.

第1〜第3のロボットプログラムを実行したときに発生するジャークがいずれも許容値を下回る場合、本実施形態に係るロボットプログラム生成装置10は、第1のロボットプログラム、第2のロボットプログラム及び第3ロボットプログラムのうち、実行するのに必要な時間が最も短いロボットプログラムを選択的に生成する。   When the jerk generated when the first to third robot programs are executed is less than the allowable value, the robot program generation device 10 according to the present embodiment includes the first robot program, the second robot program, and the first robot program. Of the three robot programs, a robot program having the shortest time required for execution is selectively generated.

図13は、別の実施形態に係るロボットプログラム生成装置10の機能ブロック図である。本実施形態に係るロボットプログラム生成装置10は、図3を参照して説明した構成に加えて、更新判定部18と、プログラム送信部19と、をさらに備えている。更新判定部18は、ロボット2(図1参照)がロボットプログラムを更新できる状態で否かを判定する。プログラム送信部19は、例えば教示操作盤の操作に応答して、ロボットプログラム生成装置10によって生成されたロボットプログラムをロボット2に送信する。   FIG. 13 is a functional block diagram of a robot program generation device 10 according to another embodiment. The robot program generation device 10 according to the present embodiment further includes an update determination unit 18 and a program transmission unit 19 in addition to the configuration described with reference to FIG. The update determination unit 18 determines whether or not the robot 2 (see FIG. 1) can update the robot program. The program transmission unit 19 transmits the robot program generated by the robot program generation device 10 to the robot 2 in response to, for example, an operation on the teaching operation panel.

図14は、本実施形態に従ってロボットプログラムを更新する工程を示すフローチャートである。ロボットプログラム生成装置10によってロボットプログラムが生成されたときに当該工程は開始される。ステップS1401において、ロボットプログラム生成装置10(コンピュータ5)がロボットプログラムを生成したことをロボット2に通知する。   FIG. 14 is a flowchart showing a process of updating the robot program according to the present embodiment. The process starts when a robot program is generated by the robot program generation device 10. In step S1401, the robot program generation device 10 (computer 5) notifies the robot 2 that a robot program has been generated.

ステップS1402において、更新判定部18によって、ロボット2がロボットプログラムの更新を許可しているか否かを判定する。例えばロボット2がロボットプログラム生成装置10によって生成されたロボットプログラムとは無関係の動作をしているときに、ロボット2に対するロボットプログラムを更新できる。ステップS1402における判定が否定されると、ステップS1403には進まずに、所定の制御周期でステップS1402の判定を実行する。   In step S1402, the update determination unit 18 determines whether or not the robot 2 permits updating of the robot program. For example, when the robot 2 performs an operation unrelated to the robot program generated by the robot program generation device 10, the robot program for the robot 2 can be updated. If the determination in step S1402 is negative, the process proceeds to step S1403, and the determination in step S1402 is executed at a predetermined control cycle.

ステップ1402における判定が肯定されると、ステップS1403に進み、プログラム送信部19が、ロボットプログラム生成装置10によって生成されたロボットプログラムをロボット2に送信する。それにより、ロボット2は、ジャークが低減されるように教示点が変更されたロボットプログラムに従って所定の動作を実行できるようになる。   If the determination in step 1402 is affirmed, the process proceeds to step S1403, and the program transmission unit 19 transmits the robot program generated by the robot program generation device 10 to the robot 2. Thereby, the robot 2 can execute a predetermined operation according to the robot program in which the teaching point is changed so that jerk is reduced.

本実施形態に係るロボットプログラム生成装置10は、ロボット2の動作を一旦停止しなくても、状況に応じてロボットプログラムの更新を可能にする。それにより、作業効率を向上させられる。   The robot program generation device 10 according to the present embodiment makes it possible to update the robot program according to the situation without temporarily stopping the operation of the robot 2. Thereby, work efficiency can be improved.

以上、本発明の種々の実施形態について説明したが、当業者であれば、他の実施形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施形態の構成要素を削除又は置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。   Although various embodiments of the present invention have been described above, those skilled in the art will recognize that the functions and effects intended by the present invention can be realized by other embodiments. In particular, the components of the above-described embodiments can be deleted or replaced without departing from the scope of the present invention, or known means can be further added. It is obvious to those skilled in the art that the present invention can be implemented by arbitrarily combining features of a plurality of embodiments explicitly or implicitly disclosed in the present specification.

1 ロボットシステム
2 ロボット
2M ロボットモデル
3 対象物
3M 対象物モデル
4 容器
4M 容器モデル
5 コンピュータ
6 モニタ
7 ハンド
8 仮想空間
9M 干渉物モデル
10 ロボットプログラム生成装置
11 許容値設定部
12 軸情報計算部
13 ジャーク判定部
14 軸情報特定部
15 ロボットプログラム調整部
16 干渉判定部
17 動作時間計算部
18 更新判定部
19 プログラム送信部
DESCRIPTION OF SYMBOLS 1 Robot system 2 Robot 2M Robot model 3 Object 3M Object model 4 Container 4M Container model 5 Computer 6 Monitor 7 Hand 8 Virtual space 9M Interference object model 10 Robot program generator 11 Permissible value setting part 12 Axis information calculation part 13 Jerk Determination unit 14 Axis information identification unit 15 Robot program adjustment unit 16 Interference determination unit 17 Operation time calculation unit 18 Update determination unit 19 Program transmission unit

Claims (6)

複数の関節を有するロボットを動作させるロボットプログラムを生成するロボットプログラム生成装置であって、
前記ロボットの各々の関節の駆動軸に対してジャークの許容値を設定する許容値設定部と、
ロボットプログラムの実行を仮想空間内でシミュレーションして、前記駆動軸の位置及びジャークを時間に関連付けて計算する軸情報計算部と、
前記軸情報計算部によって計算される前記ジャークが前記許容値を超える超過ジャークであるか否かを判定するジャーク判定部と、
前記超過ジャークが発生した駆動軸及び駆動軸の位置を特定する軸情報特定部と、
前記軸情報特定部によって特定される前記駆動軸のジャークが前記許容値以下になるように、前記超過ジャークが発生した前記駆動軸の位置の近傍の教示点を変更することによって前記ロボットプログラムを調整するロボットプログラム調整部と、を備える、ロボットプログラム生成装置。
A robot program generation device for generating a robot program for operating a robot having a plurality of joints,
An allowable value setting unit for setting an allowable value of jerk for the drive axis of each joint of the robot;
An axis information calculator that simulates the execution of a robot program in a virtual space and calculates the position and jerk of the drive axis in association with time;
A jerk determination unit that determines whether or not the jerk calculated by the axis information calculation unit is an excess jerk exceeding the allowable value;
An axis information specifying unit for specifying the drive shaft where the excess jerk has occurred and the position of the drive shaft;
The robot program is adjusted by changing the teaching point in the vicinity of the position of the drive shaft where the excess jerk occurs so that the jerk of the drive shaft specified by the axis information specifying unit is less than or equal to the allowable value. And a robot program adjustment unit.
前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸の位置の近傍の空間を格子状に分割して形成される格子点のうち、最もジャークが小さくなる格子点に一致するように前記教示点を変更する、請求項1に記載のロボットプログラム生成装置。   The robot program adjustment unit is configured to match the lattice point with the smallest jerk among lattice points formed by dividing the space in the vicinity of the position of the drive shaft where the excess jerk has occurred into a lattice shape. The robot program generation device according to claim 1, wherein the teaching point is changed. 前記ロボットプログラム調整部は、前記超過ジャークが発生した前記駆動軸において時間に関するジャークの変化量を低減させるように前記教示点を変更する、請求項1に記載のロボットプログラム生成装置。   The robot program generation device according to claim 1, wherein the robot program adjustment unit changes the teaching point so as to reduce a change amount of jerk with respect to time in the drive shaft where the excess jerk has occurred. 前記ロボット及び前記ロボットの周囲に存在する物体の三次元モデルを前記仮想空間内にそれぞれ配置し、前記シミュレーションの際に、前記ロボットと前記物体との干渉の有無を判定する干渉判定部をさらに備えており、
前記ロボットプログラム調整部は、前記ロボットと前記物体との干渉が発生しないように前記教示点を変更する、請求項1から3のいずれか1項に記載のロボットプログラム生成装置。
The robot further includes an interference determination unit that arranges the robot and a three-dimensional model of an object existing around the robot in the virtual space, and determines whether or not the robot and the object interfere with each other during the simulation. And
4. The robot program generation device according to claim 1, wherein the robot program adjustment unit changes the teaching point so that interference between the robot and the object does not occur. 5.
前記ロボットプログラムを実行するのに必要な動作時間を計算する動作時間計算部をさらに備えており、
前記ロボットプログラム調整部は、前記動作時間が短縮されるように前記教示点を変更する、請求項1から4のいずれか1項に記載のロボットプログラム生成装置。
An operation time calculation unit for calculating an operation time required to execute the robot program;
5. The robot program generation device according to claim 1, wherein the robot program adjustment unit changes the teaching point so that the operation time is shortened. 6.
前記ロボットにおいてロボットプログラムが更新可能であるか否かを判定する更新判定部と、
当該ロボットプログラム生成装置によって生成されたロボットプログラムをロボットに送信するプログラム送信部をさらに備えており、
前記プログラム送信部は、前記更新判定部によってロボットプログラムが更新可能であると判定されたときに、前記ロボットプログラムを前記ロボットに送信する、請求項1から5のいずれか1項に記載のロボットプログラム生成装置。
An update determination unit for determining whether or not the robot program can be updated in the robot;
A program transmission unit that transmits the robot program generated by the robot program generation device to the robot;
The robot program according to any one of claims 1 to 5, wherein the program transmission unit transmits the robot program to the robot when the update determination unit determines that the robot program can be updated. Generator.
JP2014163796A 2014-08-11 2014-08-11 Robot program generation device for generating a robot program for reducing drive shaft jerk Active JP5908544B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014163796A JP5908544B2 (en) 2014-08-11 2014-08-11 Robot program generation device for generating a robot program for reducing drive shaft jerk
CN201510441689.6A CN106181964B (en) 2014-08-11 2015-07-24 Robot program production system
DE102015010124.2A DE102015010124B4 (en) 2014-08-11 2015-08-04 A robot program generating device that generates a robot program for reducing bumps of the joints of the robot
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 (en) 2014-08-11 2014-08-11 Robot program generation device for generating a robot program for reducing drive shaft jerk

Publications (2)

Publication Number Publication Date
JP2016036895A JP2016036895A (en) 2016-03-22
JP5908544B2 true JP5908544B2 (en) 2016-04-26

Family

ID=55134929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014163796A Active JP5908544B2 (en) 2014-08-11 2014-08-11 Robot program generation device for generating a robot program for reducing drive shaft jerk

Country Status (4)

Country Link
US (1) US9610688B2 (en)
JP (1) JP5908544B2 (en)
CN (1) CN106181964B (en)
DE (1) DE102015010124B4 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6632208B2 (en) * 2015-03-24 2020-01-22 キヤノン株式会社 Information processing apparatus, information processing method, and program
JP6898779B2 (en) * 2016-08-18 2021-07-07 株式会社ユーシン精機 Molded product take-out machine
JP6514171B2 (en) * 2016-09-27 2019-05-15 ファナック株式会社 Machine learning apparatus and method for learning an optimal article gripping path
EP3367185A1 (en) * 2017-02-28 2018-08-29 Siemens Aktiengesellschaft Drive system and its evaluation
DE102017104335A1 (en) * 2017-03-02 2018-09-06 Physik Instrumente (Pi) Gmbh & Co. Kg Device for motion analysis and drive device
JP7237447B2 (en) * 2017-09-29 2023-03-13 キヤノン株式会社 Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method
EP3834613B1 (en) 2017-11-21 2023-06-07 Techtronic Cordless GP Cold fogger
JP7080649B2 (en) * 2018-01-17 2022-06-06 キヤノン株式会社 Control method, manufacturing method of goods, control program, recording medium, robot system, control device
US11458626B2 (en) 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP7158862B2 (en) * 2018-02-05 2022-10-24 キヤノン株式会社 Information processing method and information processing device
JP6879238B2 (en) * 2018-03-13 2021-06-02 オムロン株式会社 Work picking device and work picking method
US11235466B2 (en) * 2018-04-23 2022-02-01 University Of Southern California Setup planning and parameter selection for robotic finishing
US11325263B2 (en) * 2018-06-29 2022-05-10 Teradyne, Inc. System and method for real-time robotic control
JP6895128B2 (en) * 2018-11-09 2021-06-30 オムロン株式会社 Robot control device, simulation method, and simulation program
JP7444588B2 (en) 2019-11-25 2024-03-06 ファナック株式会社 Trajectory generation device, automatic position control device, and trajectory generation method
JP6792184B1 (en) * 2019-11-27 2020-11-25 株式会社安川電機 Simulation systems, simulation methods, simulation programs, robot manufacturing methods, and robot systems
WO2024075200A1 (en) * 2022-10-05 2024-04-11 ファナック株式会社 Offline simulation device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2664476B2 (en) * 1989-05-19 1997-10-15 トキコ株式会社 Industrial robot
US5655060A (en) 1995-03-31 1997-08-05 Brooks Automation Time optimal trajectory for cluster tool robots
KR100242447B1 (en) 1997-12-31 2000-04-01 윤종용 Method and system for path planning in robot control
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 (en) * 2000-04-14 2007-04-04 セイコーエプソン株式会社 Motor speed / acceleration determination method, acceleration / deceleration generation method, acceleration / deceleration control method, acceleration / deceleration control device, and motor control device
JP3955217B2 (en) 2002-02-15 2007-08-08 株式会社不二越 Industrial robot control method and control apparatus
JP2004314137A (en) * 2003-04-17 2004-11-11 Fanuc Ltd Laser beam machining robot
JP3946753B2 (en) * 2005-07-25 2007-07-18 ファナック株式会社 Robot program evaluation / correction method and robot program evaluation / correction device
JP4829151B2 (en) * 2005-07-25 2011-12-07 ファナック株式会社 Robot program evaluation / correction method and robot program evaluation / correction device
JP5005366B2 (en) * 2007-01-24 2012-08-22 株式会社ダイヘン Robot controller
JP4256440B2 (en) 2007-08-10 2009-04-22 ファナック株式会社 Robot program adjustment device
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 (en) * 2008-12-09 2010-06-24 Seiko Epson Corp Robot and drive control method of robot
JP5146512B2 (en) 2010-10-13 2013-02-20 オムロン株式会社 Control device, control system, and control method
JP5896789B2 (en) 2012-03-07 2016-03-30 キヤノン株式会社 Robot control apparatus, robot apparatus, robot control method, program, and recording medium
JP6128767B2 (en) * 2012-07-05 2017-05-17 キヤノン株式会社 Robot control apparatus and robot control method
JP2014024162A (en) * 2012-07-27 2014-02-06 Seiko Epson Corp Robot system, robot control device, robot control method and robot control program

Also Published As

Publication number Publication date
DE102015010124A1 (en) 2016-02-11
DE102015010124B4 (en) 2018-06-14
CN106181964B (en) 2017-09-22
CN106181964A (en) 2016-12-07
US20160039090A1 (en) 2016-02-11
JP2016036895A (en) 2016-03-22
US9610688B2 (en) 2017-04-04
DE102015010124A8 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
JP5908544B2 (en) Robot program generation device for generating a robot program for reducing drive shaft jerk
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 (en) Vibration suppressing device
US20150328776A1 (en) Interference check device
JPWO2016185590A1 (en) Multi-axis mechanical device simulator, operation command device design support device, motor control device design support device, and motor capacity selection device
JP6825026B2 (en) Information processing equipment, information processing methods and robot systems
JP2021059012A (en) Information processing device, information processing method and robot system
US10456913B2 (en) Method and apparatus for controlling a robot movement of a robot on the basis of a second trajectory
JP5806105B2 (en) Parameter correction method and control system
WO2022137581A1 (en) Simulation device and simulation program
US20210154831A1 (en) Information processing method, robot system, article manufacturing method and information processing apparatus
JP7447568B2 (en) Simulation equipment and programs
JP5857803B2 (en) Industrial machine interference determination device, interference determination method, computer program, and recording medium
JP6862849B2 (en) Arithmetic logic units, arithmetic methods, arithmetic programs and robot systems
WO2021149419A1 (en) Simulation device, and simulation program
CN114800523A (en) Mechanical arm track correction method, system, computer and readable storage medium
JP7424122B2 (en) Simulation equipment and programs
JP7175433B1 (en) Machined surface quality simulation device and machined surface quality display method
JP7232704B2 (en) ROBOT PROGRAM EVALUATION DEVICE, ROBOT PROGRAM EVALUATION METHOD AND ROBOT PROGRAM EVALUATION PROGRAM

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