Methods for determining routes for automatic navigation, mechanical control devices, and computer program products.

JP7909592B2Active Publication Date: 2026-08-21ARBURG GMBH & CO KG
View PDF 13 Cites 0 Cited by

Patent Information

Application Number
JP2024513788
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-09-01
Filing Date
2022-09-01
Publication Date
2026-08-21
Estimated Expiration
2042-09-01

AI Technical Summary

Benefits of technology

【0021】 前記課題は、請求項1の特徴を有する、少なくとも1つの自動ナビゲーションのために経路の少なくとも一部分を決定するための方法により、請求項10の特徴を有する機械制御装置により、並びに請求項11の特徴を有するコンピュータプログラム製品により解決される。 即ち本発明の第1の視点により、 機械における空間、特にプラスチックないし他の可塑化可能材料を処理するための射出成形機、又は3Dプリンタ機における空間を通る、少なくとも1つの可動コンポーネントの少なくとも1つの自動ナビゲーションのために、前記空間内の少なくとも1つの開始点を少なくとも1つの目標点と接続する経路の少なくとも一部分を決定するための方法であって、 以下のステップを含むこと: a)前記少なくとも1つの可動コンポーネント及び前記機械の少なくとも1つのモデルを提供するステップ、 b)前記空間、前記少なくとも1つの可動コンポーネント及び前記機械の幾何学形状情報を検知するステップ、 c)前記空間内の前記少なくとも1つの可動コンポーネント及び前記機械の現在位置を決定するステップ、 d)前記空間内の前記少なくとも1つの可動コンポーネント及び前記機械の前記幾何学形状情報と前記現在位置を、前記空間の少なくとも1つのグラフを生成するために互いに関連付けるステップ、 e)前記グラフ上で少なくとも1つのアルゴリズムを適用して前記経路を計算するステップ、但し前記経路の計算のためには、追加的に少なくとも1つの最適化が実行されること、 f)一方の前記少なくとも1つの可動コンポーネントと他方の前記機械との間で前記経路に沿って少なくとも1つの衝突検査を実行するステップ、 g)前記経路に沿って前記少なくとも1つの可動コンポーネントを衝突なく自動ナビゲートするステップ、 但し前記少なくとも1つの可動コンポーネントは、前記機械に対して相対運動し、前記アルゴリズムは、前記少なくとも1つの可動コンポーネント及び/又は前記機械の運動に基づく前記グラフの動的な変化のもとで適用され、 また前記方法は、生産手順内の変化に際してリアルタイムでシミュレートされ、及び/又は、前記アルゴリズムは、少なくとも1つの更なる衝突検査が実行される及び/又は少なくとも1つの新しい経路が計算されることにより、前記少なくとも1つの可動コンポーネント及び/又は前記機械の変更されたポジション及び/又は速度に反応すること、 を特徴とする方法が提供される。 より詳しくは、前記第1の視点において、 プラスチックや他の可塑化可能材料を処理するための射出成形機、又は3Dプリンタ機である機械における空間を通り、成形品を取り出し、移動させ、及び/又は置くために構成された、少なくとも1つの可動コンポーネントの少なくとも1つの自動ナビゲーションのために、前記空間内の少なくとも1つの開始点を少なくとも1つの目標点と接続する経路の少なくとも一部分を決定するための方法であって、 以下のステップを含むこと: a)前記少なくとも1つの可動コンポーネント、前記機械及び前記成形品の少なくとも1つのモデルを提供するステップ、 b)前記空間、前記少なくとも1つの可動コンポーネント、前記機械及び前記成形品の幾何学形状情報を検知するステップ、 c)前記空間内の前記少なくとも1つの可動コンポーネント、前記機械及び前記成形品の現在位置を決定するステップ、 d)前記空間内の前記少なくとも1つの可動コンポーネント、前記機械及び前記成形品の前記幾何学形状情報と前記現在位置を、前記空間の少なくとも1つのグラフを生成するために互いに関連付けるステップ、 e)前記グラフ上で少なくとも1つのアルゴリズムを適用して前記経路を計算するステップ、但し前記経路の計算のためには、追加的に少なくとも1つの最適化が実行されること、 f)1.前記少なくとも1つの可動コンポーネントと、2.前記機械と、3.前記成形品との間で前記経路に沿って少なくとも1つの衝突検査を実行するステップ、 g)前記経路に沿って前記少なくとも1つの可動コンポーネントを衝突なく自動ナビゲートするステップ、 但し前記少なくとも1つの可動コンポーネントは、前記機械に対して相対運動し、前記アルゴリズムは、前記少なくとも1つの可動コンポーネント及び/又は前記機械及び/又は前記成形品の運動に基づく前記グラフの動的な変化のもとで適用され、 また前記方法は、生産手順内の変化に際してリアルタイムでシミュレートされ、前記アルゴリズムは、少なくとも1つの更なる衝突検査が実行され、少なくとも1つの新しい経路が計算され、且つ前記アルゴリズムが新たに適用され、この際、開始点として現在の実際ポジションが使用されることにより、前記少なくとも1つの可動コンポーネント及び/又は前記機械及び/又は前記成形品の変更されたポジション及び/又は速度に反応し、 前記計算、前記衝突検査、及び前記自動ナビゲートは、先読みして行われること、 を特徴とする。 更に本発明の第2の視点により、 機械のための機械制御装置、特にプラスチックないし他の可塑化可能材料を処理するための射出成形機のための機械制御装置であって、 前記機械制御装置は、前記方法を実行するように、調整され、実行され、及び/又は構成されていること、 を特徴とする機械制御装置が提供される。 より詳しくは、前記第2の視点において、 プラスチックや他の可塑化可能材料を処理するための射出成形機、又は3Dプリンタ機である機械のための機械制御装置であって、 前記機械制御装置は、前記方法を実行するように、調整され、実行され、及び/又は構成されていること、 を特徴とする。 更に本発明の第3の視点により、 プログラムコードを有するコンピュータプログラム製品であって、 前記プログラムコードは、前記方法を実行するために、コンピュータ読み取り可能な媒体上に記憶されていること、 を特徴とするコンピュータプログラム製品が提供される。 尚、本願の特許請求の範囲に付記されている図面参照符号は、専ら本発明の理解の容易化のためのものであり、図示の形態への限定を意図するものではないことを付言する。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007909592000001
    Figure 0007909592000001
  • Figure 0007909592000002
    Figure 0007909592000002
  • Figure 0007909592000003
    Figure 0007909592000003
Patent Text Reader

Abstract

A method is provided for determining at least a portion of a path for at least one automatic navigation, which assists an operator in adapting a machine cycle and is optimized with respect to travel route, cycle time, process reliability, energy, and wear. [Solution] In a method for determining at least a portion of a path (12) connecting at least one starting point (14) in a space (R) with at least one destination point (16) in the space (R) for at least one automatic navigation of at least one moving component in a machine (100) through the space (R), at least one model of the moving component and the machine (100) is provided, geometric information is sensed, a current position is determined, and the geometric information and the current position are related to each other to generate a graph (10). The path (12) is calculated using an algorithm and, after a collision check, a collision-free automatic navigation along the path (12) is performed, whereby the operator is assisted in adapting the machine cycle, as well as improvements are obtained with respect to travel routes, cycle times, process reliability, energy and wear.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (Relationship with related applications) This application is related to and claims priority to German Patent Application No. 10 2021 122 606.6 filed on September 1, 2021, and all of its disclosures are hereby expressly included as the subject matter of this application.

[0002] (Field of invention) The present invention relates to a method for determining at least a portion of a path connecting at least one starting point to at least one target point for at least one automated navigation from a starting point to a target point for taking out, moving, and / or placing at least one movable component, e.g., a molded product, through space in a machine, particularly in an injection molding machine or 3D printer for processing plastic or other plasticizable materials, according to the broader concept of claim 1; a machine control device according to the broader concept of claim 10; and a computer program product according to the broader concept of claim 11.

