WO2013037693A2 - System und verfahren zur automatisierten erstellung von roboterprogrammen - Google Patents

System und verfahren zur automatisierten erstellung von roboterprogrammen Download PDF

Info

Publication number
WO2013037693A2
WO2013037693A2 PCT/EP2012/067413 EP2012067413W WO2013037693A2 WO 2013037693 A2 WO2013037693 A2 WO 2013037693A2 EP 2012067413 W EP2012067413 W EP 2012067413W WO 2013037693 A2 WO2013037693 A2 WO 2013037693A2
Authority
WO
WIPO (PCT)
Prior art keywords
workpiece
plan
robot
tool
treatment
Prior art date
Application number
PCT/EP2012/067413
Other languages
English (en)
French (fr)
Other versions
WO2013037693A3 (de
Inventor
Christoph EBERST
Massimo FERRI
Bernhard Stöffler
Ricardo TORNESE
Gerhard UMGEHER
Original Assignee
Convergent Information Technologies Gmbh
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
Priority claimed from DE102011082800.1A external-priority patent/DE102011082800B4/de
Application filed by Convergent Information Technologies Gmbh filed Critical Convergent Information Technologies Gmbh
Priority to US14/345,313 priority Critical patent/US9701019B2/en
Priority to KR1020147009832A priority patent/KR102028770B1/ko
Priority to CN201280055001.5A priority patent/CN104010774B/zh
Publication of WO2013037693A2 publication Critical patent/WO2013037693A2/de
Publication of WO2013037693A3 publication Critical patent/WO2013037693A3/de

Links

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
    • 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39102Manipulator cooperating with conveyor
    • 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/45065Sealing, painting 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 invention relates to a system and method for auto ⁇ mated programming and optimization of robotic work processes of an industrial robot with a robot ⁇ control.
  • the off-line programming and simulation tool contains descriptions of the robot and the robot controller it is trying to simulate.
  • ge ⁇ precise models of the real robot controllers are in the simulation software for robot simulation increasingly taken wor ⁇ , which has led to so-called "virtual robot controllers" during the simulation are used.
  • a virtual robot controller is a sufficiently accurate repre ⁇ presentation of a real robot controller, which simulates not only the movement of the robot, but also the Abar ⁇ processing of the actual robot program.
  • the publications WO 03/059582 and DE 11 2008 003 963 T5 describe, for example ⁇ exemplary method for programming an industrial robot using a virtual robot controller.
  • the robot controller therefore requires a suitable robot program.
  • TCP Tool Center Point
  • the robot controller therefore requires a suitable robot program.
  • all degrees of freedom for controlling the industrial robot either through the definition of all axis ⁇ values respectively.
  • the present object underlying the invention be ⁇ is therefore to enable an offline generation of "robust" Ro ⁇ boterprogrammen which despite unknown at the time of programming variations of the workpiece or process parameters or despite additional Liberty ⁇ grade such as the workpiece superimposed movement work reliably and predictably.
  • This object is achieved by the method according to claim 1 ge ⁇ .
  • Exemplary embodiments and further developments of the method are the subject of the dependent claims.
  • the riding Be ⁇ provide an output schedule or comprising a plurality of tool paths for a workpiece in a specific desired position and, for certain treatment. Processing be ⁇ influencing process parameters, wherein a tool path determines the desired movement of the tool along the workpiece; Defining a state space, the variable, the treatment or. Processing influencing parameter values ⁇ writes, each point of the room represents a concrete combination ⁇ tion of possible parameter values;
  • the method may further comprise the assigning of opti mized ⁇ plan and those used in the iteration to stand ⁇ to a first group; Simulating the treatment resp. Machining the workpiece using the opti mized ⁇ plan for a further discrete state and loading values of the simulated processing respectively.
  • Treatment ⁇ result corresponding to the predetermined cost function; Assigning further used in the simulation was to ⁇ to the first group, if the cost function below a further threshold value for the further state; and associating the simulation used in the further state to another group if the cost function does not exceed the further state of the further threshold value under ⁇ .
  • iteratively modifying the optimized plan, and then simulating the processing of the workpiece using the modified plan for the further state may be performed using the simulated machining or machining process.
  • Treatment result is ⁇ accordingly evaluated the cost function.
  • the iteration is carried out until the cost function reaches a minimum or falls below a threshold and thus a further optimized plan for the further state is found.
  • the optimized plan and the USAGE ⁇ finished at the iteration state is assigned to a first group.
  • Ver ⁇ drive providing a starting plan to ⁇ collectively or a plurality of tool paths for a workpiece in a specific desired position and, for certain treatment. Processing descriptive process parameters, wherein a tool path determines the desired movement of the tool along the workpiece; Defining a state space describing possible sequences and start times of the tool paths of the initial plan, each point of the space describing a concrete sequence with a concrete start time; The discretization of space into individual states ⁇ de; Simulating the treatment resp. Machining of the work ⁇ tee using the output plan for different che discrete states and evaluating the simulated machining ⁇ tungs- respectively.
  • Treatment outcome in accordance with a vorgeb ⁇ cash criterion; and iteratively modifying the initial plan , then simulating - taking into account a movement superimposed on the workpiece - the treatment or.
  • Treatment result according to a predetermined cost function. The iteration is carried out until the cost function reaches a minimum or falls below a threshold value and thus an optimized plan for the respective state is found.
  • a movement pattern of the robot base can be specified and this movement pattern taken into account in the simulation.
  • An example of the invention also relates to a system and method for controlling a robot for the treatment or loading processing of a moving workpiece with a tool by an industrial robot according to a schedule comprising ei ⁇ ner plurality of defined by waypoints robot movement, wherein each waypoint a target Position of the workpiece is assigned ⁇ assigned ;
  • the method comprises: measuring the actual position of the robot
  • Figure 1 is a sketch of an industrial robot and one of
  • FIG. 3 shows a diagram with a representation of the offset between robot and workpiece, for which individual waypoints of the tool paths can be reached;
  • Figure 4 is a flow chart showing an example of the erfindungsge ⁇ MAESSEN process sequence
  • FIG. 5 details for the step II of the method sequence from FIG. 4;
  • FIG. 6 shows details of the method sequence from FIG. 5 for a first alternative (taking into account the movement of a workpiece);
  • FIG. 7 shows details of the method according to FIG. 5 is a second alternative (taking into account the parameter variation ⁇ );
  • FIG. 8 details for the step III of the method sequence from FIG. 4;
  • FIG. 9 shows details of the method sequence from FIG. 8 for a first alternative (a plan for all states).
  • FIG. 10 shows details of the method sequence from FIG. 8 for a first alternative (P plans for all states);
  • FIG. 11 shows a flowchart of the method sequence for step V of the method from FIG. 4 (the ON-line execution of a program with consideration of the zusappelli ⁇ chen dimension "workpiece moving");
  • FIG. 12 shows a flowchart of the method sequence for step V of the method from FIG. 4 (the ON-line execution of a program with consideration of the zusappelli ⁇ chen dimension "parameter variations");
  • FIG. 13 shows details of the method sequence for step III from FIGS. 8 to 10 Links: Motion Planning (left) and Right: Simulation.
  • like reference characters designate the same or similar components with the same or similar importance ⁇ processing.
  • known methods of path planning and offline programming support not ⁇ -reaching applications with additional complexity in the form of additional degrees of freedom (eg the workpiece overlaid motion) or variations (eg tolerances of the workpiece position and / or process parameters) which in programming must be taken into account.
  • the mentioned additional degree of freedom for example, characterized in that the at behan ⁇ delnde workpiece during treatment by the robot is moved linearly (for example by means of a conveyor belt).
  • the mentioned variations resp. Tolerances are, for example from ⁇ deviations of the shape and / or the position of the workpiece from the assumed when creating the robot program Sollwer ⁇ th or deviations of other process parameters of the respective target values.
  • process parameters would be at a robotic painting for example emitted by a spray ⁇ pistol per time quantity of ink and / or adhesive property on the surface of the workpiece (which may be required spray angle dependent), at a roboterge ⁇ assisted polishing example of the robot on the exerted surface to be polished of the workpiece pressure during Polie ⁇ proceedings or the interaction between the material and Polierme ⁇ medium.
  • process parameters are understood to mean all parameters which determine the work result of the robot (ie for example, the quality of the painting or cleaning, the Po ⁇ lierens, etc. ).
  • the robot controller compensates for the movement of the workpiece by shifting its target coordinate system (the coordinate system of the workpiece from the perspective of the robot) with the feed information of the conveyor. Since the mere displacement of the coordinate system does not include a check for collisions, this approach requires that the collision freedom is ensured in the construction of the cell itself. This can be achieved, for example, by the fact that the robot is mounted so that it when running the application of a free area, for example, from above, is brought against the moving ⁇ te workpiece.
  • This method is not suitable for applications in which the robot is to produce longer contact between a tool and a workpiece, in particular if the tool is to be moved over the workpiece surface, or if it is a complex work ⁇ piece, as not longer Time and a further movement of the workpiece can be ensured in advance that the robot (for example, the robot's elbow) does not collide with the workpiece.
  • the TCP 12 holds the tool (e.g., the spray gun for a paint job).
  • the planned webs 21 are shown, which are connected meander-shaped - as an example. Depending on the application, it may also be necessary to always travel in the same direction.
  • the entirety of the planned lanes represents a plan that serves as a starting point for the following steps.
  • This data can also be taken from an already existing robot program, the program being converted into tool paths 21 into workpiece coordinates.
  • the consideration of additional complexity is then automated as described below.
  • the original plan for different combinations of parameter variations resp. Simulated disturbances to check whether the plan for the respective case is basically executed (that is, the web accessible and collision-free), and whether the process result in the execution of these sheets to a predetermined quality criterion corresponds to (eg from ⁇ reaching ink application, sufficient pressure during polishing, Etc . ) .
  • a virtual robot with vir ⁇ tual robot controller eg "realistic robot simulation," RRS or the like
  • RRS realistic robot simulation
  • the state space of the parameter variations is n-dimensional.
  • the average discrepancy the number of these discrete states is 2 n.
  • Betrach ⁇ tung the maximum distances are plotted from the origin to the individual axes of the state space, which results including the origin of 2n + l states.
  • a predetermined quality criterion ⁇ corresponds to (eg sufficient inking, genü ⁇ quietly pressure during polishing, etc.).
  • an additional was not a specific set of (n-tuples) of Parameterabwei ⁇ cations, but a concrete sequence of webs and a start time associated therewith the processing and, if applicable. a certain predetermined superimposed movement of the robot base (if provided). This situation is shown in FIG. 3 clarifies.
  • the straight line shows the (at constant Re ⁇ lativ ein between the workpiece and the robot base) li ⁇ near increasing displacement between the workpiece and Roboterba ⁇ sis. Furthermore, for each tool path (number 21 in FIG. 1), it is shown for which offset the individual
  • a "state” corresponds, for example, to a concrete of slope, offset and path sequence with associated start times.
  • the straight line may also approximate the shape of a sawtooth curve.
  • the relationship between displacement and time instead of a straight line a substantially arbitrary (limited due to speed and Accelerati ⁇ supply limits in slope and curvature) of the function Be time. If the robot is permanently mounted, then the gradient of the straight line is predetermined by the conveying movement, which, however, is generally predetermined and can not be changed.
  • Ers ⁇ it is provided a plan of a work cycle on the workpiece be ⁇ .
  • This plan includes the path data of the tool in the target coordinate system (the workpiece) and for example, a planned in a conventional manner robot program can be taken, wherein during programming no Parametervariatio ⁇ NEN or additional degrees of freedom of the workpiece taken into ⁇ into account be.
  • This step also defines whether and how an additional axis moves the robot base.
  • it is the state space defined, either (with interference / tolerances) the considered Parametervaria ⁇ functions or (for a moving workpiece), the order and the corresponding start times of the tool paths and the start ⁇ time (or the start offset between the robot base and. Workpiece).
  • the (remaining non-discarded) states are grouped - after the acceleration test may - depending on the configuration of the Ver ⁇ driving.
  • the grouping is carried out in such a way that states in which similar deficiencies occur at the same areas of the workpiece are classified in the same group.
  • Same deficits at the same areas of the workpiece means, for example, in the case of polishing the workpiece surface, that for states, for example, the Anpress ⁇ pressure during polishing in the area "front left" of the workpiece has always fallen below.
  • the quick test described above thus evaluates discrete states.
  • the criterion (the "bar") is secreted ent ⁇ based on whether the plan for a specific condition as unusable discarded, can be very different depending on the application / destination set ⁇ wetting. In the case to be considered Parameter variations can also be relatively proportionate
  • a usable state ie, a usable sequence of lanes with start times, etc.
  • Several states increase the probability or may be able to provide a better result after a comparison.
  • a plan for each in advance Gegan ⁇ genes rapid test defined group can be generated.
  • the work piece is ⁇ with sensors (eg cameras, laser scanners, light section sensors, etc.) Measured and determines the "position" of the deviations in the state space of parameter variations.
  • sensors eg cameras, laser scanners, light section sensors, etc.
  • Parametervari ⁇ ation actually are, is of concern for the region ⁇ optimized plan (resp. The robot based on it terprogramm) used.
  • the Rei ⁇ hen For example, the Rei ⁇ hen merge and the associated start time for the tracks and the starting time (or the Wegsversat z zw. Robot base and the workpiece) of the execution of the plan to be changed, it can be the speed of the tool along the paths being ⁇ be adjusted, the Location of the webs on the workpiece surface can be changed (within predetermined limits), the distance between the workpiece and the tool (eg spray gun) and the angular position of the tool relative to the surface can be ⁇ fits.
  • the cost function can be minimized and an optimum in this sense plan are determined. He ⁇ mentioned options for modification of the plan are to be understood as an example and not as an exhaustive list.
  • Example 1 The first example deals with the case where a (predetermined) movement is superimposed on the workpiece.
  • the workpiece my general is able to move in a predetermined manner in N free ⁇ standardized straight ⁇ .
  • the robot base can move with time (likewise predeterminable).
  • the tool paths for the desired work task of the robot are planned or specified in a manner known per se (in workpiece coordinates in the target coordinate system) as if the workpiece (as well as the robot base) are resting.
  • conventional gene ⁇ tured robot programs can be read and transformed into horrbah ⁇ nen in the workpiece coordinate system.
  • Conventionally generated is understood, inter alia, that the programming is based on the above-mentioned assumption of a stationary workpiece.
  • the movement of the linear conveyor is usually fixed by the production process and is usually not influenced. In any case, the movement of the conveyor is defined in this step (if necessary according to the specifications).
  • the robot is firstly on a fixed-position robot base, and secondly on (at least) an additional axle with fixed specified differently benem movement pattern or, thirdly, on one or more supplementary axles with free plannable movement patterns (optionally, also a preferred behavior can be defined, such as minimum accelerations, minimum travel or minimum energy or movement synchronous to the conveying movement).
  • this movement can initially given and also be modified by ⁇ following optimization step.
  • one or more budget that is shared on ⁇ fundamentally a predetermined quality criterion to be suitable assessed
  • Start times set as follows: follow by varying the rows ⁇ and start time points of the tool paths ( Sicilbah ⁇ NEN), optionally also their constitutionsriehtung are searched Anord ⁇ voltages (states) in which the movement trajectory of the workpiece (diagonal straight in Fig. 3) the verti cal ⁇ lines of the individual waypoints (to represent the ⁇ he laubten offset) of all the paths intersect.
  • the maximum and mi ⁇ nimale offset, in which the movement trajectory of the workpiece just intersects the perpendicular lines (theoretically possible offset values for the respective waypoint) of all waypoints of a web also defines a time window (or transfor ⁇ mations lender) for the respective web. Within this window, the respective tool path can be executed by the robot (according to the rapid test).
  • the distance of the individual points of intersection of the movement trajectory of the conveyor can, for example, to the end points of the applied in the Y direction permitted encryption record (or to the edges of the time window) maximizes a tool ⁇ path are , Alternatively, the distance from the latest possible end time can be maximized.
  • tool paths can also be executed delayed, whereby the solution remains executable when the robot is in the (subsequent) full dynamic simulation needs (Feinpla ⁇ planning / optimization / validation) and the real execution Lan ger ⁇ .
  • the (time) intervals may be maximize between the tool paths (Puf ⁇ fer electromagnetic).
  • the first step initially planned tool paths (the "exit plan") and its second step (rapid test) found suitable conditions (sequence and start time punk ⁇ th) are the following, now explained optimization step (in sequence in a loop) refined, optimized and rated.
  • the exact robot movements for each path and the interim movements between these with the dynamic robot model are (considered limited acceleration, velocity) in which simulated with the help of a virtual robot with virtual robot controller due to the simultaneous workpiece moving time varying Ar ⁇ beitszelle.
  • the Posi ⁇ functions of the tool (and thus of the robot with respect to the surface) can be changed so by the Planning- or optimization algorithms that the proportion of the relevant workpiece surface are in which maintain the quality criteria have been ⁇ is maximized.
  • "Gaps" or "defects” (eg when painting, polishing, etc.) Are more weighting- ⁇ tet, so that these are preferably closed and together ⁇ connected regions reached.
  • Discarded movements ie tracks and / or individual track segments
  • the cycle time ie the total required for the process by the robot Ar ⁇ beitszeit
  • the cycle time maintain, to minimize further below a maximum time to hal ⁇ or ten. More generally, be firmly supported ⁇ th that each minimizing a cost funct ion is ion identical to a maximization of a cost zenfunkt funct ion complementary groove. Is the cost of the complementary groove funct ion is minimized auto matically ⁇ zenfunkt ion maximized.
  • the desired position and setpoint speed for a desired point in time are calculated using the inverse kinematics for all planned waypoints for each robot axis .
  • the movement planning for example, based on probabilist regard methods (eg “rapidly exploring random tree", RRT, or “Probabilistic roadmaps", PPM, or alterations ⁇ r) which in the state space (such as joint angles and their speeds and time) to compounds search from start and end positions, where one waypoint is Start or End. End point for connected web segments is.
  • the timing and the rate-limitations must speeds and accelerations of the axes taken into account in the ⁇ the here beschrie ⁇ surrounded method for the treatment of moving workpieces.
  • the state space within which the search (obi ⁇ gen) known processes, limited by taken into ⁇ into account that only a ⁇ be restricted further change in the position and velocity of every state is possible.
  • the state (Po ⁇ sition and speed) of each axis is updated until the time of the next waypoint i + 1 of the maximum negative or for the limiting cases for each waypoint ⁇ i. positive acceleration away from the waypoint i.
  • the state is written in refreshes ⁇ i economic waypoint both extreme cases of movement (maxi ⁇ male acceleration) to the state at the waypoint prior ⁇ i-1.
  • Permitted states per axis can only lie between the two extreme gradients - ie in the area spanned between minimum and maximum.
  • each change is assigned costs (costs may vary depending on the process, such as is in presence-based cleaning, the position of the tool decisive ⁇ dender than the Speed, when painting is often the compliance of WerkZeug Ober over the surface critical).
  • the exact collision-free motion is scheduled to be ⁇ knew (eg PRM, RRT) methods and simulated.
  • PRM Physical Random Access Memory
  • RRT Radio Resource Management
  • the process for the so accurately predicted movement of the robot is simulated.
  • the result is saved as described in relation to the surface and the proportion of the desired Measured (quality criterion in the target range) uses areas as criteria to be maximized.
  • the optimization is terminated as soon as the result for an order is sufficiently good, the convergence is slowed down or a number of iterations is exceeded.
  • all "states" determined in the previous rapid test sequences with start times of the webs) can be tested, or the loop can be terminated at the first sufficiently good result.
  • the Ur ⁇ thing for the discarding of a plan that is not executable (parts of) is tool paths or areas on the workpiece in de ⁇ NEN the process does not provide acceptable results, one mannge- reports (and the Tool paths which contribute).
  • the planned movement of the robot is discretized (eg at the same time intervals or the same path lengths) and saved as waypoints ("point-to-point", PTP, splines, etc.) including speed, together with the specification for which target position of the conveyor (resp. for wel ⁇ chen desired point in time or for which workpiece position measuring ⁇ bar across the path of the conveyor encoder value) these waypoints are reachable.
  • the output of the program is advantageous in two parts: a) As a list of positions and speeds (the robot axes or the TCP) with the associated target positions of (workpiece or) conveyors, which latter can be denser discretized than for a robot controller for executing necessary and b) a processing program in the form ei ⁇ ner loop which (reading position and velocity ⁇ of the conveyor and depending on the next target position of the robot from the list of (a) the current actual value selected or interpolated and the speed depending on the current speed of the conveyor and the extension ⁇ step of the robot movement with respect to the conveying movement (vorrauseilend, lagging) by known crizeaui- enthalpies (a PID controller in the simplest case) increases, decreases or maintains.
  • the above-described aspect of the invention may thus be generally summarized as a method of controlling a robot to handle or process a moving workpiece with a tool.
  • the robot performs a movement corresponding to a plan defined by a plurality of waypoints.
  • Each waypoint is associated with a desired position of the workpiece, as it TM mentions.
  • the actual position of the workpiece is measured and its speed is determined.
  • the current desired position of the workpiece is calculated from ⁇ dependent extension of the current position of the robot under Verwen- the associated waypoints desired positions of the
  • Workpiece This may for example be achieved by means of In ⁇ terpolation.
  • the difference between the setpoint and actual position of the workpiece is calculated.
  • Dependent on the next-to-reach target position (waypoint) of the robot and the corresponding time (this can be done by pre ⁇ delivery of the path velocity of the tool with which the arrival time set at the waypoint) determines to which this is to be achieved.
  • a waypoint is selected according to the plan, or a point calculated by interpolating between two waypoints of the map such that the actual difference between the target and actual positions of the workpiece at the next waypoint is reduced or minimized.
  • Execution of programs detect sensors information about the movement of the workpiece (position and speed ⁇ speed) of the conveyor. Depending on whether in the execution out of the program approaches the measured conveying movement of the planned upstream or lags the speed values (each position / span) of the program raised or lowered ⁇ the.
  • the next position values temporally unchanged position values can be calculated depending on the instantaneous speed of the conveyor and advance ⁇ eilens, Nachhinkens / interpolated to the calculation at a standstill conveyor, or calculating positions lagging behind in time as planned (when the conveyor moves back ⁇ Windfound).
  • Example 2 In the second example it must be considered that in the automation position or movement deviations of workpiece or robot or deviations / disturbances / Varia ⁇ tions in the parameters of the process (different amounts or adhesion of paint, effectiveness of grinding media, cleaning ⁇ tion effect , Amount or adhesion of the dust) (in the following called parameter variations).
  • the tatsumble ⁇ current values of parameter variations can be partly measured before or during the execution, are the time ⁇ point plan but not known (only the fluctuation ⁇ wide). The problems involved and the general procedure for considering parameter variations in order to generate robust plans for robots have already been discussed above.
  • a first step (as in Example 1), the tool paths (in the workpiece coordinate) without consideration of the parameter variations (ie, for an idealized case) ge ⁇ plant or specified respectively. read a ⁇ from existing programs and converted.
  • the parameter variations defined for example, distribution per dimen sion ⁇ , maximum fluctuation range, confidence interval for each variable parameter, etc.
  • depen ⁇ pendencies and correlations between the variable parameters can be considered.
  • the road ⁇ strategy for the account of the parameter variations is set in the automatic planning.
  • the originally defined (the first step) tool paths ie the off ⁇ gangs Plan
  • the process and the robot movement are simulated, and the respective state will be ⁇ evaluates, in accordance with the proportion of (non-) executable movements and in accordance with the proportion of the surface of the workpiece for as well the process result, bad , colliding (or metric etc.) was simulated.
  • Variant 1 The individual results of simulations of the output plan for each state (combination of parameters ⁇ variation) are superposed so that the (meaning or on the workpiece surface, the position on the tool path.) Locally worse result is better than ⁇ writes , As it were formed the worst case on the Simulati ⁇ tions of the initial plan for all states. This applies to regions of the workpiece in which an inferior valued simulated process result (for a state) all the better overrides, as well as tool paths where non-executable section way for a state "do ⁇ minieren" if the same section in another Simulati ⁇ ons is executable.
  • Option 2 There, the share of the states is evaluated for which the simulation is no sufficiently good result before ⁇ says (the gravity of the problems can be weighted).
  • a criterion for an abort and return to step 1 can in the "variant 2" the proportion of simulated states with insufficient result and in the "variant 1” the An ⁇ part of (after the superimposition of all simulation results) can be used as unusable assessed workpiece surface and / or the proportion of non-executable tool paths.
  • step 3 detailed planning / optimization / validation
  • the tool paths of the output plan are optimized for the found groups and simulated in more detail. According to one embodiment, a distinction is made as to whether the strategy is: "One plan for all states" or "P plans for all states”.
  • egg nem of the method described here is the aktu ⁇ ell to be optimized version of the plan simulates always the same for all or more different (random and increase in number ⁇ en) states (the fault / parameter variation) and the results superimposed such that (local) do not need ⁇ bare process results overwrite (eg paint application too low in a certain surface area) useful process results for other states, so as to determine the worst case.
  • all the discrete states of the space of parameter variations are virtually arranged in a single group.
  • the groups of states formed during the rapid test are successively worked from ⁇ and optimized a separate plan for each group for the strategy "P plans for all states.” This can be done either for all tested states of a group as for the strategy "one plan for all states” (see above).
  • the current group can be simulated to ⁇ next for each state whether a previously optimized schedule (for a state of the same group or optimized for a different Grup ⁇ pe plan) provides an adequate simulation results (within predeterminable tolerances). This is the
  • the refreshes ⁇ ell tested condition is associated with the tested plan, without that the plan is changed.
  • the first matching plan will be used, or can the be used with the best rating from all plans.
  • each group of output ⁇ plan optimized only for a state of the group and then checks whether this plan to all other states of the suitable group. Those states for which the plan is ungeeig ⁇ net, are classified in a new group. Al Alternatively, prior to optimizing a plan for a state of a group, it may be attempted to determine if a plan already optimized for another group is appropriate. If so, the respective groups can be summarized. At the end of each Grup ⁇ pe states a modified plan remains.
  • the detailed planning or Optimization algorithms according to the prior art vary the tool paths in relation to Workpiece (in particular to the workpiece surface such that the proportion of the relevant workpiece surface, in which the quality criteria are met, is maximized.)
  • the web segments of a tool path are thus moved relative to the workpiece surface, tilted, slightly raised, etc, to improve the process result.
  • "gaps” or "flaws” are weighted more heavily so that the ⁇ se preferably closed resp. are eliminated and together ⁇ continuous regions are obtained which fulfill the quality criteria.
  • an executable robot movement sought / planned for each tool ⁇ web (and their connection) an executable robot movement sought / planned.
  • Tool paths which are wholly or partially not executable can additionally be assessed with a Maluswert or merely provide no contribution to Simulati ⁇ onsucc.
  • the duration of the movement (that is required by the Ro ⁇ boter for executing the processing time) may be another criterion of optimization. Be saved as a new group condition and op ⁇ timierter plan. Later examined states that can be covered by the same plan are assigned to the group
  • the loop is continued until a plan exists for each group, ie the entire defined state space of the parameter meter variation is covered, or canceled if there is no plan can be found for ei ⁇ nen state, or the number of groups the allowed number exceeds on plans.
  • the loop can be canceled once for egg nen state, no solution has been found (back for the determina ⁇ tion of a new, improved output plan ⁇ or only the states for which no solution has been found to be stored between ⁇ and following a new initial plan is created only for those states while retaining the found solutions.
  • Pro ⁇ sensors detect the information concerning the tat ⁇ extraneous parameter variations (or at least a portion the same), in this case the actual values of the individual (measurable) faults (eg positional deviation in X, Y, Z, etc.). Then, the group is selected, which contains these concrete stanchions Stö ⁇ / parameter variations, and uploaded the group assigned to this program to the controller.
  • the stored plan for the measured state can be optimized as described in the above optimization step.
  • an idealized application is first planned (or programmed ) .
  • ⁇ de programs may also exist are read and converted (step I). Only then automates the additional through dynamic (workpiece movement) or disorders considered conditional additional Kom ⁇ complexity / dimension, and it generates the plans and programs that set one of these more complex cases are zbar.
  • step II is looking for a rapid test for the "Planning" to "Start solutions” or cases (above as a state in the state space the parity rametervariat ion or. in the state space of possible BEWE ⁇ diffraction pattern hereinafter).
  • step III From found plans one or more programs are put together
  • Fig. 4 shows in particular:
  • Robot application without considering the zusharmli ⁇ chen complexity (1.1). Plexity in preparation for later Be ⁇ action in addition to be taken into account complexity / dimension (metric) entered information about the ⁇ se or retrieved (1.2.) And the "Strate ⁇ gie" (movement patterns of the robot base or more plans for several groups of states ) for their treatment in later planning. read in (1.3.).
  • Interface for reading / entering information about the additional dimension e.g. Description of the movement of the workpiece over time (in the following case A) resp. the width and distribution of the individual fluctuations / disturbances, e.g. Positional error in directions of a coordinate system (in the following case B).
  • Start times of the paths defined in the fine ⁇ planning are checked in detail and optimized. While this determination may be also provided fixed ⁇ if no sequence can be found or if the remaining time the buffer (time interval between the time of execution of the tool path and time slot) are smaller than a minimum threshold for the given order, and thus (in the detailed scheduling III ) advertising can that (against even small time Stö ⁇ conclusions eg fluctuations in the speed of the För ⁇ derers) are not robust best plans found. In this case, step I is returned to changing the initial tool paths (the initial plan) or the strategy.
  • B (to be considered Parametervaria ⁇ functions) is the plan of step I for Various simulated to ⁇ objects (combinations of specific interference / ⁇ parameter variation). All (discretized) disturbances for which the simulation of the originally planned (in I) plan will yield a satisfactory result, are grouped together as a "case" and stored along with this initial plan.
  • step III Un ⁇ terschreitet the percentage of problem areas (proportion of the length of the entire tracks and content of the workpiece to be machined (surface volume)) a lower threshold, it can be assumed that it will be possible with only a single consecutive To be optimized plan and thus a single robot program all those (similar) disturbances to take into account (possibly with little restrictions), and in step III will proceed accordingly. If the percentage is higher, but the proposed strategy is just a program, go back to step I. If the percentage exceeds a selectable upper limit
  • Threshold also the initial plan is discarded and returned to step I. Ize determine discrete to be tested states sparse to ⁇ additional dimension to their defined "expansion" discreet.
  • Case A Automatic determination of the workpiece-robot-base transformations to be tested, which reflects the movement of the workpiece on the robot (with or without 7-axis).
  • Case B Automatic setting of the states to be tested (eg (2 + 1) N or (2) N or 2 * N + 1, see Fig. 2) representing the combined N single disturbances.
  • Case A He ⁇ averaging the executability of each individual tool ⁇ track for each offset (from II .1).
  • Case A Determined ⁇ development of the practicability of each path for each offset (from II .1). Determination of Offset - "windows" for which each path is individually executable. Determination of sequences and start times of the paths, so that these - executed at target speed - je ⁇ Weils are completely within their "window", ie executed. Rate whether return to Step I needed.
  • Case B Summary of conditions (from II .1) with a similar simulation result in groups for which, in step III respectively, a plan is to be generated ⁇ riert. Evaluate if you need to return to step I.
  • Window (amount of sampled positions, I I, c) for which the respective lane is executable according to a simple test.
  • Tool paths is suitable for the selected strategy: transfer of the initial tool paths (11. c) and (case A) sequences, start times, etc. or (case B) grouping of states according to result. II. F. otherwise return.
  • Plan for all ", or for each tested condition of the current group will only be simulated if a previously op ⁇ timierter Plan (the same group or a different set of optimized plan) i- a sufficient Simulat onsucc provides If so, it is.
  • IV.1 module to convert plans into executable Robo ⁇ terprogramme with additional information and storing.
  • Case A Sensorielle detecting the dimension ⁇ conveying motion (position and speed) and execution of the program according to the travel progress of the För ⁇ derers.
  • Case B Sensorielle detecting the actual value of the Stö ⁇ tion (s) and selection of the appropriate group.
  • V.3 selection or execution of the program according to interpre ⁇ oriented sensor data V.3 selection or execution of the program according to interpre ⁇ oriented sensor data.
  • FIG. 5 shows particularly detailed description of a handover ⁇ / planning before into account the additional complexity Kom ⁇ / dimension (overview: Fig .4).
  • I. a information about the workpiece (usually CAD and additional information such as the marker to be processed FLAE ⁇ surface of the workpiece)
  • Robot programs generated in OLP
  • FIG. 6 shows in detail: Planning / definition excluding the zuslegili ⁇ chen dimension / complexity is described in Fig. 4 and in detail in FIG. 5; 11. Automatic analysis of the impact d. additional di ⁇ mension and on development;
  • Workpieces for the waypoints / tool paths are kollisi ⁇ onsok reachable or executable; 11.3. Simulation of the accessibility / feasibility of the path ⁇ points (the tool paths);
  • the time for movement between toolpaths can come from a default setting, estimate or determination (just like in II .6); 11.6. Optimizing the start time of the toolpaths (and, if necessary, their path velocity). Entwe ⁇ which the distance at the latest possible point in time (that is, a buffer is maximized is built up of the delays in the r ⁇ boteronia tolerated ⁇ or distance at the earliest and the latest possible time (ie, the buffer is sym ⁇ metric);
  • FIG. 7 shows in detail the automatic analysis of the states and preparation / division into groups for the planning in FIG.
  • I I .5 can and I I .2. b can be pulled together in order to be able to process the grinding process early. )
  • Figure 8 relates to the step III for the case to be taken into ⁇ Dannenden workpiece moving, the automatic Feinpla- ubens- / optimization / VaIidtechniks Colour and shows insbesonde ⁇ re: 111.1. a (and 111.1. b ⁇ loop and review all gefun ⁇ the sequences, termination after all, or optionally after first sufficiently good sequence (over threshold), 111.2. adaptation of the tool paths to limited Accelerati ⁇ supply and speed of each axis by modification the waypoints,
  • Figure 9 relates to the step III for the case to be taken into ⁇ radienden parameter variations, the automatic Feinpla- ubens- / optimization / VaIid michs Colour and shows the strategy for "A plan for all" in particular:
  • FIG. 10 relates to step III in the case of the parameter variations to be taken into consideration, the automatic fine-tuning / optimization / planning step, and shows, in particular, for the strategy "one plan for all":
  • III .2. b loop end Storing the tested state into an existing group or formation of a new group. Return if not sufficiently densely scanned or further. If the number of already be ⁇ groups formed larger than the permitted to count on programs: exit and back to I). Evaluation whether group sufficiently complete here (or in IIa); III .3. a Loop: Call up all the schedules previously formed per group for the state under test and initiate its simulation. Start with the current group (no change of plans here); 111.3. b loop end. Caching and rating the
  • Simulation result for the tested plans (Aus ⁇ feasible, duration, process result, if necessary. Stabili ⁇ ty / distance of collisions). For example: if demolition Si ⁇ mulations feasible for the plan belonging to the group sufficiently well, otherwise test for all plans and
  • Variation (a) and evaluation (b) according to criteria maximization of the proportion of the surface with useful process result, minimization of the execution time or maximization distance of collisions, etc.
  • FIG. 11 shows details of the method sequence from FIG. 4 by step V (On-line execution of a program with ⁇ into account account the workpiece movement).
  • FIG. 11 shows details of the method sequence from FIG. 4 by step V (On-line execution of a program with ⁇ into account account the workpiece movement).
  • FIG. 11 shows details of the method sequence from FIG. 4 by step V (On-line execution of a program with ⁇ into account account the workpiece movement).
  • V .1 sensor for detecting the information about the zuslegili ⁇ che dimensional movement, for example of encoder luckeren;
  • V .4 robot control resp. Robot motion control.
  • V. a. Sensor information about additional dimension e.g.
  • Encoder values V Interpreted information, for example position and BEWE ⁇ transfer speed of the workpiece,
  • V. c Customized program / waypoints (point-to-point, PTP).
  • FIG. 12 shows details of the method sequence from FIG. 4 for step V (on-line execution of a program taking into account the parameter variations).
  • FIG. 12 shows details of the method sequence from FIG. 4 for step V (on-line execution of a program taking into account the parameter variations).
  • FIG. 12 shows details of the method sequence from FIG. 4 for step V (on-line execution of a program taking into account the parameter variations).
  • FIG. 12 shows details of the method sequence from FIG. 4 for step V (on-line execution of a program taking into account the parameter variations).
  • FIG. 12 shows details of the method sequence from FIG. 4 for step V (on-line execution of a program taking into account the parameter variations).
  • V .1 sensor for detecting the information on the addi ⁇ tional dimension.
  • V .2 interpretation of the sensor data e.g. Position deviation of the workpiece or layer thickness application / second
  • V .4 robot control resp. Robot motion control.
  • V. b Interpreted information, e.g. recognized situation (resp.
  • V. c Selected robot program (PTP).
  • Figure 13 shows details in the procedure of the optimization ⁇ annealing step III as shown in FIGS. 8 to 10 shown.
  • Fig. 13 shows in particular:
  • Robot motion and evaluation (simulation resulting ⁇ nis process)

Abstract

Es wird ein Verfahren zum automatisierten, computergestützten Erzeugen von Arbeitsablaufplänen für die Behandlung oder Bearbeitung eines Werkstücks mit einem Werkzeug durch einen Industrieroboter offenbart. Gemäß einem Beispiel der Erfindung umfasst das Verfahren folgendes: Das Bereitstellen eines Ausgangsplanes umfassend eine Vielzahl von Werkzeugbahnen für ein Werkstück in einer bestimmten Soll-Lage und für bestimmte, die Behandlung bzw. Bearbeitung beeinflussende Prozessparameter, wobei eine Werkzeugbahn die Soll-Bewegung des Werkzeugs entlang des Werkstücks festlegt; Das Definieren eines Zustandsraumes, der variable, die Behandlung bzw. Bearbeitung beeinflussende Parameterwerte beschreibt, wobei jeder Punkt des Raumes eine konkrete Kombination von möglichen Parameterwerten darstellt; Das Diskretisieren des Raumes in einzelne Zustände; Das Simulieren der Behandlung bzw. Bearbeitung des Werkstücks unter Verwendung des Ausgangsplanes für einen oder mehrere diskrete Zustände und Bewerten des simulierten Bearbeitungs- bzw. Behandlungsergebnisses entsprechend einem vorgebbaren Kriterium; und iteratives Modifizieren des Ausgangsplanes, anschließendes Simulieren der Behandlung bzw. Bearbeitung des Werkstücks unter Verwendung des modifizierten Planes für mindestens einen diskreten Zustand und Bewerten des simulierten Bearbeitungs- bzw. Behandlungsergebnisses entsprechend einer vorgebbaren Kostenfunktion.

Description

System und Verfahren zur automatisierten Erstellung von
Roboterprogrammen
Die Erfindung betrifft ein System und ein Verfahren zur auto¬ matisierten Programmierung und Optimierung von robotischen Arbeitsabläufen eines Industrieroboters mit einer Roboter¬ steuerung .
Industrieroboter werden herkömmlich über eine Roboterprogram¬ miersprache programmiert . Das Ergebnis der Programmierung be¬ steht in einem Programm, das die RoboterSteuerung insbesonde¬ re hinsichtlich der Bewegungen des spezifischen Roboters in¬ struiert . Die Programmierung von Robotern ist ein zeitaufwän¬ diger Prozess . Bei klassischen Programmierverfahren für Robo¬ ter arbeiten "on-line" , d.h. der Roboter "lernt " (durch Auf¬ zeichnung) im Betrieb die gewünschten Bewegungen ( "Teach- in" ) , was voraussetzt, dass der Roboter bereits aufgebaut und ist . Um Zeit zu sparen und den Start der Produktion zu be¬ schleunigen, wurden Verfahren entwickelt , Roboter "off-line" zu programmieren . Herkömmlicherweise wird dies durch eine Off-line-Programmierung (OLP ) mit inkludiertem (alternativ auch mit externem) Simulationswerkzeug bewerkstelligt , das auf einem externen Computer läuft . Die Ausgabe bzw . das Er¬ gebnis der Programmierung ist ein mit Hilfe der Simulation validiertes Roboterprogramm. Wenn die Simulation und die Off¬ line-Programmierung abgeschlossen sind, wird das Roboterpro¬ gramm auf den Steuerrechner (die RoboterSteuerung) des dem realen Roboter übertragen .
Das Off-line-Programmierungs- und Simulationswerkzeug enthält Beschreibungen des Roboters und der RoboterSteuerung, die es zu simulieren versucht . Es besteht eine Notwendigkeit hin¬ sichtlich genauer RoboterSimulationen, die nicht nur die Be- wegung des Roboters reproduzieren, sondern auch die Programm¬ ausführung, ja sogar Systemfehler simuliert , die bei dem rea¬ len Roboter auftreten können . In der Praxis wird versucht , für die Neuinstallation eines Roboters möglichst keine teure Ausrüstung zu binden und ein Anhalten der Produktion zu ver¬ meiden . Auf der Grundlage dieser Notwendigkeit sind in der SimulationsSoftware für die RoboterSimulation zunehmend ge¬ naue Modelle der realen RoboterSteuerungen aufgenommen wor¬ den, was dazu geführt hat , dass so genannte "virtuelle Robo- terSteuerungen" während der Simulation verwendet werden . Eine virtuelle RoboterSteuerung ist eine ausreichend genaue Reprä¬ sentation einer realen RoboterSteuerung, wobei sie nicht nur die Bewegung des Roboters simuliert , sondern auch die Abar¬ beitung des tatsächlichen Roboterprogramms . Die Publikationen WO 03/059582 und DE 11 2008 003 963 T5 beschreiben beispiel¬ hafte Verfahren zum Programmieren eines Industrieroboters mit Hilfe einer virtuellen RoboterSteuerung .
Damit der Industrieroboter seinen Tool-Center-Point (TCP) auf der gewünschten Bahn bewegt , benötigt die RoboterSteuerung also ein geeignetes Roboterprogramm. Konventionell werden für die Steuerung des Industrieroboters alle Freiheitsgrade ex¬ plizit angegeben, entweder durch die Definition aller Achs¬ werte bzw . AchsStellungen des Industrieroboters oder durch die Definition kartesischer TCP-Koordinatenwerte (Positions¬ koordinaten x, y, z , und Winkelkoordinaten (X, ß, γ) plus eventuell die zu verwendende Konfiguration (Ellenbogen oben/unten, etc . } oder die zusätzlicher Achswerte bei Zwi¬ schenpositionen, so dass eindeutig auf die Roboterposition geschlossen werden kann . Die eindeutigen Positionen werden beispielsweise direkt vor Ort mittels Teach-in (was aus den oben erwähnten Gründen oft unerwünscht oder nicht möglich ist ) oder indirekt über die oben erwähnte Offline-Program- mierung bestimmt , welche ebenfalls (manuell oder halbautoma¬ tisch) am Computer mit Hilfe von CAD-Modellen der vom Roboter zu bearbeitenden Werkstücke erfolgt . Normalerweise möchte man keine große Menge von Punkten auf diese Weise definieren, sondern wie z . B . in zahlreichen existierenden Anwendungen nur den Anfangs- und Endpunkt er einzelnen Bahnen des TCP . Die Bewegung auf dieser Bahn wird dann von der SteuerungsVor¬ richtung des Industrieroboters geplant , interpoliert und ab¬ gefahren . Unterschiedliche bekannte Bahnplanungsverfahren für Roboter sind z.B. in den Publikationen DE 60205928 T2 sowie Weihua Sheng et al . : "Automated CAD-guided robot path
planning for spray painting of Compound surfaces" , in : Proc . of the IEEE/RSJ International Conference on Intelligent
Robots and Systems (IROS 2000) , Bd. 3, S . 1918-1923, und Tapio Heikkilä et al . : "Model Based Interactive Path Planning for Surface Following Robot Tasks" , SPIE Proc . Vol. 3208, S . 551-561, 26. Sept . 1997, beschrieben . Nicht ausreichend un¬ terstützt werden von bekannten Methoden insbesondere Anwen¬ dungen mit zusätzlicher Komplexität in Form weiterer Frei¬ heitsgraden oder Variationen (Toleranzen) welche bei der Pro¬ grammierung berücksichtigt werden müssen wie z.B.
(A) aktive Bewegung des Werkstücks , die in dem Roboterpro¬ gramm berücksichtigt werden müssen, wie z.B. wenn berücksich¬ tigt werden muss , dass das Werkstück auf einem Förderer be¬ wegt wird, während der Roboter beispielsweise fest montiert ist , (oder das Werkstück von einem weiteren Roboter oder Ak- tuator (Dreh-Kipp-Tisch, etc . ) positioniert oder bewegt wird) , oder
(B) Störungen, die sich auf das Ergebnis der Bearbeitung des Werkstücks durch den Roboter auswirken und gegen die man sich absichern muss , d.h. es muss ein Programm generiert werden, welches auch in Gegenwart dieser (während der Programmierung in ihrem Wert /Ausmaß unbekannten) Störungen robust ist . Dies ist z.B. der Fall , wenn Störungen oder Abweichungen, bei¬ spielsweise Schwankungen der Werkstückform oder -läge oder Schwankungen anderer Prozessparameter auftreten können .
Diesen Fällen ist gemein, dass zusätzliche Freiheitsgrade oder Varianten eingeführt werden, die mit bekannten Methoden zur Offline-Programmierung von Robotern, wenn überhaupt , nur sehr schwer berücksichtigt werden können .
Die der vorliegenden Erfindung zugrunde liegende Aufgabe be¬ steht also darin, eine Offline-Generierung von "robusten" Ro¬ boterprogrammen zu ermöglichen, welche trotz zum Zeitpunkt der Programmierung unbekannten Variationen des Werkstücks oder von Prozessparametern oder trotz zusätzlicher Freiheits¬ grade wie eine dem Werkstück überlagerte Bewegung zuverlässig und vorhersagbar arbeiten . Diese Aufgabe wird durch das Verfahren gemäß Anspruch 1 ge¬ löst . Beispielhafte Ausgestaltungen und Weiterentwicklungen des Verfahrens sind Gegenstand der Unteransprüche .
Es wird ein System und ein Verfahren zum automatisierten, Computergestützten Erzeugen von Arbeitsablaufplänen für die Behandlung oder Bearbeitung eines Werkstücks mit einem Werk¬ zeug durch einen Industrieroboter offenbart . Gemäß einem Bei¬ spiel der Erfindung umfasst das Verfahren folgendes : Das Be¬ reitstellen eines Ausgangsplanes umfassend eine Vielzahl von Werkzeugbahnen für ein Werkstück in einer bestimmten Soll- Lage und für bestimmte, die Behandlung bzw . Bearbeitung be¬ einflussende Prozessparameter, wobei eine Werkzeugbahn die Soll-Bewegung des Werkzeugs entlang des Werkstücks festlegt ; Das Definieren eines Zustandsraumes , der variable, die Be¬ handlung bzw . Bearbeitung beeinflussende Parameterwerte be¬ schreibt , wobei jeder Punkt des Raumes eine konkrete Kombina¬ tion von möglichen Parameterwerten darstellt ; Das
Diskretisieren des Raumes in einzelne Zustände ; Das Simulie¬ ren der Behandlung bzw . Bearbeitung des Werkstücks unter Ver¬ wendung des Ausgangsplanes für einen oder mehrere diskrete Zustände und Bewerten des simulierten Bearbeitungs- bzw . Be¬ handlungsergebnisses entsprechend einem vorgebbaren Kriteri- um; und iteratives Modifizieren des Ausgangsplanes , anschlie¬ ßendes Simulieren der Behandlung bzw . Bearbeitung des Werk¬ stücks unter Verwendung des modifizierten Planes für mindes¬ tens einen diskreten Zustand und Bewerten des simulierten Be¬ arbeitungs- bzw . Behandlungsergebnisses entsprechend einer vorgebbaren Kostenfunktion . Die Iteration wird solange durch¬ geführt , bis die Kostenfunktion ein Minimum erreicht oder ei¬ nen Schwellwert unterschreitet und somit ein optimierter Plan für den jeweiligen Zustand gefunden ist . Das Verfahren kann weiter aufweisen : Das Zuordnen des opti¬ mierten Planes sowie den bei der Iteration verwendeten Zu¬ stand zu einer ersten Gruppe ; Das Simulieren der Behandlung bzw . Bearbeitung des Werkstücks unter Verwendung des opti¬ mierten Planes für einen weiteren diskreten Zustand und Be- werten des simulierten Bearbeitungs- bzw . Behandlungs¬ ergebnisses entsprechend der vorgebbaren Kostenfunktion; Das Zuordnen des bei der Simulation verwendeten weiteren Zu¬ stand zu der ersten Gruppe, wenn die Kostenfunktion für den weiteren Zustand einen weiteren Schwellwert unterschreitet ; und das Zuordnen des bei der Simulation verwendeten weiteren Zustand zu einer weiteren Gruppe, wenn die Kostenfunktion für den weiteren Zustand den weiteren Schwellwert nicht unter¬ schreitet . Schließlich kann das Iterative Modifizieren des optimierten Planes , und das anschließendes Simulieren der Behandlung bzw. Bearbeitung des Werkstücks unter Verwendung des modifizierten Planes für den weiteren Zustand durchgeführt werden, wobei das simulierte Bearbeitungs- bzw . Behandlungsergebnis ent¬ sprechend der Kostenfunktion bewertet wird . Die Iteration wird solange durchgeführt , bis die Kostenfunktion ein Minimum erreicht oder einen Schwellwert unterschreitet und somit ein weiter optimierter Plan für den weiteren Zustand gefunden ist . Der optimierte Plan sowie der bei der Iteration verwen¬ dete Zustand wird einer ersten Gruppe zugeordnet .
Vor dem iterativen Modifizieren eines Plans für einen konkre- ten Zustand, kann durch Simulation geprüft werden, ob mit ei¬ nem bereits zuvor optimierten Plan für den konkreten Zustand ein Bearbeitungs- bzw . Behandlungsergebnis erzielt wird, für das die Kostenfunktion einen vorgegebenen Schwellwert unter¬ schreitet .
Gemäß einem weiteren Beispiel der Erfindung umfasst das Ver¬ fahren folgendes : Das Bereitstellen eines Ausgangsplanes um¬ fassend eine Vielzahl von Werkzeugbahnen für ein Werkstück in einer bestimmten Soll-Lage und für bestimmte, die Behandlung bzw . Bearbeitung beschreibende Prozessparameter, wobei eine Werkzeugbahn die Soll-Bewegung des Werkzeugs entlang des Werkstücks festlegt ; Das Definieren eines Zustandsraumes , der mögliche Reihenfolgen und Start Zeitpunkte der Werkzeugbahnen des Anfangsplans beschreibt , wobei jeder Punkt des Raumes ei- ne konkrete Reihenfolge mit einem konkreten Start Zeitpunkt beschreibt ; Das Diskretisieren des Raumes in einzelne Zustän¬ de ; Das Simulieren der Behandlung bzw . Bearbeitung des Werk¬ stücks unter Verwendung des Ausgangsplanes für unterschiedli- che diskrete Zustände und Bewerten des simulierten Bearbei¬ tungs- bzw . Behandlungsergebnisses entsprechend einem vorgeb¬ baren Kriterium; und Iteratives Modifizieren des Ausgangspla¬ nes , anschließendes Simulieren - unter Berücksichtigung einer dem Werkstück überlagerten Bewegung - der Behandlung bzw . Be¬ arbeitung des Werkstücks unter Verwendung des modifizierten Planes für mindestens einen diskreten Zustand und Bewerten des simulierten Bearbeitungs- bzw . Behandlungsergebnisses entsprechend einer vorgebbaren Kostenfunktion . Die Iteration wird solange durchgeführt bis die Kostenfunktion ein Minimum erreicht oder einen Schwellwert unterschreitet und somit ein optimierter Plan für den jeweiligen Zustand gefunden ist .
Vor dem iterativen Modifizieren können sämtliche Zustände verworfen werden, für die das mit dem Ausgangsplan simulierte Bearbeitungs- bzw . Behandlungsergebnisses dem vorgebbaren Kriterium nicht genügt .
Es kann zudem ein Bewegungsmusters der Roboterbasis spezifi- ziert werden und dieses Bewegungsmusters bei der Simulation berücksichtigt werden .
Ein Beispiel der Erfindung betrifft auch ein System und ein Verfahren zum Steuern eines Roboters zur Behandlung oder Be- arbeitung eines bewegten Werkstücks mit einem Werkzeug durch einen Industrieroboter entsprechend einem Plan umfassend ei¬ ner Vielzahl von durch Wegpunkte definierten Roboterbewegung, wobei jedem Wegpunkt eine Soll-Position des Werkstücks zuge¬ ordnet ist ; das Verfahren umfasst während des Ausführens ei- ner Roboterbewegung folgendes : Messen der Ist-Position des
Werkstücks und Ermitteln von dessen Geschwindigkeit ; Berech¬ nen einer aktuellen Soll-Position des Werkstücks für die ak¬ tuelle Position des Roboters unter Verwendung der den Weg- punkten zugeordneten Soll-Positionen des Werkstücks , bei¬ spielsweise mit Hilfe von Interpolation; Berechnen der Diffe¬ renz zwischen Soll- und Ist-Position des Werkstücks ; und Be¬ stimmen der nächsten zu erreichenden Soll-Position des Robo¬ ters und des Zeitpunkts , zu dem diese erreicht werden soll , durch Auswahl eines Wegpunktes gemäß dem Plan, oder durch In¬ terpolation zwischen zwei Wegpunkten gemäß Plan, derart , dass die Differenz zwischen Soll- und Ist-Position des Werkstücks verringert oder minimiert wird .
Die Erfindung wird in der Folge anhand von in den Abbildungen dargestellten Beispielen näher erläutert . Die Erfindung be¬ schränkt sich jedoch nicht auf die dargestellten Beispiele . Vielmehr wird Wert darauf gelegt , das der Erfindung zugrunde liegende Prinzip zu erläutern . In den Abbildungen zeigt :
Figur 1 eine Skizze eines Industrieroboters und eines vom
Roboter bearbeiteten Werkstücks mit den vom Roborer auszuführenden Werkzeugbahnen auf/ an der Oberfläche des Werkstücks ;
Figur 2 eine schematische Darstellung des Zustandsraums der n Parametervariationen für n=2 und n=3 ; Figur 3 ein Diagram mit einer Darstellung des Versatzes zwischen Roboter und Werkstück, für die einzelne Wegpunkte der Werkzeugbahnen erreichbar sind;
Figur 4 ein Flowchart mit einem Beispiel des erfindungsge¬ mäßen Verfahrensablaufs ;
Figur 5 Details für den Schritt I I des Verfahrensablaufs aus Fig . 4 ; Figur 6 Details des Verfahrensablaufs aus Fig . 5 für eine erste Alternative (Berücksichtigung der Bewegung eines Werkstücks ) ;
Figur 7 Details des Verfahrensa laufs aus Fig . 5 für eine zweite Alternative (Berücksichtigung vom Parameter¬ variationen) ; Figur 8 Details für den Schritt III des Verfahrensablaufs aus Fig . 4 ;
Figur 9 Details des Verfahrensablaufs aus Fig . 8 für eine erste Alternative (ein Plan für alle Zustände) ;
Figur 10 Details des Verfahrensablaufs aus Fig . 8 für eine erste Alternative (P Pläne für alle Zustände) ;
Figur 11 einen Flowchart des Verfahrensablaufs für Schritt V des Verfahrens aus Fig . 4 (die ON-line Ausführung eines Programms mit Berücksichtigung der zusätzli¬ chen Dimension "Werkstückbewegung") ;
Figur 12 einen Flowchart des Verfahrensablaufs für Schritt V des Verfahrens aus Fig . 4 (die ON-line Ausführung eines Programms mit Berücksichtigung der zusätzli¬ chen Dimension "Parametervariationen") ;
Figur 13 Details des Verfahrensablaufs für Schritt III aus den Fig . 8 bis 10 Links : Bewegungsplanung (links ) und Rechts : Simulation . In den Abbildungen bezeichnen gleiche Bezugs zeichen gleiche oder ähnliche Komponenten mit gleicher bzw. ähnlicher Bedeu¬ tung . Wie eingangs bereits erwähnt unterstützen bekannte Methoden der Bahnplanung und Offline-Roboterprogrammierung nicht aus¬ reichend Anwendungen mit zusätzlicher Komplexität in Form weiterer Freiheitsgraden (z.B. eine dem Werkstück überlagerte Bewegung) oder Variationen (z.B. Toleranzen der Werkstücklage und/ oder von Prozessparameter) welche bei der Programmierung berücksichtigt werden müssen .
Als Beispiele wird in der folgenden Beschreibung auf Anwen¬ dungen Bezug genommen, bei denen die Oberfläche eines Werk- Stücks mit Hilfe eines Roboters behandelt werden soll (z.B. lackiert , gereinigt , poliert , etc . ) . Der erwähnte zusätzliche Freiheitsgrad ergibt sich z.B. dadurch, dass das zu behan¬ delnde Werkstück während der Behandlung durch den Roboter (beispielsweise mit Hilfe eines Förderbandes ) linear bewegt wird . Die erwähnten Variationen bzw . Toleranzen sind z.B. Ab¬ weichungen der Form und/ oder der Lage des Werkstückes von den bei der Erstellung des Roboterprogramms angenommenen Sollwer¬ ten oder Abweichungen von anderen Prozessparametern von den jeweiligen Sollwerten . Derartige Prozessparameter wären bei einer robotergestützten Lackierung z.B. die von einer Sprüh¬ pistole pro Zeit abgegebene Menge an Farbe und/ oder deren Haftungseigenschaft auf der Oberfläche des Werkstücks (davon kann benötigte Sprühwinkel abhängen) , bei einem roboterge¬ stützten Polieren z.B. der vom Roboter auf die zu polierende Oberfläche des Werksstücks ausgeübte Druck während des Polie¬ rens oder die Wechselwirkung zwischen Material und Polierme¬ dium. Allgemein werden unter Prozessparameter alle Parameter verstanden, welche das Arbeitsergebnis des Roboters (also z.B. die Qualität der Lackierung oder der Reinigung, des Po¬ lierens , etc . ) nennenswert beeinflusst .
Bevor das Verfahren zur Erzeugung robuster Roboterprogramme im Einzelnen erläutert wird, wird noch einmal auf die Proble¬ matik der erwähnten zusätzlichen Freiheitsgrade (dem Werk¬ stück überlagerte Bewegung) bzw . der Parametervariationen (Form und Lage des Werkstücks , andere Prozessparameter) ein¬ gegangen .
In der Produktion werden Werkstücke häufig mit automatischen Fördereinrichtungen (z.B. Deckenförderer, Bodenförderer, etc . ) kontinuierlich oder von Arbeitszelle zu Arbeitszelle befördert . Dabei wäre es wünschenswert , wenn das zu bearbei- tende Werkstück für eine Ausführung einer programmierten An¬ wendung/Bearbeitung nicht gestoppt bzw . aus der Förderein¬ richtung ausgeschleust werden müsste, sondern sich mit einer vorgegebenen Geschwindigkeit weiterbewegt . Die Programmierung von nicht trivialen Anwendungen, bei denen sich ein Werkstück bewegt , während die Roboterbasis selbst z.B. fest montiert ist (Line-Tracking) , beinhaltet jedoch eine zusätzliche in der Programmierung zu bewältigende Komplexität .
Bei für sehr einfache Anwendungen bekannten Lösungen gleicht der Roboter-Controller die Bewegung des Werkstücks aus , indem er sein Zielkoordinatensystem (das Koordinatensystem des Werkstücks aus Sicht des Roboters ) mit der Vorschubinformati¬ on des Förderers verschiebt . Da die reine Verschiebung des Koordinatensystems keine Prüfung auf Kollisionen beinhaltet , erfordert dieser Ansatz , dass beim Aufbau der Zelle an sich schon die Kollisionsfreiheit gewährleistet wird . Erreicht kann dies beispielsweise dadurch werden, dass der Roboter so montiert ist , dass er beim Ausführen der Anwendung aus einem freien Bereich, beispielsweise von oben her, gegen das beweg¬ te Werkstück herangeführt wird . Dieses Verfahren eignet sich nicht für Anwendungen, bei denen der Roboter längeren Kontakt zwischen einem Werkzeug und einem Werkstück herstellen soll , insbesondere wenn das Werkzeug über die Werkstückoberfläche bewegt werden soll , oder wenn es sich um ein komplexes Werk¬ stück handelt , da nicht über längere Zeit und eine weitere Bewegung des Werkstücks hinweg vorab sichergestellt werden kann, dass der Roboter (beispielsweise der Ellbogen des Robo- ters ) nicht mit dem Werkstück kollidiert .
Für komplexere Aufgaben, besteht die Möglichkeit zur Bearbei¬ tung bewegter Werkstücke darin, den Roboter (d.h. die Robo¬ terbasis ) auf eine Zusatzachse zu stellen, welche den Roboter über weite oder über kritische Bereiche der Anwendung syn¬ chron mit dem Werkstück bewegt . So entspricht die Anwendung der an einem stehendem Werkstück, mit dem Nachteil zusätzlich erforderlicher Achsen, Kosten, Platz und Wartung . Für die Be¬ arbeitung eines bewegten Werkstücks kann in vielen Fällen ei- ne zusätzliche Achse, die den Roboter entlang der Bewegungs¬ richtung des Werkstücks verschieben kann, nötig sein . Jedoch lassen sich oft bessere Ergebnisse erzielen, wenn der Roboter nicht zwangsläufig mit der selben Geschwindigkeit synchron zum Werkstück bewegt wird . Der asynchrone Fall ist mit her- kömmlichen Methoden der Offline-Roboterprogrammierung jedoch nicht oder nur sehr schwer zu bewerkstelligen .
Neben der (an sich bekannten) Bewegung des Werkstücks sind häufig a-priori unbekannte Parametervariationen zu berück- sichtigen . Das heißt , in der Produktion treten in relevanten Parametern (z.B. Werkstückform und -läge, weitere Prozesspa¬ rameter, bei mobilen Robotern auch die Position und Bewegung des Roboters selbst ) Schwankungen, Variationen und/oder Stö- rungen und somit Abweichungen vom Ideal (d.h. von bekannten Sollwerten) auf, welche, sofern sie jenseits eines tolerier¬ baren Bereichs liegen, die Ausführbarkeit der Anwendung oder die Qualität des Ergebnisses beeinträchtigen können . Das au¬ tomatisiert erzeugte Roboterprogramm soll jedoch möglichst robust sein, d.h. die Ausführung des jeweiligen Roboterpro¬ gramms muss für ein möglichst breites Spektrum an einzelnen oder kombinierten Variationen/ Schwankungen/ Störungen ein Pro¬ zessergebnis liefern das den Qualitätskriterien entspricht . Die Programmierung von Anwendungen, die derartige, zusätzli¬ che Komplexitäten aufweisen, wird, weil unvorhergesehene (de¬ terministische oder statistische) Schwankungen in der Pro¬ grammierung berücksichtigt werden müssen, von bekannten Me¬ thoden der Offline-Programmierung nicht ausreichend unter¬ stützt .
In der Regel wird erst nach der Programmierung, d.h. während eines Betriebs der Anlage durch Tests oder durch Simulation des fertigen Programms , ermittelt bis zu welchen Schwankungen die Anwendung gewünschte Ergebnisse liefert . Diese Toleranzen müssen dann eingehalten werden und sind beispielsweise mit entsprechenden Sensoren zu validieren . Liegen die Werte au¬ ßerhalb der Toleranzen (z.B. liegt die Position des Werk¬ stücks nicht in dem vorgegebenen, "erlaubten" Bereich) wird die Anwendung nicht gestartet . Da mit konventionellen Metho¬ den nur weniger robuste Programme programmiert werden können, und die Programmierung für verschiedene Störungen zeitaufwen¬ dig ist , müssen die Toleranzen mit hohem Aufwand klein gehal¬ ten werden oder ein Abbruch der Anwendung wird häufiger durchgeführt als dies mit robusten Programmen erforderlicher wäre . Vereinfachte Vorplanung
Um der zusätzlichen Komplexität, die aufgrund der Parameter¬ variationen bzw. des zusätzlichen Freiheitsgrads bei der Pro- grammierung des Roboters zu Berücksichtigen ist , sieht ein automatisiertes Verfahren zur Erstellung von Roboterprogram¬ men Folgendes vor . Zunächst erfolgt die Planung der Werkzeug¬ bahnen auf "klassischem Weg" an einem idealisierten Fall , d.h. unter der Annahme dass sämtliche ParameterSchwankungen null sind und Form und Lage des Werkstücks den jeweiligen Sollwerten entsprechen . Des Weiteren wird angenommen, dass das Werkstück still steht . Für diesen Fall stehen dem Fach¬ mann eine Vielzahl von (automatischen und halbautomatischen) Verfahren zur Bahnplanung zur Verfügung . Am Ende dieser Bahn- planung steht ein "Plan" , d.h. eine Festlegung der Soll-
Tra jektorie des TCP (und damit des Werkzeugs ) im Zielkoordi¬ natensystem, was im Normalfall ohne Weiteres in ein Roboter¬ programm umgesetzt werden kann . Diese Situation ist beispiel¬ haft in Fig . 1 dargestellt . Abgebildet sind ein Manipulator 10 mit sechs Freiheitsgraden auf einer ortsfesten Basis 11.
Der TCP 12 hält das Werkzeug (z.B. die Sprühpistole für einen Lackiervorgang) . Auf dem schematisch dargestellten Werkstück 20 sind die geplanten Bahnen 21 dargestellt , welche - als Beispiel - mäanderförmig verbunden sind . Je nach Anwendung kann es auch notwendig sein, die Bahnen immer in der gleichen Richtung zu durchfahren .
Die Gesamtheit der geplanten Bahnen stellt einen Plan dar, der als Ausgangspunkt für die folgenden Schritte dient . Diese Daten können auch einem bereits existierenden Roboterprogramm entnommen werden, wobei das Programm in Werkzeugbahnen 21 in Werkstückkoordinaten umgerechnet wird . Die Berücksichtigung zusätzlicher Komplexität (überlagerte Bewegung des Werk- Stücks , Parametervariationen) erfolgt dann automatisiert wie im folgenden beschrieben .
Vorab-Analyse des Plans / Schnelltest
Für den Fall , dass Variationen der Werkstückform und -läge und andere Parametervariationen berücksichtigt werden sollen, wird der ursprüngliche Plan für verschiedene Kombinationen von Parametervariationen bzw . Störungen simuliert , um zu überprüfen, ob der Plan für den jeweiligen Fall grundsätzlich ausführbar ist (d.h. die Bahn erreichbar und kollisionsfrei) und ob das Prozessergebnis bei der Ausführung dieser Bahnen einem vorgegebenen Qualitätskriterium entspricht (z.B. aus¬ reichender Farbauftrag, genügend Druck beim Polieren, etc . ) . Für die Simulation kann z.B. ein virtueller Roboter mit vir¬ tueller RoboterSteuerung (z.B. "realistic robot Simulation" , RRS oder ähnliches ) verwendet werden . Die erwähnten verschie¬ denen Kombinationen von Parametervariationen werden so ausge¬ wählt , dass der gesamte Bereich möglicher Parametervariatio- nen, und insbesondere die "worst cases " abgedeckt sind . In anderen Worten, der Zustandsraum der Parametervariationen wird diskretisiert . Jeder diskrete Punkt im Zustandsraum wird durch ein n-Tupel mit konkreten Parametervariationen reprä¬ sentiert . In Fig . 2 ist dies für die Variation zweier Parame- ter (n=2 , Fig . 2a) bzw . dreier Parameter (n=3 , Fig . 2b) dar¬ gestellt . Fig . 2a zeigt z.B. als Parametervariationen die Ab¬ weichung der Lage des Werkstücks von der Sollposition in x- und in y-Richtung . Der Koordinatenursprung im Zustandsraum wäre also die ideale Lage (Sollposition) des Werkstücks . Fi- gur 2b zeigt die gleiche Situation für drei Parameter . Im
Allgemeinen ist der Zustandsraum der Parametervariationen n- dimensional . Bei einer Diskretisierung des Zustandsraum in einer Weise, dass zusätzlich zur Sollposition nur die Kombi- nat ion von Minima und Maxima betrachtet werden erhält man 3R verschiedene Zustände (Punkte im Zustandsraum der Parameter¬ variationen) . Bei (alternativer oder zusätzlicher) Betrach¬ tung der mittleren Abweichungen ist die Zahl dieser diskreten Zustände 2n . Alternativ können - für eine schnelle Betrach¬ tung - die maximalen Abstände vom Ursprung auf den einzelnen Achsen des Zustandsraumes aufgetragen werden, was inklusive dem Ursprung 2n+l Zustände ergibt . Die konkrete Weise der Diskret isierung des Zustandsraumes der Parametervariationen spielt jedoch keine Rolle, wesentlich ist nur, dass die inte¬ ressierenden Bereiche des Zustandsraumes der Parametervaria¬ tionen hinreichend "abgetastet" werden, sodass die "Abtas¬ tung" des interessierenden Zustandsraumes alle möglichen Kom¬ binationen von Variationen der einzelnen Parameter berück- sieht igt . Die oben erwähnte Überprüfung (als "Schnelltest " bezeichnet ) des ursprünglichen Plans wird für jeden diskreten Zustand von Parametervariationen vorgenommen . Für jeden Zu¬ stand wird in dem Schnelltest überprüft , ob der ursprüngliche Plan ausführbar ist (erreichbar und kollisionsfrei) und in welchen Bereichen der geplanten Bahnen und/ oder des bearbei¬ teten Werkstücks das Prozessergebnis einem vorab definierten Gütekrit ierium (z.B. Anpressdruck beim Polieren in einem de¬ finierten Bereich, Farbauftrag im Bereich einer Sollstärke, etc . ) entspricht .
Auch in dem Fall , dass eine dem Werkstück überlagerte Bewe¬ gung berücksichtigt werden soll , wird der ursprüngliche Plan für verschiedene "Zustände" simuliert , um zu überprüfen, ob der Plan für den jeweiligen Fall grundsätzlich ausführbar ist (d.h. die Bahn erreichbar und kollisionsfrei) und ob das Pro¬ zessergebnis entlang den Bahnen einem vorgegebenen Qualitäts¬ kriterium entspricht (z.B. ausreichender Farbauftrag, genü¬ gend Druck beim Polieren, etc . ) . In diesem Fall , ist ein Zu- stand nicht ein konkreter Satz (n-Tupel ) von Parameterabwei¬ chungen, sondern eine konkrete Reihenfolge von Bahnen sowie ein damit assoziierter Start Zeitpunkt der Bearbeitung und ggf . eine bestimmte vorgegebene überlagerte Bewegung der Ro- boterbasis (sofern vorgesehen) . Diese Situation ist in Fig . 3 verdeutlicht . Die gerade Linie zeigt den (bei konstanter Re¬ lativgeschwindigkeit zwischen Werkstück und Roboterbasis ) li¬ near ansteigenden Versatz zwischen Werksstück und Roboterba¬ sis an . Des Weiteren sind für jede Werkzeugbahn (Ziffer 21 in Fig . 1 ) eingezeichnet , für welchen Versatz die einzelnen
(aufeinanderfolgenden) Punkte (vertikale Linien) der jeweili¬ gen Bahn für den Roboter kollisionsfrei erreichbar ist . Unter der Annahme einer konstanten Relativgeschwindigkeit können z.B. die Steigung der Geraden (entspricht der Geschwindig- keit) , der Offset der Geraden (entspricht den Anfangsversat z ) sowie die Reihenfolge und dazugehörige Start Zeitpunkt (und, sofern vom Prozess erlaubt , die Ausführungsriehtung) der Bah¬ nen angepasst werden . Ein " Zustand" entspricht z.B. einer konkreten Kombination aus Steigung, Offset und Bahnreihenfol- ge mit dazugehörigen Start Zeitpunkten . Ein Zustand, bei dem sämtliche vertikalen Linien von der Geraden geschnitten wer¬ den, ist insofern in Ordnung, als alle Bahnen grundsätzlich erreichbar sind . Dies ist für eine beliebige Anzahl von Zu¬ ständen im Schnelltest überprüfbar . Für jeden Zustand kann zudem ermittelt werden in welchen Bereichen ein vordefinier¬ tes Qualitätskriterium eingehalten wird und in welchen nicht . Für den Fall , dass eine bewegliche Roboterbasis stückweise synchron mit dem Förderer bewegt wird, kann die Gerade auch die Form einer Sägezahnkurve annähern . Bei freier Wahl der (linearen) Bewegung der Roboterbasis , kann der Zusammenhang zwischen Versatz und Zeit statt einer Geraden eine weitgehend beliebige (aufgrund von Geschwindigkeits- und Beschleuni¬ gungsgrenzen in Steigung und Krümmung begrenzte) Funktion der Zeit sein . Ist der Roboter fest montiert , so ist die Steigung der Geraden durch die Förderbewegung vorgegeben, welche aber in der Regel vorgegeben ist und nicht geändert werden kann . Die beiden ersten Schritte des beschriebenen beispielhaften Verfahrens können also wie folgt zusammengefasst werden . Ers¬ tens : es wird ein Plan eines Arbeitslaufes am Werkstück be¬ reitgestellt . Dieser Plan umfasst die Bahndaten des Werkzeugs im Zielkoordinatensystem (des Werkstücks ) und kann z.B. einem auf herkömmliche Weise geplanten Roboterprogramm entnommen werden, wobei bei der Programmierung keine Parametervariatio¬ nen oder zusätzliche Freiheitsgrade des Werkstücks berück¬ sichtigt werden . In diesem Schritt wird auch definiert , ob und wie eine zusätzliche Achse die Roboterbasis bewegt . Zwei- tens : es wird der Zustandsraum festgelegt , der entweder (bei Störungen/Toleranzen) die berücksichtigenden Parametervaria¬ tionen oder (bei bewegtem Werkstück) die Reihenfolge und die dazugehörigen Startzeiten der Werkzeugbahnen und den Start¬ zeitpunkt (bzw . den Startversatz zwischen Roboterbasis und Werkstück) repräsentiert . Nach der Diskretisierung werden die einzelnen Zustände einem Schnelltest unterzogen, in dem über¬ prüft wird, ob - für den jeweiligen Zustand - der im ersten Schritt vorgegebene Plan grundsätzlich ausführbar (d.h. alle Bahnen erreichbar) ist und ob (und an welchen Stellen des Werkstückes ) das Arbeitsergebnis vorgegebenen Qualitätskrite¬ rien entspricht oder nicht .
Zustände, für die eine bestimmte Anzahl oder ein bestimmter Anteil (in Prozent ) von Bahnen nicht (oder nicht hinreichend vollständig) erreichbar bzw . ausführbar ist , oder für die das Arbeitsergebnis nicht über einen hinreichend (vordefinierter Schwellwert ) großen Bereich des Werkstücks dem Qualitätskri¬ terium genügt , werden durch diese Bewertung verworfen und im nächsten Schritt nicht weiter behandelt. Bleibt kein oder ( im Falle zu berücksichtigender Parametervariationen) nicht hin¬ reichend viele (mehr als eine minimale Anzahl ) "brauchbare Zustände" übrig, kann gefolgert werden, dass der im ersten Schritt erstellte Plan prinzipiell ungeeignet ist . Die ver¬ bleibenden Zustände definieren den Bereich im ZuStandsräum, für den der im ersten Schritt erstellte Plan grundsätzlich geeignet ist und durch Modifikationen in einen praxistaugli¬ chen Plan übergeführt werden kann . Je nach Ausgestaltung des Verfahrens kann - wenn an dieser Stelle Zustände verworfen werden müssen - das Verfahren auch abgebrochen werden, um im ersten Schritt einen alternativen Anfangsplan zu erstellen . Nach dem Schnelltest können - je nach Ausgestaltung des Ver¬ fahrens - die (verbleibenden, nicht verworfenen) Zustände gruppiert werden . Die Gruppierung wird derart vorgenommen, dass Zustände, bei denen gleichartige Defizite an gleichen Bereichen des Werkstücks auftreten, in die gleiche Gruppe eingeordnet werden . Gleiche Defizite an gleichen Bereichen des Werkstücks bedeutet z.B. im Fall des Polierens der Werk- Stückoberfläche, dass für Zustände, für die z.B. der Anpress¬ druck beim Polieren im Bereich "vorne links " des Werkstücks immer unterschritten wurde . Ähnlich beim Beispiel des Lackie¬ rens : hier kann es z.B. vorkommen, dass in bestimmten Randbe¬ reichen für gewisse Zustände der Farbauftrag zu dick oder zu dünn ist , da z.B. der TCP die Bahn gar nicht , nicht mehr im richtigen Winkel oder nicht mehr mit korrekter Geschwindig¬ keit zur Oberfläche ausführen kann . Auch diese Zustände wür¬ den demnach in eine Gruppe eingeordnet .
Der oben beschriebene Schnelltest bewertet also diskrete Zu- stände . Das Kriterium (die "Messlatte" ) , anhand dessen ent¬ schieden wird, ob der Plan für einen bestimmten Zustand als unbrauchbar verworfen wird, kann je nach Anwendung/ ZielSet¬ zung sehr unterschiedlich sein . Im Fall zu berücksichtigender Parametervariationen können auch noch verhältnismäßig
"schlechte" Ergebnisse (mit starkem Optimierungsbedarf in der nächsten Stufe) akzeptiert werden, bevor der Plan für einen Zustand tatsächlich verworfen wird, wohingegen im Fall der zu berücksichtigenden Werkstückbewegung die Latte deutlich höher angesetzt werden kann (auch wenn dann am Ende nur mehr ein Zustand übrig bleibt ) . Der Unterschied ergibt sich deshalb, da (1.) im Fall zu berücksichtigender Parametervariationen ein Plan in der Regel nie für alle Zustände unmodifi ziert "OK" sein wird, (2.) in der nächsten Stufe auch mehrere Pläne (z.B. für jede definierte Gruppe einer) generiert werden kön¬ nen, und (3.) es im Allgemeinen angestrebt wird, in der nächsten Stufe (dem folgenden Schritt der Feinplanung/Opti¬ mierung/Validierung) für möglichst viele (am besten für alle) Zustände brauchbare Pläne zu generieren . Die Option des "Ab- brechens " dient eher dazu, dass - wenn für zu wenig Zustände ein gutes Ergebnis erzielt werden kann - es häufig zielfüh¬ render ist , ganz von vorne zu beginnen, und den Ausgangs-Plan zu ändern . Im Fall der zu berücksichtigenden Bewegung des Werkstücks genügt theoretisch ein brauchbarer Zustand (d.h. , eine brauchbare Reihenfolge der Bahnen mit Startzeiten, etc . ) , um einen Plan zu genieren . Mehrere Zustände erhöhen die Wahrscheinlichkeit bzw . können nach einem Vergleich unter Umständen ein besseres Ergebnis liefern .
Optimierung und Validierung
In dem oben noch nicht beschriebenen dritten Schritt wird der durch den Schnelltest gestestete und für verschiedene Zustän- de bewertete Plan als " Startlösung" für einen weiteren Opti¬ mierungsschritt herangezogen . Durch die im vorangegangenen Schnelltest vorgenommene Grup¬ pierung ist es häufig möglich, mit einer Optimierung (d.h. mit einem optimierten Plan) , das Ergebnis zu verbessern . Da¬ bei kann das Ziel sein, einen optimierten Plan zu finden, der trotz des Vorhandenseins von Störungen bzw. von Parameterva¬ riationen bzw. trotz Bewegung des Werkstück zufrieden stel¬ lend funktioniert . Im dem Fall , dass mögliche Parametervaria¬ tionen berücksichtigt werden müssen, kann das Ziel auch lau¬ ten, mehrere verschiedene optimierte Pläne für unterschiedli- che Teilbereiche möglicher Parametervariationen/ Störungen zu finden . Beispielsweise kann ein Plan für jede im vorangegan¬ genen Schnelltest definierte Gruppe erzeugt werden . Bei der späteren tatsächlichen Umsetzung des Plans , wird das Werk¬ stück mit Sensoren (z.B. Kameras , Laserscanner, Lichtschnitt- Sensoren, etc . ) vermessen und die "Position" der Abweichungen im Zustandsraum der Parametervariationen ermittelt . Je nach¬ dem, in welchem Teilbereich die Störungen bzw . Parametervari¬ ationen dann tatsächlich liegen, wird der für den betreffen¬ den Bereich optimierte Plan (bzw . das darauf aufbauende Robo- terprogramm) verwendet .
In dem erwähnten Optimierungsschritt wird der gesamte Prozess (also z.B. der vom Roboter durchgeführte Lackier- oder Po¬ liervorgang) im Schnelltest ermittelte " Startlösung" voll- ständig mit Hilfe einer virtuellen RoboterSteuerung simuliert und das Ergebnis , beispielsweise mit Hilfe einer Kostenfunk¬ tion, bewertet . In diese Kostenfunktion fließen unterschied¬ liche Größen (ggf . unterschiedlich gewichtet ) ein z.B. der (prozentuale) Anteil der nicht ausführbaren Bahnen, der An- teil der Werkstückoberfläche, bei dem das oben erwähnte Qua¬ litätskriterium unter- oder überschritten worden ist , das Überschreiten von Beschleunigungsgrenzen etc . Ziel der Opti¬ mierung ist es , diese Kostenfunktion zu minimieren . Um diese Minimierung zu erreichen, kann der Ausgangs-Plan auf ver¬ schiede Weise angepasst werden . Beispielsweise kann die Rei¬ henfolge sowie die zugehörige Startzeit der Bahnen und der Start Zeitpunkt (bzw. der Anfangsversat z zw . Roboterbasis und Werkstück) der Ausführung des Plans geändert werden, es kann die Geschwindigkeit des Werkzeugs entlang der Bahnen ange¬ passt werden, die Lage der Bahnen auf der Werkstückoberfläche kann (in vorgegebenen Grenzen) verändert werden, der Abstand zwischen Werkstück und Werkzeug (z.B. Sprühpistole) sowie die Winkellage des Werkzeugs relativ zur Oberfläche kann ange¬ passt werden . Durch iteratives Anpassen und anschließende Si¬ mulation des Plans , kann so die Kostenfunktion minimiert und ein in diesem Sinne optimaler Plan ermittelt werden . Die er¬ wähnten Optionen zur Modifikation des Plans sind als Beispiel zu verstehen und nicht als abschließende Aufzählung . Auch sind nicht alle aufgezählten Optionen zwingend . Es kann auch z.B. versucht werden nur mit einer Variation der Startzeiten und der Ausführungsgeschwindigkeit der Bahnen einen gültigen modifizierten/optimierten Plan zu erzeugen, ohne die Reihen- folge (die im Schnelltest ermittelt wurde) der Bahnen wieder zu ändern .
Umsetzen in ein Roboterprogramm In einem vierten Schritt werden, nach dem Finden ausreichend guter Pläne, diese Pläne (alle oder ein Teil davon) in ein oder mehrere ausführbare Roboterprogramme übersetzt (Bewegun¬ gen, Schaltpunkte, Signale, Waits etc . ) und zusammen mit der Information über die zusätzlich zu berücksichtigende Komple- xität (z.B. Soll-Bewegungsfortschritt des Förderes für Start und Ende jeder Bahn oder für jeden Wegpunkt innerhalb einer Bahn, oder der Bereich der Störung/Parametervariation für den der jeweilige Plan als ganzes gültig ist und ausgeführt wer¬ den kann) gespeichert .
Beispiele
Das oben beschriebene Verfahren zur Computergestützten auto¬ matisierten (Computergestützten) Erzeugung von optimierten Arbeitsabläufen (Pläne) für Roboter bzw . von entsprechenden Roboterprogrammen bietet den in der Entwicklungsphase Vor- teil , dass der Planungsingenieur, oder das eingesetzte auto¬ matische OLP- oder Planungstool , nur den vereinfachten Fall zu betrachten braucht und die zusätzliche Komplexität (die durch einer dem Werkstück überlagerten Bewegung oder durch die Berücksichtigung von Parametervariationen entsteht ) aus- gehend von dem für den vereinfachten Fall entwickelten Plan automatisiert berücksichtigt wird . Im Folgenden wird das bis¬ her allgemein beschriebene Verfahren noch an - verallgemeinerbaren - Beispiel näher erläutert . Beispiel 1 : Das erste Beispiel behandelt den Fall , dass dem Werkstück eine (vorgegebene) Bewegung überlagert ist . Allge¬ mein kann sich das Werkstück in vorgegebener Weise in N Frei¬ heitsgraden bewegen . Gleichzeitig kann sich die Roboterbasis mit der Zeit (in ebenfalls vorgebbarer Weise) bewegen . Im folgenden Beispiel wird das Werkstück mit einem Linearförde¬ rer (z.B. Fließband, N=l ) bewegt .
In einem ersten Schritt werden die Werkzeugbahnen für die ge¬ wünschte Arbeitsaufgabe des Roboters in an sich bekannter Weise (in Werkstückkoordinaten im Zielkoordinatensystem) ge- plant oder spezifiziert als würde das Werkstück (sowie die Roboterbasis ) ruhen . Alternativ können konventionell gene¬ rierte Roboterprogramme eingelesen werden und in Werkzeugbah¬ nen im Werkstückkoordinatensystem transformiert werden . Unter "konventionell generiert " wird unter anderem verstanden, dass der Programmierung die oben erwähnte Annahme eines ruhenden Werkstücks zugrunde liegt . Die Bewegung des Linearförderers ist meist durch den Produktionsablauf fest vorgegeben und ist meist nicht beeinflussbar. Jedenfalls wird die Bewegung des Förderers in diesem Schritt (ggf . entsprechend den Vorgaben) definiert . Gleichzeitig wird die "Strategie" festgelegt , wie mit dieser zusätzlichen Komplexität , die durch die Bewegung des Werkstücks entsteht , umgegangen wird . Hierzu gibt es in der Praxis im Wesentlichen drei Möglichkeiten : Der Roboter steht erstens auf einer fest positionierten Roboterbasis , zweitens auf (mindestens ) einer Zusatzachse mit fest vorgege¬ benem Bewegungsmuster oder, drittens , auf einer oder mehreren Zusatzachsen mit frei planbarem Bewegungsmuster (optional kann auch ein bevorzugtes Verhalten festgelegt werden, wie z.B. minimale Beschleunigungen, minimaler Weg oder minimale Energie oder Bewegung synchron zur Förderbewegung) . Im drit¬ ten Fall kann diese Bewegung vorerst vorgegeben und im nach¬ folgenden Optimierungsschritt auch modifiziert werden . Ist die Bewegung des Werkstücks vorgegeben und die Bewegung der Roboterbasis definiert , ist damit auch die Relativbewegung zwischen Roboterbasis und Werkstück und somit der (zeitabhän¬ gige) Versatz zwischen Roboterbasis und Werkstück festgelegt . In Folge ( zweiter Schritt , Schnelltest ) wird der Einfluss der zusätzlich zu berücksichtigenden Komplexität (d.h. der dem Werkstück überlagerte Bewegung) auf die Anwendung (d.h. auf die Ausführung des entworfenen Plans ) in einer schnellen Ana¬ lyse ermittelt wie oben bereits erläutert . Der Zustandsraum wird diskretisiert , wobei die diskreten Zustände im vorlie¬ genden Beispiel jeweils eine konkrete Reihenfolge der Werk¬ zeugbahnen und einen konkreten Start Zeitpunkt (Start-Versatz) darstellen . Dabei ist jede einzelne Werkzeugbahn (siehe Fig . 1, Ziffer 21 ) durch so genannte Wegpunkte auf der Werkzeug¬ bahn unterteilt , die die jeweilige Bahn in Bahnsegmente un¬ terteilt . Diese Unterteilung ist fest vorgegeben, kann aber im nachfolgenden Optimierungs schritt ggf . noch geändert wer- den . Eine Bahn ist also durch die Summe ihrer Wegpunkte defi¬ niert . Für jede Werkzeugbahn des zuvor entworfenen Plans (siehe Fig . 1, Ziffer 21 ) wird getestet bzw . simuliert , für welche diskreten (Start-) Versatzwerte einzelne Wegpunkte (oder Segmente) der jeweiligen Werkzeugbahn erreicht werden können . Zur Veranschaulichung kann das Ergebnis als durchge¬ hende oder unterbrochene vertikale Linie auf die (Versatz-) Y-Achse aufgetragenen exemplarisch in Fig . 3 dargestellten Diagrams eingezeichnet werden . Anhand der Soll- Geschwindigkeit des Werkzeugs und der Länge (in 6- dimensionalen Konfigurat ionsräum) der Pfade zwischen zwei be¬ nachbarten Wegpunkte (Abschnitte der jeweiligen Werkzeugbahn) wird ermittelt/geschätzt wie weit diese vertikale Linien (welche erlaubte Verschiebungen repräsentieren) zeitlich ( im Diagram in Fig . 3 in horizontaler Richtung) auseinander lie- gen . Zwischen den letzten und ersten Wegpunkten aufeinander folgender Werkzeugbahnen (siehe Fig . 1, Ziffer 21 ) wird auf der (X-) Zeit-Achse die geschätzte oder simulierte Zeit für die Bewegung des Roboters zwischen den Bahnen als zeitlicher Abstand berücksichtigt . Dieser zeitlicher Abstand repräsen- t iert jene Zeit , die der Roboter nach dem Ende der Ausführung einer Werkzeugbahn benötigt , um die Ausführung der nächsten Werkzeugbahn zu beginnen . Beispielsweise kann eine
Umkonfigurat ion der Ellenbogenkonfiguration des Roboters (vom "Ellbow-up" zum "Ellbow-down" ) zwischen der Ausführung zweier Werkzeugbahnen notwendig sein . Bei Bedarf kann der Roboter zwischen zwei Bahnen auch bis zum Start der Ausführung der nächsten Bahn warten . Die Soll-Geschwindigkeit (bzw . das Be¬ wegungsmuster) des Förderers ergibt ebenfalls eine Kurve über die Zeit in dem Diagram aus Fig. 3. Wie weiter oben bereits erläutert ist diese Kurve bei einer Relativbewegung mit kon¬ stanter Geschwindigkeit eine Gerade die diagonal über die Versatz-Achse und die Zeit-Achse verläuft (siehe Fig . 3 ) .
Auf Basis der simuliert Werte (d.h. auf Basis der simulierten zeitlichen Abstände zwischen den Wegpunkten und den einzelnen Werkzeugbahnen) werden eine oder mehrere günstige (d.h. auf¬ grund eines festgelegten Gütekriteriums als geeignet beur- teilte) Reihenfolgen von Werkzeugbahnen und dazugehörige
Startzeiten wie folgt festgelegt : Durch Variation der Reihen¬ folge und Start Zeitpunkte der Werkzeugpfade (= Werkzeugbah¬ nen) , optional auch ihrer Ausführungsriehtung, werden Anord¬ nungen (Zustände) gesucht , bei denen die Bewegungskurve des Werkstücks (diagonal verlaufende Gerade in Fig . 3 ) die verti¬ kalen Linien der einzelnen Wegpunkte (repräsentieren den er¬ laubten Versatz ) aller Pfade schneidet . Der maximale und mi¬ nimale Versatz , bei denen die Bewegungskurve des Werkstücks die senkrechten Linien (theoretisch mögliche Versatzwerte für den jeweiligen Wegpunkt ) aller Wegpunkte einer Bahn gerade noch schneidet definiert auch ein Zeitfenster (oder Transfor¬ mationsfenster) für die jeweilige Bahn . Innerhalb dieses Fensters kann die jeweilige Werkzeugbahn vom Roboter (gemäß dem Schnelltest ) ausgeführt werden .
Bei der Festlegung der Reihenfolgen und Startzeiten der ein¬ zelnen Werkzeugbahnen kann beispielsweise der Abstand der einzelnen Schnittpunkte der Bewegungskurve des Förderers zu den Endpunkten des in Y-Richtung aufgetragenen erlaubten Ver- satzes (oder zu den Rändern des Zeitfensters ) eines Werkzeug¬ pfades maximiert werden . Alternativ kann auch der Abstand vom spätest möglichen Endzeitpunkt maximiert werden . Im zweiten Fall können Werkzeugbahnen auch verzögert ausgeführt werden, womit die Lösung ausführbar bleibt wenn der Roboter in der (nachfolgenden) vollen dynamischen Simulation (Feinpla¬ nung/Optimierung/Validierung) und der realen Ausführung län¬ ger braucht . Wahlweise können auch die (zeitlichen) Abstände zwischen den einzelnen Werkzeugpfaden maximieren werden (Puf¬ ferzeiten) . Wenn keine ausführbare Reihenfolge gefunden wer¬ den kann oder wenn für die gefundenen Reihenfolge die ver¬ bleibenden Zeitpuffer (zeitlicher Abstand zwischen Ausfüh¬ rungszeitpunkt des Pfades und Zeitfenster) kleiner als eine minimale Schwelle sind, ist kann in der folgenden Feinpla¬ nung/Optimierung mit hoher Wahrscheinlichkeit kein gültiger Plan gefunden werden oder nur Pläne die bei bereits geringen zeitlichen Störungen (z.B. Schwankungen der Geschwindigkeit des Förderers ) nicht robust sind . In dem Fall wird das Ver- fahren abgebrochen und an den Entwickler (oder an das automa¬ tische OLP-Tool ) zurückgemeldet , dass die Strategie (z.B. ei¬ nen Roboter mit fester Basis zu wählen oder das festgelegte Bewegungsmuster der Roboterbasis ) und/oder die zuvor ohne Be¬ rücksichtigung der zusätzlichen Komplexität festgelegten Werkzeugpfade nicht realisierbar sind . Danach muss ein neuer bzw . modifizierter Ausgang-Plan entworfen werden, und/oder die Bewegung der Roboterbasis angepasst werden, worauf das automatisierte Verfahren erneut gestartet wird . In einer vor¬ teilhaften Ausgestaltung werden die bestmöglichen Reihenfol- gen inklusive der als kritisch / nicht planbar analysierten
Pfade zur Unterstützung der manuellen Neuplanung/Modifikation angezeigt .
Die im ersten Schritt initial geplanten Werkzeugbahnen (der "Ausgangs-Plan" ) und ihre im zweiten Schritt (Schnelltest ) gefundenen geeigneten Zustände (Reihenfolge und Start Zeitpunk¬ te) werden im folgenden, nun erläuterten Optimierungsschritt (nacheinander, in einer Schleife) verfeinert , optimiert und bewertet. Dabei werden die genauen Roboterbewegungen für jede einzelne Bahn sowie die Zwischenbewegungen zwischen diesen mit dem dynamischen Robotermodell (berücksichtigt begrenzte Beschleunigung, Geschwindigkeit ) in der sich aufgrund der gleichzeitigen Werkstückbewegung zeitlich verändernden Ar¬ beitszelle mit Hilfe eines virtuellen Roboters mit virtueller RoboterSteuerung simuliert . Bei der Optimierung werden (nach an sich bekannten Algorithmen) dabei die Start Zeitpunkte und die Ausführungsgeschwindigkeit einer den Werkzeugbahnen ent- sprechenden Bewegung (inklusive der Zeiten zwischen der Aus¬ führung der einzelnen Bahnen) , sowie in geringem (definierba¬ ren) Maße die auszuführenden Bahnen selbst verändert mit dem Ziel , die in bei der Simulation erhaltenen (geschätzten) Wer¬ te für die folgenden Kriterien zu maximieren : die Länge (in Prozent ) der ausführbaren Werkzeugpfade und/oder der Anteil der Oberfläche des Werkstücks , bei dem die ProzessSimulation für die (präzise simulierten) ausgeführten Werkzeugpfade gute Prozessergebnisse (weder zu viel/wenig Abtrag, noch Parame¬ terüberschreitung wie z.B. Anpressdruck.. ) ergibt . Dabei wird bei der ProzessSimulation das jeweilige Ergebnis für einen optimierten Plan (z.B. ReinigungsWirkung beim Reinigen : ge¬ reinigt , nicht gereinigt , unsicher, etc . ) im Zusammenhang mit der OberflächenbeSchreibung (z.B. CAD-Daten) des Werkstücks gespeichert . In einer Ausführungsbeispiel des Verfahrens wer- den durch die Planung- oder Optimierungsalgorithmen die Posi¬ tionen des Werkzeuges (und damit des Roboters in Bezug zur Oberfläche) so verändert , dass der Anteil der relevanten Werkstückoberfläche bei denen die Qualitätskriterien einge¬ halten werden maximiert wird . "Lücken" oder "Fehlstellen" (z.B. beim Lackieren, Polieren, etc . ) werden stärker gewich¬ tet , so dass diese bevorzugt geschlossen werden und zusammen¬ hängende Regionen erreicht werden . Verworfene Bewegungen (d.h. Bahnen und/oder einzelne Bahnsegmente) können mit einem (sich auf die Maßzahl, die das Prozessergebnis bewertet , aus¬ wirkenden) Maluswert oder nur über ihren negativen Einfluss auf das Prozessergebnis bewertet werden . Als weiteres Opti¬ mierungskriterium kann vorgegeben werden, die Zykluszeit (d.h. die gesamte für den Prozess vom Roboter benötigte Ar¬ beitszeit ) beizubehalten, unter einer maximalen Zeit zu hal¬ ten oder weiter zu minimieren . Ganz allgemein sei festgehal¬ ten, dass jede Minimierung einer Kostenfunkt ion identisch ist zu einer Maximierung einer zur Kostenfunkt ion komplementären Nut zenfunkt ion . Wird die Kostenfunkt ion minimiert wird auto¬ matisch die komplementäre Nut zenfunkt ion maximiert .
Aus den Werkzeugpfaden wird über die inverse Kinematik für alle geplanten Wegpunkte für jede Roboterachse deren Soll- Position und Sollgeschwindigkeit für einen Soll-Zeitpunkt be¬ rechnet . Die Bewegungsplanung basiert beispielsweise auf probabilist ischen Methoden (z.B. "Rapidly Exploring Random Trees" , RRT, oder "Probabilistic Road Maps " , PPM, oder ande¬ re) welche im Zustandsraum (z.B. Gelenkwinkel und deren Ge- schwindigkeiten und die Zeit ) nach Verbindungen von Start und Endpositionen suchen, wobei ein Wegpunkt Start- bzw . End- Punkt für verbundene Bahnsegmente ist . In dem hier beschrie¬ benen Verfahren zur Behandlung von bewegten Werkstücken muss jedoch das Zeitverhalten und die Beschränkungen von Geschwin- digkeiten und Beschleunigungen der Achsen berücksichtigt wer¬ den . Dazu wird der Zustandsraum, innerhalb welchem die (obi¬ gen) bekannten Verfahren suchen, beschränkt , indem berück¬ sichtigt wird, dass von jedem Zustand aus nur eine einge¬ schränkte weitere Änderung der Position und Geschwindigkeit möglich ist . Dazu wird für jeden Wegpunkt i der Zustand (Po¬ sition und Geschwindigkeit ) jeder Achse fortgeschrieben bis zum Zeitpunkt des nächsten Wegpunktes i+1 für die begrenzen¬ den Fälle der maximal negativen bzw . positiven Beschleunigung von dem Wegpunkt i weg. Zusätzlich wird vom Zustand im aktu¬ ellen Wegpunkt i die beide extremen Fälle der Bewegung (maxi¬ male Beschleunigung) bis zu dem Zustand am Wegpunkt i-1 vor¬ geschrieben . Erlaubte Zustände je Achse können nur zwischen den beiden extremen Verläufen liegen - d.h. in der zwischen Minimum und Maximum aufgespannten Fläche . Nur wenn über den gesamten Abschnitt zwischen zwei Wegpunkten diese Flächen vom Wegpunkt i vorwärts und Wegpunkt i+1 rückwärts ein Überlap¬ pungsbereich existiert ( für alle Achsen) gibt es eine Ände- rung des Zustands der die realen Beschränkungen der Achsen in Beschleunigung und Geschwindigkeit respektiert . Da die fol¬ gende Wegplanung im Zustandsraum (nach bekannten Methoden) Verbindungen nur von Zuständen in diesem Überlappungsbereich suchen darf, wird eine Optimierung nach bekannten Methoden vorangestellt welche a) die Überlappungsfläche maximiert , und b) "Einschnürungen" des Zustandsraumes mit einem Malus belegt (ungültig) . Dazu werden von der Planung die Zustände in Achs¬ position und -Geschwindigkeit und Zeitpunkt des Erreichens modifiziert, wobei jede Veränderung mit Kosten belegt wird (Kosten können je nach Prozess variieren, so ist z.B. bei kontaktbasierter Reinigung die Lage des Werkzeugs entschei¬ dender als die Geschwindigkeit , beim Lackieren ist oft die Einhaltung der WerkZeuggeschwindigkeit über der Oberfläche kritischer) .
In diesem derart eingeschränkten Zustandsraum wird nach be¬ kannten (z.B. PRM, RRT) Methoden die genaue kollisionsfreie Bewegung geplant und simuliert . Bei ausreichender Rechenzeit wird in einem Ausführungsbeispiel des hier beschriebenen Ver- fahrens der Prozess für die so genau vorhergesagte Bewegung des Roboters simuliert . Das Ergebnis wird wie beschrieben in Bezug zur Oberfläche gespeichert und der Anteil der wunschge- maß bearbeiteten (Qualitätskriterium im Sollbereich) Flächen als zu maximierendes Kriterium verwendet .
Die Optimierung wird beendet , sobald das Ergebnis für eine Reihenfolge hinreichend gut ist , die Konvergenz verlangsamt ist oder eine Anzahl an Iterationen überschritten ist . Je nach Realisierung können alle im vorangegangenen Schnelltest ermittelten "Zustände" (Reihenfolgen mit Anfangszeiten der Bahnen) getestet werden oder beim ersten hinreichend gutem Ergebnis die Schleife abgebrochen werden .
Wenn für keine der im Schnelltest vorgeplanten Zustände (Rei¬ henfolgen mit Startzeiten) eine brauchbare Lösung gefunden wurde , wird zurückgegangen zum ersten Schritt und es muss ein neuer Ausgangsplan entworfen werden . Gemäß einem Ausführungs¬ beispiel des hier beschriebenen Verfahrens wird dabei die Ur¬ sache für das Verwerfen eines Plans , d.h. nicht ausführbare (Teile der) Werkzeugbahnen oder Bereiche am Werkstück bei de¬ nen der Prozess nicht akzeptable Ergebnisse liefert , rückge- meldet (und die Werkzeugbahnen welche dazu beitragen) .
Im auf die Feinplanung/Optimierung/Validierung folgenden Schritt werden (auf der tatsächlichen RoboterSteuerung aus¬ führbare) Roboterprogramme generiert und mit Zusat zinformati- on über die zusätzlich Komplexität "Bewegung des Werkstücks " versehen . Dazu wird die geplante Bewegung des Roboters diskretisiert (z.B. in gleichen Zeitabständen oder gleichen Weglängen) und als Wegpunkte ( "Point-to-Point " , PTP, Splines etc . ) inklusive Geschwindigkeit gespeichert , zusammen mit der Angabe für welche Soll-Position des Förderers (bzw . für wel¬ chen Soll-Zeitpunkt oder für welche Werkstückposition, mess¬ bar über den Weg-Encoderwert der Förderers ) diese Wegpunkte zu erreichen sind . In einer statischen Umgebung (Werkstück ruht) wäre es ausreichend, die Bahn festzulegen, d.h. festzu¬ legen, welche Wegpunkte (optional mit welcher Geschwindig¬ keit ) abzufahren sind . Für den hier beschriebenen Fall wird zusätzlich festgelegt , wann der jeweilige Wegpunkt erreicht werden muss . Im Falle eines Förderers mit vollständig deter¬ ministischem Verhalten könnte z.B. festgelegt werden, zu wel¬ chen Zeitpunkt ein Wegpunkt erreicht werden soll . Im Falle eines Förderers mit Schwankungen wird beispielsweise festge¬ legt zu welcher Position des Förderers soll ein Wegpunkt er- reicht sein soll .
Vorteilhaft ist die Ausgabe des Programms in zwei Teilen : a) Als Liste von Positionen und Geschwindigkeiten (der Roboter- Achsen oder des TCP ) mit den zugehörigen Sollpositionen von (Werkstück oder} Förderer, wobei diese letztere dichter diskretisiert sein kann als für ein Robotercontroller für die Ausführung nötig und b) ein Abarbeitungsprogramm in Form ei¬ ner Schleife, welches den aktuellen Ist-Wert (Position und Geschwindigkeit } des Förderers ausliest und abhängig davon die nächste Sollposition des Roboters aus der Liste aus (a) wählt oder interpoliert und die Geschwindigkeit abhängig von der aktuellen Geschwindigkeit des Förderers und dem Fort¬ schritt der Roboterbewegung in Bezug auf die Förderbewegung (vorrauseilend, hinterherhinken) nach bekannten Regelprinzi- pien ( im einfachsten Fall ein PID-Regler) steigert , senkt oder beibehält . Mit Hilfe dieser Realisierung werden (1.) Un¬ genauigkeiten in der Planung der Roboterbewegung (insbesonde¬ re Fehler im Modell der Roboterdynamik und der Steuerung) kompensiert und (2. ) die Robotergeschwindigkeit an möglicher- weise schwankende oder wechselnde Fördergeschwindigkeit ange- passt (selbst bis zu einem vollen Stopp oder einer Rückwärts¬ bewegung des Förderers ) . Die Programme mit Verknüpfung zur (Förder- oder) Werkstückbewegung werden auf den Robotercon- troller geladen oder zwischengespeichert und stehen für die On-1ine-Ausführung bereit .
Der oben beschriebene Aspekt der Erfindung kann also allge- mein als Verfahren zum Steuern eines Roboters zur Behandlung oder Bearbeitung eines bewegten Werkstücks mit einem Werkzeug Zusammengefasst werden . Der Roboter führt dabei eine Bewegung entsprechend einen Plan aus , der durch eine Vielzahl von durch Wegpunkte definiert ist . Jedem Wegpunkt ist , wie er wähnt , eine Soll-Position des Werkstücks zugeordnet . Während des Ausführens einer Roboterbewegung wird die Ist-Position des Werkstücks gemessen und dessen Geschwindigkeit ermittelt . Die aktuelle Soll-Position des Werkstücks wird berechnet ab¬ hängig von der aktuellen Position des Roboters unter Verwen- dung der den Wegpunkten zugeordneten Soll-Positionen des
Werkstücks . Dies kann beispielsweise auch mit Hilfe von In¬ terpolation erreicht werden . Die Differenz zwischen Soll- und Ist-Position des Werkstücks wird berechnet . Davon abhängig wird die nächste zu erreichenden Soll-Position (Wegpunkt ) des Roboters und der dazugehörige Zeitpunkt (das kann durch Vor¬ gabe der Bahngeschwindigkeit des Werkzeugs geschehen, womit der Ankunfts Zeitpunkt am Wegpunkt festgelegt wird) bestimmt , zu dem diese erreicht werden soll . Dazu wird ein Wegpunktes gemäß dem Plan ausgewählt , oder durch Interpolation zwischen zwei Wegpunkten des Plans ein Punkt berechnen, derart , dass die aktuelle Differenz zwischen Soll- und Ist-Position des Werkstücks beim nächsten Wegpunkt verringert oder minimiert wird . Zur der (zeitlich entkoppelten) tatsächlichen On-line-
Ausführung der Programme erfassen Sensoren die Information über die Bewegung des Werkstücks (Position und Geschwindig¬ keit ) des Förderers . Abhängig davon, ob bei der Ausführung des Programms die gemessene Förderbewegung der geplanten vor- rauseilt oder nachhinkt können die Geschwindigkeitswerte (je Position/ Wegstück) des Programms gehoben oder gesenkt wer¬ den . In der beschriebenen vorteilhaften Realisierung der Zweiteilung des Programms mit dichter Diskretisierung der Pfade können zudem die nächste Positionswerte abhängig von der momentanen Geschwindigkeit des Förderers und des Voraus¬ eilens , Nachhinkens neu berechnet/ interpoliert werden, bis hin zur Berechnung zeitlich unveränderter Positionswerte bei stehendem Förderer, oder Berechnung von Positionen die laut Planung zeitlich zurückliegen (wenn der Förderer sich rück¬ wärts bewegt ) .
Beispiel 2 : Im zweiten Beispiel muss berücksichtig werden, dass in der Automation Positions- oder Bewegungsabweichungen von Werkstück oder Roboter oder Abweichungen/ Störungen/Varia¬ tionen bei den Parametern des Prozesses (Abweichende Mengen oder Haftung von Lack, Wirksamkeit von Schleifmedien, Reini¬ gungswirkung, Menge oder Haftung des Staubes ) auftreten kön- nen ( im folgenden Parametervariationen genannt ) . Die tatsäch¬ lichen Werte der Parametervariationen können zum Teil vor oder während der Ausführung gemessen werden, sind zum Zeit¬ punkt der Planung aber nicht bekannt (nur deren Schwankungs¬ breite) . Die diesbezügliche Problematik und das grundsät zli- che Vorgehen zur Berücksichtigung von Parametervariationen, um robuste Pläne für Roboter zu generieren, wurde weiter oben schon diskutiert .
In einem ersten Schritt werden (wie im Beispiel 1 ) die Werk- zeugpfade (in Werkstückkoordinaten) ohne Berücksichtigung der Parametervariationen (d.h. für einen idealisierten Fall ) ge¬ plant oder spezifiziert bzw . aus vorhandenen Programmen ein¬ gelesen und konvertiert . Zudem werden die zu berücksichtigen- den Parametervariationen definiert (z.B. Verteilung je Dimen¬ sion, maximaler Schwankungsbereich, Konfidenz intervall für jeden variablen Parameter, etc . ) . Optional können auch Abhän¬ gigkeiten und Korrelationen zwischen den variablen Parametern berücksichtigt werden . In diesem Schritt wird auch die Stra¬ tegie für die Berücksichtigung der Parametervariationen in der automatischen Planung festgelegt . Letzteres ist z.B., dass (1.) genau ein Programm generiert werden soll (wie im Beispiel 1), welches alle Variationen abdeckt (z.B. wenn kei- ne Sensoren zu deren Messung eingesetzt werden können/ sollen) oder (2. ) genau ein Programm generiert werden soll , welches einen möglichst großen Bereich der Parametervariationen ab¬ deckt oder (3.) mehrere optimierte Programme (obere Grenze definiert ) geniert werden sollen, welche zusammen den gesam- ten Bereich der Parametervariationen abdecken, welche dann zur Ausführungs zeit gemessen werden . Gemäß einem Ausführungs¬ beispiel erfolgt eine Angabe welche einzelne Einflüsse nicht messbar sind, d.h. nicht in verschiedene "Gruppen" unterteilt werden dürfen . Die Gruppierung von verschiedenen Zuständen im Raum der Parametervariationen wurde ebenfalls weiter oben schon angesprochen .
In einem zweiten Schritt (Schnelltest ) wird analog zum voran¬ gegangenen Beispiel 1 der Einfluss der zusätzlich zu berück- sichtigenden Komplexität ( zuvor die Bewegung des Werkstücks , nun die Parametervariationen) auf die Anwendung in einer schnellen Analyse ermittelt . Dazu wird für N zu untersuchende Parameter/Dimensionen (N ist die Anzahl der einzelnen defi¬ nierten variierenden Parameter) deren Schwankungsbreite ein- gegeben und durch Kombination ein N-dimensionaler Zustands- raum definiert , der dann so diskretisiert ( "abgetastet" ) wird, dass eine diskrete Menge von kombinierten Störun¬ gen/Variationen (=Zuständen) vorliegt . Beispiele für die Diskretisierung des Zustandsraumes der Parametervariationen wurden unter Bezugnahme auf Fig . 2 bereits diskutiert . Zu¬ stände die aufgrund von Korrelation oder gegenseitigen Aus¬ schluss einzelner Störungen nicht auftreten können, können gemäß einem Ausführungsbeispiel eliminiert werden .
Danach wird für jeden diskreten Zustand die ursprünglich ( im ersten Schritt ) definierten Werkzeugbahnen (d.h. der Aus¬ gangs-Plan) geprüft . Das heißt , der Prozess und die Roboter- bewegung werden simuliert , und der jeweilige Zustand wird be¬ wertet , gemäß dem Anteil an (nicht-) ausführbaren Bewegungen und gemäß dem Anteil an der Oberfläche des Werkstück, für den das Prozessergebnis als gut , schlecht , kollidierend (oder metrisch etc . ) simuliert wurde .
Alle Zustände für welche obige Simulation des Ausgangs-Plans ein zufrieden stellendes Ergebnis (Maßstab hierfür ist das Erreichen eines vorab definierten Qualitätskritieriums , wie weiter oben bereits diskutiert ) liefert , werden als Gruppe zusammengefasst und zusammen mit diesem Plan gespeichert . Die verbleibenden Zustände werden ebenfalls gruppiert , wobei Zu¬ stände, bei denen (ausschließlieh/überwiegend) gleichartige Probleme in der Roboterbewegung an gleichen Abschnitten der Werkzeugpfade und/oder (gleichartige) Probleme in der Pro- zessqualität (abgespeichert und ausgewertet als Prozessergeb¬ nis über den einzelnen Regionen an der Oberfläche des Werk¬ stücks ) an gleichen Ort am Werkstücks auftreten, ebenfalls jeweils zu einer Gruppe zusammengefasst werden . In dem Anwen¬ dungsfall , bei dem ein Werkstück durch den Roboter lackiert werden soll , werden z.B. jene Zustände von Parametervariatio¬ nen in eine Gruppe eingeordnet , bei denen im gleichen Bereich der Werkstückoberfläche der (in der ProzessSimulation simu¬ lierte) Lackauftrag z.B. zu gering ist . Zur Bewertung der Eignung des Ausgangsplans in Bezug auf die zur Berücksichtigung der Parametervariationen gewählten Stra¬ tegie wird gemäß dem hier beschriebenen Ausführungsbeispiel wie folgt vorgegangen .
Variante 1 : Die Einzelergebnisse Simulationen des Ausgangs- Plans für die einzelnen Zustände (Kombination von Parameter¬ variationen) werden so überlagert , dass das lokal (gemeint ist die Position auf der Werkstückoberfläche bzw . auf der Werkzeugbahn) jeweils schlechtere Ergebnis das bessere über¬ schreibt . Es wird sozusagen der Worst-Case über die Simulati¬ onen des Ausgangs-Plans für alle Zustände gebildet . Dies gilt sowohl für Regionen des Werkstücks bei denen eine schlechter bewertetes simuliertes Prozessergebnis ( für einen Zustand) alle besseren überschreibt , als auch für Werkzeugbahnen bei denen nicht ausführbare Abschnittweise für einen Zustand "do¬ minieren" wenn der selbe Abschnitt in einer anderen Simulati¬ onen ausführbar ist .
Variante 2 : Es wird der Anteil der Zustände ausgewertet für welche die Simulation kein hinreichend gutes Ergebnis vorher¬ sagt (die Schwere des Einzelprobleme kann gewichtet werden) . Als Kriterium für einen Abbruch und Rücksprung zu Schritt 1 (Erstellung des Ausgangs-Plans am vereinfachten Fall ) kann bei der "Variante 2 " der Anteil der simulierten Zustände mit nicht ausreichendem Ergebnis und bei der "Variante 1 " der An¬ teil der (nach der Überlagerung aller Simulationsergebnisse) als nicht brauchbar beurteilten Werkstückoberfläche und/oder der Anteil der nicht ausführbaren Werkzeugpfade herangezogen werden . Unterschreitet dieses Kriterium eine untere Schwelle, so wird davon ausgegangen, dass es der folgenden Feinpla- nung/Optimierung nicht gelingen wi rd, mit nur einem einzigen oder einer begrenzten Anzahl von Plänen ( später umgewandelt in Roboterprogramme) alle Zustände zu berücksichtigen (evtl . mit geringen Einschränkungen) . Ist der Anteil höher als eine wählbare Schwelle so wird der Ausgang-Plan verworfen und es muss ein neuer Ausgangs-Plan entworfen werden (wie im obigen Beispiel 1. Der Schwellwert ist abhängig von der gewählten Strategie und liegt höher bei der Strategie "Ein Plan für al¬ le Zustände" als bei der Strategie "P Pläne für alle Zustän- de" . Alternativ kann bei der Strategie "P Pläne" auch getes¬ tet werden, ob die ermittelte Anzahl der Gruppen kleiner oder gleich der Anzahl P von gewünschten Plänen ist .
Im nächsten Schritt (Schritt 3 , Feinplanung/Optimierung/Vali- dierung) werden die Werkzeugbahnen des Ausgangs-Plans für die gefunden Gruppen optimiert und detaillierter simuliert . Gemäß einem Ausführungsbeispiel wird dabei unterschieden, ob die Strategie lautet : "Ein Plan für alle Zustände" oder "P Pläne für alle Zustände" .
Für die Strategie "Ein Plan für alle Zustände" wird der An¬ fangs-Plan auf Basis bekannter Verfahren modifiziert und op¬ timiert . Als optimal gilt wiederum ein Plan für den eine vor¬ ab definierte Kostenfunktion minimiert wird . In diese Kosten- funktion können einfließen : der Anteil des zu bearbeitenden Werkstücks für den das simulierte Prozessergebnis (abgespei¬ chert mit den dazugehörigen Werkstückoberflächenkoordinaten) außerhalb der erlaubten Toleranzen liegt (ggf . gewichtet mit dem Grad der Abweichung) , die Ausführungs zeit etc . Gemäß ei- nem Beispiel des hier beschriebenen Verfahrens wird die aktu¬ ell zu optimierende Version des Plans immer gleich für alle oder mehrere verschiedene ( zufällige und in Anzahl zunehmen¬ de) Zustände (der Störung/Parametervariation) simuliert und die Ergebnisse derart überlagert , dass (lokal ) nicht brauch¬ bare Prozessergebnisse (z.B. Lackauftrag zu gering in einem bestimmten Oberflächenbereich) brauchbare Prozessergebnisse für andere Zustände überschreiben, um so den Worst-Case zu ermitteln . Bei dieser Strategie sind alle diskreten Zustände des Raums der Parametervariationen praktisch in einer einzige Gruppe eingeordnet .
Für die Strategie "P Pläne für alle Zustände" werden die beim Schnelltest gebildeten Gruppen von Zuständen nacheinander ab¬ gearbeitet und für jede Gruppe ein eigener Plan optimiert . Dies kann entweder für alle getesteten Zustände einer Gruppe so durchgeführt werden wie für die Strategie "ein Plan für alle Zustände" (siehe oben) .
Alternativ kann für jeden Zustand der aktuellen Gruppe zu¬ nächst simuliert werden, ob ein zuvor optimierter Plan ( für einen Zustand derselben Gruppe oder ein für eine andere Grup¬ pe optimierter Plan) ein hinreichendes Simulationsergebnis liefert (innerhalb vorgebbarer Toleranzen) . Dazu wird der
Prozess über alle, gemäß RoboterSimulation ausführbaren, Bah¬ nen des Werkzeugs simuliert und in Bezug auf das Werkstück (z.B. beim Lackieren die Schichtdicke auf der Oberflächenbe- schreibung (z.B. Mesh, CAD-Daten, etc . ) ) überlagert und ge- speichert , wobei auftretende kritische Situationen (Kollisio¬ nen, Überschreitungen von Anpresskräften etc . ) positive Er¬ gebnisse überschreiben (Auf diese Art wird, wie bereits zuvor erläutert , der Worst-Case ermittelt ) . Das Ergebnis der Pro¬ zessSimulation ist z.B. die resultierende Schichtdicke oder die ReinigungsWirkung auf der Beschreibung der Werkstückober¬ fläche . Beim Lackieren sind das z.B. Werten in Mikrometer oder Angaben wie "OK" , "zu dick" , "zu dünn" oder dgl . ) . Beim Reinigen sind das z.B. Angaben wie "gereinigt " , "nicht gerei- nigt " , "unsicher" , etc . Ist der Anteil der relevanten Werk¬ stückoberfläche, bei der die Qualitätskriterien eingehalten werden, im Verhältnis zur Gesamtoberfläche über einer gefor¬ derten Schranke (wobei verschiedene Regionen (z.B. Designkan- ten) oder die Art und Schwere der Überschreitung in der Be¬ wertung verschieden gewichtet werden können) , oder ist der Anteil der verworfenen Pfade klein gernug, so wird der aktu¬ ell getestete Zustand dem getesteten Plan zugeordnet , ohne dass der Plan verändert wird . Je nach Realisierung kann der erste passende Plan verwendet werden, oder es kann aus allen Plänen der mit dem besten Bewertung verwendet werden . Gemäß einem Ausführungsbeispiel wird für jede Gruppe der Ausgangs¬ plan nur für einen Zustand der Gruppe optimiert und dann wird geprüft , ob dieser Plan auch für alle anderen Zustände der Gruppe geeignet ist . Jene Zustände, für die der Plan ungeeig¬ net ist , werden in eine neue Gruppe eingeordnet . Alternativ kann vor der Optimierung eines Plans für einen Zustand einer Gruppe versucht werden, ob ein bereits für eine andere Gruppe optimierter Plan geeignet ist . Wenn ja, können die jeweiligen Gruppen zusammengefasst werden . Am Ende bleibt für jede Grup¬ pe von Zuständen ein modifizierter Plan übrig .
Ist für keinen der bereits gebildeten Pläne das Simulations¬ ergebnis hinreichend, so wird für den aktuell geprüften Zu- stand eine neue Gruppe initiiert , und der Optimierungsprozess (analog zu der Strategie "ein Plan für Alle" ) für den Zustand angestoßen, wobei in einer vorteilhaften Realisierung der (bislang generierte) Plan als Start für die Optimierung/Adap¬ tierung verwendet wird, der zuvor am besten (wenn auch nicht hinreichend) bewertet wurde, oder alternativ der Anfangs-Plan aus dem ersten Schritt . Die Feinplanungs- bzw . Optimierungs- algorithmen gemäß Stand der Technik (z.B. "Particle Swarm Optimizat ion" ) variieren die Werkzeugbahnen in Bezug zum Werkstück (insbesondere zur Werkstückoberfläche derart , dass der Anteil der relevanten Werkstückoberfläche, bei dem die Qualitätskriterien eingehalten werden, maximiert wird . Die Bahnsegmente einer Werkzeugbahn werden also relativ zur Werk- Stückoberfläche verschoben, verkippt , leicht angehoben, etc, um das Prozessergebnis zu verbesserten . Vorzugsweise werden "Lücken" oder "Fehlerstellen" stärker gewichtet , so dass die¬ se bevorzugt geschlossen bzw . beseitigt werden und zusammen¬ hängende Regionen erreicht werden, welche die Qualitätskrite- rien erfüllen . Zudem wird (mit einer Bewegungsplanung wie im Beispiel 1 ) oder nach Stand der Technik) für jede Werkzeug¬ bahn (und deren Verbindung) eine ausführbare Roboterbewegung gesucht/geplant . Werkzeugbahnen welche ganz oder teilweise nicht ausführbar sind können zusätzlich mit einem Maluswert bewertet werden oder lediglich keinen Beitrag zum Simulati¬ onsergebnis liefern . Die Dauer der Bewegung (d.h. die vom Ro¬ boter für die Ausführung der Bearbeitung benötigte Zeit ) kann ein weiteres Kriterium der Optimierung sein . Zustand und op¬ timierter Plan werden als eine neue Gruppe gespeichert . Spä- ter untersuchte Zustände, die mit demselben Plan abgedeckt werden können, werden der Gruppe zugeordnet
In einer alternativen Ausführung werden alle Zustände, für die basierend auf der Gruppierung aus dem Schnelltest kein geeigneter Plan gefunden wurde und für die folglich eine neue Gruppe definiert wurde, oder neu in eine andere (als beim Schnelltest ) Gruppe zugeordnete Zustände für eine Ausnahmebe¬ handlung vorgemerkt , bei der nach Abarbeiten aller Zustände nochmals geprüft wird, ob diese neu gebildeten Gruppen weiter zusammengefasst werden können .
Die Schleife wird weitergeführt bis für jede Gruppe ein Plan existiert , d.h. der gesamte definierte Zustandsraum der Para- metervariationen abgedeckt ist , oder abgebrochen wenn für ei¬ nen Zustand kein Plan gefunden werden kann, oder die Zahl der Gruppen die erlaubte Anzahl an Plänen übersteigt . Je nach Vorgabe kann die Schleife abgebrochen werden, sobald für ei- nen Zustand keine Lösung gefunden wurde ( zurück zur Bestim¬ mung eines neuen, verbesserten Ausgangs-Plans } oder nur die Zustände für die keine Lösung gefunden wurde werden zwischen¬ gespeichert und im Anschluss wird nur für diese Zustände ein neuer Anfangs-Plan erstellt , während die gefundenen Lösungen beibehalten werden .
Idealerweise können (genug Simulationszeit vorausgesetzt) in einer nachgeschalteten Optimierung die Pläne nochmal über al¬ le im Gruppe/Cluster enthaltenen Variationen optimiert werden wie für Strategie 1 ("Ein Plan für Alle" ) beschrieben .
Der oder die Pläne wird oder werden zusammen mit der Zusatz¬ information (hier abgedeckte Zustände = Bereich der Stö¬ rung/Parametervariation, für die der jeweilige Plan gültig ist ) gespeichert .
Im nächsten Schritt werden der oder die Pläne in je ein (auf der Steuerung ausführbares = roboter-spezifisches ) Roboter¬ programm (Liste von Gelenkzuständen, Splines , Signalen etc . ) durch "Abtasten" (Diskretisieren) der geplanten Roboterbewe¬ gung konvertiert und zusammen mit der Zusatz Information über die automatisch berücksichtige Dimension ( im diesem Fall der Bereich der erlaubten Parametervariation, für den der Plan der jeweiligen Gruppe gültig ist ) gespeichert .
Zur der (zeitlich entkoppelten) on-1ine-Ausführung der Pro¬ gramme erfassen Sensoren die Information betreffend die tat¬ sächlichen Parametervariationen (oder zumindest einen Teil derselben) , im vorliegenden Falle die Ist-Werte der einzelnen (messbaren) Störungen (z.B. Lageabweichung in X, Y, Z, etc.) . Dann wird die Gruppe ausgewählt , welche diese konkreten Stö¬ rungen/Parametervariationen beinhaltet , und das dieser Gruppe zugeordneten Programm auf die Steuerung hochgeladen . Optional kann der gespeicherte Plan für den gemessenen Zustand wie im obigen Optimierungs schritt beschrieben optimiert werden .
In der Folge wird das oben Beschriebene noch einmal zusammen- gefasst und vertiefend erläutert anhand der Figuren 4 bis 13. Entsprechend dem der Erfindung zugrunde liegenden Verfahren (Fig . 4 ) wird erst eine idealisierte Anwendung geplant (bzw . programmiert,) . Idealisiert heißt hierbei z.B. (quasi-) sta¬ tisch bzw . ohne Störungen . Alternativ können auch existieren¬ de Programme eingelesen und konvertiert werden (Schritt I ) . Erst danach wird automatisiert die zusätzliche, durch Dynamik (Werkstückbewegung) oder Störungen bedingte zusätzliche Kom¬ plexität/Dimension berücksichtigt , und es werden die Pläne und Programme generiert , die für diese komplexeren Fälle ein- set zbar sind .
Dies geschieht wie folgt : In einer VorVerarbeitung wird der Einfluss der zusätzlichen Komplexität /Dimension (dem Werk¬ stück überlagerte Bewegung, Parametervariationen) auf den ur- sprüngliche Plan bzw . das ursprüngliche Programm simuliert und das Prozessergebnis (Qualität der Lackierung, des Polie¬ rens , etc . ) wird bewertet und ein Schnelltest (Schritt I I ) sucht ein Schnelltest zur "Grobplanung" nach " Start lösungen" oder Fällen (weiter oben als Zustande im Zustandsraum der Pa- rametervariat ionen bzw . im Zustandsraum der möglicher Bewe¬ gungsmuster bezeichnet ) . Diese werden in einer Schleife abge¬ arbeitet und gefundene Lösungen werden optimiert und vali- diert und ggf . zusammengefasst (Schritt III) . Aus gefunden Plänen wird ein oder werden mehrere Programme zusammengefügt
Fig . 4 zeigt insbesondere :
I . Module zur Planung/Definition oder zum Einlesen einer
Roboteranwendung ohne Berücksichtigung der zusätzli¬ chen Komplexität ( 1.1 ) . Vorbereitend zur späteren Be¬ handlung der zusätzlich zu berücksichtigenden Komple- xität /Dimension wird (metrische) Information über die¬ se eingegeben oder eingelesen (1.2.) und die " Strate¬ gie" (Bewegungsmuster der Roboterbasis oder mehrere Pläne für mehrere Gruppen von Zuständen) zu deren Be¬ handlung in der späteren Planung eingeben bzw . einge- lesen (1.3.) .
1.1. Modul zur Planung der Bahnen des Werkzeugs in Werk¬ stückkoordinaten bzw . zum Einlesen existierender Pro¬ gramme und Konvertieren in Werkzeugbahnen in Werk¬ stückkoordinaten .
1.2. Schnittstelle zum Einlesen/Eingeben der Information über die zusätzliche Dimension, z.B. Beschreibung der Bewegung des Werkstücks über die Zeit (in der Folge Fall A) bzw . der Breite und Verteilung der einzelnen Schwankungen/ Störungen, z.B. Lagefehler in Richtungen eines Koordinatensystems (in der Folge Fall B) .
1.3. Schnittstelle zur Bestimmung der zu verwendenden Stra¬ tegie . Im Fall zu berücksichtigender Werkstückbewe¬ gung : Wahl der Roboterbasis , feststehend vs . montiert auf Zusatzachsen (inklusive Festlegung deren Länge, Dynamik und Lage zum Werkstückförderer) .
I I : Schnelltest und Vorauswahl : Modul zur schnellen
(„stichprobenartigen" ) Simulation und Analyse des Ein- flusses der zusätzlichen zu berücksichtigenden Komple¬ xität /Dimension auf die Anwendung . Rückmeldung, dass Strategie und/oder der ohne Berücksichtigung der zu¬ sätzlichen Komplexität in I festgelegte "Plan" nicht realisierbar sind, oder schnelle (ungenaue) Planung zur Festlegung wie diese im Schritt III Planung abge¬ arbeitet werden sollen . In Fall A (dem Werkstück ist eine zusätzliche Bewegung überlagert ) wird simu¬ liert/analysiert, bei welchen Verschiebungen zwischen Werkstück und Roboterbasis die Werkzeugbahnen (laut
Schnelltest ) ausführbar sind (siehe Fig . 3 ) . Aus die¬ sen " Zeitfenstern" / "Korridoren" und aus den über die Sollgeschwindigkeit des Werkzeugs geschätzten Ausfüh¬ rungszeiten der Werkzeugbahnen (siehe Fig . 1 , Ziffer 21 ) werden eine oder mehrere günstige Reihenfolgen und
Startzeiten der Pfade festgelegt welche in der Fein¬ planung (Schritt III) im Detail geprüft und optimiert werden . Während dieser Festlegung kann zugleich fest¬ gestellt werden, wenn keine Reihenfolge gefunden wer- den kann oder wenn für die gefundenen Reihenfolge die verbleibenden Zeitpuffer (zeitlicher Abstand zwischen Ausführungzeitpunkt der Werkzeugbahn und Zeitfenster) kleiner als eine minimale Schwelle sind und daher in der Feinplanung (III) bestenfalls Pläne gefunden wer- den können, die gegen bereits geringe zeitlichen Stö¬ rungen (z.B. Schwankungen der Geschwindigkeit des För¬ derers ) nicht robust sind . In diesem Fall wird zu Schritt I zurückgegangen, um die initialen Werkzeug¬ bahnen (den Anfangs-Plan) oder die Strategie zu än- dern . Im Fall B ( zu berücksichtigende Parametervaria¬ tionen) wird der Plan aus Schritt I für verschiede Zu¬ stände (Kombinationen konkreter Störungen/Parameter¬ variationen) simuliert . Alle (diskretisierten) Störun- gen, für welche die Simulation der ursprünglich (in I ) geplante Plan ein zufriedenstellendes Ergebnis liefert werden als ein "Fall" zusammengefasst (gruppiert ) und zusammen mit diesem Anfang-Plan gespeichert . Allen an- deren Zustände werden zu Fällen gruppiert , wenn (aus¬ schließlich/überwiegend) gleichartige "Probleme " in der Roboterbewegung (Kollisionen oder nicht erreich¬ bar) an gleichen Abschnitten der Werkzeugbahnen und/oder (gleichartige) Probleme in der Prozessquali- tät (abgespeichert und ausgewertet als Prozessergebnis über den einzelnen Regionen an der Oberfläche des Werkstücks oder an Formen, Merkmalen oder Unterbau¬ gruppen des Werkstücks ) an gleichen Ort am Werkstück auftreten . Gleichzeitig werden alle in der Simulation der einzelnen "Zustände" gefundene Prozessprobleme auf dem Werkstück (bei Prozessproblemen) und Bewegungs¬ probleme bei den Bahnen "überlagert " (Problemstellen setzen sich durch, um den Worst-Case zu erhalten) . Un¬ terschreitet der Prozentsatz der Problemstellen (An- teil an der Länge der gesamten Bahnen und Anteil an der zu bearbeitenden Werkstück (Oberfläche, Volumen) ) eine untere Schwelle, kann davon ausgegangen werden, dass es möglich sein wird mit nur einem einzigen in Folge zu optimierenden Plan und damit einem einzigen Roboterprogramm alle jene (gleichartigen) Störungen zu berücksichtigen (evtl . mit geringen Einschränkungen) , und in Schritt III wird demnach verfahren . Ist der Prozentsatz höher, die vorgeschlagene Strategie ist aber nur ein Programm, wird zu Schritt I zurückgegan- gen . Überschreitet der Prozentsatz eine wählbare obere
Schwelle so wird ebenfalls der Anfang-Plan verworfen und nach Schritt I zurückgegangen . Bestimmen diskreter zu testender Zustände, die die zu¬ sätzliche Dimension in ihrer definierten "Ausdehnung" sparse diskret isieren . Fall A: Automatische Ermittlung der zu testenden Transformationen zwischen Werkstück und Roboterbasis , welche die Bewegung des Werkstücks am Roboter (mit oder ohne 7-Aches ) wiedergibt . Fall B : Automatisches Festlegen der zu testenden Zustände (z.B. (2+l)N oder (2) N oder 2*N+1, siehe Fig. 2) welche die kombinierten N Einzel Störungen wiedergeben . Schnelle Simulation des Anfangs-Plans auf Ausführbar¬ keit in Bezug auf die Dimension/ Störung . Fall A : Er¬ mittlung der Ausführbarkeit jeder einzelner Werkzeug¬ bahn für jeden Versatz (aus I I .1 ) . Bestimmung von Ver- satz- "Fenstern" für die jede Bahn einzeln ausführbar ist . Fall B: Simulation (Ausführbarkeit und Prozesser¬ gebnis ) aller Werkzeugbahnen für jeweils einen Zustand ( Störungsfall aus 11.1 ) . In einem Aus führungsbei spiel kann für eine Variation, die sich nicht auf Lage des Werkstücks die oder Genauigkeit des Roboters beziehen
(sondern z.B. verschieden Wirkungsgrade des Werkzeugs ) auf wiederholte Planung/ Simulation der Roboterbewegung verzichtet werden und der Prozess für eine früher ge¬ plante Roboterbewegung simuliert werden . Detaillierte Simulation und Planung, Fall A : Ermitt¬ lung der Ausführbarkeit jeder einzelnen Bahn für jeden Versatz (aus I I .1 ) . Bestimmung von Versatz -"Fenstern" für die jeder Pfad einzeln ausführbar ist . Ermittlung von Reihenfolgen und Start Zeitpunkten der Pfade, so dass diese - mit Soll-Geschwindigkeit ausgeführt - je¬ weils vollständig innerhalb ihres "Fensters " liegen, d.h. ausgeführt werden . Bewerten ob Rücksprung zu Schritt I nötig . Fall B : Zusammenfassung von Zuständen (aus I I .1 ) mit gleichartigem Simulationsergebnis in Gruppen, für die in Schritt III jeweils ein Plan gene¬ riert werden soll . Bewerten ob Rücksprung zu Schritt I nötig .
H.a. Information über die zusätzlich Komplexität /Dimension .
Im Fall A über das Bewegungsprofil (Geschwindigkeit , Schwankungen etc . ) der Förderer, im Fall B über die einzelnen Störungen/Parametervariationen und deren zu berücksichtigenden Schwankungsbreite .
11. b . Aufbereitete Information, wie die zusätzliche Komple¬ xität/Dimension geprüft , diskretisiert (abgetastet) werden soll .
11. c . Plan bzw . Werkzeugbahnen in Werkstückkoordinaten, und ggf . Beschreibung des Bereichs des Werkstücks , für den die Bearbeitung durchgeführt werden soll (oder voll¬ ständige Bearbeitung) .
11. d . Simuliertes Ergebnis der Werkzeugbahnen/des Plans
(II . c) für die Zustände (II .b) . Im Fall A: Bahn und
"Fenster" (Menge der gesampelten Positionen, I I . c) für welche die jeweilige Bahn gemäß einfacher Prüfung ausführbar ist .
I I . e . Auswahl der Strategie, Fall A : z.B. ohne Zusatzsachse, mit Zusatzachse, ggf . mit Information über deren Di¬ rnensionierung (Länge, Lage, Dynamik) . Fall B : "ein Programm für alle möglichen Parametervariationen" , "P Programme für P Gruppen von Parametervariationen" .
11. g . Falls die Evaluierung ergibt , das der Anfangs-Plan
(Werkzeugbahnen) für die gewählte Strategie passend ist : Übergabe der initialen Werkzeugbahnen ( 11. c) und (Fall A) Reihenfolgen, Start Zeitpunkte, etc . oder (Fall B) Gruppierung der Zustände gemäß Ergebnis . II. f. ansonsten Rücksprung. Vorteilhaft inkl. Ergebnisse der Simulation zur Visualisierung/oder Neuplanung .
III: Automatische Detailplanung unter Berücksichtigung der zusätzlichen Dimension . Im Fall A werden die in I I vorgeschlagenen Zustände (Grobpläne, Reihenfolge und Start Zeitpunkte der Pfade) dahingehend optimiert und bewertet , dass jeder einzelne Pfad und die Zwischen¬ bewegungen mit den dynamischen Robotermodell (mit be- grenzten Beschleunigungen und Geschwindigkeiten) in der Zeit geplant und mit der zeitlich veränderlichen Arbeitszelle simuliert werden . Die Optimierung ver¬ ändert dabei Start Zeitpunkte und Ausführungsge¬ schwindigkeit einer Bewegung, sowie geringfügig die ausgeführte Pfade mit dem Ziel den Abstand von den Ro¬ boter-Werkstück Versatz der gerade noch erreichbar ist zu maximieren . Im Fall B wird gemäß einem Ausführungs¬ beispiel unterschieden, ob die Strategie lautet "ein Plan für alle" oder "P Pläne für alle" . Für die Stra- tegie "ein Plan für alle" wird nur der Anfangs-Plan iterativ mit bekannten Verfahren optimiert wobei als Kriterium minimiert werden : Anteil des zu bearbeiten¬ den Werkstücks (i.d.R. als Prozentsatz der zu bearbei¬ tenden Oberfläche) , für den das simulierte Ergebnis (dann abgespeichert auf der Oberfläche) nicht inner¬ halb der erlaubten Toleranzen liegt (bzw . gewichtet , z.B. entsprechend dem Grad der Abweichung) , Ausfüh¬ rungszeit , etc . Im Fall "ein Plan für alle" wird die aktuelle optimierte Version des Plans immer gleich für alle oder mehrerer verschiedene ( zufällige und in An¬ zahl zunehmende) Zustände (der Störungen) simuliert und das Ergebnis "überlagert " , vorteilhaft so überla¬ gert , dass die Störungen die guten Ausführungen über- schreiben. Für die Strategie "P Pläne für alle" werden die in I I gefunden Gruppen nacheinander abgearbeitet und für jede Gruppe ein eigener Plan optimiert . Dies kann entweder für alle getesteten Zustände einer Grup- pe so durchgeführt werden, wie für die Strategie „ein
Plan für alle", oder für jeden getesteten Zustand der aktuellen Gruppe wird erst simuliert , ob ein zuvor op¬ timierter Plan (der selben Gruppe oder für eine andere Gruppe optimierter Plan) ein hinreichendes Simulat i- onsergebnis liefert . Wenn ja, wird es der Gruppe zuge¬ ordnet (ohne dass der Plan verändert würde) , und wenn nein, wird für den einen aktuell geprüften Zustand der Plan iterativ optimiert (d.h. es entsteht ein neuer Plan) so dass die Kosten (simulierte Probleme, Zeit , etc . ) für nur diesen Zustand minimiert werden . Zustand und Plan bilden eine neue Gruppe . In einer vorteilhaf¬ ten Ausführung werden alle neu (anders als ursprüng¬ lich) zugeordneten Zustände und Zustände, für die eine neue Gruppe "aufgemacht" wurde für Ausnahmebehandlung vorgemerkt , bei der nach Abschluss geprüft wird, ob diese weiter zusammenfassbar sind . Vorteilhaft ist , das die getesteten Zustände innerhalb einer Gruppe ab¬ hängig von den Simulationsergebnissen für getestete Zustände der Gruppe gewählt werden, um an/nahe Be- reichsrändern (Gruppenrändern) und kritischen Stellen genauer (dichter) zu testen als an unkritischen . In Fall A und B wird der Plan oder werden die Pläne mit der Zusatz Information (A : Zeit , B : abgedeckter Bereich der Parametervariationen) gespeichert . In beiden Fäl- len ist eine abschließende Bewertung vorteilhaft - ggf . Rücksprung zu I . I I I .1. Schleife über alle initialen Reihenfolgen (Fall A) oder (Fall B) Fälle/Gruppen .
I I I .2. Planung/Optimierung variiert die Pfade in Zeitpunkt ,
Geschwindigkeit , deren genauen Verlauf zur Minimierung der (in 111.3 ) simulierten Problemstellen (z.B. in Prozent der Oberfläche) und/oder zur Minimierung der Ausführungs zeit . III.3. Simulation der Roboterbewegung über die Zeit und des daraus resultierenden Prozessergebnisses (verwendet in III .2) .
I I I . a . Variierte Prozessbahn;
Ill.b. Simulationsergebnis: Genau (mit Robotermodell ) simu¬ lierte Roboterbewegung (inklusive Abweichungen von der idealen Soll-Bahn) und dem dafür simulierten Prozess¬ ergebnis (auf Werkstückbeschreibung : z.B. CAD-Modell der Werkstückoberfläche) , ggf . Abbruchsmeldung wenn undurchführbarer Anteil der Bahn oder Rechenzeit oder
Iteration eine zugehörige Schwelle übersteigt ;
111. c Rücksprung bis alle Gruppen oder Reihenfolgen abgear¬ beitet sind oder ein ausreichend gutes Ergebnis er¬ zielt wird;
I I I . d Rücksprung zu Schritt I, wenn keine Lösungen gefunden wird ( für einen oder hinreichend großen Anteil der Fälle) ;
I I I . e Wenn Pläne gefunden : Weitergabe inklusive zugehöriger
Information über die zusätzliche Dimension . ( Im Fall A : Angabe über Zeit oder Position des Förderers für die einzelnen Stützpunkte der Bewegung/Plan, im Fall B : Bereich der Störung, für die die Pläne anzuwenden sind) . Generierung von Programmen mit Zusatz Information über die zusätzlich Dimension .
Fall A : Konvertierung der (in Achskoordinaten und Zeit ) geplanten Roboterbewegung in ein Roboterprogramm aus Stützpunkten (oder Splines etc . ) mittels Abtastung der geplanten Bewegungen (mit Angaben zu den Geschwin¬ digkeiten und Zeit /Bauteilposition/Encoderwert der Förderers zu dem diese Position erreicht werden soll ) . Das Programm kann in zwei Teilen ausgegeben werden : i ) Als Liste von Positionen und Geschwindigkeiten wel¬ ches dichter gesetzt/abgetastet ist , als für einen Ro¬ botercontroller nötig; und
ii } ein Abarbeitungsprogramm in Form einer Schleife, welches den aktuellen Ist-Wert (Position und Geschwin¬ digkeit ) des Förderers liest und abhängig davon die nächste Sollposition des Roboters aus i) wählt oder interpoliert und die Geschwindigkeit abhängig von der aktuellen Geschwindigkeit des Förderers und den Fort¬ schritt der Bewegung des Roboters in Bezug auf die Förderbewegung (vorrauseilend, hinterherhinken) mit einem einfachen bekannten Regelprinzip (P , PID, .,,} an- passt (Line-Tracking) . Mit dieser vorteilhaften Reali¬ sierung werden Fehler in der Planung der Roboterbewe¬ gung (insbesondere Fehler im Modell des Roboterdynamik und der Steuerung) kompensiert und die Roboterge¬ schwindigkeit passt sich automatisch der Förderge¬ schwindigkeit an, bis zu einem vollen Stopp oder gar einer Rückwärtsbewegung .
Fall B : Für jede Gruppe : Konvertierung der geplanten Roboterbewegung in ein Roboterprogramm aus Stützpunk- ten (oder Splines etc . ) mittels Abtastung der geplan¬ ten Bewegungen . Abspeichern zusammen mit der Zusatzin¬ formation über den Anwendungsbereich (= messbare Para¬ metervariation der jeweiligen Gruppe)
IV.1 Modul zum konvertieren von Plänen in ausführbare Robo¬ terprogramme mit Zusatz Information und Speichern .
IV. a. Ausführbare Roboterprogramme mit Zusatz Information für die Verwendung in Bezug auf zusätzliche Komplexi¬ tät/Dimension .
V: On-line Abarbeitung :
Fall A : Sensorielle Erfassung der Dimension Förder¬ bewegung (Position und Geschwindigkeit ) und Abarbeiten des Programms gemäß dem Bewegungsfortschritt des För¬ derers . Vorteilhafter Fall wie in IV beschrieben .
Fall B : Sensorielle Erfassung des Ist-Wertes der Stö¬ rung (en) und Auswahl der entsprechenden Gruppe . Abar¬ beiten des dieser Gruppe zugeordneten Programms . Op¬ tional interpolieren oder optimieren mit der genau ge¬ messenen Störung .
V.1. Sensor (en)
V.2. Interpretation des Sensordaten als Wert bezügl . der automatisch berücksichtigten Dimension .
V.3 Auswahl oder Abarbeitung des Programms gemäß interpre¬ tierten Sensordaten .
II . a Information über zusätzlich zu berücksichtigende Di¬ mension/Komplexität I I . c Werkzeugbahnen in Werkstückkoordinaten (inkl. Informa¬ tion Werkstück, z.B. CAD)
11. e Information über Strategie zur Berücksichtigung der zusätzlichen Dimension/Komplexität
Figur 5 zeigt insbesondere detaillierte Beschreibung der Ein¬ gabe/Planung vor der Berücksichtigung der zusätzlichen Kom¬ plexität/Dimension (Überblick : Fig .4 ) .
Planung/Definition o . Berücksichtigung der zusätzli¬ chen Dimension/Komplexität ;
Eingabe von Information über das Werkstück (z.B. CAD Daten und relevante Fläche) ;
Definition der Anwendung z.B. aus vorgelagerten Pro¬ zessschritten (z.B. Q . S ) ;
GUI zur Interaktiven Definition der Anwendung;
Modul zum prozessorientieren Planen der Werkezeug- bewegungen;
Schnittstelle zum Einlesen existierender Programme und Pläne ;
OLP Modul;
Modul zur Konvertierung konventioneller Programme in Werkzeugbahnen in Werkstückkoordinaten;
Speichern der Werkzeugpfade ;
Schnittstelle zur Eingabe der Information über die Veränderung der Zelle über die Zeit . Im Falle des "Li- ne-Tracking" (Fall A) ist dies die gemessene Bewe¬ gungsgeschwindigkeit eines Förderers und damit des Werkstücks , und frühester Start- spätester Endzeit¬ punkt des Programms oder der möglichen Variationen (Fall B) ( Im Falle der Prozessabsicherung sind dies Information über EinzelStörungen und ggf . deren Abhän¬ gigkeiten oder Ausschluss ) ; 1.10. Schnittstelle zur Auswahl der Strategie zum Umgang mit der zusätzlichen Dimension; II . Automatische Analyse und VorVerarbeitung (wird be¬ schrieben in Fig . 5 und im Detail in Fig . 6 (Fall A) und Fig. 7 (Fall B) ;
I . a : Information über das Werkstück (i.d.R. CAD und Zusatz- Information z.B. Markierung der zu bearbeitenden Flä¬ che des Werkstücks )
I . b . On-line erzeugte Information über Anwendung : Z.B. An¬ weisungsliste (Werkzeug + Werkstückorientiert ) aus Sensorik bzw . QS . (Gefundene Fehler / Markierungs- punkte / Markierungspfade ...)
I.e. Interaktiv definierte Werkzeugbahnen (in Werkstückko¬ ordinaten)
I . d . Roboterprogramme (existierend, eingelesen)
I.e. Roboterprogramme (in OLP generiert )
I . f . Werkzeugbahnen in Werkstückkoordinaten ( inkl . Informa¬ tion Werkstück, z.B. CAD)
I . g . Werkzeugbahnen in Werkstückkoordinaten (inkl . Informa¬ tion Werkstück, z.B. CAD)
H.a. Information über zusätzlich zu berücksichtigende Di- mension/Komplexität
I I . c Werkzeugbahnen in Werkstückkoordinaten (inkl . Informa¬ tion Werkstück, z.B. CAD)
11. e Information über Strategie zur Berücksichtigung der zusätzlichen Dimension/Komplexität
Figur 6 zeigt im Detail : Planung/Definition ohne Berücksichtigung der zusätzli¬ chen Dimension/Komplexität , wird beschrieben in Fig . 4 und im Detail in Fig . 5; 11. Automatische Analyse der Auswirkung d . zusätzliche Di¬ mension und Vor erarbeitung;
11.1. Ermittlung/Festlegung des Suchraums und der Abtastung
(= zu testenden Zustände) ;
11.2. Aufbau einer „Feasibilty Map" d.h. Versatz der
Werkstücke für den Wegepunkte/Werkzeugpfade kollisi¬ onsfrei erreichbar oder ausführbar sind; 11.3. Simulation der Erreichbarkeit /Ausführbarkeit der Weg¬ punkte (der Werkzeugbahnen) ;
11.4. Falls Zusatzachsen : Ermittlung vorteilhafter Konfigu¬ rationen dieser Achsen über die Zeit , z.B. durch Maxi - mieren der Breite der zur Verfügung stehende Puffer;
11.5. Optimieren der Reihenfolge : Verändern der Reihenfolge der Werkzeugpfade ( immer alle Wegpunkte eines Werk¬ zeugpfads ) und Bewertung . Kriterium (siehe Fig . 3 ) : Die Linie, die die Bewegung des Förderers repräsen¬ tiert , schneidet alle (oder möglichst viele) vertika¬ len Linien, die die erlaubten Verschiebungen je Weg¬ punkt repräsentieren . Bewertet (maximiert ) wird der Abstand zwischen den Schnittpunkten und (beiden oder dem letzen) der Extremwerten der vertikalen Linien .
Die Zeit für Bewegung zwischen Werkzeugpfaden kann aus einer Standardeinstellung, Schätzung oder Ermittlung stammen (eben so in I I .6 ) ; 11.6. Optimieren des Start Zeitpunktes der Werkzeugpfade (und ggf . deren Bahngeschwindigkeit) . Maximiert wird entwe¬ der der Abstand zum spätest möglichen Zeitpunkt (d.h. ein Puffer wird aufgebaut der Verzögerungen in der Ro¬ boterbewegung toleriert } oder Abstand zum frühest und spätest möglichen Zeitpunkt (d.h. der Puffer ist sym¬ metrisch) ;
II .7 Speichern und Bewerten der Lösung (en) ;
H.a. Information über Bewegung/Veränderung der Zelle über die Zeit ,
11. b . Strategie zur Berücksichtigung dieser zusätzlichen Di- mension/Komplexität ,
11. c . Werkzeugpfade (in Werkstückkoordinaten) , Info über
Werkstück und Zelle,
11. d . (Menge der) zu testende Zustände (Variationen)
11. e . Wegpunkte der Werkzeugpfade (optional Segmente oder ganze Werkzeugpfade) - und aktuell zu prüfender Zu¬ stand,
11. f . Bewertung der Erreichbarkeit /Ausführbarkeit des Wer- punktes für den aktuellen Zustand,
I I . g . Feasibility Map,
I I . h . Strategie zur Berücksichtigung dieser zusätzlichen Di- mension/Komplexitä,
11. i . Werkzeugbahnen, Feasibilty Map und Konfiguration der
Zusatzachsen (über die Zeit ) ,
11. j . gefundene, optimierte Reihenfolgen der Werkzeugpfade, I I . k . Rücksprung wenn keine Reihenfolge gefunden,
11.1. gefundene, optimierte Start Zeitpunkte und Bewegungsge¬ schwindigkeiten der Werkzeugbahnen, Il.m. Rücksprung, wenn keine Start Zeitpunkte für Reihenfolge gefunden,
11. n . Rücksprung, wenn für keine Reihenfolge ausführbare
Start Zeitpunkte gefunden (aber Ergebnis knapp) ,
I I . o . Werkzeugpfade mit Start Zeitpunkten und Geschwindigkeit
(Wegpunkte als Punkte in der Zeit ) . Zusätzlich erlaub¬ te Verschiebungen (max_delay) (in Zeit oder in Bezug auf Versatz Werkstück - Förderer) ,
11. p Rücksprung wenn keine hinreichend bewerte Lösung (Rei- henfolge/Start Zeitpunkte) .
Figur 7 zeigt im Detail die automatische Analyse der Zustände und Vorbereiten/Einteilen in Gruppen für die Planung in
Schritt III .
I . Planung/Definition ohne Berücksichtigung der zusätz¬ lichen Dimension/Komplexität , wird beschrieben in Fig . 4 und im Detail in Fig . 5; 11. Automatische Analyse und VorVerarbeitung (Fall B)
I I .1. Festlegung der Abtastung . Festlegen der Zustände zur
Abdeckung der (in I I . a spezifzierten) Breite der zu¬ sätzlichen Dimension und Reduktion zur Berücks icht i- gung von (in I I . a spezifizierten) Korrelatio¬ nen/Abhängigkeiten,
I I .2. a . (Schleife zum) Abarbeiten jedes Zustands aus I Ib .
Aufruf der Simulation/Planung für jeden Zustand , I I .2. b . Bewertung des Ergebnisses der Simulation für den ak- tuell getesteten Zustand . Gruppieren der Zustände nach ähnlichen Ergebnissen („gleiche Probleme am gleichen Ort , Bewegungsabschnitt" ) , 11.3. Plane/ simuliere die Roboterbewegung für den aktuell getesteten Zustand und die Werkzeugpfade (des
Plans) ,
11.4. Simuliere den Prozess für die Roboterbewegung, 11.5. Bewerte das Ergebnis 11. i für die gewählte Strate¬ gie . Insbesondere vergleiche Anzahl der Gruppen ob ein oder mehrere Pläne ( später Programme) erlaubt .
I I .5 kann und I I .2. b können zusammengezogen werden um die Schleifenbearbeitung frühzeitig abarbeiten zu können . )
H.a. Information über zusätzliche Dimension . Anzahl der einzelnen Variationen und Breite ihrer jeweiligen Streuung (z.B. min-max) . Evtl . Korrelationen, Aus schluss etc,
11. b . Liste der zum Abtasten/Analyse des Raums der neuen
Dimension (en) zu prüfenden Zustände,
11. c Werkzeugpfade (und Information über Werkstück, z.B.
CAD und zu bearbeitende Bereiche) ,
11. d . Werkzeugpfad und Zustand,
11. e . Wenn keine hinreichend gute Roboterbewegung gefunden
(die X% erfolgreich ausführt ) : Abbruch,
11. f . Geplante und simulierte Roboterbewegung und aktuel¬ ler Zustand,
I I . g . Simulationsergebnis das Roboterbewegung aus I I .3 =
II . f,
11. h ... bis alle Zustände abgerabietet
11. i . Alle Zustände und Ergebnisse,
II . j . Strategie,
11. k Abbruch, wenn nicht hinreichen,
11.1 Weitergabe von Gruppierten Zuständen (und initiale
Werkzeugpfade) . II.2, 11.3 , 11.4 , 11.5 greifen auf die Informationen betref¬ fend das Werkstück zu, ohne dass die Informationsflüsse hier explizit dargestellt wurden . Figur 8 betrifft den Schritt III für den Fall der zu berück¬ sichtigenden Werkstückbewegung, den automatischen Feinpla- nungs-/optimierungs/VaIidierungsschritt und zeigt insbesonde¬ re : 111.1. a (und 111.1. b} Schleife und Bewertung über alle gefun¬ den Sequenzen, Abbruch nach allen, oder optional nach erster hinreichend guter Sequenz (über Schwelle) , 111.2. Anpassung der Werkzeugpfade an begrenzte Beschleuni¬ gung und Geschwindigkeit der einzelnen Achsen durch Modifikation der Wegpunkte,
111.3. State-x-time Planung für die modifizierten Bahnen, 111.4. Simulation des Roboterbewegung und des Prozessergeb¬ nisses für die geplanten Roboterbahnen (in veränder¬ licher Umgebung) ,
I I I . a . Werkzeugbewegungen inkl . Sequenz und Timing,
I I I . b . Modifizierte Roboterbewegungen ( im Zustandsraum) , 111. c Geplante Roboterbewegungen für Werkzeugpfade und Zwi¬ schenbewegung,
I I I . d Simulierte geplante Roboterbewegung,
111. e Simulierte Roboterbewegung oder keine Lösung (z.B.
bei Timeout , etc . ) ,
111. f Rücksprung zu 111.2 sofern geplante Roboterbewegung keine Lösung (mit Problem / Ursache warum keine Lö- sung) ,
111. g Am besten bewerteter (Plan im Detailierungsgrad ei¬ ner) Roboterbewegung im Zustandsraum inklusive Infor¬ mation über Zustand (gleichzeitig mit geplanter Robo- terbewegung stattfindende Änderung der Zelle) / In¬ formation übe Zeit / Förderer,
I I I . h . Rücksprung solange weitere Reihenfolgen und kein Ti¬ meout .
Figur 9 betrifft den Schritt III für den Fall der zu berück¬ sichtigenden Parametervariationen, den automatischen Feinpla- nungs-/optimierungs/VaIidierungsschritt und zeigt für die Strategie "Ein Plan für alle" insbesondere :
111.1. a und I I I .1. b . : Optimierung der Werkzeugbahnen durch Variation (a) und Bewertung (b) gemäß Kriterien : Maximierung des Anteils der Oberfläche mit brauchbaren Prozessergebnis (bzw . Minimierung der unbrauchbaren) , Minimierung der Ausfüh¬ rungszeit oder Maximierung Abstand von Kollisionen, etc . Pla¬ nung einer genauen Roboterbewegung für die Werkzeugbahn .
(Details in Fig . 13, links ) 111.2. a : Schleife über verschiedene (einige zufällig gewählte bis alle) Zustände . Beispielsweise werden in den ersten Ite¬ rationen nur ein (mit Zufallsgenerator gewählter und je Ite¬ ration zunehmend vollständiger) Teil aller Zustände getestet . Der Anteil (in Prozent ) wird in I I I .1. a festgelegt .
111.2. b . Zusammenfassung des Ergebnisses , vorteilhaft in ei¬ ner worst-case-Überlagerung der Ergebnisse auf dem Werks¬ stück . 111.3. Simulation des Roboterbewegung und des Prozess¬ ergebnisses für die geplanten Roboterbahnen aus IUI. je Zu¬ stand aus I I . (Details in Fig . 13, rechts ) . I I I . a . Roboterbewegung,
I I I . b . Roboterbewegung und gewählter zu simulierender Zu¬ stand,
I I I . c . Ergebnis der Simulation,
I I I . d . Rücksprung solange nicht alle Zustände abgearbeitet I I I . e . Zusammengefasstes Ergebnis über alle simulierten Zu¬ stände (z.B. Worst-case) ,
I I I . f . Rückgabe zur Optimierung (solange kein Timeout , hin¬ reichendes Ergebnis , Konvergenz , ...) .
Figur 10 betrifft den Schritt III für den Fall der zu berück sichtigenden Parametervariationen, den automatischen Feinpia nungs-/optimierungs/VaIidierungsschritt und zeigt für die Strategie "Ein Plan für alle" insbesondere :
I I I .1. a Schleife über alle in I I initial gefundenen Gruppen
111.1. b Schleifenende, Speichern der Gruppen und Evaluie¬ rung : Rücksprung solange nicht alle Gruppen abgear¬ beitet , ansonsten weiter . Sofern etablierte Gruppen größer erlaubte Anzahl N an Programmen ( Strategie gesetzt in I } Ausstieg, zurück zu I);
111.2. a Bestimmung der zu testenden Zustände innerhalb der
Gruppe und Abarbeitung als Schleife . In einer vor¬ teilhaften Realisierung ist die Abtastung variabel : 1 ) abhängig von Ergebnissen vorheriger Zustände (dichter wo Probleme, wo Übergänge) , 2 ) Dichter an Grenzen der Gruppe im ZuStandsräum;
I I I .2. b Schleifenende . Abspeichern des getesteten Zustande zu einer existierenden Gruppe oder Bildung neuer Gruppe . Rücksprung sofern nicht ausreichend dicht abgetastet oder weiter . Sofern die Anzahl der be¬ reits gebildeten Gruppen größer als die erlaubte An z ahl N an Programmen : Ausstieg und zurück zu I ) . Evaluierung ob Gruppe ausreichend komplette hier (oder in IIa) ; I I I .3. a Schleife : Rufe für zu testenden Zustand alle bisher je Gruppe gebildeten Pläne auf und initiiere dessen Simulation . Starte mit der aktuellen Gruppe (Keine Änderung von Plänen hier) ; 111.3. b Schleifenende . Zwischenspeichern und Bewerten der
Simulationsergebnis für die getesteten Pläne (Aus¬ führbar, Dauer, Prozessergebnis , ggf . Stabili¬ tät/Abstand von Kollisionen) . Z.B.: Abbruch wenn Si¬ mulationsergebnis für den Plan der zur Gruppe gehört hinreichend gut , ansonsten testen für alle Pläne und
Auswahl des Besten;
111.4 Simulation der Roboterbewegung und des Prozesses
(Details in Figur 13, rechts ) ;
I I I .5. a (und I I I .5. b) Optimierung der Werkzeugbahnen durch
Variation ( a ) und Bewertung (b) gemäß Kriterien : Ma- ximierung des Anteils der Oberfläche mit brauchbarem Prozessergebnisses , Minimierung der Ausführungs zeit oder Maximierung Abstand von Kollisionen, etc . Pla¬ nung einer genauen Roboterbewegung für die Werkzeug¬ bahn . (Details in Fig . 13, links ) . Ende sobald Schwelle überschritten ist , timeout , max . Anzahl Iterationen, Konvergenz langsamer, etc .
III .6. Abschließende Bewertung (wie vollständig, wie gut )
Vergleich mit Strategie, ggf . Rückgabe zu I . I I I . a . Aktuelle zu testende Gruppe und zu testender Plan ( im Detailierungsgrad Werkzeugbahnen)
I I I . b . Aktuelle zu testender Zustand und zu testender Plan
( im Detailierungsgrad Werkzeugbahnen)
I I I . c . Aktuelle zu testender Zustand und zu testender Plan
( im Detailierungsgrad Werkzeugbahnen) entweder ini¬ tial oder andere gefunden Pläne....
I I I . d . Bewertung
I I I . e . Rücksprung wenn Plan nicht hinreichend bewertet
(oder Variante - wenn nicht der initiale Plan passt solange bis alle Pläne getestet )
111. f Zustand und passende Gruppe gefunden : Übersprungen der weiteren Optimierung wenn passender Plan gefun¬ den
I I I . g . Zustand (wenn kein bisheriger Plan passend)
I I I . h . Optimierte Roboterbewegung (nur beim ersten mal ge¬ ändert ! )
111. i Ergebnis aus BewegungsSimulation und ProzessSimula¬ tion
Ill.j. Rückgabe zur Optimierung (solange kein Timeout , hin¬ reichendes Ergebnis , Konvergenz , ...)
I I I . k . Zustand und passende Gruppe (m. Plan) oder kein Plan für diesen Zustand generierbar .
111.1 Rückgabe bis ausreichend Dicht getestet (hier auch
Abbruch wie in III . o, I I I . q . )
111. m Zustand + Gruppe + Plan
111. n Rücksprung zu Schleifenanfang bis alle Gruppen abge¬ arbeitet .
111. o Abbruch
I I I . p Gruppe und Plan
111. q Abbruch
111. r Alle gebildeten Gruppen inkl. Plan je Gruppe Gemäß einem Ausführungsbeispei können für eine Gruppe, für welche bereits ein Plan in I I I .5 optimiert wurde, j ene Zu¬ stände, für die in I I I .3 dieser Plan kein hinreichend gutes Ergebnis liefert , zwischengespeichert werden und erst nachdem alle (anderen) Zustände getestet wurden (und ggf . Pläne modi¬ fiziert wurden) diese nochmals in III mit den Plänen für alle Gruppen getestet werden und ggf . die Generierung neuer Pläne und Gruppen initiieren . Dadurch werden diese Zustände gegen mehr bereits optimierte Pläne getestet und eine Zuordnung ist wahrscheinlicher, und die Zahl der Gruppen kann damit gerin¬ ger gehalten werden .
Figur 11 zeigt Details des Verfahrensablaufs aus Fig . 4 für Schritt V (On-line Ausführung eines Programms mit Berücksich¬ tigung der Werkstückbewegung) . Insbesondere Zeigt Fig . 11 :
V .1 Sensor zum erfassen der Information über die zusätzli¬ che Dimension Bewegung, z.B. Encoder von Fördereren;
V .2 Interpretation der Sensordaten, z.B. Extraktion von
Zustand und Geschwindigkeit des Förderers ;
V .3 Anpassung/Regelung der Programmausführung an den Pro¬ grammfortschritt und an die extrahierte Information über die Bewegung des Förderers . Variable Auswahl der nächste Stützpunkte aus dem Programm mit überdicht ab¬ getasteten Stützpunkten ( j e nach Förderer-Position und Geschwindigkeit Stützpunkt) oder auch Interpolation und Geschwindigkeit für die nächste Bewegung (v varia¬ bel) , und/oder wähle nächste Position;
V .4 RoboterSteuerung bzw . Roboter Motion-Control .
V . a . Sensorinformation über zusätzliche Dimension, z.B.
Encoderwerte, V . Interpretierte Information, z.B. Position und Bewe¬ gungsgeschwindigkeit des Werkstücks ,
V . c . Angepasste Programm/Wegpunkte (Point-to-Point , PTP ) .
Figur 12 zeigt Details des Verfahrensablaufs aus Fig . 4 für Schritt V (On-line Ausführung eines Programms mit Berücksich tigung der Parametervariationen) . Insbesondere Zeigt Fig . 12
V .1 Sensor zum Erfassen der Information über die zusätzli¬ che Dimension . Z . b . Kamera für Lageerfassung oder Durchflussmessung /Druckmessung,
V .2 Interpretation der Sensordaten, z.B. Lageabweichung des Werkstück oder Schichtdickenauftrag/ Sekunde,
V .3 Auswahl des passende Roboterprogramms (gemessene Lage¬ abweichung ist in Wertebereich/ Zustandsräum der Grup¬ pe) . Einspeisung in RoboterSteuerung;
V .4 RoboterSteuerung bzw . Roboter Motion-Control .
V . a . Sensorinformation über zusätzliche Dimension, z.B. Ka¬ merabild, Punktwolke,
V . b Interpretierte Information, z.B. erkannte Lage (bzw .
Lageabweichung) des Werkstücks ,
V . c . Ausgewähltes Roboterprogramm (PTP) .
Figur 13 zeigt Details im Verfahrensablauf des Optimie¬ rungsschrittes III wie in den Fig . 8 bis 10 gezeigt . Fig . 13 zeigt insbesondere :
I I I .1. a Werkzeugpfad (=Werkzeugbahn) ; Optimierer : Vari¬ iert Wegepunkte der Pfade (beinhaltet Anstellung des Werkzeugs zum Werkstück) mit bekannten Metho¬ den entsprechen Bewertung aus I I I .1. b .
I I I . a .1. b . Bewertung Kriterium: Minimierung des Anteils der
Fläche des Werkstücks für das die Simulation ein nicht brauchbares Ergebnis meldet . Optional , Mi¬ nimiert den Anteil der Segmente der Werkzeugbah¬ nen, die laut Planung und Simulation mit dem Ro¬ boter nicht ausführbar sind . Zwischenspeichern Ergebnis (Plan mit Prozentanteil für den Prozess und Roboterbewegung in Ordnung sind, Ausführungs¬ zeit ) .
I I I . a .2. Nachbehandlung Werkzeugbahn : Kollisionsvermeidung für Werkzeug und Glättung . Überwachung von Para¬ metergrenzen? Variation kleiner als Grenzwert (sonst wäre es neu und I I I . a .1 übersehrieben/Wir- kungslos ) . 111. a .3 Bewegungsplanung für den Roboter in state-x-time, inklusive Berücksichtigung der Beschleunigungs¬ und Geschwindigkeitsbeschränkungen der Achsen wie in Fehler ! Verweisquelle konnte nicht gefunden werden . beschrieben .
I I I . b .1 Bewegungs Simulation (dynamisches Modell) ,
I I I . b .2 Bewertung auf Ausführbarkeit (Kollisionsfrei)
Aus führungs zeit ,
I I I . b .3 Modelle, inklusive Modell der Zelle, Roboter,
Werkstück, Werkzeug, Prozess ,
I I I . b .4 Prozess Simulation;
I I I . a . a Werkzeugpfade variiert ;
I I I . a . b Zugriff auf Modell Werkzeug und Werkstück ; Rückgabe wenn keine kollisionsfreie Werkzeugbewe gung gefunden für die Änderung kleiner als Grenz wert ;
Geglättete Werkzeugpfade ohne Werkzeugkollisio¬ nen;
Geplante Roboterbewegungen für Werkzeugpfade und
Zwischenbewegung;
keine Roboterbewegung gefunden;
Zugriff auf Modelle;
Simulierte geplante Roboterbewegung;
Geprüfte Roboterbewegung
Rücksprung wenn Roboterbewegung nicht OK .
Zugriff auf Modelle (Prozess , Werkzeug, Werk¬ stück) .
Roboterbewegung und Bewertung (Simulationsergeb¬ nis Prozess )

