WO2022009921A1 - 軌道生成装置および自動位置制御装置 - Google Patents

軌道生成装置および自動位置制御装置 Download PDF

Info

Publication number
WO2022009921A1
WO2022009921A1 PCT/JP2021/025613 JP2021025613W WO2022009921A1 WO 2022009921 A1 WO2022009921 A1 WO 2022009921A1 JP 2021025613 W JP2021025613 W JP 2021025613W WO 2022009921 A1 WO2022009921 A1 WO 2022009921A1
Authority
WO
WIPO (PCT)
Prior art keywords
locus
points
point
orbit
trajectory
Prior art date
Application number
PCT/JP2021/025613
Other languages
English (en)
French (fr)
Inventor
学 平川
Original Assignee
ファナック株式会社
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 ファナック株式会社 filed Critical ファナック株式会社
Priority to DE112021002352.7T priority Critical patent/DE112021002352T5/de
Priority to US18/004,097 priority patent/US20230256600A1/en
Priority to JP2022535368A priority patent/JPWO2022009921A1/ja
Priority to CN202180047676.4A priority patent/CN115769157A/zh
Publication of WO2022009921A1 publication Critical patent/WO2022009921A1/ja

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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • 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/45Nc applications
    • G05B2219/45104Lasrobot, welding robot
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to an orbit generating device and an automatic position control device.
  • NC numerical control
  • Patent Document 1 a method of generating a tool trajectory by interpolating between discrete points given as tool passage points.
  • an interpolated curve connecting a plurality of adjacent points is calculated, and an orbit is generated by connecting the interpolated curves to each other.
  • the interpolated curves need to be smoothly connected at the passing point.
  • Patent Document 1 in the calculation of the interpolation curve S m (t) of the section between the points P m and P m + 1 , the points P m-1 and P of the adjacent sections are connected in order to connect the interpolation curves of the adjacent sections. I also use m + 2. Specifically, in Patent Document 1, a quadratic curve S m (t) passing through three points P m-1 , P m , P m + 1 and three points P m 1 , P m + 1, P m + 2 are passed. The quadratic curve S m + 1 (t) is derived, and the interpolation curve S m (t) is calculated based on the linear derivative coefficient and the quadratic derivative coefficient of the quadratic curve at the points P m and P m + 1.
  • Patent Document 1 in the partial section between the points P m and P m + 1 , in order to connect S m (t) and S m + 1 (t) as smoothly as possible, the section is in accordance with the progress of t.
  • the control of the control target in is gradually changed from S m (t) to S m + 1 (t).
  • the orbit at this time depends on S m (t) and S m + 1 (t), and when both are different types of functions, the orbit of the subsection is difficult for the user to predict. Therefore, it is desirable to make it easy for the user to predict the trajectory of the section while smoothly connecting S m (t) and S m + 1 (t).
  • One aspect of the present disclosure is an orbit generating device that generates an orbit through which a controlled object passes, comprising a storage unit for storing a plurality of points through which the controlled object passes, a processor, and the processor.
  • a reception process for receiving user-designated locus information in a partial section between two points out of a plurality of points, and receiving the designated locus information means that the two points out of the plurality of points A first locus that passes through at least one front passage point and the two points that the control object passes before, and at least one that the control object passes after the two points among the plurality of points.
  • the orbit generation process for generating the orbit in the subsection is executed by using the second locus passing through the rear passing point and the two points and the designated locus information.
  • the automatic position control device 2 controls the position of the controlled object.
  • an example of the controlled object 4a is the position of the tip 5a of the articulated robot arm 5 of the robot 4 for industrial use, or the hand or tool attached to the tip 5a of the robot arm 5. It is a predetermined position 6a of the end effector 6.
  • Another example of the controlled object 4a is a tool of a numerical control (NC) machine tool. Therefore, the automatic position control device 2 may be a robot control device that controls a robot or a numerical control device that controls an NC machine tool.
  • the automatic position control device 2 has n discrete points P 1 , P 2 , ..., P i-1 , P i , P i + 1 , P i + 2 , ... It is provided with an orbit generating device 1 for generating an orbit passing through the above, a control unit 3 for moving a controlled object 4a along the orbit generated by the orbit generating device 1, and an input device 10.
  • the input device 10 is a keyboard, a mouse, a display device with a touch screen function, a portable input device for setting an operation program, and the like.
  • the control unit 3 is a robot control unit that controls the operation of the robot arm 5, and the automatic position control device 2 is a robot control device.
  • the control unit 3 has a processor, a storage device in which an operation program is stored, and the like.
  • the automatic position control device 2 may be a computer that generates a robot operation program offline.
  • the orbit generation device 1 has a processor 1a such as a central processing unit and a storage unit 1b having a RAM, a ROM, a non-volatile storage, a hard disk, and the like. The n discrete points are input using the input device 10, or are received by the orbit generation device 1 from another computer and stored in the storage unit 1b.
  • the point Pi is, for example, a teaching point set by an operator.
  • the position of the point P i is represented by two-dimensional coordinates (x i, y i)
  • the control target 4a which moves in the three-dimensional space, of the point P i The position is represented by three-dimensional coordinates (x i , y i , z i ).
  • the trajectory generation program 1c and the trajectory derivation program 1d are stored in the storage unit 1b. The calculation described later by the orbit generation device 1 is realized by the processor 1a executing the process according to the orbit generation program 1c.
  • the orbit generator 1 calculates a curve S i that passes through two adjacent points P i and P i + 1 in a point sequence and interpolates between the two points P i and P i + 1 , and the curve S i. Calculate the partial orbit between the two points Pi and Pi + 1 represented by.
  • the point P i is the i-th point in the point sequence.
  • the trajectory generating device 1, i-1 th from (i + 2) th four points P i-1, P i, by calculating the curve Si based on the P i + 1, P i + 2, four points P i- 1.
  • the orbit generation device 1 obtains n-1 partial orbits by calculating a partial orbit for each section of two adjacent points Pi and Pi + 1. Next, the orbit generation device 1 generates an orbit that passes through all n points P 1 , P 2 , ..., P n by connecting n-1 partial orbits to each other.
  • the orbit generation device 1 calculates a curve Si (however, 1 ⁇ i ⁇ n-2) that satisfies the following two conditions. That is, at the point P i + 1, part track (first curve) values of the first floor of the derivative of S i (u i) and the partial track (second curve) S i + 1 (u i + 1) is equal to each other. Further, at the point P i + 1, the value of the second derivative of the partial orbit S i (u i) and the partial orbit S i + 1 (u i + 1) is equal to each other.
  • u i is a variable that represents the progress of interpolation between the point Pi and the point Pi + 1 as a value from 0 to 1.
  • u i + 1 u i -1
  • FIG. 3 illustrates the control of the control target 4a in the X-axis direction as an example.
  • 3 shows, the variable u i point sequence on the u-x plane and is represented by the x-axis representing the u-axis and x i representing the P i-1, P i, P i + 1, P i + 2, ... is It is shown.
  • the function F i (u i) as an example, a circular arc, which is a function of ⁇ arc, a quadratic curve such as a parabola.
  • Function F i (u i) is a function of the other quadratic curve, or may be a function of the primary linear or cubic or more curves.
  • FIG. 4 illustrates another example of control of the axially controlled object 4a.
  • the function that defines the trajectory of the section from the point P i-1 to the point P i + 1 (first track) F0 i (u i) is a linear function to draw a straight line, the point from the point P i P
  • the function that defines the locus of the section up to i + 2 (second locus) F0 i + 1 (ui + 1 ) is a function that draws a quadratic curve such as an arc, an elliptical arc, or a parabola, or a cubic curve.
  • the quadratic function function F i (u i) draws a substantially straight, or may be a cubic function.
  • the processor 1a automatically calculates the first locus and the second locus passing through each target point cloud based on a known program.
  • the X (u i + 1) and X (u i) in equation (3) in equation (4) is a function that matches with each other in a section between points P i and the point P i + 1, linear in the case of FIG. 5 Is a function that draws.
  • the first segment locus F i (u i) and (4) of the second segment locus F i + 1 (u i + 1) partial trajectory is generated by applying the equation (1)
  • S i of Equation (3) (u i) is a linear track along the X (u i).
  • the function f i (u i) is based on the processor 1a is locus deriving program 1d, for example derived using the first trajectory F0 i (u i) and X (u i).
  • locus deriving program 1d for example derived using the first trajectory F0 i (u i) and X (u i).
  • u i-1 u i +1
  • u i-2 u i +2, and so on.
  • X (u i) and X (u i + 1) is set based on the user input to the input device 10 of the automatic position control device 2.
  • the user inputs the designated locus information using the input device 10.
  • the designated trajectory information includes at least a section for designating the trajectory and the type of trajectory in the section. Examples of locus types are linear loci, arc loci, elliptical loci, and the like.
  • the type of the locus may be a spiral curve locus, a quadratic function curve locus, a cubic function curve locus, or the like. In the case of FIG. 5, the point cloud shown in FIG.
  • the user can use the input device 10 to input the point P i + 1 , between the point P i and the point P i + 1 in the point cloud.
  • the section designation information for designating between the point Pi and the point Pi + 1 is input.
  • a plurality of types of loci such as a linear locus, an arc locus, and an elliptical arc locus are displayed on the screen, and the user selects one of them by the input device 10, so that information on the locus type is input.
  • the user may input to the input device 10 to select the first locus or the second locus as the locus between the point Pi and the point Pi + 1. May select the first trajectory X (u i) and X (u i + 1) is a straight line.
  • the X (u i) and X (u i + 1) may be a function that perfectly coincide with each other in the section between the point P i and the point P i + 1.
  • X (u i + 1) are different functions with f i + 1 (u i + 1).
  • X (u i + 1) is a function that the locus of the same type and X (u i), X ( u i + 1) when X (u i) is a function to draw a straight line is also a function to draw a straight line, X when X (u i) is a function to draw an arc (u i + 1) is also a function to draw an arc.
  • Eq. (1) is used to form Fi (u i ).
  • the function F0 i + 1 defining the function F0 i (u i) and a second locus defining a first trajectory (u i + 1) may be a function of both an arc.
  • the designated trajectory information is input to the trajectory generation device 1 by designating a section for designating the trajectory by the input device 10 and selecting, for example, the first trajectory as the trajectory of the section.
  • the first locus is selected as the orbit between the point Pi and the point Pi + 1 , it is also possible to input the arc locus and the radius, center, etc. of the arc by the input device 10. Is.
  • fi + 1 (ui + 1 ) of the second section locus may be set as a function indicating the locus between the point Pi + 1 and the point Pi + 3.
  • it is set as a function of X in the first section trajectory (u i) and X in the second section trajectory (u i + 1) indicates the trajectory between points P i and the point P i + 1.
  • it is set as a function f i of the first section trajectory (u i) indicates the trajectory between points P i-1 and the point P i.
  • the function F0 i + 1 (ui + 1 ) that defines the second locus corresponds to the interval from the point Pi + 1 to the point Pi + 3. Even in this case, the same action and effect as described above are obtained.
  • the input device 10 indicates between the point Pi and the point Pi + 1 in FIG.
  • the section between the point Pi + 1 and the point Pi + 3 in FIG. 5 can be designated as the orbit designation section.
  • the point P i + 3 of the previous point P i + 4 is also required.
  • a locus is generated in the partial section between the point Pi and the point Pi + 1.
  • the trajectory of the partial section deviates from the linear trajectory unlike the user's intention as shown in FIG. ..
  • the controlled object 4a is a tool such as a welding tool, it is extremely important to match the machining trajectory to the one intended by the user in order to secure the strength, durability and the like of the product.
  • the position of the passing point (teaching point) of the controlled object 4a is set according to the shape of the working object, and the passing points may be arranged in a substantially straight line or in an arc.
  • the orbit generator 1 will generate an orbit that is a quadratic curve, a cubic curve, or the like that is not a straight line or an arc so that the orbit passes through all the points in calculation, and therefore the passing point. In many cases, the trajectory between them deviates from the user's prediction.
  • the type of the locus in the partial section can be input to the input device 10 as the designated locus information. For example, as in the examples shown in FIGS. 5 and 6, the type of locus such as a linear locus or an arc locus is input. This configuration realizes the orbit generation of the controlled object 4a according to the user's intention while surely passing the points Pi and Pi + 1.
  • the configuration is not limited to the configuration in which the user inputs the designated locus information to the input device 10 for all the partial sections.
  • a user of important part section inputs the designation locus information, for other subintervals, the processor 1a, the first trajectory F0 i (u i) and the second trajectory F0 i + 1 and (u i + 1) Is applied to, for example, Eq. (1) to generate a partial orbit.
  • the orbit generator 1 does not necessarily have to pass through all of the n points P 1 , P 2 , ..., P n stored in advance in the storage unit 1b, and is in the vicinity of the stored points P j. to 'create the desired point P j in place of the point P j' P j new point may perform generation of the track so as to pass through.
  • n points P 1 , P 2 , ..., P n are teaching points
  • the teaching point P j is changed to a nearby point P j ', and the point P j'is stored as the changed teaching point. It may be stored in the part 1b.
  • a trajectory generator 2 an automatic position control unit 3 the control unit 4a controlled object S i (u i) partial track F0 i (u i) function F0 i + 1 defining a first trajectory (u i + 1) second trajectory function