[0003] To explain the present invention, several concepts are first defined below.

[0004] Within the scope of this application, “axis” is understood to mean, for example, a movable part in a machine, apparatus, apparatus part, and / or peripheral equipment that is driven and controlled via a drive unit, for example, a motor. In the example of an injection molding machine, the axis would be, for example, the spindle of a spindle system.

[0005] Within the scope of this application, “machine” is understood to mean all parts (or components) that are structurally necessary for the operation of the machine, for example, in an injection molding machine, the clamping unit that receives the injection mold, the injection molding unit, the machine legs, and any attached drive units. Of importance for automatic navigation is at least the spatial area in which the machine or its parts may collide with, for example, the movable components of peripheral equipment. A specific example in this case is a robotic arm equipped with a gripper that moves within the clamping space between the open mold supports in the clamping unit. The robotic arm and / or gripper can perform various movements, for example, tilting, swiveling, and rotational movements. These movements can change the vector of the robotic arm and / or gripper. The machine may have at least one mechanical part, for example, a tool, mold nest, molded part (Formteil), sprue, movable plate, stationary plate, and / or injection unit. Furthermore, the machine may have further mechanical parts and / or components. These mechanical parts are also capable of movement and, preferably, can be automatically navigated in space using the methods described. In this case, the mechanical parts are preferably automatically navigated along a predetermined path calculated using an algorithm, thereby avoiding collisions with other mechanical parts, movable components, and / or machines.

[0006] In the following discussion, when we refer to a machine, we will always mean the machine itself, and, where appropriate, the mechanical parts of the machine.

[0007] Within the scope of this application, “movable component” is understood as an element capable of relative motion to a machine, such as peripheral equipment. This includes robot arms, grippers, robots, ejectors, or other movable components of peripheral equipment or machines that move in space, thereby avoiding collisions with the machine, particularly when the machine and / or machine parts are also in motion. [Background technology]

[0008] (Conventional technology) In injection molding processes today, many or even all processes are automated. For example, all control of the injection molding machine, such as closing the tool plate, applying pressure, and opening the tool plate, is usually fully automated. Furthermore, even the removal, movement, and / or placement of the molded part using a robot are fully automated. Often, there are multiple axes in the machine space and / or tool space, such as entry axes for peripheral equipment (Tauchachse), entry axes for robots or robotic grippers, which can lead to interference or collisions between these axes during the injection molding process, for example, when removing the molded part. For advantageously efficient productivity, the shortest possible cycle time is desirable, and the cycle time is limited, for example, by the removal speed of the molded part by peripheral equipment.

[0009] For example, there is a known system for plastic processing machinery and equipment that allows robot procedures to be created interactively. For example, a so-called teach function allows procedure positions, such as points on a trajectory, to be input or "taught," which can then be automatically input into, for example, a robot procedure control device (see Patent Document 1 below (WO 2009 / 080296 A1)).

[0010] Similarly, systems are known in which the surrounding geometric shape information of the robot and tool within a procedure is used to perform quasi-static collision inspections with the machine (e.g., a robot arm or robot gripper) at the final point and teach point.

[0011] Patent Document 2 (DE 10 2012 103 830 A1) discloses a method for preventing mutual locking of a pair of robots having a common working area. Each robot is controlled by an assigned program. These robots occupy a section of the common working area during the simultaneous execution of the programs. An interference area is characterized that covers those sections of the common working area. This interference area is analyzed and characterized to determine where mutual locking of the robots may occur. To avoid locking, commands are executed during program execution to avoid at least one condition for mutual locking.

[0012] Patent document 3 (DE 690 27 634 T2) discloses a collision detection method for a multi-robot device comprising at least two elements. For collision detection, the collision tolerance problem is divided into a collision detection phase and a elimination (avoidance action) phase. The problem can be further simplified by further decomposing the 3D collision detection problem into 2D XY detection and 1D height comparison.

[0013] In the following Patent Document 4 (EP 1 672 449 A1), a machine control device is provided with a dataset having a collision parameter of 0 or 1 for each discretized coordinate point and for each combination of discretized tool model and workpiece model, in order to determine a time-efficient and collision-free route. This collision parameter indicates whether the arrangement (constellation) assigned to the corresponding coordinate point, i.e., the relative position of the workpiece and tool, results in a collision or spatial intersection between the tool and the workpiece. In this case, the dataset constitutes a lookup table, which can be used to examine a given path, or to extend or configure the path step by step.

[0014] Patent Document 5 (WO 2009 / 024783 A1) discloses a computer-implemented method for determining the motion between a component and a device that interacts with the component. Geometric shape data relating to the component and the device is received, and from this geometric shape data, it is determined how the device and the component can move relative to each other, using optimization criteria. In one embodiment, a model of an object, i.e., a model of a turbine blade, is loaded, one surface of the object is selected, and a number of points are generated on that surface. These points are then route-optimized and approached by a measuring instrument.

[0015] Patent document 6 (US 2017 / 0090454 A1) discloses a method for generating position travel data for a CNC machine. An optimized position route is created based on machine kinematics, machine axis movement limits, machine axis speed limits and acceleration limits, and the machine positioning method, in which a number of possible paths are determined for the new positioning of the tool from a first position configuration to a second position configuration.

[0016] Patent Document 7 (DE 10 2004 027 944 A1) discloses a method for protecting at least two robots from collisions, in which the motion of one robot is automatically inspected for possible collisions and an automatic locking function is inserted into the motion procedure. [Prior art documents] [Patent Documents]

[0017] [Patent Document 1] International Publication No. 2009 / 080296 [Patent Document 2] German Patent Application Publication No. 102012103830 [Patent Document 3] German European Patent Publication Translation No. 69027634 [Patent Document 4] European Patent Application Publication No. 1672449 [Patent Document 5] International Publication No. 2009 / 024783 [Patent Document 6] U.S. Patent Application Publication No. 2017 / 0090454 [Patent Document 7] German Patent Application Publication No. 102004027944 [Summary of the Invention] [Problems to be Solved by the Invention]

[0018] The functions described above already facilitate programming of robotic procedures and assist in error avoidance today. However, all of the individual support systems described above have the problem that they are incomplete and inaccurate within a certain range. As a result, programming still requires interaction with an operator. This further means that damage due to collisions cannot be completely prevented.

[0019] Also, through combinations of the various individual functions described above, improvement of robotic procedures is not easily achieved, and new considerations should create the prerequisites for dynamic and collision-free automatic navigation.

[0020] (Summary of the Invention) Based on this prior art, the problem underlying the present invention is to provide a method for determining at least a part of a path for at least one automatic navigation that supports an operator in adapting a machine cycle and is optimized with respect to travel route, cycle time, process reliability (or safety), energy, and wear. [Means for Solving the Problems]