Claims

Patentansprüche
1. Verfahren zum automatisierten, Computergestützten Erzeugen von Arbeitsa laufplänen für die Behandlung oder Bearbeitung eines Werkstücks mit einem Werkzeug durch einen Industriero¬ boter das Verfahren umfasst :
Bereitstellen eines Ausgangsplanes umfassend eine Vielzahl von Werkzeugbahnen für ein Werkstück in einer be- stimmten Soll-Lage und für bestimmte, die Behandlung bzw. Be¬ arbeitung beeinflussende Prozessparameter, wobei eine Werk¬ zeugbahn die Soll-Bewegung des Werkzeugs entlang des Werk¬ stücks festlegt ; Definieren eines Zustandsraumes , der variable, die
Behandlung bzw . Bearbeitung beeinflussende Parameterwerte be¬ schreibt , wobei jeder Punkt des Raumes eine konkrete Kombina¬ tion von möglichen Parameterwerten darstellt ; Diskretisieren des Raumes in einzelne Zustände ;
Simulieren der Behandlung bzw . Bearbeitung des Werk¬ stücks unter Verwendung des Ausgangsplanes für einen oder mehrere diskrete Zustände und Bewerten des simulierten Bear- beitungs- bzw . Behandlungsergebnisses entsprechend einem vor¬ gebbaren Kriterium;
Iteratives Modifizieren des Ausgangsplanes , anschlie¬ ßendes Simulieren der Behandlung bzw . Bearbeitung des Werk- Stücks unter Verwendung des modifizierten Planes für mindes¬ tens einen diskreten Zustand und Bewerten des simulierten Be- arbeitungs- bzw . Behandlungsergebnisses entsprechend einer vorgebbaren Kostenfunktion; Durchführen der Iteration solange bis die Kostenfunk¬ tion ein Minimum erreicht oder einen Schwellwert unterschrei¬ tet und somit ein optimierter Plan für den jeweiligen Zustand gefunden ist .
2. Verfahren gemäß Anspruch 1, das weiter umfasst :
Zuordnen des optimierten Planes sowie den bei der
Iteration verwendeten Zustand zu einer ersten Gruppe ;
Simulieren der Behandlung bzw . Bearbeitung des Werk¬ stücks unter Verwendung des optimierten Planes für einen wei¬ teren diskreten Zustand und Bewerten des simulierten Bearbei- tungs- bzw . Behandlungsergebnisses entsprechend der vorgeb¬ baren Kostenfunktion;
Zuordnen des bei der Simulation verwendeten weiteren Zustand zu der ersten Gruppe, wenn die Kostenfunktion für den weiteren Zustand einen weiteren Schwellwert unterschreitet ;
Zuordnen des bei der Simulation verwendeten weiteren Zustand zu einer weiteren Gruppe, wenn die Kostenfunktion für den weiteren Zustand den weiteren Schwellwert nicht unter¬ schreitet .
3. Verfahren gemäß Anspruch 2 , das weiter umfasst :
Iteratives Modifizieren des optimierten Planes , an- schließendes Simulieren der Behandlung bzw . Bearbeitung des Werkstücks unter Verwendung des modifizierten Planes für den weiteren Zustand und Bewerten des simulierten Bearbeitungs- bzw . Behandlungsergebnisses entsprechend der Kostenfunktion;
Durchführen der Iteration solange bis die Kostenfunk- tion ein Minimum erreicht oder einen Schwellwert unterschrei¬ tet und somit ein weiter optimierter Plan für den weiteren Zustand gefunden ist ; Zuordnen des optimierten Planes sowie den bei der Iteration verwendeten Zustand zu einer ersten Gruppe .
4. Verfahren gemäß Anspruch 1, 2 oder 3, wobei vor dem itera- t iven Modifizieren eines Plans für einen konkreten Zustand, durch Simulation geprüft wird, ob mit einem bereits zuvor op¬ timierten Plan für den konkreten Zustand ein Bearbeitungs- bzw . Behandlungsergebnis erzielt wird, für das die Kosten¬ funktion einen vorgegebenen Schwellwert unterschreitet .
5. Verfahren zum automatisierten, Computergestützten Erzeugen von Arbeit sablaufplänen für die Behandlung oder Bearbeitung eines Werkstücks mit einem Werkzeug durch einen Industrie¬ roboter das Verfahren umfasst :
Bereitstellen eines Ausgangsplanes umfassend eine Vielzahl von Werkzeugbahnen für ein Werkstück in einer be¬ stimmten Soll-Lage und für bestimmte, die Behandlung bzw . Be¬ arbeitung beschreibende Prozessparameter, wobei eine Werk- zeugbahn die Soll-Bewegung des Werkzeugs entlang des Werk¬ stücks festlegt ;
Definieren eines Zustandsraumes , der mögliche Reihen¬ folgen und Start Zeitpunkte der Werkzeugbahnen des Anfangs- plans beschreibt , wobei jeder Punkt des Raumes eine konkrete Reihenfolge mit einem konkreten Start Zeitpunkt beschreibt ;
Diskret isieren des Raumes in einzelne Zustände ; Simulieren der Behandlung bzw . Bearbeitung des Werk¬ stücks unter Verwendung des Ausgangsplanes für unterschiedli¬ che diskrete Zustände und Bewerten des simulierten Bearbei- tungs- bzw. Behandlungsergebnisses entsprechend einem vorgeb¬ baren Kriterium;
Iteratives Modifizieren des Ausgangsplanes , anschlie- ßendes Simulieren - unter Berücksichtigung einer dem Werk¬ stück überlagerten Bewegung - der Behandlung bzw . Bearbeitung des Werkstücks unter Verwendung des modifizierten Planes für mindestens einen diskreten Zustand und Bewerten des simulier¬ ten Bearbeitungs- bzw . Behandlungsergebnisses entsprechend einer vorgebbaren Kostenfunktion;
Durchführen der Iteration solange bis die Kostenfunk¬ tion ein Minimum erreicht oder einen Schwellwert unterschrei¬ tet und somit ein optimierter Plan für den jeweiligen Zustand gefunden ist .
6. Verfahren gemäß einem der Ansprüche 1 bis 5 , wobei vor dem iterativen Modifizieren sämtliche Zustände verworfen werden, für die das mit dem Ausgangsplan simulierte Bearbeitungs- bzw . Behandlungsergebnisses einem vorgebbaren Kriterium nicht genügt .
7. Verfahren gemäß Anspruch einem der Ansprüche 1 bis 6, wo¬ bei das Modifizieren eines Plans zumindest eines der Folgen- den Schritte umfasst :
das Ändern der Ausführungsreihenfolge der Werkzeug¬ bahnen eines Plans ;
das Ändern der Ausführungsgeschwindigkeit einer Werk¬ zeugbahn oder eines Segments einer Werkzeugbahn;
Verschieben der Position einer Werkzeugbahn oder ein¬ zelner Segmente einer Werkzeugbahn; Ändern der Position und der Winkellage des Werkzeugs relativ zum Werkstück entlang einzelner Werkzeugbahnen oder Bahnsegmente;
Ändern der Roboterkonfiguration für einzelne Werk- zeugbahnen oder Bahnsegmente;
Ändern einer vom Werkzeug auf das Werkstück ausgeübte Kraft oder eines sonstigen Parameters betreffend die Wechsel¬ wirkung zwischen Werkstück und Werkzeug .
8. Verfahren gemäß Anspruch 5 oder 6 und 7, soweit auf An¬ spruch 5 rückbezogen, das weiter umfasst :
spezifizieren eines Bewegungsmusters der Roboterbasis und Berücksichtigen dieses Bewegungsmusters bei der Simulati¬ on .
9. Verfahren gemäß Anspruch 5 oder 6 bis 8, soweit auf An¬ spruch 5 rückbezogen, bei der das Simulieren umfasst :
Berechnen eines Zeitfensters bzw . eines Fensters be¬ züglich der Verschiebung zwischen Roboterbasis und Werkstück, für die ein Wegpunkt einer Werkzeugbahn vom Werkzeug erreich¬ bar ist .
10. Verfahren gemäß Anspruch 9, wobei die Kostenfunktion umso größer ist , je näher das Werkzeug beim simulierten Ausführen einer Werkzeugbahn am Rande des Zeitfensters ist .
11. Verfahren gemäß Anspruch 5 oder 6 bis 10 , soweit auf An¬ spruch 5 rückbezogen, das weiter umfasst :
für jeden optimierten Plan, Zuordnen einer Soll- relativposition zwischen Werkstück und Roboterbasis zu jedem Wegpunkt einer Werkzeugbahn .
12. Verfahren zum Steuern eines Roboters zur Behandlung oder Bearbeitung eines bewegten Werkstücks mit einem Werkzeug durch einen Industrieroboter entsprechend einem Plan umfas¬ send einer Vielzahl von durch Wegpunkte definierten Roboter- bewegung, wobei jedem Wegpunkt eine Soll-Position des Werk¬ stücks zugeordnet ist ; das Verfahren umfasst während des Aus¬ führens einer Roboterbewegung folgendes :
Messen der Ist-Position des Werkstücks und Ermitteln von dessen Geschwindigkeit ;
Berechnen einer aktuellen Soll-Position des Werk¬ stücks für die aktuelle Position des Roboters unter Verwen¬ dung der den Wegpunkten zugeordneten Soll-Positionen des Werkstücks , beispielsweise mit Hilfe von Interpolation;
Berechnen der Differenz zwischen Soll- und Ist- Position des Werkstücks ;
Bestimmen der nächsten zu erreichenden Soll-Position des Roboters und des Zeitpunkts , zu dem diese erreicht werden soll , durch Auswahl eines Wegpunktes gemäß dem Plan, oder durch Interpolation zwischen zwei Wegpunkten gemäß Plan, der- art , dass die Differenz zwischen Soll- und Ist-Position des Werkstücks verringert oder minimiert wird .
PCT/EP2012/067413 2011-09-15 2012-09-06 System und verfahren zur automatisierten erstellung von roboterprogrammen WO2013037693A2 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/345,313 US9701019B2 (en) 2011-09-15 2012-09-06 System and method for the automatic generation of robot programs
KR1020147009832A KR102028770B1 (ko) 2011-09-15 2012-09-06 로봇 프로그램의 자동 생성을 위한 시스템 및 방법
CN201280055001.5A CN104010774B (zh) 2011-09-15 2012-09-06 用于自动生成机器人程序的系统和方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE102011082800.1 2011-09-15
DE102011082771 2011-09-15
DE102011082771.4 2011-09-15
DE102011082800.1A DE102011082800B4 (de) 2011-09-15 2011-09-15 System und Verfahren zur automatisierten Erstellung von Roboterprogrammen