Abstract

軌道生成装置(1)は、制御対象4aが通過する軌道を生成するものであって、前記制御対象(4a)が通過する複数の点を記憶する記憶部(1b)と、プロセッサ(1a)と、を備え、前記プロセッサ(1a)が、前記複数の点のうち2つの点の間の部分区間におけるユーザ指定の軌跡の情報である指定軌跡情報を受付ける受付処理と、前記指定軌跡情報を受付けると、前記複数の点のうち前記2つの点の前に前記制御対象が通過する少なくとも1つの前側通過点と前記2つの点とを通過する第1の軌跡と、前記複数の点のうち前記2つの点の後に前記制御対象が通過する少なくとも1つの後側通過点と前記2つの点とを通過する第2の軌跡と、前記指定軌跡情報とを用いて、前記部分区間における前記軌道を生成する軌道生成処理と、を実行する。

Description

軌道生成装置および自動位置制御装置
 本発明は、軌道生成装置および自動位置制御装置に関するものである。
 従来、数値制御(NC)工作機械または産業用ロボット等の分野において、ツールの通過点として与えられた離散的な点の間を補間することによって、ツールの軌道を生成する方法が知られている(例えば、特許文献1参照。)。
 一般に、隣接する複数点を接続する補間曲線が算出され、補間曲線同士を接続することによって軌道が生成される。ツールが減速することなく通過点を通過するためには、補間曲線同士が通過点で滑らかに接続される必要がある。
 特許文献1では、点P,Pm+1間の区間の補間曲線S(t)の算出において、隣接する区間の補間曲線同士の接続のために、隣接する区間の点Pm-1,Pm+2も使用している。具体的には、特許文献1では、3つの点Pm-1,P,Pm+1を通過する2次曲線S(t)と、3つの点P,Pm+1,Pm+2を通過する2次曲線Sm+1(t)とを導出し、点P,Pm+1での2次曲線の1次微分係数および2次微分係数に基づいて補間曲線S(t)を算出している。