[0021] The above problem is solved by a method for determining at least a part of a path for at least one automatic navigation having the features of claim 1, by a machine control device having the features of claim 10, and by a computer program product having the features of claim 11. That is, from the first perspective of the present invention, A method for determining at least a portion of a path connecting at least one starting point to at least one target point in space, for the automatic navigation of at least one movable component through space in a machine, particularly in an injection molding machine for processing plastic or other plasticizable materials, or in a 3D printer, The following steps must be included: a) Providing at least one movable component and at least one model of the machine, b) A step of detecting geometric shape information of the space, the at least one movable component, and the machine, c) A step of determining the current position of the at least one movable component and the machine in the space, d) The step of relating the geometric shape information and current position of the at least one movable component and the machine in the space to each other in order to generate at least one graph of the space, e) A step of calculating the path by applying at least one algorithm on the graph, wherein at least one additional optimization is performed for the calculation of the path. f) A step of performing at least one collision inspection along the path between one of the at least one movable components and the other machine, g) A step of automatically navigating the at least one movable component along the path without collision, However, the at least one movable component moves relative to the machine, and the algorithm is applied under dynamic changes in the graph based on the motion of the at least one movable component and / or the machine. Furthermore, the method is simulated in real time in response to changes in the production procedure, and / or the algorithm responds to the changed position and / or speed of the at least one movable component and / or the machine by performing at least one further collision inspection and / or calculating at least one new path. A method characterized by the above is provided. For more details, see Perspective 1 below. A method for determining at least a portion of a path connecting at least one starting point to at least one target point in space, for the automatic navigation of at least one movable component configured to move, retrieve, and / or place a molded product through space in a machine which is an injection molding machine or 3D printer for processing plastics or other plasticizable materials, The following steps must be included: a) Providing at least one model of the at least one movable component, the machine and the molded product, b) A step of detecting geometric shape information of the space, the at least one movable component, the machine, and the molded product. c) A step of determining the current position of the at least one movable component, the machine and the molded product in the space, d) A step of relating the geometric shape information and current position of the at least one movable component, the machine and the molded product in the space to each other in order to generate at least one graph of the space. e) A step of calculating the path by applying at least one algorithm on the graph, wherein at least one additional optimization is performed for the calculation of the path. f) 1. A step of performing at least one collision inspection along the path between the at least one movable component, 2. the machine, and 3. the molded product. g) A step of automatically navigating the at least one movable component along the path without collision, However, the at least one movable component moves relative to the machine, and the algorithm is applied under dynamic changes in the graph based on the motion of the at least one movable component and / or the machine and / or the molded part. Furthermore, the method is simulated in real time in response to changes in the production procedure, and the algorithm responds to the changed position and / or velocity of the at least one movable component and / or the machine and / or the molded part, by performing at least one additional crash test, calculating at least one new path, and applying the algorithm again, in which the current actual position is used as the starting point. The calculations, collision inspections, and automatic navigation are performed in a predictive manner. It is characterized by the following. Furthermore, from a second perspective of the present invention, A mechanical control device for a machine, in particular a mechanical control device for an injection molding machine for processing plastics or other plasticizable materials, The machine control device is adjusted, operated, and / or configured to carry out the method described above. A machine control device characterized by the above is provided. For more details, see the second perspective mentioned above. A mechanical control device for a machine that is an injection molding machine or a 3D printer for processing plastics or other plasticizable materials, The machine control device is adjusted, operated, and / or configured to carry out the method described above. It is characterized by the following. Furthermore, from a third perspective of the present invention, A computer program product having program code, The program code is stored on a computer-readable medium in order to perform the method. A computer program product featuring the following characteristics is provided. Furthermore, it should be noted that the reference numerals in the drawings included in the claims of this application are solely for the purpose of facilitating the understanding of the present invention and are not intended to limit the invention to the illustrated forms.

[0022] Further advantageous configurations are the subject of dependent claims. The features described individually in the claims are technically meaningful and can be combined with each other, and can be supplemented by the content described herein and by the details from the drawings, thereby demonstrating further variations of the invention. [Modes for carrying out the invention]

[0023] The following embodiments are possible in the present invention. (Form 1) A method for determining at least a portion of a path connecting at least one starting point to at least one target point in space, for the automatic navigation of at least one movable component through space in a machine, particularly in an injection molding machine for processing plastic or other plasticizable materials, or in a 3D printer, The following steps must be included: a) Providing at least one movable component and at least one model of the machine, b) A step of detecting geometric shape information of the space, the at least one movable component, and the machine, c) A step of determining the current position of the at least one movable component and the machine in the space, d) The step of relating the geometric shape information and current position of the at least one movable component and the machine in the space to each other in order to generate at least one graph of the space, e) A step of calculating the path by applying at least one algorithm on the graph, wherein at least one additional optimization is performed for the calculation of the path. f) A step of performing at least one collision inspection along the path between one of the at least one movable components and the other machine, g) A step of automatically navigating the at least one movable component along the path without collision, However, the at least one movable component moves relative to the machine, and the algorithm is applied under dynamic changes in the graph based on the motion of the at least one movable component and / or the machine. Furthermore, the method is simulated in real time in response to changes in the production procedure, and / or the algorithm responds to the changed position and / or speed of the at least one movable component and / or the machine by performing at least one further crash inspection and / or calculating at least one new path. (Form 2) Preferably, each of the at least one movable component and the at least one contact point of the machine is provided with respect to the position of the at least one contact point in space, wherein these contact points are logically coupled to each other in order to provide the model of the at least one movable component and the machine. (Form 3) Preferably, at least one contact point is assigned at least one list, and based on the list, connectable models are described and / or listed. (Form 4) Preferably, the space is divided into a grid of cubes used for generating the at least one graph. (Form 5) The aforementioned algorithms include at least a greedy search algorithm, Dijkstra's algorithm, and / or an A algorithm using at least one open list. * It is preferable that an algorithm be used. (Form 6) It is preferable that, as part of the optimization, at least jump point search and / or management of the open list are used. (Form 7) The management of the open list is preferably performed using a binary heap. (Form 8) Preferably, the method is simulated in advance, and / or at least two different variations of the method are simulated and compared with respect to different criteria. (Form 9) Preferably, the graph and / or model of the at least one movable component and / or the machine are graphically represented. (Form 10) A mechanical control device for a machine, in particular a mechanical control device for an injection molding machine for processing plastics or other plasticizable materials, The machine control device is adjusted, performed, and / or configured to perform the method described in any one of embodiments 1 to 9. (Form 11) A computer program product having program code, The program code is stored on a computer-readable medium in order to perform the method described in any one of forms 1 to 9.

[0024] A method for determining at least a portion of a path connecting at least one starting point to at least one target point in space, for the automatic navigation of at least one movable component, such as peripheral equipment, such as a robot or robotic gripper, through space in a machine, particularly in an injection molding machine for processing plastic or other plasticizable materials, or in a 3D printer, includes the following steps:

[0025] As defined at the beginning, a machine may have at least one mechanical part, such as a tool, mold nest, molded part, sprue, movable plate, stationary plate, and / or injection unit. Furthermore, a machine may have additional mechanical parts and / or components, such as in an injection molding machine or a 3D printing machine. The mechanical parts are movable and preferably can be automatically navigated in space using the method described. In this case, the mechanical parts are preferably automatically navigated along a predetermined path calculated using an algorithm, thereby avoiding collisions with other mechanical parts, peripheral equipment, and / or machines.

[0026] In the following discussion, when we refer to a machine, we will always mean the machine itself, and, where appropriate, the mechanical parts of the machine.

[0027] "Movable components" refer to elements that can move relative to a machine, such as peripheral equipment. These can include, for example, grippers, robots, ejectors, or other movable components of peripheral equipment or machines that move in space, and where collisions with the machine should be avoided, especially if the machine is also moving.

[0028] First, at least one movable component, e.g., peripheral equipment, and at least one model of the machine, e.g., a digital model, are provided. Depending on whether the machine has mechanical parts, preferably, corresponding models can also be provided for the mechanical parts. For example, the model can be provided as data to a computer, program, or control device. The model can also be provided via a network or already installed on the machine. The model may contain information about the geometric shape of the movable component and / or the machine. The geometric shape of the model can be described using a geometric shape model, for example, Collada (Collaborative Design Activity).

[0029] In a further step, geometric information of the space, at least one movable component, and the machine is detected. Depending on whether the machine has mechanical parts, preferably, corresponding geometric information can also be detected for the mechanical parts. Geometric information can be extracted from or contained within a model, for example. The position of a movable plate can also be clearly determined at each point in time based on the actual value of a known plate position for the machine control device. That is, for example, geometric dimensions of the length, width, and height of individual movable components, the machine, and optionally mechanical parts can be obtained. More preferably, the geometric information can also be detected based on sensors.