Publications (2)

Publication Number Publication Date
WO2013037693A2 true WO2013037693A2 (de) 2013-03-21
WO2013037693A3 WO2013037693A3 (de) 2013-06-06

Family

ID=47080429

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/067413 WO2013037693A2 (de) 2011-09-15 2012-09-06 System und verfahren zur automatisierten erstellung von roboterprogrammen

Country Status (4)

Country Link
US (1) US9701019B2 (de)
KR (1) KR102028770B1 (de)
CN (1) CN104010774B (de)
WO (1) WO2013037693A2 (de)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015003543A1 (de) 2015-03-19 2015-08-20 Daimler Ag Verfahren und System zum Betreiben eines Roboters
EP2835230A3 (de) * 2013-08-09 2016-06-08 Kabushiki Kaisha Yaskawa Denki Robotersteuerungsgerät und -verfahren
EP3434424A1 (de) * 2017-07-27 2019-01-30 Convergent Information Technologies GmbH Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
CN109683630A (zh) * 2019-01-25 2019-04-26 南京邮电大学 基于粒子群和prm算法的无人机航迹规划方法
WO2019243128A1 (de) * 2018-06-19 2019-12-26 Kuka Deutschland Gmbh Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose
CN112584985A (zh) * 2018-04-15 2021-03-30 西门子工业软件有限公司 用于机器人仿真的仿真签名密钥
CN114174009A (zh) * 2019-09-30 2022-03-11 西门子(中国)有限公司 控制机器人的方法、装置、系统、存储介质和终端

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7820447B2 (en) 2000-12-22 2010-10-26 Sagres Discovery Inc. Compositions and methods for cancer
US20030232334A1 (en) 2000-12-22 2003-12-18 Morris David W. Novel compositions and methods for cancer
US7645441B2 (en) 2000-12-22 2010-01-12 Sagres Discovery Inc. Compositions and methods in cancer associated with altered expression of PRLR
US20030191073A1 (en) 2001-11-07 2003-10-09 Challita-Eid Pia M. Nucleic acid and corresponding protein entitled 161P2F10B useful in treatment and detection of cancer
US20040081653A1 (en) 2002-08-16 2004-04-29 Raitano Arthur B. Nucleic acids and corresponding proteins entitled 251P5G2 useful in treatment and detection of cancer
AU2004210975B2 (en) 2003-02-10 2008-04-10 Agensys, Inc. Nucleic acid and corresponding protein named 158P1D7 useful in the treatment and detection of bladder and other cancers
US7709610B2 (en) 2003-05-08 2010-05-04 Facet Biotech Corporation Therapeutic use of anti-CS1 antibodies
US20050025763A1 (en) 2003-05-08 2005-02-03 Protein Design Laboratories, Inc. Therapeutic use of anti-CS1 antibodies
PT1629088E (pt) 2003-05-30 2012-04-10 Agensys Inc Variantes de antigénio de células estaminais de próstata (psca) e subsequências das mesmas
EP2327723A3 (de) 2003-10-10 2012-06-27 Xencor, Inc. Proteinbasierte TNF-alpha-Varianten zur Behandlung von mit TNF-alpha zusammenhängenden Erkrankungen
CA2567449C (en) 2004-05-28 2014-03-11 Agensys, Inc. Antibodies and related molecules that bind to psca proteins
JP2008507282A (ja) 2004-07-20 2008-03-13 アイソジェニス・インコーポレイテッド 自己免疫および自己抗原に関連する疾患の特異的阻害
US20060024677A1 (en) 2004-07-20 2006-02-02 Morris David W Novel therapeutic targets in cancer
US7850960B2 (en) 2004-12-30 2010-12-14 University Of Washington Methods for regulation of stem cells
EP2444099A1 (de) 2005-03-31 2012-04-25 Agensys, Inc. An 161P2F10B-Proteine bindende Antikörper und zugehörige Moleküle
GB201204384D0 (en) 2012-03-13 2012-04-25 Univ Dundee Anti-flammatory agents
DK2892547T3 (da) 2012-09-10 2020-10-26 Xencor Inc Dominant, negativ tnf-alpha-hæmmer til anvendelse i behandling af neurologiske cns-forstyrrelser
US9393686B1 (en) 2013-03-15 2016-07-19 Industrial Perception, Inc. Moveable apparatuses having robotic manipulators and conveyors to facilitate object movement
JP6364836B2 (ja) * 2014-03-14 2018-08-01 セイコーエプソン株式会社 ロボット、ロボットシステム、及び制御装置
GB2526810B (en) * 2014-06-03 2017-07-05 Canon Kk Method and apparatus for transmitting sensor data in a wireless network
DE102014226789A1 (de) * 2014-12-22 2016-07-07 Kuka Roboter Gmbh Verfahren und Manipulatoranordnung zum bedingten Anhalten zumindest eines Manipulators auf einer Bahn
DE102015002994A1 (de) * 2015-03-09 2016-09-15 Kuka Roboter Gmbh Verändern einer initial vorgegebenen Roboterbahn
JP6676286B2 (ja) * 2015-05-12 2020-04-08 キヤノン株式会社 情報処理方法、および情報処理装置
US10519207B2 (en) 2015-06-12 2019-12-31 Georgia State University Research Foundation, Inc. Compositions and methods for treating opioid tolerance
CN107710082B (zh) * 2015-09-29 2021-01-26 宝马股份公司 用于控制和/或调节机器人系统的外部控制系统的自动配置方法
DE112016004725B4 (de) * 2015-10-14 2021-09-16 Kawasaki Jukogyo Kabushiki Kaisha Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung
US10338564B2 (en) * 2015-11-10 2019-07-02 Gerber Technology Llc Remote material yield optimization for leather and other heterogeneous material
DE102015222942A1 (de) * 2015-11-20 2017-05-24 Robert Bosch Gmbh Verfahren zum Bewegen eines Manipulators und Vorrichtung mit Manipulator
US10296675B2 (en) 2015-12-30 2019-05-21 Abb Schweiz Ag System and method for determining dynamic motion data in robot trajectory
US10401823B2 (en) 2016-02-04 2019-09-03 Makino Inc. Real time machining process monitoring utilizing preprocess simulation
JP6450727B2 (ja) * 2016-10-28 2019-01-09 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
JP6438450B2 (ja) * 2016-11-29 2018-12-12 ファナック株式会社 レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法
US10642244B2 (en) * 2016-12-19 2020-05-05 Autodesk, Inc. Robotic augmentation of creative tasks
AT519096B1 (de) * 2016-12-23 2018-04-15 Engel Austria Gmbh Verfahren zum Einstellen einer Formgebungsmaschine
US11420323B2 (en) 2017-05-16 2022-08-23 Abb Schweiz Ag Method and control system for controlling movement sequences of a robot
JP6756676B2 (ja) * 2017-07-27 2020-09-16 ファナック株式会社 製造システム
KR101991364B1 (ko) 2017-09-12 2019-06-24 한국기계연구원 모듈 기반 로봇의 기구학 소프트웨어를 자동으로 생성하는 장치 및 방법
EP3613545A1 (de) 2018-08-24 2020-02-26 Siemens Aktiengesellschaft Simulationsunterstützte planung von bewegungen zum anheben schwerer objekte
DE112019004519T5 (de) * 2018-09-10 2021-06-02 Fanuc America Corporation Null-einlernen für roboterbahnsteuerung
CN109483234B (zh) * 2018-11-02 2020-06-09 北京卫星制造厂有限公司 一种基于移动机器人的智能制造系统及方法
US11836577B2 (en) 2018-11-27 2023-12-05 Amazon Technologies, Inc. Reinforcement learning model training through simulation
US11429762B2 (en) 2018-11-27 2022-08-30 Amazon Technologies, Inc. Simulation orchestration for training reinforcement learning models
US11455234B2 (en) * 2018-11-21 2022-09-27 Amazon Technologies, Inc. Robotics application development architecture
KR20200097896A (ko) 2019-02-11 2020-08-20 경희대학교 산학협력단 매니퓰레이터 urdf파일 생성장치 및 방법
US11014237B2 (en) * 2019-07-11 2021-05-25 Intelligrated Headquarters, Llc Methods, systems, and apparatuses, for path planning and execution in a robotic system
JP7384602B2 (ja) * 2019-09-12 2023-11-21 ファナック株式会社 ロボット制御装置
JP2021070096A (ja) * 2019-10-30 2021-05-06 キヤノン株式会社 制御方法、制御装置、ロボット装置、物品の製造方法、動作プログラム作成方法、動作プログラム作成装置、表示装置、制御プログラムおよび記録媒体
CN110815226B (zh) * 2019-11-15 2022-03-01 四川长虹电器股份有限公司 一种机器人任意姿态任意位置下回初始位置的方法
CN111113426A (zh) * 2019-12-31 2020-05-08 芜湖哈特机器人产业技术研究院有限公司 一种基于cad平台的机器人离线编程系统
US11707843B2 (en) 2020-04-03 2023-07-25 Fanuc Corporation Initial reference generation for robot optimization motion planning
US11858141B2 (en) * 2020-07-08 2024-01-02 Ubtech Robotics Corp Ltd Impedance control method, and controller and robot using the same
US20220032461A1 (en) * 2020-07-31 2022-02-03 GrayMatter Robotics Inc. Method to incorporate complex physical constraints in path-constrained trajectory planning for serial-link manipulator
CN114603552A (zh) * 2020-12-08 2022-06-10 北京配天技术有限公司 一种机器人仿真方法、电子设备和存储介质
CN117157599A (zh) * 2021-04-06 2023-12-01 发那科株式会社 选择装置、通信控制装置、模拟装置以及记录介质
CN113655717B (zh) * 2021-08-16 2023-09-22 中冶东方工程技术有限公司 一种自动控制配矿料槽连续加料方法和系统
CN113703461B (zh) * 2021-08-31 2023-10-27 库卡机器人制造(上海)有限公司 路径确定方法、装置、机器人和可读存储介质
DE102021212542B3 (de) * 2021-11-08 2022-12-22 Volkswagen Aktiengesellschaft Verfahren zum Betreiben eines mehrachsigen Roboters und Roboter
WO2023089435A1 (en) * 2021-11-16 2023-05-25 3M Innovative Properties Company Robotic application of tapes
CN116533236B (zh) * 2023-05-09 2024-04-12 北京航空航天大学 一种基于离散工作空间的服务机器人操作评估策略
CN117253198B (zh) * 2023-11-20 2024-01-26 山东大学 一种智能制造动态管理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003059582A2 (en) 2001-12-27 2003-07-24 Prophet Control Systems Limited Program robots with off-line design
DE60205928T2 (de) 2001-10-26 2006-06-29 Inropa Aps Verfahren zur automatischen flächenbehandlung
DE112008003963T5 (de) 2008-08-12 2011-06-22 Abb Technology Ab System und Verfahren zur Off-line-Programmierung eines Industrieroboters

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993012475A1 (de) * 1991-12-09 1993-06-24 Siemens Aktiengesellschaft Verfahren zur optimierung von steuerparametern für ein system, das in abhängigkeit der steuerparameter ein ist-verhalten aufweist
SE501867C2 (sv) * 1993-11-15 1995-06-12 Asea Brown Boveri Förfarande och system för kalibrering av en industrirobot utnyttjande en sfärisk kalibreringskropp
JP3002097B2 (ja) 1994-08-25 2000-01-24 ファナック株式会社 ビジュアルトラッキング方法
DE69618606T2 (de) * 1995-09-19 2002-09-12 Yaskawa Denki Kitakyushu Kk Prozessor für robotersprache
EP1040393A4 (de) * 1997-09-04 2004-03-10 Dynalog Inc Verfahren zum eichen eines robotisierten kontrollsystems
US6076030A (en) * 1998-10-14 2000-06-13 Carnegie Mellon University Learning system and method for optimizing control of autonomous earthmoving machinery
US6157873A (en) * 1998-04-09 2000-12-05 Motoman, Inc. Robot programming system and method
FR2818168B1 (fr) 2000-12-19 2003-09-19 Eisenmann France Sarl Procede de controle d'une installation de revetement de surface par pistolage
JP2002192486A (ja) 2000-12-25 2002-07-10 Seiko Epson Corp ロボット制御方法及び該方法を適用したロボットコントローラ
SE0303145D0 (sv) 2003-11-23 2003-11-23 Abb Research Ltd Method for optimising the performance of a robot
US7236854B2 (en) * 2004-01-05 2007-06-26 Abb Research Ltd. Method and a system for programming an industrial robot
DE102004028565A1 (de) * 2004-06-15 2006-01-05 Abb Patent Gmbh Verfahren und System zur Ermittlung eines Wartungsbedarfs
JP2006048244A (ja) * 2004-08-02 2006-02-16 Fanuc Ltd 加工プログラム作成装置
DE102004046351A1 (de) * 2004-09-24 2006-03-30 Daimlerchrysler Ag Verfahren zur automatischen Konservierung der Hohlräume eines Kraftfahrzeugs
JP2006247677A (ja) 2005-03-09 2006-09-21 Fanuc Ltd レーザ溶接教示装置及び方法
JP4210270B2 (ja) * 2005-06-07 2009-01-14 ファナック株式会社 ロボット制御装置及びロボット制御方法
JP4056542B2 (ja) 2005-09-28 2008-03-05 ファナック株式会社 ロボットのオフライン教示装置
US7853356B2 (en) * 2006-04-14 2010-12-14 Fanuc Robotics America, Inc. Method for optimizing a robot program and a robot system
KR100898034B1 (ko) * 2007-07-11 2009-05-19 (주) 엔씨비 공구경로 수정 방법
KR100898035B1 (ko) * 2007-07-11 2009-05-19 (주) 엔씨비 공구경로 수정 방법
DE102008027475A1 (de) 2008-06-09 2009-12-10 Kuka Roboter Gmbh Vorrichtung und Verfahren zur rechnergestützten Generierung einer Manipulatorbahn
EP2345512A1 (de) 2010-01-14 2011-07-20 Syddansk Universitet Verfahren zum Finden praktikabler Gelenkbahnen für einen N-DOF-Roboter mit Rotationsinvariantenprozess (N > 5)
US8972056B2 (en) 2010-01-14 2015-03-03 Syddansk Universitet Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5)
IT1397985B1 (it) * 2010-02-08 2013-02-04 Prima Ind Spa Procedimento di monitoraggio della qualità di processi di lavorazione laser e relativo sistema
US20120156362A1 (en) 2010-12-21 2012-06-21 Alexandr Sadovoy Method and device for coating path generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60205928T2 (de) 2001-10-26 2006-06-29 Inropa Aps Verfahren zur automatischen flächenbehandlung
WO2003059582A2 (en) 2001-12-27 2003-07-24 Prophet Control Systems Limited Program robots with off-line design
DE112008003963T5 (de) 2008-08-12 2011-06-22 Abb Technology Ab System und Verfahren zur Off-line-Programmierung eines Industrieroboters

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Automated CAD-guided robot path planning for spray painting of compound surfaces", PROC. OF THE IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS 2000, vol. 3, 2000, pages 1918 - 1923
TAPIO HEIKKILÄ ET AL.: "Model Based Interactive Path Planning for Surface Following Robot Tasks", SPIE PROC., vol. 3208, 26 September 1997 (1997-09-26), pages 551 - 561

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2835230A3 (de) * 2013-08-09 2016-06-08 Kabushiki Kaisha Yaskawa Denki Robotersteuerungsgerät und -verfahren
DE102015003543A1 (de) 2015-03-19 2015-08-20 Daimler Ag Verfahren und System zum Betreiben eines Roboters
EP3434424A1 (de) * 2017-07-27 2019-01-30 Convergent Information Technologies GmbH Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
WO2019020818A1 (de) * 2017-07-27 2019-01-31 Convergent Information Technologies Gmbh Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
CN112584985A (zh) * 2018-04-15 2021-03-30 西门子工业软件有限公司 用于机器人仿真的仿真签名密钥
WO2019243128A1 (de) * 2018-06-19 2019-12-26 Kuka Deutschland Gmbh Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose
CN109683630A (zh) * 2019-01-25 2019-04-26 南京邮电大学 基于粒子群和prm算法的无人机航迹规划方法
CN109683630B (zh) * 2019-01-25 2021-11-09 南京邮电大学 基于粒子群和prm算法的无人机航迹规划方法
CN114174009A (zh) * 2019-09-30 2022-03-11 西门子(中国)有限公司 控制机器人的方法、装置、系统、存储介质和终端
CN114174009B (zh) * 2019-09-30 2023-07-21 西门子(中国)有限公司 控制机器人的方法、装置、系统、存储介质和终端