特公平06-058603号公報
 特許文献1では、点PとPm+1との間の部分区間において、S(t)とSm+1(t)とを可能な限り滑らかに接続するために、tの進捗に応じて当該区間における制御対象の制御をS(t)からSm+1(t)に徐々に遷移させる。この時の軌道はS(t)およびSm+1(t)に依存しており、両者が異なる種類の関数である場合等に当該部分区間の軌道はユーザにとって予測し難いものとなる。このため、S(t)とSm+1(t)とを滑らかに接続しながら、当該区間の軌道をユーザにとって予測し易くすることが望ましい。
 本開示の一態様は、制御対象が通過する軌道を生成する軌道生成装置であって、前記制御対象が通過する複数の点を記憶する記憶部と、プロセッサと、を備え、前記プロセッサが、前記複数の点のうち2つの点の間の部分区間におけるユーザ指定の軌跡の情報である指定軌跡情報を受付ける受付処理と、前記指定軌跡情報を受付けると、前記複数の点のうち前記2つの点の前に前記制御対象が通過する少なくとも1つの前側通過点と前記2つの点とを通過する第1の軌跡と、前記複数の点のうち前記2つの点の後に前記制御対象が通過する少なくとも1つの後側通過点と前記2つの点とを通過する第2の軌跡と、前記指定軌跡情報とを用いて、前記部分区間における前記軌道を生成する軌道生成処理と、を実行する。