[0030] In the next step, the current positions of at least one movable component and the machine in a (predetermined) space are determined. Depending on whether the machine has mechanical parts, it is also possible to preferably determine the current positions of the mechanical parts in space. Position refers to, for example, position and / or orientation. For example, the position of an axis in space, for example in a Cartesian coordinate system, can be clearly determined using an angle with respect to the zero position. Thus, it is also possible to detect the orientation of an axis, for example, the orientation of a robot's axis, in space. Here again, the current position can preferably be detected using a sensor.

[0031] The geometric shape information and current position of at least one movable component and machine in space are associated with each other, for example, using a computer or machine control device, in order to generate at least one graph of the space. Depending on whether the machine has machine parts, preferably, the geometric shape information and current position of the machine parts can also be associated with the geometric shape information and current position of at least one movable component and machine in order to generate a graph of the space. Using the geometric shape information and current position, the arrangement of movable components, such as peripheral equipment, and machines, and optionally machine parts, in space is determined, thereby creating a "map of space" as a graph. Movable components, machines, and optionally machine parts can be displayed in the graph, for example, as obstacles.

[0032] In a further step, the path is calculated by applying at least one algorithm on the graph, and in this process, at least one additional optimization is performed for the path calculation.

[0033] In a further step, at least one collision inspection is performed along a path between at least one movable component of one of the machines and the other machine. Depending on whether the machine has mechanical parts, preferably, mechanical parts may also be considered in the collision inspection. For example, during the removal of a molded product, collisions may occur between peripheral equipment and the machine or mechanical parts. The collision inspection is performed, for example, by checking whether obstacles are located along the path.

[0034] Preferably, the collision inspection is performed in real time. If the collision inspection reveals that there are obstacles along the path, a new calculation of the path is performed, for example, after motion instructions for movable components, machinery, and / or possibly mechanical parts. If the collision inspection reveals that there are no obstacles along the path, in a further step, at least one movable component is automatically navigated along the path, in which case at least one movable component moves relative to the machinery.

[0035] During the injection molding process, movable components such as peripheral equipment, machinery, and / or mechanical parts such as parts of the injection mold typically move relative to each other, thereby adapting the path for automatic navigation. For advantageously improved reliability (or safety) and user-friendliness, the algorithm is applied under dynamic changes in a graph based on the motion of at least one movable component and / or machinery. Depending on whether the machinery has mechanical parts, preferably the algorithm can also be applied under dynamic changes in the mechanical parts. For example, if the movable components, machinery, and / or mechanical parts move and the graph changes so that an obstacle is located along the current path, the motion of the movable components, machinery, and / or mechanical parts is stopped on the current path with the obstacle and continues on the newly calculated path. In other words, the path on the "map" described by other existing elements and on which the movable components can move can change with each movement. The same applies to elements used in the 3D printing process, such as material supply units, discharge heads, fiber supply units, structural supports, and the objects to be manufactured.

[0036] Since unexpected events may occur during the production process, this method simulates changes in the production procedure in real time, and / or the algorithm responds to a changed position and / or velocity of at least one movable component and / or machine, such as peripheral equipment, by performing at least one additional crash test and / or calculating at least one new path. Depending on whether the machine has mechanical parts, preferably the algorithm can also respond to a changed position and / or velocity of the mechanical parts by performing at least one additional crash test and / or calculating at least one new path.

[0037] Advantageously, this assists the operator in adapting the machine cycle, resulting in improvements in travel routes (Fahrweg), cycle time, process reliability (or safety), energy, and wear. Similarly, the shortest / fastest travel route is detected with the least possible computation time and memory demand. Even more advantageously, collision-free travel routes are achieved, eliminating the need for manual programming and parameter setting by mechanics using machine and / or robotic control systems, or these processes are largely automated.

[0038] Advantageously, this allows it to react to changes (changes in arrangement configuration), similar to automatic navigation in road traffic, but with the difference that a graph changes instead of a map. The stored algorithm is ready to react, for example, to changed actual position values ​​and axis velocities. The operator does not need to consider the robot system at all when adapting, for example, a machine cycle. The procedure is adapted automatically and dynamically. This can be done in the currently ongoing cycle because, based on the high performance of this method, the current actual position can be newly adapted as a new starting value, and changed obstacles (e.g., a moved tool half) can be newly adapted to detect the optimal path to the target point.

[0039] In other words, the path can be adapted to parameter changes related to automatic navigation in the currently ongoing cycle. For example, this method records whether or not there are changes in the graph during automatic navigation, such as changes in obstacles. If there are obstacles on the path based on the changes, the algorithm is newly applied starting from the current position and a new path is calculated. If the obstacles do not obstruct the current path, no new calculation is performed.

[0040] Preferably, calculations, collision checks, and / or automatic navigation are performed proactively. That is, during motion, for example, an obstacle may certainly be present along the path for a given period of time, but this obstacle may disappear from the path again based on the motion of the movable component, machine, molded part, and / or possibly mechanical part, before the movable component, machine, molded part, and / or possibly mechanical part hit or collide with the obstacle. Advantageously, in this case, there is no need to change direction, thereby avoiding vibrations, for example, that would result from a change of direction.

[0041] For advantageously accurate and precise navigation, preferably, each of at least one movable component and at least one contact point of the machine is provided with respect to its position in space, in which case these contact points are logically coupled to each other to provide a model of at least one movable component and machine. Depending on whether the machine has machine parts, preferably, each machine part is provided with at least one contact point that can be coupled to other contact points. For example, an injection molding tool can be uniquely described by at least one contact point with respect to its position and location in space at the mounting surface to the mold, supplemented by an angle at the zero position, and to this contact point, for example, the following machine parts and / or peripheral equipment can be automatically coupled. This point (contact point) is logically coupled with, for example, the current actual value of a movable plate and is automatically updated (followed). This contact point can be referred to, for example, a "socket" analogous to electronic technology. Similarly, for example, a fixed plate can have at least one point with respect to its position, location, and angle in space, and this point is static in the case of a fixed plate.

[0042] For example, a robot as a movable component may have known (data available) its geometric shape as a model and its position relative to the machine. In the simplest example, the robot is geometrically and / or logically connected to a fixed tool plate of the machine, for example, using its base or legs via the aforementioned functional "plugs" and "sockets". The robot's entry axis has, for example, a flange plate to which a gripper specific to the molded part is connected. The flange plate may have additional tilting, swiveling, and / or rotational axes. This means that the logical connection point "socket" for connecting the gripper follows the moving, tilting, swiveling, and / or rotational motion of the flange plate. A gripper specific to the molded part can be logically connected to the gripper flange, for example, via its model and a defined connection point "plug", and can be geometrically linked through possible moving, tilting, and / or rotational motions. The gripper also has at least one connection point (e.g., the center point of the suction cup surface) that can receive the molded product as a logical "socket". The position of the gripper is important in relation to the current path. In a given orientation, if the acceleration is strong, the molded product may slip at the suction cup portion of the gripper, and in extreme cases the gripper will lose the molded product. Depending on the orientation of the gripper, the acceleration can preferably be appropriately limited. In the injection molding process, the mold is opened after the formation of the molded product is complete. The target position of the gripper can preferably be determined geometrically in order to remove the molded product, in which case all potential collision edges and interfering geometric shapes are known as obstacles.

[0043] Advantageously, to obtain a quick and reliable inspection of connectable models, at least one contact point is preferably assigned at least one list, and based on this list, connectable models are described and / or listed. For example, a movable plate is connected to the movable part of an injection mold. The injection mold is also known as a model, for example, provided as digital information within the machine. This part (movable tool half) of the digital model of the injection mold has a specified connection point, which is precisely defined in the model in terms of its position and location in space. This point (connection point) can be correspondingly referred to as a "plug". A movable tool half having a contact point "plug" is listed in the connection list in, for example, a "socket" on a movable tool plate. Preferably, the use of "plugs" or "sockets" also allows for the tracking of the movement of connected peripheral equipment and / or machine parts, for example, through the movement of peripheral equipment and / or machine parts.