Also Published As

Publication number Publication date
CN104010774A (zh) 2014-08-27
US20140371905A1 (en) 2014-12-18
KR20140090601A (ko) 2014-07-17
US9701019B2 (en) 2017-07-11
CN104010774B (zh) 2017-10-13
KR102028770B1 (ko) 2019-10-04
WO2013037693A3 (de) 2013-06-06

Similar Documents

Publication Publication Date Title
WO2013037693A2 (de) System und verfahren zur automatisierten erstellung von roboterprogrammen
DE102011082800B4 (de) System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
DE69535687T2 (de) Biegevorrichtung mit Mitteln zur Durchführung von Installationsvorgängen
DE102009048252B4 (de) In eine numerisch gesteuerte Maschine eingebaute Kollisionsverhinderungsvorrichtung
DE69534977T2 (de) Biegemaschine mit einer Steuerung zur Erstellung und Ausführung eines Metallplattenbiegeplanes
EP3013537B2 (de) Verfahren und system zur programmierung eines roboters
DE102013112516B4 (de) Lehrpunktprogramm-Auswahlverfahren für Robotersimulator
DE602006000648T2 (de) Offline-Lehrgerät für einen Roboter
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
DE102018122376B3 (de) Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
EP2138914B1 (de) Verfahren und Vorrichtung zur Optimierung, Überwachung oder Analyse eines Prozesses
DE102013008755B4 (de) Offline-Programmiersystem
DE102010032917A1 (de) Verfahren zur Offline-Programmierung eines NC-gesteuerten Manipulators
WO2019020818A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
DE112006000397T5 (de) System und Verfahren für eine adaptive Maschinenprogrammierung
DE102015116522B3 (de) Synchronisierung mehrerer Roboter
DE102014118001A1 (de) Verfahren zur Bewegungssimulation eines Manipulators
EP2216144A2 (de) Verfahren und System zur Kontrolle von Bauteilen und/oder Funktionseinheiten mit einer Prüfvorrichtung
DE102012101497B4 (de) Robotergestütztes Arbeitsverfahren
DE102020124734A1 (de) Simulationsgerät
DE102008013400B4 (de) Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts
DE102018203078B3 (de) Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie und zugehöriges Computerprogrammprodukt
DE102020130520A1 (de) Verfahren zum steuern eines roboters in gegenwart menschlicher bediener
DE102019000890B4 (de) Robotersystem zum Ausführen einer Lernsteuerung basierend auf Bearbeitungsergebnissen und diesbezügliches Steuerverfahren
WO2017063887A1 (de) Synchronisierung mehrerer roboter

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: 12778628

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 20147009832

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14345313

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12778628

Country of ref document: EP

Kind code of ref document: A2