一実施形態に係る自動位置制御装置および軌道生成装置のブロック図である。 本実施形態によって制御される制御対象の概略図である。 本実施形態の軌道生成方法を説明する図である。 本実施形態の軌道生成方法を説明する図である。 本実施形態の軌道生成方法を説明する図である。 本実施形態の軌道生成方法を説明する図である。
 以下に、一実施形態に係る軌道生成装置、自動位置制御装置および軌道生成方法について図面を参照して説明する。
 自動位置制御装置2は、制御対象の位置を制御するものである。図2に示されるように、制御対象4aの一例は、産業用等のロボット4の多関節ロボットアーム5の先端5aの位置、または、ロボットアーム5の先端5aに取付けられたハンドまたはツール等のエンドエフェクタ6の所定位置6aである。制御対象4aの他の例は、数値制御(NC)工作機械のツールである。したがって、自動位置制御装置2は、ロボットを制御するロボット制御装置またはNC工作機械を制御する数値制御装置であり得る。
 自動位置制御装置2は、図1に示されるように、点列として与えられる離散的なn個の点P,P,…,Pi-1,P,Pi+1,Pi+2,…を通過する軌道を生成する軌道生成装置1と、軌道生成装置1によって生成された軌道に沿って制御対象4aを移動させる制御部3と、入力装置10と、を備える。入力装置10は、キーボード、マウス、タッチスクリーン機能付きの表示装置、動作プログラム設定用のポータブル入力装置等である。制御対象4aがロボットアーム5の先端5aまたはエンドエフェクタ6の所定位置6aである場合、制御部3はロボットアーム5の動作を制御するロボット制御部であり、自動位置制御装置2はロボット制御装置である。この場合、制御部3は、プロセッサ、動作プログラムが格納された記憶装置等を有する。なお、自動位置制御装置2はオフラインでロボットの動作プログラムを生成するコンピュータであってもよい。
 軌道生成装置1は、中央演算処理装置のようなプロセッサ1aと、RAM、ROM、不揮発性ストレージ、ハードディスク等を有する記憶部1bとを有する。前記の離散的なn個の点は、入力装置10を用いて入力され、又は軌道生成装置1が他のコンピュータから受信し、記憶部1bに格納される。
 点Pは、例えば作業者によって設定された教示点である。2次元平面内で移動する制御対象4aの場合、点Pの位置は2次元座標(x,y)で表され、3次元空間内で移動する制御対象4aの場合、点Pの位置は3次元座標(x,y,z)で表される。
 また、記憶部1bには、軌道生成プログラム1cおよび軌跡導出プログラム1dが格納されている。軌道生成装置1による後述の計算は、プロセッサ1aが軌道生成プログラム1cに従って処理を実行することによって実現される。
 次に、軌道生成装置1により行われる基本的な軌道生成方法の例について説明する。
 図3に示されるように、軌道生成装置1は、点列において隣接する2点P,Pi+1を通過し2点P,Pi+1間を補間する曲線Sを算出し、曲線Sによって表される2点P,Pi+1間の部分軌道を算出する。点Pは点列におけるi番目の点である。ここで、軌道生成装置1は、i-1番目からi+2番目の4つの点Pi-1,P,Pi+1,Pi+2に基づいて曲線Siを算出することによって、4つの点Pi-1,P,Pi+1,Pi+2又はこれらを含む複数の点によって定義される点P,Pi+1間の部分軌道を算出する。軌道生成装置1は、隣接する2点P,Pi+1の区間毎に部分軌道を算出することによって、n-1個の部分軌道を得る。
 次に、軌道生成装置1は、n-1個の部分軌道を相互に接続することによって、n個の点P,P,…,Pを全て通過する軌道を生成する。
 ここで、軌道生成装置1は、下記2つの条件を満たす曲線S(ただし、1≦i≦n-2)を算出する。すなわち、点Pi+1において、部分軌道(第1の曲線)S(u)および部分軌道(第2の曲線)Si+1(ui+1)の1階の導関数の値が相互に一致する。また、点Pi+1において、部分軌道S(u)および部分軌道Si+1(ui+1)の2階の導関数の値が相互に一致する。
 部分軌道S(u)の1階および2階の導関数の値は、部分軌道S(u)に沿って移動する制御対象4aの速度および加速度をそれぞれ表す。したがって、軌道生成装置1によって生成された軌道に沿って移動する制御対象4aの位置、速度、および加速度は、部分軌道の接続点である点P,P,…,Pn-1の全てにおいて連続する。
 次に、部分軌道S(u)の具体的な算出方法について説明する。
 図3に示されるように、i=2,3,…,n-1について、連続する3点Pi-1,P,Pi+1を通過する曲線の関数F(u)を算出し、例えばi=1について、2点P,Pを通る関数F(u)を算出する。uは、点Pと点Pi+1との間の補間の進捗を0から1の値で表す変数である。ただし、ui+1=u-1であり、ui+2=u-2であり、その余も同様である。すなわち、図3において、点Pにおいてu=0であり、点Pi-1においてu=-1であり、点Pi+1においてu=1であり、点Pi+1において式Fi+1(i+1)の変数ui+1は0である。関数F(u)は、u=-1において点Pi-1を通過し、u=0において点Pを通過し、u=1において点Pi+1を通過する。同様に、関数Fi+1(ui+1)は、u=0において点Pを通過し、u=1において点Pi+1を通過し、u=2において点Pi+2を通過する。
 図3は、一例としてX軸方向の制御対象4aの制御を説明している。図3には、変数uを表わすu軸とxを表わすx軸とを用いて表現されるu-x平面上の点列Pi-1,P,Pi+1,Pi+2,…が示されている。前記平面において、関数F(u)は、一例として、円弧、惰円弧、放物線等の2次曲線の関数である。関数F(u)は、他の2次曲線の関数、1次直線、または3次以上の曲線の関数であってもよい。
 このように、点列P,P,…,Pをx次元、y次元およびz次元に分解して考える場合、u-x平面上の点列P,P,…,Pと同様に、u-y平面上の点列P,P,…,Pについて関数F(u)が算出され、u-z平面上の点列P,P,…,Pについて関数F(u)が算出される。
 次に、点列P,P,…,Pにおける任意に設定した4点Pi-1,P,Pi+1,Pi+2について、下式(1)から、部分区間の部分軌道S(u)を算出する。なお、本実施形態では当該4点は連続した4点である。次又は前の部分区間についての部分軌道S(u)の算出は、その対応した点Pi-1,P,Pi+1,Pi+2を用いて行われる。
 S(u)=(1-K(u))×F(u)+K(u)×Fi+1(ui+1)…(1)
 K(u)は、下記条件1を満たす関数である。