[0044] For advantageously precise calculation of paths, the space is preferably divided into a grid of cubes used for generating at least one graph. Preferably, the entire space is divided into a grid of cubes used for generating at least one graph. In this case, the space may have at least partially at least one movable component and / or machine. Depending on whether the machine has mechanical parts, preferably the space may also have at least partially mechanical parts. The graph then displays, for example, the movable component, machine, and / or possibly mechanical parts as obstacles. The rest of the space without obstacles can preferably be displayed graphically differently as moving areas, for example, by different colors.

[0045] More preferably, it is also possible to describe diagonal routes, for example, independently of the grid size of a space divided by cubes. For example, a diagonal route can be traveled via a single orbital motion having two axes and a defined common orbital velocity. In this case, it is advantageous that rather than multiple individual motions are performed, preferably a single motion is performed from a starting point to a target point, in which case the multiple axes move synchronously with each other.

[0046] Preferably, the algorithm includes at least a greedy-search algorithm, a Dijkstra algorithm, and / or at least one open list. * An algorithm is used. This is advantageous because, depending on the graph, it can find the shortest path from the starting point to the target point.

[0047] For advantageously rapid calculation of the path, as an optimization, preferably, at least jump point search and / or open list management are used.

[0048] For advantageously optimized management of open lists, it is preferable to manage open lists using a binary heap.

[0049] For advantageous clarity and greater certainty, the method is preferably simulated in advance. That is, for example, a pre-simulation of the procedure and path creation is performed in a computer model, and more preferably, this pre-simulation can also be visualized.

[0050] Advantageously, to ensure improvements in computation time and speed of the method, preferably at least two different variations of the method are simulated and compared with respect to different criteria. In this case, the procedure (flow) can be created with respect to the current tool dataset. In this case, various variations can be simulated and compared with respect to various criteria such as energy, wear, travel route, and / or cycle time.

[0051] To allow the production process to be monitored from a favorable distance, preferably, graphs and / or models of at least one movable component and / or machine are graphically represented. Depending on whether the machine has mechanical parts, preferably, the mechanical parts can be graphically represented.

[0052] The described method can be implemented, for example, using multiple tools in an injection molding machine, such as multi-cavity tools and / or multi-component tools, where these tools are not mounted directly on a movable plate but, for example, on a rotating unit, and the rotating unit is saved as a model, with its position precisely defined via "plugs" and "sockets". Similarly, a multi-component tool can be used in which the pre-injection molded part (Vorspritzling) is moved (umgesetzt) ​​via a robotic system. Insert parts can also be inserted using grippers via a robotic system. Similarly, a cubic tool ("cube") can be used, which further has at least one axis of rotation, multiple intake or extraction faces, and a special type ("reverse cube") in which the cube is divided again and rotates in the opposite direction. In this case, each half of the cube is described separately.

[0053] Furthermore, the aforementioned problem is a mechanical control device for a machine, in particular a plastic or other plasticizable materialThis is solved by a machine control device for an injection molding machine or a 3D printing machine for processing. For the operator's favorable adaptation of the machine cycle, and for improvements in travel routes, cycle time, process reliability, energy, and wear, the machine control device is adjusted, operated, and / or configured to perform the aforementioned methods.

[0054] Similarly, the aforementioned problems can be solved by computer program products. Due to the advantages in calculating paths related to travel routes, cycle times, process certainty, energy, and wear, the program code Computer program products equipped with this feature are stored on a computer-readable medium in order to perform the method described above.

[0055] Further advantages are evident from the subordinate claims and the following description of preferred embodiments. The features described individually in the patent claims are technically meaningful and can be combined with each other, and can be supplemented by the content described herein and by the details from the drawings, thereby demonstrating further variations of the invention.

[0056] The present invention will be described in detail below based on the embodiments illustrated in the attached drawings. [Brief explanation of the drawing]

[0057] [Figure 1] This figure shows a machine equipped with movable components. [Figure 2] This figure shows a machine equipped with movable components. [Figure 3] This figure shows a graph of the progress of a greedy search method. [Figure 4] This figure shows a graph of the process after Dijkstra's algorithm has run. [Figure 5] This diagram shows a flowchart of the A* algorithm. [Figure 6]This figure shows a graph of the process after the A* algorithm has been executed. [Figure 7a] This figure shows a comparison of symmetrical paths for jump point searching. [Figure 7b] This figure shows a comparison of symmetrical paths for jump point searching. [Figure 8a] This figure shows a comparison for reducing the number of neighboring nodes. [Figure 8b] This figure shows a comparison for reducing the number of neighboring nodes. [Figure 8c] This figure shows a comparison for reducing the number of neighboring nodes. [Figure 9] This figure shows a graph of the progress after the jump point search has finished. [Figure 10] This diagram shows a binary heap within a single array. [Figure 11] This figure shows a graph with a single orbital motion. [Examples]

[0058] (Description of preferred embodiments) The present invention will now be described in detail with reference to the accompanying drawings. However, these embodiments are merely illustrative and should not limit the concept of the invention to any particular apparatus. Before describing the present invention in detail, it should be noted that the present invention is not limited to each component of the apparatus or each step of the method, as these components and methods can be modified. Furthermore, the concepts and terms used herein are defined solely to describe specific embodiments and are not intended as limitations. In addition, where singular nouns or indefinite articles are used in this specification or claims, those elements may be plural in all relevant contexts unless otherwise clearly stated (correspondingly, in the Japanese translation, singular also represents plural).

[0059] In one embodiment, a method for determining at least a portion of a path 12 connecting at least one starting point 14 to at least one target point 16 in space R, for the automatic navigation of at least one movable component, such as peripheral equipment, through space R in a machine 100, particularly in an injection molding machine for processing plastic or other plasticizable materials, or in a 3D printer, is provided in the first step of at least one model of the movable component and at least one model of the machine. This model can be provided, for example, as a digital model.

[0060] The machine 100 may have at least one mechanical part, such as a mold tool, mold nest, molded part, sprue, movable plate 110, fixed plate 112, and / or injection unit. Furthermore, the machine 100 may have even more mechanical parts and / or components, such as an injection molding machine or a 3D printer. These mechanical parts may also be movable, such as the movable plate 110.

[0061] Depending on whether the machine 100 has mechanical parts, preferably a model of the mechanical parts can be provided.

[0062] A “movable component” is understood as an element that can move relative to machine 100, such as peripheral equipment. This could be a gripper, robot, ejector, or any other movable component of peripheral equipment or machine that moves within space R, and collisions with machine 100 should be avoided, especially if machine 100 is also moving.

[0063] In a further step, spatial R, at least one movable component, and geometric shape information of machine 100 are detected. In this case, the geometric shape information can be derived from at least partially one or more models. For example, the geometric shape information can also be detected via sensors.

[0064] Depending on whether the machine 100 has mechanical parts, it is preferably possible to detect geometric shape information of the mechanical parts.

[0065] Subsequently, in a further step, the current position of at least one movable component and machine 100 in space R is determined. The current position can be detected, for example, via sensors or via the actual position value of at least one movable component and / or machine 100.

[0066] Depending on whether the machine 100 has mechanical parts, it is preferably possible to determine the current position of one or more mechanical parts.

[0067] In a further step, the geometric shape information and current position of at least one movable component and machine 100 in space R are associated with each other to generate at least one graph 10 of space R.

[0068] Depending on whether the machine 100 has mechanical parts, preferably, the geometric shape information and current position of the mechanical parts can be associated with each other to generate the graph 10. For example, this yields the graph 10 shown in Figure 3, in which, for example, the machine 100, movable components, and existing mechanical parts are shown as obstacles 24. For simplicity, the graph 10 in Figure 3 is simply illustrated as a two-dimensional graph. However, in principle, the graph can be displayed for other dimensions and / or multiple dimensions, for example, as a one-dimensional or three-dimensional graph.

[0069] The calculation of path 12, to which at least one algorithm has been applied on graph 10, is performed in a further step, during which at least one additional optimization is performed for the calculation of path 12.

[0070] In a further step, at least one crash test is performed along the path 12. Preferably, the crash test is performed in real time.

[0071] Next, in a further step, automatic navigation of at least one movable component along the path 12 is performed.

[0072] Preferably, the calculation of the route and automatic navigation along the route can also be performed for the mechanical parts of machine 100. That is, for example, in addition to the automatic navigation of movable components, such as peripheral equipment, automatic navigation of one or more mechanical parts can be performed.

[0073] In a preferred embodiment, the algorithm is applied under dynamic changes in graph 10 based on the motion of at least one movable component and / or machine 100. Depending on whether machine 100 has mechanical parts, preferably the algorithm can be applied under dynamic changes in graph 10 based on the motion of at least one mechanical part. For example, during automatic navigation, the motion of other mechanical parts, movable components, and / or machines may also occur relative to each other. Based on this motion, graph 10, i.e., the "map," changes, and therefore an obstacle 118 may appear on the already calculated path 12. The algorithm preferably automatically recognizes this change in graph 10 and records whether or not an obstacle is located on path 12. In that case (if an obstacle is located on path 12), the algorithm is applied again, and the current actual position is used as the starting point 14. In other words, path 12 can be adapted to parameter changes related to automatic navigation in the currently ongoing cycle.

[0074] In the embodiment shown in Figure 1, the machine 100 is illustrated with a movable component, for example, an entry axis (Tauchachse) 102 as a movable component, which is precisely where the molded product (Formteil) 122 is to be removed. The entry axis 102 is capable of automatically navigating and removing the molded product 122 without collision, and in the embodiment shown in Figure 1, it can move up, down, left, and right in different directions 106, 108. In principle, the entry axis 102 can preferably additionally perform tilting, swiveling, and rotational movements, and thus can take any position in space R. This allows for any vector that the entry axis 102 can have.

[0075] Furthermore, the machine 100 has a closing unit comprising a movable plate 110 and a fixed plate 112, the movable plate 110 and the fixed plate 112 fixing a clamping space between them for receiving a mold tool having two tool halves 114, 116. The movable plate 110 can be moved left and right in direction 104, as in the embodiment shown in Figure 1. In principle, the fixed plate 112 can also be moved in one direction, for example in direction 104. The movement of the movable plate 110 also causes the tool halves 116 to move. In other words, the space R in which the machine 100 is located has obstacles 118 and a moving area 120 in which collision-free automatic navigation is impossible or possible.

[0076] Figure 2 illustrates the motion of the entry shaft 102 and the movable tool plate 110 as movable components. There, the entry shaft 102 is moved upward along direction 106 together with the molded product 122. The movable plate 110 is moved to the right along direction 104. Correspondingly, these movements create a new obstacle 118 and a movement area 120 for the automatic navigation.

[0077] In a further preferred embodiment, calculations, collision inspections, and / or automatic navigation are performed proactively. For example, an obstacle 118 may appear along the path during a given period, but this obstacle 118 may have already disappeared from the path before the movable component, machine 100, molded part, and / or possibly a machine part would collide with it. That is, advantageously, there is no need to change direction, thereby avoiding vibrations, for example, that would result from a change of direction.

[0078] In a further preferred embodiment, at least one movable component and at least one contact point of the machine 100 are provided with respect to the position of at least one contact point in space R, where these contact points are logically coupled to each other to provide a model of at least one movable component and the machine 100. Depending on whether the machine 100 has mechanical parts, preferably, contact points of one or more mechanical parts can be provided, and these contact points can be logically coupled to other contact points. For example, a movable plate 110 can be coupled to a movable part of an injection mold. The injection mold is similarly known and exists as a model. For example, a movable part (movable tool half 116) of the injection mold model has a defined contact point whose position and location in space R are precisely defined within the model. This point (contact point) can be referred to as a "plug".

[0079] In a further preferred embodiment, at least one contact point is assigned at least one list, and based on this list, connectable models are described and / or listed. Staying in the above example with the movable tool half 116, this movable tool half 116 uses its contact point “plug” and is listed in the list as a “socket” of the movable plate 110.

[0080] In a further preferred embodiment shown in Figure 3, space R is divided into a grid of cubes 18 used for generating at least one graph 10. Space R may have at least partially at least one movable component and / or machine 100. Depending on whether machine 100 has mechanical parts, space R may preferably have at least partially the mechanical parts, for example, illustrated as obstacles 24 (dark gray areas) in graph 10 according to Figure 3. In Figure 3, for simplification, only one plane of space with obstacles 24 is illustrated as graph 10. However, this graph may be essentially three-dimensional.

[0081] In a further preferred embodiment, the algorithm includes at least a greedy search algorithm, Dijkstra's algorithm, and / or an open list A * An algorithm is used.

[0082] Next, we will explain how the path 12 between any two points 14 and 16 in graph 10 is calculated. The shortest route problem is common in the field of artificial intelligence and aims to find the best possible path 12 through graph 10, and is usually associated with extremely high complexity. Route discovery addresses the problem of finding a path 12 in graph 10 from a starting point 14 to a target point 16. For the approach described, graph 10 must satisfy the property that all edges of graph 10 are weighted positively (non-negative). To this end, the machine space is divided into a grid of cubes 18, also called nodes 18. Based on the grid-like model of the space R used as graph 10, the shortest possible path 12 from the starting point 14 to the target point 16 is searched. The search graph 10 exists only implicitly. That is, for each node 18, it must be checked whether these nodes 18 are valid positions for the robot system or represent obstacles 24 upon entry.

[0083] Greedy search is a well-known search method that requires a heuristic function. This heuristic function estimates the distance from any node 18 to a target point 16. For example, a robot may need to move one axis behind another. Therefore, the Manhattan distance can be used as the heuristic function. However, the robot does not only move linearly in the X, Y, or Z directions, nor does it only move one axis behind another. Diagonal routes can also be described using, for example, multiple cubes, regardless of the grid size. In principle, in a further preferred embodiment, the robot can also move diagonally via an orbital motion 130 using, for example, two axes 132, 134 (e.g., Y and Z) with a defined common orbital velocity (Figure 11). In the example in Figure 11, the robot performs a single motion from the starting point 14 to the target point 16, rather than performing, for example, 14 individual motions, in which case both axes move synchronously.

[0084] The search begins at starting point 14, which is then expanded. During the expansion, all nodes 18 reachable from starting point 14 are examined for their estimated distance to target point 16 via heuristics. In addition, each visited node 22 (light gray area) stores a reference to the node 18 currently being expanded (see arrow 26 in Figure 3). Thus, each visited node 22 knows its predecessor, i.e., the preceding node. The node with the best heuristic is expanded as the next node. The most preferable node is repeatedly expanded until target point 16 is found. In other words, the node 18 that promises the best result at the time of selection is always chosen as the next node. Once a decision is made, it is not analyzed or modified from a global perspective.

[0085] If the target point 16 is found, the path 12 from the target point 16 to the starting point 14 can be easily traced in reverse via the stored preceding nodes of node 18. In this case, the path 12 is the same as the path 12 explored from the starting point 14 to the target point 16 in reverse order. The advantage of the greedy search algorithm is that it can be easily designed and executed efficiently. However, while this algorithm solves problems quickly, it is not always optimal. Figure 3 illustrates an example where the found path 12 is not always the shortest. For this reason, the greedy search algorithm is not always suitable for finding the shortest path 12 (the gray area between dark gray and light gray).