(条件1)uが0から1に変化するとき、K(u)の値が0から1へ単調増加する。
 K(u)はuが0から1に変化するとき値が0から1へ単調増加する関数であればよいが、一例として、K(u)は、下式(2)によって定義される関数である。この場合、点Pでの部分軌道S(u),Si-1(ui-1)の値は等しくなり、これらの1次導関数の値、2次導関数の値、および3次導関数の値は、互いに等しくなる。
 K(u)=u(10-15u+6u) …(2)
 次に、図4および図5を用いて、本開示の軌道生成方法の例を説明する。図4は、軸方向の制御対象4aの制御の他の例を説明している。図4では、点Pi-1から点Pi+1までの区間の軌跡を定義する関数(第1の軌跡)F0(u)は直線を描く1次関数であり、点Pから点Pi+2までの区間の軌跡を定義する関数(第2の軌跡)F0i+1(ui+1)は円弧、楕円弧、放物線等の2次曲線、3次曲線等を描く関数である。なお、関数F(u)がほぼ直線を描く2次関数、3次関数であってもよい。一例では、プロセッサ1aが公知のプログラムに基づき、各々の対象点群を通過する前記第1の軌跡および前記第2の軌跡を自動で算出する。
 図4の場合に、前記式(1)を用いると、点Pi+1における軌跡の接続が滑らかになるが、図4に示す部分軌道S(u)のように、点Pと点Pi+1との間において軌道が直線ではなくなる。このような状況をユーザが望まない場合があり、例えばユーザが点Pと点Pi+1との間の軌道を直線にしたい場合がある。
 本実施形態では、図5に示すように、プロセッサ1aが軌跡導出プログラム1dに基づき第1区間軌跡F(u)を下記式(3)のように導出し、第2区間軌跡Fi+1(ui+1)を下記式(4)のように導出する。