[0086] Dijkstra's algorithm, shown in Figure 4, differs from the greedy search algorithm in that it solves the shortest path problem. Instead of using estimation heuristics, Dijkstra's algorithm retraces the route in reverse. Dijkstra's algorithm remembers the cost of the path from visited node 18 to starting point 14. Similarly, each visited node 18 knows its preceding node. Starting from starting point 14, the node 18 with the lowest path cost so far is repeatedly expanded. In the expansion, the cost to starting point 14 is detected for all direct adjacent nodes of the current node 18, i.e., neighboring nodes. This is predictable and straightforward in this case. Since all nodes 18 in the grid are the same size, the cost for entering a node can always be estimated as "1". That is, the cost is obtained from the number of nodes 22 visited between starting point 14 and the position being examined. For this reason, the entire area around starting point 14 is searched equally. Because each node 18 knows its preceding node, the shortest path from each node 18 to starting point 14 is known. If the target point 16 can be found through an even distribution, then the found path 12 is already the most preferable, and the algorithm terminates. Here again, path 12 must be processed in reverse order. This can be understood by finding any node 22 visited in Figure 4 and following arrow 26 to the starting point 14.

[0087] Figure 4 clearly shows that while Dijkstra's algorithm does find the shortest path 12 compared to the greedy search algorithm (Figure 3), it has to examine far more nodes 18 to do so. This is because Dijkstra's algorithm cannot use information about the location of the target point 16 in graph 10 when selecting the nodes 18 to expand. This algorithm can demonstrate its strength, especially in scenarios where the position of the target point 16 is unknown. However, when the position of the target point 16 is known, it usually expands an unnecessarily large number of nodes 18. This is extremely burdensome in terms of execution time and memory consumption.

[0088] In the field of artificial intelligence, A * The algorithm is a reliable approach to compute the best path 12 between a starting point 14 and a target point 16 within a directional graph 10. * The algorithm combines the advantages of Dijkstra's algorithm and greedy search algorithms while largely eliminating their drawbacks. If path 12 is found, then path 12 is always optimal. The number of nodes visited 22 is often significantly less than that in the process of Dijkstra's algorithm (Figure 6). However, in the worst case, the number is the same. For each node Ki visited on path 12, the estimated path cost F for the entire path 12 from the starting point 14 to the target point 16 is calculated.

[0089] To detect the path cost F, the following equation is valid: F = G + H, where G is the cost of the already taken path 12 from starting point 14 to node Ki. To determine G, the cost of visiting one node 18 is added to the G of the preceding nodes. H represents the heuristic, i.e., the estimated cost that will occur from node Ki to target point 16. For this purpose, a heuristic function is used, as in the greedy search algorithm. The heuristic function must always be fitted to the specific problem statement. The guarantee of the most favorable path 12 is given only if the heuristic function is underestimating. That is, the heuristic function should never estimate a cost higher than what actually occurs. The more accurate the estimation function, the better A * The algorithm proceeds more quickly. Here, for example, it is conceivable that a robot should move one axis behind another. For example, in this case, Manhattan distance can be used as a heuristic function, as in the greedy search algorithm. However, in principle, the robot does not only move linearly in the X, Y, or Z directions, nor does only one axis move behind another. Diagonal routes can also be described using multiple cubes, for example, regardless of the grid size. In principle, in a further preferred embodiment, the robot can also move diagonally via an orbital motion 130 using, for example, two axes 132, 134 (e.g., Y and Z) with a defined common orbital velocity (Figure 11). In the example in Figure 11, the robot performs one motion from a starting point 14 to a target point 16, rather than performing 14 individual motions, in which case both axes move synchronously with each other. Furthermore, A * The algorithm uses an open list and a closed list. The open list (a list of nodes that have not yet been evaluated) contains the nodes to be visited, and the closed list (a list of nodes that have been evaluated) contains all the nodes that have been completely examined.

[0090] Based on the flowchart in Figure 5, A *The procedure of the algorithm is described. At the start 30, in step 32, the starting point 14 or the starting node is placed on the open list. Next, in step 34, in loop 36, always, the node 18 with the most favorable F value is taken out from the open list and processed. If the open list is empty, it means that the algorithm has not found the answer. For example, since the robot can change its geometry using the axis of rotation, there is no need to give up the search here.

[0091] In a further loop 38, for example, it is checked whether there is an axis of rotation that has not been operated yet. If they can be moved in step 40, the search starts anew in a further step 42. Otherwise the algorithm ends at 44. If the target point 16 is found in loop 39, the search ends successfully. If one node 18 is to be processed in step 46, in step 48, in loops 50, 52, for each of its direct adjacent nodes, it is checked whether they represent an obstacle 24 or are already in the closed list. In the case of yes, the adjacent node is ignored in step 54. Otherwise, in step 56, the G value and the H value are determined for the adjacent node, and in step 58 the current node is stored as the preceding node. Finally, in step 60, the adjacent node is inserted into the open list. If all the adjacent nodes of one node have been examined, that node enters the closed list in step 62.

[0092] As soon as one node *********** closed list, the most favorable route from this node 18 is known. In the worst case, A * The algorithm has to visit all the nodes 18. The obstacles 24 on the ideal line significantly deteriorate the execution time because the cost increases along the obstacles 24, so that first many nodes 18 in the wrong direction have to be examined.

[0093] It should be noted that there is an incomplete part in the translation of as "***********" which needs to be corrected according to the original text.In a further preferred embodiment, at least jump point search and / or open list management are used as optimizations.

[0094] Figure 7a A * A more precise examination of the search graph after the algorithm's progress reveals that there are multiple paths 12 with the same cost. This phenomenon occurs in graph 10 arranged in a grid shape that allows only horizontal or vertical movement. These paths 12 are called symmetric because they differ only in the order of movement. This means that, for example, in graph 10 in Figures 7a and 7b, the robot travels to a total of six nodes 18 to the right and moves to three nodes upwards. The order of actions is not important. Considering this characteristic can significantly reduce the number of nodes 18 visited.

[0095] To achieve the results shown in Figure 7b, the symmetry of path 12 must be considered. The path to success leads to neighbor pruning. * Unlike the algorithm, when expanding node 18, not all neighboring nodes are always examined; in most cases, only one is examined (instead of four in 2D space and six in 3D space). The three most important rules for this are derived from Figures 8a-8c.

[0096] Rule 1: More precisely, all adjacent nodes that are not located in the direction of motion are not considered. In the example in Figure 8a, node number 6 is the only node placed in the open list. Nodes numbered 2, 4, and 8 are not examined.

[0097] Rule 2: If the current node 22 is adjacent to obstacle 24, A * As in the algorithm, all traversable adjacent nodes are examined (Figure 8b). This is necessary to find the shortest path 12 while ideally bypassing obstacle 24.

[0098] Rule 3: If the adjacent node selected by the first rule has a worse F-value than the current node 18, all traversable adjacent nodes are examined (Figure 8c). In other words, path 12 is prevented from passing the target in one dimension (Figure 9).

[0099] While the first rule describes the omission of adjacent nodes, the second and third rules ensure that the search continues to provide the optimal result. These find so-called jump points 64, from which the jump point search derives its name. These points are called jump points 64 because they can only be navigated very quickly and in a straight line between them. Jump points 64 are identified by the fact that they examine more than one adjacent node. In Figure 9, for example, node 18 where path 12 changes direction to the right is a jump point 64.

[0100] The advantages of jump point exploration include the following: 1. The jump point search is optimal (finding the most advantageous path 12). 2. Pre-calculation is unnecessary. 3. No increase in memory consumption will occur. 4. Simple A * This greatly speeds up the algorithm. In this case, the longer the path 12, the greater the improvement.

[0101] Simple A * The algorithm (Figure 6) and the optimized A using jump point search * A direct comparison of the algorithm (Figure 9) with obstacle 24 clearly demonstrates how many node surveys can be saved through optimization.