Figure JPOXMLDOC01-appb-M000001
 
Figure JPOXMLDOC01-appb-M000002
 
 式(3)におけるX(u)と式(4)におけるX(ui+1)とは、点Pと点Pi+1との間の区間で互いに一致する関数であり、図5の場合は直線を描く関数である。式(3)の第1区間軌跡F(u)および式(4)の第2区間軌跡Fi+1(ui+1)を前記式(1)に適用して生成される部分軌道S(u)はX(u)に沿った直線状の軌道となる。
 点Pと点Pi+1との間の区間においてX(u)とX(ui+1)とが一致しているので、式(1)以外を用いて第1区間軌跡F(u)と第2区間軌跡Fi+1(ui+1)とを繋げることもできる。
 ここで、式(3)におけるf(u)は、点Pにおいて、つまりu=0の時に、X(u)に滑らかに繋がる関数である。当該関数f(u)はプロセッサ1aが軌跡導出プログラム1dに基づき、例えば前記第1の軌跡F0(u)およびX(u)を用いて導出する。例えば、uが-1から0の区間において下記式(5)からf(u)を算出する。ただし、ui-1=u+1であり、ui-2=u+2であり、その余も同様である。uが1から2の区間においても、同様にX(ui+1)に滑らかに繋がる関数fi+1(ui+1)が算出される。
 f(u)=(1-K(ui-1))×F0(u)+K(ui-1)×X(u)…(5)
 X(u)およびX(ui+1)は、自動位置制御装置2の入力装置10へのユーザの入力に基づき設定される。例えば、ユーザは、入力装置10を用いて、指定軌跡情報を入力する。指定軌跡情報は、少なくとも軌道を指定する区間と当該区間の軌跡の種類とを含む。軌跡の種類の例は、直線軌跡、円弧軌跡、楕円弧軌跡等である。軌跡の種類を螺旋曲線軌跡、2次関数曲線軌跡、3次関数曲線軌跡等とする場合もある。図5の場合は、入力装置10の画面に図5に示される点群が表示され、ユーザが点群の中の点Pi+1、点Pと点Pi+1との間等を入力装置10によって指示することによって、点Pと点Pi+1との間を指定する区間指定情報が入力される。
 また、前記画面に直線軌跡、円弧軌跡、楕円弧軌跡等の軌跡の種類が複数表示され、ユーザがその何れかを入力装置10によって選択することによって、軌跡の種類の情報が入力される。なお、第1の軌跡又は第2の軌跡を点Pと点Pi+1との間の軌道として選択することをユーザが入力装置10に入力してもよい。第1の軌跡を選択する場合もX(u)およびX(ui+1)が直線となる。
 なお、X(u)とX(ui+1)とが、点Pと点Pi+1との間の区間で互いに完全に一致する関数でなくてもよい。この場合でも、X(ui+1)はfi+1(ui+1)とは異なる関数である。好ましくは、X(ui+1)はX(u)と同種の軌跡を描く関数であり、X(u)が直線を描く関数である時にX(ui+1)も直線を描く関数であり、X(u)が円弧を描く関数である時にX(ui+1)も円弧を描く関数である。
 X(u)とX(ui+1)とが、点Pと点Pi+1との間の区間で互いに完全に一致する関数でない場合、式(1)を用いてF(u)のX(u)とFi+1(ui+1)のX(ui+1)とを部分区間で滑らかに繋げることができる。X(u)とX(ui+1)とが点Pと点Pi+1との間の区間で互いに完全に一致する場合でも、式(1)を用いてF(u)とFi+1(ui+1)とを部分区間で繋げることができる。
 また、図6に示すように、第1の軌跡を定義する関数F0(u)および第2の軌跡を定義する関数F0i+1(ui+1)が共に円弧を描く関数であってもよい。この場合も、入力装置10によって軌道を指定する区間を指示すると共に例えば第1の軌跡を当該区間の軌道として選択することによって、前記指定軌跡情報が軌道生成装置1に入力される。なお、第1の軌跡を点Pと点Pi+1との間の軌道として選択する代わりに、入力装置10によって、円弧軌跡であることと、当該円弧の半径、中心等を入力することも可能である。
 なお、上記実施形態では、部分軌道S(u)が連続した4点を用いて算出されているが、連続していない4点を用いて行われてもよい。例えば、図5において、第2区間軌跡のfi+1(ui+1)が点Pi+1と点Pi+3との間の軌跡を示す関数として設定されてもよい。この場合、例えば、第1区間軌跡のX(u)および第2区間軌跡のX(ui+1)が点Pと点Pi+1との間の軌跡を示す関数として設定される。また、第1区間軌跡のf(u)が点Pi-1と点Pとの間の軌跡を示す関数として設定される。また、第2の軌跡を定義する関数F0i+1(ui+1)は点Pi+1から点Pi+3までの区間に対応する。この場合でも前述と同様の作用効果を奏する。
 また、上記実施形態では、図5における点Pと点Pi+1との間が入力装置10によって指示されている。代わりに、図5における例えば点Pi+1と点Pi+3との間の区間を軌道指定区間として指示することも可能である。この場合、点Pi+3の先の点Pi+4も必要になる。
 上記実施形態では、例えば図5において、2つの点P,Pi+1とその前に制御対象4aが通過する前側通過点Pi-1とを通過する第1の軌跡F0(u)と、2つの点P,Pi+1とその後に制御対象4aが通過する後側通過点Pi+2とを通過する第2の軌跡F0i+1(ui+1)と、ユーザによって入力装置10に入力される指定軌跡情報とを用いて、点Pと点Pi+1との間の部分区間における軌道が生成される。
 例えば、図5において、点Pと点Pi+1との間の部分区間が指定軌跡情報無しに生成されると、図4のようにユーザの意図とは異なり部分区間の軌道が直線軌道から外れる。制御対象4aが溶接ツール等のツールである場合、その加工軌道をユーザの意図したものに合わせることは、製品の強度、耐久性等を確保する上で極めて重要である。
 ロボットにおいて制御対象4aの通過点(教示点)の位置は作業対象の形状に応じて設定され、通過点がほぼ直線に並ぶ場合や、ほぼ円弧上に並ぶ場合がある。これらの場合に、軌道生成装置1は、軌道が計算上全ての点を通過するように直線又は円弧ではない2次曲線、3次曲線等である軌道を生成することになり、このため通過点間の軌道がユーザの予測と乖離する場合が少なくない。これに対し、上記実施形態では、入力装置10に指定軌跡情報として部分区間における軌跡の種類を入力可能である。例えば、図5、図6に示す例のように、直線軌跡、円弧軌跡等の軌跡の種類が入力される。当該構成は、点PおよびPi+1を確実に通過させながら、ユーザの意図に沿った制御対象4aの軌道生成を実現する。
 なお、全ての部分区間についてユーザが入力装置10に指定軌跡情報を入力する構成に限定される訳ではない。一例では、ユーザは重要な部分区間については指定軌跡情報を入力し、その他の部分区間について、プロセッサ1aは、第1の軌跡F0(u)と第2の軌跡F0i+1(ui+1)とを例えば式(1)に適用して部分軌道を生成する。
 なお、軌道生成装置1は、記憶部1bに予め記憶されているn個の点P,P,…,Pの全てを必ずしも通過する必要は無く、記憶されている点Pの近傍に新たな点P’を必要に応じて作成し、点Pに代えて点P’を通過するように前記軌道の生成を行ってもよい。
 例えば、n個の点P,P,…,Pが教示点である場合、一部の教示点については制御対象4aが厳密に通過する必要が無いことがある。このような場合、例えば制御対象4aを滑らかな移動により最適な軌道を生成するために、教示点Pを近傍の点P’に変更し、点P’が変更後の教示点として記憶部1bに格納されてもよい。
 1 軌道生成装置
 2 自動位置制御装置
 3 制御部
 4a 制御対象
 S(u) 部分軌道
 F0(u) 第1の軌跡を定義する関数
 F0i+1(ui+1) 第2の軌跡を定義する関数

Claims (7)

  1.  制御対象が通過する軌道を生成する軌道生成装置であって、
     前記制御対象が通過する複数の点を記憶する記憶部と、
     プロセッサと、を備え、
     前記プロセッサが、
      前記複数の点のうち2つの点の間の部分区間におけるユーザ指定の軌跡の情報である指定軌跡情報を受付ける受付処理と、
      前記指定軌跡情報を受付けると、前記複数の点のうち前記2つの点の前に前記制御対象が通過する少なくとも1つの前側通過点と前記2つの点とを通過する第1の軌跡と、前記複数の点のうち前記2つの点の後に前記制御対象が通過する少なくとも1つの後側通過点と前記2つの点とを通過する第2の軌跡と、前記指定軌跡情報とを用いて、前記部分区間における前記軌道を生成する軌道生成処理と、
     を実行する、軌道生成装置。
  2.  前記指定軌跡情報は、前記部分区間における軌跡の種類が、直線軌跡、円弧軌跡、楕円弧軌跡、螺旋曲線軌跡、2次関数曲線軌跡、3次関数曲線軌跡の何れか1つであることを示すものである、請求項1に記載の軌道生成装置。
  3.  前記前側通過点、前記2つの点、および前記後側通過点は、この順に前記制御対象が通過する連続する4つの点である、請求項1又は2に記載の軌道生成装置。
  4.  前記プロセッサが、前記第1の軌跡と前記指定軌跡情報とを用いて前記前側通過点および前記2つの点を通過する第1区間軌跡を導出すると共に、前記第2の軌跡と前記指定軌跡情報とを用いて前記2つの点および前記後側通過点を通過する第2区間軌跡を導出する導出処理を実行する、請求項1~3の何れかに記載の軌道生成装置。
  5.  前記導出処理において導出される前記第1区間軌跡における前記2つの点の間の軌跡は、前記指定軌跡情報が示す軌跡の種類に応じた軌跡である、請求項4に記載の軌道生成装置。
  6.  制御対象の位置を制御する自動位置制御装置であって、
     請求項1から請求項5のいずれかに記載の軌道生成装置と、
     前記軌道生成装置によって生成された前記軌道に沿って前記制御対象を移動させる制御部と、を備える自動位置制御装置。
  7.  前記制御部が、ロボットアームの動作を制御するものであり、
     前記制御対象が、前記ロボットアームの先端、または、前記ロボットアームの先端に取付けられたエンドエフェクタである、請求項6に記載の自動位置制御装置。