[0102] A *Most of the computational time in the algorithm is allocated to exhaustively searching the open list for the element with the minimum F value. The larger the graph 10 is, the greater the portion of the execution time required for managing the open list becomes. For example, since the graph 10 of the machine space is extremely large, it is valuable to optimize the management of the open list. In the simplest case, all elements of the open list are held within a single array list. This enables rapid insertion into the list (complexity: O(1)), but slows down the possible removal of elements, because each element must be exhaustively searched to find the minimum F (complexity: O(n)). This can immediately become a problem with long open lists. One way to easily speed up the removal of elements is to keep the open list sorted. The cost incurred during insertion is, in a positively relatively large list, only a small portion of the cost that would otherwise be required during removal. If a sorting algorithm with an insertion complexity <O(n) is selected, the effort is worthwhile. The complexity of the removal operation is O(1) within a sorted list.

[0103] In a further preferred embodiment, the open list is managed using a binary heap 20. Very effectively, the data can be structured and held within the binary heap 20 (binary heap). The binary heap 20 can be stored, for example, within a single simple array. The insertion operation, deletion operation, and search operation can be processed with a worst-case execution time of O(log n), and the search for the minimum element 66 (this search is used in the algorithm) is, on the contrary, O(1). However, after access to the minimum element, this element must also be deleted. Unlike a sorted list, the binary heap 20 is not strictly sorted in descending or ascending order. At this time, it relates to a binary tree 70 that satisfies the following two additional conditions: * 1. The binary tree 70 is left-aligned and balanced. ​2. Each node 18 has a unique key that is smaller than the keys of its child nodes.

[0104] Therefore, at the first location of the binary tree 70, there is always the smallest element, 66. Figure 10 shows an example of a binary heap 20. In array 28, we can see that there is no element 66 at index 0. This simplifies the calculation of the index of child or parent nodes.

[0105] In a further preferred embodiment, the method is simulated in real time as changes occur in the production procedure, and / or the algorithm responds to a changed position and / or velocity of at least one movable component and / or machine 100 by performing at least one further crash inspection and / or calculating at least one new path 12. Depending on whether machine 100 has mechanical parts, preferably the algorithm can respond to a changed position and / or velocity of at least one mechanical part.

[0106] In a further preferred embodiment, the method is simulated in advance. For example, the procedure and routing can be simulated in advance using a computer model.

[0107] In a further embodiment, at least two different variations of the method are simulated and compared with respect to different criteria. That is, different criteria of the method can be compared with respect to, for example, energy, wear, travel route, and / or cycle time, and the most desirable and advantageous method can be selected. For example, in a given process, cycle time is secondary (in terms of importance), whereas wear is extremely important, or must be considered, because, for example, the tool is subjected to heavy loads.

[0108] For better visual clarity, in a further embodiment, a graph and / or model of at least one movable component and / or machine 100 is graphically represented. Depending on whether machine 100 has mechanical parts, preferably the mechanical parts can also be graphically represented. For example, the display can be performed on a machine control device, a display, or a computer.

[0109] In one embodiment, a machine control device for a machine 100, in particular an injection molding machine or a 3D printer for processing plastic or other plasticizable materials, is disclosed, which is adjusted, operated and / or configured to perform at least one of the aforementioned methods in order to achieve the advantages described above.

[0110] A further embodiment, having achieved the advantages described above, comprises a computer program product having program code stored on a computer-readable medium for performing at least one of the methods described above.

[0111] It is obvious that this disclosure can be made to [Explanation of Symbols]

[0112] 10 Graphs 12 routes 14 Starting point 16 target points 18 cubes, nodes 20. Binary heap 22 nodes visited 24 Obstacles 26 Arrows 28 arrays 30 start 32 steps 34 steps 36 loops 38 loops 39 loops 40 steps 42 steps 44 End 46 steps 48 steps 50 loops 52 loops 54 steps 56 steps 58 steps 60 steps 62 steps 64 Jump Points 66 elements 68 Index 70 Binary tree 100 machines 102 Approach axis 104 directions 106 directions 108 directions 110 Movable Plate 112 Fixed Plate 114 Tool half 116 Tool half 118 Obstacles 120 moving area 122 Molded products 130 Orbital motion 132 axes 134 axes R space

Claims

1. A method for determining at least a portion of a path (12) connecting at least one starting point (14) to at least one target point (16) in space (R) for the automatic navigation of at least one movable component configured to remove, move, and / or place a molded product through space (R) in a machine (100) which is an injection molding machine or 3D printer for processing plastics or other plasticizable materials, The following steps should be included: a) Providing at least one movable component, the machine (100), and at least one model of the molded product, b) A step of detecting geometric shape information of the space (R), the at least one movable component, the machine (100), and the molded product. c) A step of determining the current position of the at least one movable component, the machine (100), and the molded product in the space (R), d) relating the geometric shape information and current position of the at least one movable component, the machine (100), and the molded product in the space (R) to each other in order to generate at least one graph (10) of the space (R), e) A step of calculating the path (12) by applying at least one algorithm on the graph (10), wherein at least one additional optimization is performed for the calculation of the path (12). f) 1. A step of performing at least one collision test along the path (12) between the at least one movable component, 2. the machine (100), and 3. the molded product. g) A step of automatically navigating the at least one movable component along the path (12) without collision, However, the at least one movable component moves relative to the machine (100), and the algorithm is applied under dynamic changes in the graph (10) based on the motion of the at least one movable component and / or the machine (100) and / or the molded part. Furthermore, the method is simulated in real time in response to changes in the production procedure, and the algorithm responds to the changed position and / or velocity of the at least one movable component and / or the machine (100) and / or the molded part, by performing at least one further crash test, calculating at least one new path (12), and applying the algorithm again, in which the current actual position is used as the starting point. The calculations, collision inspections, and automatic navigation are performed in a predictive manner. A method characterized by the following.

2. Each of the at least one movable component and the at least one contact point of the machine (100) is provided with respect to the position of the at least one contact point in the space (R), wherein these contact points are logically coupled to each other to provide the model of the at least one movable component and the machine (100). The method according to claim 1, characterized by the above.

3. At least one contact point is assigned at least one list, and based on the list, connectable models are described and / or listed. The method according to claim 2, characterized by the above.

4. The space (R) is divided into a grid of cubes (18) used for generating the at least one graph (10). The method according to claim 1, characterized by the above.

5. The aforementioned algorithms include at least a greedy search algorithm, Dijkstra's algorithm, and / or an open list A * The algorithm will be used. The method according to claim 1, characterized by the above.

6. As part of the optimization, at least jump point search and / or management of the open list are used. The method according to claim 5, characterized by the above.

7. The management of the open list is performed using a binary heap (20). The method according to claim 6, characterized by the above.

8. The method is simulated in advance, and / or at least two different variations of the method are simulated and compared with respect to different criteria. The method according to claim 1, characterized by the above.

9. The graph (10) and / or model of the at least one movable component and / or the machine (100) and / or the molded product are to be graphically displayed. The method according to claim 1, characterized by the above.

10. A machine control device for a machine (100) which is an injection molding machine or a 3D printer for processing plastics or other plasticizable materials, The machine control device is adjusted, executed, and / or configured to perform the method described in any one of claims 1 to 9. A mechanical control device characterized by the following.

11. A computer program product having program code, The program code is stored on a computer-readable medium in order to perform the method described in any one of claims 1 to 9. A computer program product characterized by the following:

Citation Information

Patent Citations

  • Picking mechanical arm motion planning method based on CTB-RRT* algorithm

    CN112975961A

  • method of protecting a robot against collisions

    DE102004027944A1

  • Method for preventing deadlock of a pair of robots in multi-robot system, involves avoiding deadlock condition during execution of programs by automatically determining and executing deadlock-free motion statement

    DE102012103830A1

  • Apparatus and method for the generation of a collision free path of a grinding tool

    EP1672449A1

  • EP69027634