PCT/JP2021/025613 2020-07-10 2021-07-07 軌道生成装置および自動位置制御装置 WO2022009921A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112021002352.7T DE112021002352T5 (de) 2020-07-10 2021-07-07 Trajektorienerzeugungsvorrichtung und automatische positionssteuervorrichtung
US18/004,097 US20230256600A1 (en) 2020-07-10 2021-07-07 Trajectory generation device and automatic position control device
JP2022535368A JPWO2022009921A1 (ja) 2020-07-10 2021-07-07
CN202180047676.4A CN115769157A (zh) 2020-07-10 2021-07-07 轨道生成装置以及自动位置控制装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-119020 2020-07-10
JP2020119020 2020-07-10

Publications (1)

Publication Number Publication Date
WO2022009921A1 true WO2022009921A1 (ja) 2022-01-13

Family

ID=79553247

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/025613 WO2022009921A1 (ja) 2020-07-10 2021-07-07 軌道生成装置および自動位置制御装置

Country Status (5)

Country Link
US (1) US20230256600A1 (ja)
JP (1) JPWO2022009921A1 (ja)
CN (1) CN115769157A (ja)
DE (1) DE112021002352T5 (ja)
WO (1) WO2022009921A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117666466B (zh) * 2024-01-29 2024-04-26 深圳市泰达智能装备有限公司 线弧运动轨迹规划方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0658603B2 (ja) * 1986-05-30 1994-08-03 株式会社安川電機 自動機械における軌道の補間方法
WO2019064919A1 (ja) * 2017-09-26 2019-04-04 日本電産株式会社 ロボット教示装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0658603B2 (ja) * 1986-05-30 1994-08-03 株式会社安川電機 自動機械における軌道の補間方法
WO2019064919A1 (ja) * 2017-09-26 2019-04-04 日本電産株式会社 ロボット教示装置

Also Published As

Publication number Publication date
JPWO2022009921A1 (ja) 2022-01-13
US20230256600A1 (en) 2023-08-17
DE112021002352T5 (de) 2023-02-23
CN115769157A (zh) 2023-03-07

Similar Documents

Publication Publication Date Title
EP2835228B1 (en) Robot apparatus and robot controlling method
JP5374616B1 (ja) 工作機械の工具ベクトルを表示する工具軌跡表示装置
JP6450732B2 (ja) 数値制御装置
JP6006277B2 (ja) 産業用ロボットのプログラム修正装置及びプログラム修正方法
WO1996035980A1 (fr) Procede et dispositif d'interpolation d'une surface de forme libre et appareil correspondant
US20130013110A1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation in-variant process (n>5)
JP6577140B2 (ja) ロボットオフラインプログラミング方法及びこれを使用する装置
JP2010201592A (ja) ロボットの動作経路生成方法
JP6501470B2 (ja) 軌道生成方法、軌道生成装置、ロボット装置、プログラム及び記録媒体
JP5323280B1 (ja) 数値制御装置
JPH1190774A (ja) 工作機械用に適応可能なフィードレートを決定する方法
WO2022009921A1 (ja) 軌道生成装置および自動位置制御装置
JP2728399B2 (ja) ロボツトの制御方法
EP2523786B1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5)
KR101337650B1 (ko) 실시간 위빙 모션 제어 장치 및 그 방법
JP2009134352A (ja) ロボットの動作経路作成装置及びロボットの動作経路作成方法
JP2018124996A (ja) 数値制御装置と制御方法
JP2009274180A (ja) ロボット動作計画方法及び装置
WO2013031492A1 (ja) プログラム生成装置及びその方法
JPS60230207A (ja) 工業用ロボツトとポジシヨナの連動制御システム
JP4528577B2 (ja) 工業用ロボット
JP3902310B2 (ja) 産業用ロボットの姿勢生成方法
JP7444588B2 (ja) 軌道生成装置、自動位置制御装置および軌道生成方法
WO2022176784A1 (ja) 産業機械の制御装置
JPH03245209A (ja) ロボットの経路補間方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21838631

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022535368

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21838631

Country of ref document: EP

Kind code of ref document: A1