EP3934858A1 - Method, system and nonvolatile storage medium - Google Patents

Method, system and nonvolatile storage medium

Info

Publication number
EP3934858A1
EP3934858A1 EP20710474.6A EP20710474A EP3934858A1 EP 3934858 A1 EP3934858 A1 EP 3934858A1 EP 20710474 A EP20710474 A EP 20710474A EP 3934858 A1 EP3934858 A1 EP 3934858A1
Authority
EP
European Patent Office
Prior art keywords
machine
model
sub
sensor
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP20710474.6A
Other languages
German (de)
French (fr)
Inventor
Christian PIECHNICK
Klaus Wagner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wandelbots GmbH
Original Assignee
Wandelbots 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
Application filed by Wandelbots GmbH filed Critical Wandelbots GmbH
Publication of EP3934858A1 publication Critical patent/EP3934858A1/en
Pending legal-status Critical Current

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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36436Arm follows movement of handheld device, camera detects, analyses motion
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36479Record position on trigger of touch probe
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40391Human to robot skill transfer

Definitions

  • Various exemplary embodiments relate to a method, a system and a non-volatile storage medium.
  • Programming is usually done in the form of program code by one or more specially trained staff
  • the cost makes automation by means of a
  • Glue gun a sensor system (e.g. a camera) and a control system (e.g. a programmable logic device
  • Motion planning and motion control in the form of a
  • a programmer manually writes the program code that allows the robot to carry out the application autonomously at execution time.
  • the programming of an industrial robot can alternatively or additionally be carried out by the expert using CAD-based code generation.
  • a virtual representation of an industrial robot can alternatively or additionally be carried out by the expert using CAD-based code generation.
  • a learning process (also referred to as teach-in) is conventionally used.
  • the robot can be controlled manually, for example.
  • a sensitive robot also referred to as a co-bot
  • the trajectory ie the path on which the robot should move
  • Robots are supposed to perform, however, remain complex and are therefore conventionally not taken into account by the learning process.
  • the complexity consists, for example, in the integration of the various components of the robot, such as the end effector, the sensors and the control system, into the process to be carried out, which is therefore done manually
  • the learning process can alternatively or additionally take place via an interactive input device. This will be described
  • the learning process can alternatively or additionally take place by means of sensor data processing.
  • Sensor data processing is based on sensors that are attached directly to the robot.
  • the field of vision is often restricted by the end effector and robot.
  • changing light conditions or air particles affect the sensors on the robot.
  • a method can include: determining a machine-independent
  • Process model based on data, the data indicating a handling of an implement when performing a
  • Represent process flow wherein the process flow has a plurality of sub-processes, wherein the process model for each sub-process of the plurality of sub-processes a process activity with spatial information of the
  • Sub-process linked Mapping of the machine-independent process model to a machine-specific control model of a machine using a model of the machine, the machine-specific control model defining an operating point of the machine for each sub-process of the plurality of sub-processes that corresponds to the process activity and the spatial information of the sub-process.
  • the data can be used during the handling of the implement
  • a machine-unspecific process model is clearly generated which describes the overall human process of the process task to be performed.
  • the process model can be created, for example by tracking how the process task is done by a person.
  • the machine-unspecific process model is then transferred to a machine-specific control model, which is tailored to the hardware platform (generally also referred to as a machine) that is to perform the process task automatically.
  • a machine-specific control model tailored to the hardware platform (generally also referred to as a machine) that is to perform the process task automatically.
  • control program can be formed, which the hardware platform, e.g. whose PLC (programmable logic controller) can execute.
  • PLC programmable logic controller
  • Figures 1 and 3 each show a method according to different
  • Figures 2 and 4A each show a method according to different
  • FIG. 4B shows a system for performing a method according to various embodiments in one
  • FIG. 5 shows the method according to various embodiments in a schematic model diagram
  • FIG. 6 shows the method according to various embodiments in a schematic flowchart
  • FIG. 7 shows a machine in accordance with various embodiments in a schematic structural diagram.
  • connection means both a direct and an indirect connection, a direct or indirect connection and a direct or indirect coupling, e.g. one
  • a clutch can be set up, a mechanical interaction (e.g.
  • processor can be used as any type of entity
  • the data or signals can be any type of signals. Signals allowed.
  • the data or signals can be any type of signals.
  • a processor can be an analog circuit, a digital circuit, a
  • Microprocessor a central processing unit (CPU), a graphics processing unit (GPU), a digital one
  • DSP Signal processor
  • FPGA programmable gate arrangement
  • system can be used as a phrase interacting
  • entities can include at least one mechanical component, at least one electromechanical transducer (or other types of actuators), at least one electrical component, at least one instruction (e.g. in a
  • Storage medium and / or at least one
  • actuator also referred to as an actuator or actuator
  • the term “actuator” can be understood as a component that is used to influence a mechanism or a process in Response to a control is set up.
  • the actuator can convert instructions issued by the control device (the so-called activation) into mechanical movements or
  • the actuator e.g. an electromechanical
  • Converter for example, can be set up to convert electrical energy into mechanical energy (e.g. by movement) in response to an activation.
  • control device can be understood as any type of logic implementing entity that
  • control device can have an interconnection and / or a processor which can execute software that is stored in a storage medium, in firmware or in a combination thereof, and can issue instructions based thereon.
  • the control device can for example be configured by means of code segments (e.g. software) to enable the operation of a system (e.g. its operating point), e.g. a machine or a plant, e.g. at least its kinematic chain to control.
  • Controlling can be understood as an intended influencing of a system.
  • Control have a forward control path and thus clearly implement a sequence control that converts an input variable into an output variable.
  • the control path can, however, also be part of a control loop, so that regulation is implemented.
  • the control has a continuous influence of the output variable on the input variable, which is effected by the control loop (feedback).
  • Process flow can be understood as the sum of all processes (eg a chronological sequence of controlled events) that fulfill a predefined process task.
  • the sub-processes of the process flow can each fulfill a sub-task (ie part of the process task).
  • the individual sub-processes can, depending on the type of process flow,
  • Sub-process can, for example, be carried out, started or ended precisely when a process situation assigned to it is present, e.g. a threshold value for a measured variable is not reached or a pattern recognition recognizes the workpiece to be processed.
  • a process activity and at least one vector of the process activity can be assigned to each sub-process.
  • the vector can have at least one position, its change, a spatial distribution and / or at least one direction of the
  • Process activity can also be more complex or detailed (more general herein as spatial information
  • the spatial information can be assigned a time indication about the process activity, which e.g. Define the duration, the beginning, the end and / or a cycle of the process activity.
  • the process activity can add the total
  • the corresponding spatial information can describe where and / or with what distribution the effect is to be provided and / or in what spatial position (ie Position and / or orientation) the implement is located for this purpose.
  • the handling of the work device can describe the way in which the work device is guided and / or actuated when a process sequence is carried out, for example how it is held, how strongly pressed, and / or how long the
  • a data-based (e.g. digital and / or virtual) representation of an original can be understood as a model, e.g. a physical object (e.g. a machine) or a process (e.g. a control process or a
  • Modeling i.e. the image of the original on the
  • the model can, for example, contain physical information (e.g. length, distance, weight, volume, composition, etc.), movement-related
  • Information e.g. position, alignment, direction of movement, acceleration, speed of movement, etc.
  • logical information links, sequence, couplings,
  • Information e.g. time, total duration, frequency,
  • Period etc.
  • functional information e.g. current intensity, effect, map or characteristic curve
  • the control model can accordingly be a formal one
  • control model can contain a variety of instructions for
  • Control e.g. to bring the machine to a working point
  • further criteria the fulfillment of which triggers the instruction assigned to them, ends or
  • control model can be a
  • control logic which logically links several criteria and / or several instructions with one another, and / or which implements a process (eg a process plan) according to which the control takes place.
  • the process model can be a formal
  • Process model can have a large number of links between a process activity and the corresponding spatial information and optionally assign corresponding process situations to the process activities
  • the process model can have a process logic that logically links several process situations and / or several process activities with one another, and / or which has a sequence (e.g. a
  • the process situation can cause a process activity assigned to it in accordance with the spatial information (which represents the conditioned sub-process).
  • a flow chart can have at least branches, jumps and / or loops.
  • the presence or absence of a process situation can generally be represented by means of at least one criterion, which is fulfilled, for example, in the presence or absence of the process situation.
  • the mapping can be the transfer of elements of a
  • the mapping can assign at least one element of the mapping to each element of the original image.
  • the mapping can have, for example, operators, transformations and / or on the elements of the initial set
  • the elements can in general have: logical relationships, links, information, properties, coordinates or the associated coordinate system, mathematical objects (such as formulas or numbers), processes, activities, etc.
  • a code generator can be understood as a computer program which is set up to produce a model, e.g. is available in a modeling language, in a
  • UML unified modeling language
  • the model can also be in a markup language, a structogram, a decision table or another formal one
  • the code generator generates code segments (also referred to as code generation) which can be combined with other optional program parts to form a program.
  • the spatial information of the orientation and / or position of an object can be understood here as spatial position (also referred to as position information or, in simplified form, as position).
  • the position can clearly describe the location (e.g. a point) in space and the orientation the respective orientation (e.g. a direction) of an object relative to the space.
  • a series of spatial positional information that is taken up one after the other by an object can be understood as a trajectory.
  • the position information can optionally be time-dependent (i.e. movement-related, then also referred to as movement), according to a clocking or
  • FIG. 1 illustrates a method 100 according to various embodiments in a schematic side view.
  • the machine 114 to be programmed may be a robot, e.g. an industrial robot for handling, assembling or processing a workpiece.
  • the method 100 enables, for example, the end-user programming of the complete automation application (including
  • the machine 114 to be programmed can generally have a manipulator 114p, 114e and a frame 114u on which the manipulator 114p, 114e is supported.
  • manipulator 114p, 114e summarizes the entirety of the movable members 114v, 114g, 114e of the machine 114, the control of which enables a physical interaction with the environment, e.g. carry out a process flow.
  • the machine 114 can have a control device 712 which is set up to implement the interaction with the environment in accordance with a control program.
  • the last link 114e of the manipulator 114p, 114e (also referred to as the end effector 114e) may have one or more than one tool, such as one
  • Welding torch a gripping instrument, a painting device or the like.
  • the manipulator 114p, 114e can at least one
  • Positioning device 114p for example a
  • Robotic arm 114p (also referred to more generally as an articulated arm), to which the end effector 114e is attached.
  • the robotic arm 114p illustratively provides a mechanical arm which can provide functions similar to those of a human arm.
  • the links of the positioning device 114p can be, for example, connecting links 114v and joint links 114g, the connecting links 114v being connected by means of the
  • Hinge members 114g are interconnected.
  • joint member 114g may have one or more joints, each joint of which is the one connected thereto
  • Links 114v can provide rotational movement (i.e., rotational movement) and / or translational movement (i.e., displacement) relative to one another.
  • the movement of the joint members 114g can be set in motion by means of actuators which are controlled by the control device 702.
  • a sensor arrangement 102 (having at least one tracker) can be or will be mounted on a work device 104.
  • a person 106 carries out an activity for completing the process task by means of the working device 104 to which the sensor arrangement 102 is attached (e.g. painting,
  • the work device 104 can be, for example, any hand-held work device 104 that a human worker 106 can use, relocate, hold, lift and / or manipulate (e.g., a handheld screwdriver, a spray gun, a) in the course of his job
  • the sensor arrangement 102 transmits data to an external receiver, which data are detected by an integrated sensor system of the sensor arrangement 102.
  • the data can for example be a position and / or a movement (e.g.
  • actuation sensor for example a button or switch, more generally also referred to as a trigger
  • the external receiver thus receives the time-dependent position of the sensor arrangement 102 in the room 701, 703, 705. Based on this, the time-dependent position of the work device 104 can be determined.
  • data from an additional external sensor system 112 also referred to as an additional sensor arrangement 112 and / or PLC data can be obtained from the receiver.
  • the additional sensor arrangement 112 can in
  • time-based data for example at a high frequency, are acquired and recorded by means of the sensor arrangements 102, 112, which cover the entire process sequence
  • This data can optionally be job-specific
  • Activity-specific process parameters can include the parameters of the respective function and / or of the operating point of the work device 104 (e.g. a volume flow of the paint spray gun).
  • Activity-specific process parameters can be determined in 103 a platform-independent model 104m (also referred to as process model 104m) of the process task.
  • This process model 104m clearly describes the overall human process of the process task.
  • the process model 104m can optionally be examined and adapted by a person 106.
  • the incoming data are time-based movement data of the human-held work device 104, data of the trigger (s) and data of further external ones
  • An instance of a platform-independent process model 104m e.g. in the form of a metamodel.
  • the metamodel describes the data types of the model instance and their possible ones
  • a model is, for example, a directed graph with typified nodes. Nodes have a data type (node of the metamodel) that describes the parameters of the model and their value ranges.
  • the generation of the model instance on the basis of the input data takes place with the help of, for example, artificial neural networks.
  • kNN Artificial neural networks
  • the training vectors are set according to the input parameters required in each case (for example, spatial coordinates of a sub-object of an implement, associated time, working points / control points of the implement,
  • a specific hardware platform 114 (also referred to more generally as a machine 114) can be selected (e.g. a specific robot type or end effector, etc.).
  • the machine specifics (e.g. structure) of the machine 114 can be taken into account by means of a model 116m of the machine 114.
  • Process model 104m can be software in 105 Generate platform-specific model 116m (also referred to as control model 116m) for a robot controller 702.
  • Generate platform-specific model 116m also referred to as control model 116m
  • control model 116m for a robot controller 702.
  • Process parameters e.g. volume flow at the paint end effector and / or movement sequences
  • Process parameters can be determined which correspond to the activity-specific process parameters.
  • the incoming data is an instance of the platform-independent metamodel (more generally
  • platform dependent model 116m is also available via a
  • the platform-dependent model 116m describes the data types and relationships of the platform-independent models 104m.
  • the model transformation describes a
  • Mapping function such as nodes or groups of nodes from the platform-independent model 104m on nodes or
  • Node groups of the platform-dependent model 116m are mapped. It also describes how these generated nodes are related to each other. The mapping takes place, for example, taking into account the respective
  • a model of the machine can contain, for example, and thus take into account:
  • Machine e.g. maximum gripping force of the end effector and / or degrees of freedom or freedom of movement of the
  • Control variables or controlled variables input variables of the individual actuators or output variables of the individual sensors;
  • Characteristics of a specifically used platform e.g. machine
  • a specifically used platform e.g. machine
  • a code generator 412 can be used to generate a program code 116 (e.g.
  • the program code 116 can denote the respective code in which the control program 116 is written. Depending on the process task,
  • the program code 116 can be generated for a communicating overall system (for example the robot controller and the PLC controller).
  • the program code 116 can optionally have predefined parts to which the program code 116 can be adapted by a developer.
  • the code is generated in the form of templates that exist for each target language. This
  • Templates have instances of the platform-dependent model as input and describe how from them at the metamodel level
  • Text fragments are generated.
  • these templates also have a pure text output
  • Control structures e.g. branches.
  • a template engine in turn has a template and an instance of the
  • platform-independent model as input and generates one or more text files from it.
  • Fig. 2 illustrates the method 100 according to various embodiments in a schematic flow diagram 200.
  • the method 100 may include in 101: attaching 201 a mobile sensor arrangement 102 to the work device 104 of the manual process flow generated by the machine 114 (e.g.
  • Process flow is, for example, rail-based (e.g. for gluing, welding, painting or milling).
  • the sensor arrangement 102 can be fastened to the work device 104 magnetically, with clamping screws, with a clip or Velcro tape, and optionally sequentially on several
  • the sensor assembly 102 can be one or more than one
  • the sensor arrangement 102 can optionally have one or more than one mobile unit, each mobile unit having at least one sensor of the sensor arrangement 102, eg a mobile unit with a trajectory sensor (also known as a tracker).
  • the or each mobile unit can be self-sufficient, for example to its own
  • Energy supply and / or for wireless communication can be accommodated together in a housing of a mobile unit (also referred to as internal sensors).
  • a transducer As a sensor (also referred to as a detector), a transducer can be understood that is set up to provide a
  • the Sensor type to record the corresponding property of its environment qualitatively or quantitatively as a measured variable, e.g. a physical or chemical property and / or a material nature.
  • the measured variable is the physical variable to which the measurement using the sensor applies.
  • a sensor can be, for example, a certain type of sensor
  • the operating point sensor can, for example, detect the operating point of the implement 104.
  • the trajectory sensor can, for example, a movement and / or the position (i.e. orientation and / or
  • the sensor arrangement 102 can have at least one optoelectronic sensor (e.g. a camera), at least one traction sensor and / or at least one
  • the traction sensor can, for example, be a motion sensor (e.g. an acceleration sensor and / or
  • Having speed sensor and / or a position sensor (e.g. having an orientation sensor and / or a position sensor).
  • the sensor arrangement 102 and / or the additional sensor arrangement 112 can have at least one sensor have, for detecting an electrodynamic
  • Property e.g. current, voltage, magnetic field or power
  • a location-related property e.g. alignment and / or position
  • Property e.g. speed and / or acceleration
  • a thermal property e.g. temperature or temperature difference
  • a geometric property e.g. distance, solid angle, volume
  • a photometric property e.g. light intensity, brightness, color, energy, or power
  • a mechanical property e.g. force, pressure, Mass, energy, power, torque, actuation, etc.
  • Sensor arrangement 102 can optionally be separate from the
  • the at least one sensor can, for example, have an actuation sensor and / or an operating point sensor.
  • the at least one sensor can be attached to the manual implement 104, e.g.
  • a supply device of the manual work device 104 e.g. for measuring a volume flow, a temperature or a current strength
  • the manual implement 104 can be a handheld device that is powered by a stationary supply device, e.g. with a fluid and / or with energy.
  • the operating point can describe the point in the characteristics map or on the characteristic curve of a technical device that is assumed due to the system properties and external influences and parameters of the device.
  • the working point can clearly describe the operating status of the device.
  • the method 100 can optionally further comprise in 101:
  • the calibration can include calibrating the position of the sensor arrangement 102 in relation to the coordinate system of the implement 104, the additional sensor arrangement 112 and / or a global coordinate system.
  • the global coordinate system can be
  • the calibration can include, for example: detecting the position of the sensor arrangement 102 with respect to the working device 104.
  • the calibration can alternatively or additionally include: detecting the position of the sensor arrangement 102 in space, e.g. in terms of the global coordinate system. Using the two position information items that describe the sensor arrangement 102 relatively in space and relative to the work device 104, the trajectory 111 of the work device 104 can be determined on the basis of the trajectory of the sensor arrangement 102 (see FIG. 1).
  • the method 100 may include at 101: manual
  • Work device 104 is carried and / or operated manually (i.e. by a person).
  • the work device 104 can be a work device carried or at least moved by muscle power.
  • Receiver send and / or the external receiver can determine the position and movement of the sensor arrangement 102 in space
  • a signal transmission to the external receiver via radio e.g. Bluetooth
  • the sensor arrangement 102 can have at least one trigger, which with a
  • User interface of the implement 104 is coupled.
  • the trigger can, for example, record the manual control of the work device 104 at the user interface.
  • the trajectory 111 (e.g. position and / or movement) of the sensor arrangement 102 can be detected by means of at least one camera 112 or another type of sensor 112, e.g. by means of a laser scanner 112, one
  • Distance sensor 112 a sonar sensor 112 and / or a radar sensor 112.
  • the method 100 can further optionally include in 103:
  • the movement data or the trajectory 111 can also be smoothed (e.g. so that one is as straight as possible along the
  • the stored parameters of the process sequence can have boundary conditions, such as represent optimal and / or limit values.
  • boundary conditions such as represent optimal and / or limit values.
  • the stored parameters can use the
  • process flow such as the working speed, the holding time, the pressure force, etc.
  • the determined process model 104m can be set up platform-independent, i.e. do not focus on a specific one
  • the method 100 can have in 105: transferring 209 the process model 104m into the control model 116m.
  • the process model 104m can be processed with stored machine-specific information 114m from one or more different machines 114 to form the
  • Control model 116m (also as process and
  • Machine 114 The sum of the machine-specific
  • Information 114m may also be referred to as a model 114m of the or each machine 114.
  • the machine-specific information 114m can
  • the machine-specific information 114m can include at least one tool 114e of the machine 114 (also referred to as machine tool 114e)
  • Positioning device 114p of the machine 114 are attached.
  • the method 100 in 103 can include:
  • Post-processing 207 of the process model 104m can optionally have: post-processing 211 of the control model 116m that has been formed.
  • the post-processing 207 can for example by a user with the help of a
  • User interface 406 also referred to as a user interface
  • application software e.g. executed on a PC, tablet or smartphone
  • the method 100 can optionally include in 207 or 211: visualization and simulation of the
  • Control model 116m or process model 104m in a virtual environment and / or editing the trajectory 111, 113, the process logic, the process parameters and the
  • a spatial sub-model 502 of the process model 104m can, for example, with the representation of the corresponding
  • the method 100 can have in 107:
  • Code generation for one or more than one machine 114 optionally of different types, optionally with the
  • a control program 116 which can be executed by the corresponding machine 114, can be formed by means of the code generation 107.
  • the code generation 107 takes place, for example, in the form of templates that exist for each target language. This
  • Templates have instances of the platform-dependent model as input and describe how from them at the metamodel level
  • Text fragments are generated.
  • these templates also have a pure text output
  • Control structures e.g. branches.
  • a template engine in turn has a template and an instance of the
  • platform-independent model as input and generates one or more text files from it.
  • the code generation 107 can, for example, for a
  • the code generation 107 can, for example
  • the source code can be generated for different target languages, e.g. depending on which target language is suitable for the corresponding machine.
  • the source code e.g. can be subsequently adapted and edited by a developer, for example by means of the
  • Fig. 3 illustrates the method 100 according to various embodiments in a schematic side view 300.
  • the sensor arrangement 102 can, for example, be a software-based method 100 for teaching a
  • Enable industrial robot which is also accessible to a technical layman 106.
  • a non-programmer 106 may be enabled to do a
  • At least one task expert 106 e.g. a mechanic or a welder
  • Control software of the robot 114 can be generated completely automatically.
  • the method 100
  • control model 116m is independent of specific machine types and can therefore also be used for any machine type, e.g. from another manufacturer, can be reused. Conversion of the machine 114 can thus be facilitated.
  • the method 100 can include in 101: acquiring the data by means of the sensor arrangement 102 (clearly a physical sensor component) and / or an additional (clearly external) sensor arrangement 112.
  • the or each mobile unit can be attached to a work device 104 and by means of at least one integrated therein Sensor detect the position and / or the acceleration of the implement 104.
  • Attaching the or each mobile unit of the sensor arrangement 102 to the work device 104 can be carried out in 101 by means of a
  • Fixing devices e.g. magnetic, clip, or Velcro.
  • the sensor arrangement 102 can have at least one trigger 102t (for example on a trigger of a glue gun) which detects manual control of the implement 104.
  • the additional sensor arrangement 112 can determine the position of the
  • Detect sensor arrangement 102 in space 301 Both the data from the sensor arrangement 102 (e.g. its mobile unit) and the data from the external sensor system 112 can be transmitted in a time-synchronized manner to a computing unit 302 (e.g. PC, laptop, etc.) which has the external receiver or is communicatively connected to it.
  • a computing unit 302 e.g. PC, laptop, etc.
  • the sensor arrangement 102 can be calibrated 203 in its relative position (i.e. position and / or orientation) to the work device 104.
  • Coordinate system of the implement 104 can be determined. Furthermore, a calibration can be carried out in a global
  • Fig. 4A illustrates the method 100 according to various embodiments in a schematic flow diagram 400a.
  • a person can exemplarily run the process once or several times with the actual work device 104
  • the process sequence can include screwing a screw using an electric screwdriver 104.
  • the sensor arrangement 102 and / or the additional sensor arrangement 112 can detect at least one measured variable which defines a spatial position (and / or its
  • the trajectory 111 of the work device 104 can be recorded.
  • the trajectory 111 of the implement 104 can, for example, provide information about a speed, a Have the position, an acceleration and / or an orientation of the implement 104.
  • provided function (and / or its change) are recorded in a parameterized manner, e.g. a rotational speed of a shaft of the implement, a temperature of a heating device of the implement, a current through a welding tip of the
  • the trigger 102t can be configured to detect manual control of the implement 104, e.g. at a user interface of the work device 104.
  • the data 402 collected in 101 can be sent to a processing unit 302 (or another processing unit) and there with activity-specific process parameters 404 (e.g.
  • Volume flow of a spray gun 104) can be enriched 403. Enriching with activity-specific
  • Process parameters 404 can for example be done automatically or manually (e.g. via user input).
  • the user can choose from a range of tools (e.g. spray guns) in the graphical user interface of the computing unit.
  • the process-specific parameters e.g. volume flow
  • the process-specific parameters are then queried via an input form.
  • the computing unit 302 can use the acquired data 402 to create 103 the process model 104m (also referred to as a process-specific model), which describes the process task without reference to a specific automation.
  • the processing unit 302 can optionally be set up to change the data 402, for example to optimize and / or abstract it. For example, changing can include to thin out and / or smooth the trajectory 111 (for example the movement data), to identify and / or optimize sub-processes and to close logic connections.
  • the process model 104m can optionally by means of a
  • User interface 406 (e.g. on a PC, tablet or
  • components e.g. sections or individual points
  • the trajectory 111 of the implement 104 can be adapted and / or finely adjusted.
  • an actuation with the at least one trigger 102t can be tracked, changed and / or linked to the trajectory 111.
  • the process model 104m can further be provided with machine-specific information 114m (e.g. the concrete robot platform 114 or at least the end effector 114e), e.g.
  • the processing unit 302 can automatically determine the control model 116m from the process model 104m and the provided machine-specific information 114m.
  • the control model 116m represents a
  • the incoming data is an instance of the platform-independent metamodel (more generally
  • platform dependent model 116m is also available via a
  • the platform-dependent model 116m describes the data types and relationships of the platform-independent models 104m.
  • the model transformation describes a
  • Mapping function such as nodes or groups of nodes from the platform-independent model 104m on nodes or
  • Node groups of the platform-dependent model 116m are mapped. It also describes how these generated nodes are related to each other. The mapping takes place, for example, taking into account the respective
  • a model of the machine can contain, for example, and thus take into account:
  • Machine e.g. maximum gripping force of the end effector and / or degrees of freedom or freedom of movement of the
  • Control variables or controlled variables input variables of the individual actuators or output variables of the individual sensors;
  • End positions of the partial coordinate systems are; permissible operating parameters of the machine, such as the maximum operating temperature.
  • Characteristics of a specifically used platform e.g. machine
  • a specifically used platform e.g. machine
  • the machine-specific control model 116m can optionally be post-processed 211 using a user interface 406 (e.g. provided on a PC, tablet or smartphone).
  • a user interface 406 e.g. provided on a PC, tablet or smartphone.
  • the trajectory 113 of the machine 114 e.g. of the end effector 114e
  • Hold times or the like changed e.g. can be specified.
  • error compensation and / or a communication path with the system control can be defined.
  • a program code 116 can be generated 107 from the control model 116m, which program code is stored on the control device 702 (also referred to as controller 702) of the machine 114
  • the code is generated in the form of templates that exist for each target language. This
  • Templates have instances of the platform-dependent model as input and describe how from them at the metamodel level
  • Text fragments are generated.
  • these templates also have a pure text output
  • Control structures e.g. branches.
  • a template engine in turn has a template and an instance of the
  • platform-independent model as input and generates one or more text files from it.
  • An external system for example a PC, a PLC or the like, can optionally be used to control the end effector 114e.
  • program code 116 for an internal control device 116a of the machine also referred to as robot code
  • Program code 116 for the external system 116b and / or for the communication interface 116b to this can be generated.
  • the machine 114 can have an internal 116a and / or external 116b control device 702, which is set up to control the end effector 114e and / or the positioning device 114p of the machine 114.
  • the program code 116 can from the control device 116a,
  • the program code 116 can denote the respective code in which the control program 116 is written. Depending on the process task, information technology infrastructure and the specific requirements, various target platforms on which the program code 116 is to be listed can be served.
  • the program code 116 can be generated for a communicating overall system (e.g. the
  • Program code 116 can optionally have predefined parts to which the program code 116 can be adapted by a developer.
  • the program code 116 can be changed subsequently, e.g. be adjusted, for example by means of a
  • Fig. 4B illustrates a system 400b for performing the method 100 according to various embodiments in a schematic system diagram.
  • the system 400b can have at least one sensor arrangement 452, for example that which can be attached to the work device 104 Sensor arrangement 102 or the stationary sensor arrangement 112.
  • the system 400b can furthermore have at least one processing unit 302, which has one or more than one processor
  • the system 400b can optionally have a
  • Have code generator 412 which is set up to convert the machine-specific control model 116m into the
  • the system 400b can optionally have a machine 114 which has a control device 702 programmed with the control program 116 and a programming interface 702i, by means of which the control program 116 can be provided to the control device 702.
  • Fig. 5 illustrates the method 100 according to various embodiments in a schematic model diagram 500.
  • the process model 104m (process-specific model) clearly describes a process task without reference to an underlying automation solution.
  • the process model 104m can have several sub-models 502, 504, 506 (e.g. per sub-process).
  • a first partial model 502 (also referred to as spatial model 502) can describe physical, geometric, position-related and / or movement-related properties, e.g. Objects whose shape or position in Cartesian space 701, 703, 705, and / or at least one trajectory 111 in the
  • the spatial model 502 can describe process activities annotated in Cartesian (e.g. gripping an object) and / or the activity-related process parameters.
  • the Cartesian space can be spanned by directions 701, 703, 705 which, for example, are stationary.
  • the first partial model 502 can describe alternative trajectories 111 or sections thereof, which be referenced by means of a third model 506 (also referred to as logic model 506) logic model.
  • the spatial model 502 clearly describes how the process task is carried out in the physical space 701, 703, 705 and which task-specific process activities (for example activating the spray function of a spray gun) are linked to it.
  • the process activities can be carried out by at least one
  • activity-related process parameters e.g. of at least one position-related and / or movement-related
  • Process parameters e.g. a speed
  • Process parameters e.g. a speed
  • At least one functional process parameter (e.g. a volume flow of a spray gun) can be represented.
  • the spatial model 502 describes, for example, the
  • a second partial model 504 (also referred to as a machine-unspecific adaptation model) can describe which
  • different process situations 514 can occur (e.g. painting of component A or component B) and / or how these process situations 514 can be distinguished (e.g. based on a shape of component A and / or shape of component B), e.g. based on criteria.
  • the second partial model 504 defines a criterion for
  • Recognition of a process situation 514 e.g. by means of a
  • the second partial model 504 describes reference data for the criteria that were recorded, for example, during the teaching 101 (e.g. example images of the components).
  • environment variables are defined for this (e.g. shape of the component, temperature, etc.). Based on the environment variables, situations for certain
  • a third partial model 506 (also referred to as a machine-unspecific logic model) describes the underlying process logic 516.
  • the process logic 516 can include at least one control structure 516s (e.g. loop, branch, jump,
  • Link adaptation model 504. In this way a complex schedule can be represented, e.g. "If component A has been recognized, a jump is made to path 111 with the process parameters annotated there".
  • control model 116m can be a fully integrated
  • Represent automation script for a specific hardware selection positioning device 114p, control device 702 and / or end effector 114e).
  • Control model 116m can have multiple sub-models 552, 554, 556, 558.
  • An additional first partial model 552 (also referred to as a physical model 552) clearly describes the spatial information analogously to the physical model 502, however, in relation to the machine 114. For example
  • Process-specific information can be transferred to the coordinate system 705, 713 of the machine 114.
  • the attachment and alignment of the end effector 114e of the machine 114 can be taken into account in order to determine the coordinate system 701, 703, 705 when the implement 104 is detected during the
  • Process parameters of the first partial model 502 are mapped 105a to the specific tool of the end effector 114e (ie machine-specific).
  • An additional second partial model 554 (also referred to as a machine-specific adaptation model 554) can describe a large number of parameters and situations.
  • the parameters can have a name and a data type
  • one or more than one criterion can be used to define how a process situation can be recognized using specific parameter values (e.g. using a sensor of the machine 114).
  • specific parameter values e.g. using a sensor of the machine 114.
  • the dependency for determining the parameter values can be specified on the basis of available sensors 114s of the machine 114.
  • machine-specific adaptation model 554 can be implemented using
  • Adaptation model 504 can be derived and optionally further refined 211 by the user.
  • An additional third part model 556 (also as
  • machine-specific logic model can be a
  • control structures 516s e.g. loops, conditions, etc.
  • the machine-specific logic model 556 can clearly show the other sub-models, e.g. the physical model 552
  • the machine-specific logic model 556 can be generated from the machine-specific logic model 506 by means of mapping 105c
  • a fourth partial model 558 can describe the integration of the automation script with possible third-party systems 518.
  • the external system 518 can have at least one sensor (for example at least one camera), a control device or a business resource planning system (ERP system).
  • ERP system business resource planning system
  • at least one integration-specific protocol can be defined, which the machine 114 communicatively embeds 520 in the system landscape.
  • the interaction model 558 can for example be determined on the basis of the machine-unspecific logic model 504 and can optionally be from
  • the physical model 552 can clearly define movement processes and movement sequences in combination with an activity of the end effector 114e.
  • the interaction model
  • the machine 114 communicates in the system landscape (e.g., transmits data to and / or receives data from the external system 518).
  • Adaptation model 556 describes under which conditions which procedure is required.
  • Fig. 6 illustrates the method 100 according to various embodiments in a schematic flow diagram 600.
  • a control program 116 can be formed which can be executed by the machine 114.
  • the control program 116 can have source code files which are set up in the respective target format of the machine 114.
  • Each machine 114 e.g. robot platform
  • Execute programming language e.g. KRL, Rapid, Visual Basic, etc.
  • Control models 116m in text can be done using templates.
  • the templates can be instantiated with process- and machine-specific models 114m, 104m and generate the respective program code.
  • Fig. 7 illustrates a machine 114 in accordance with various embodiments in a schematic layout diagram 700.
  • the machine 114 may herein be a means of a
  • Control program 116 be programmable machine. Once programmed, the machine 114 can be configured to carry out a process flow autonomously, and optionally the
  • Process sequence i.e. the execution of the task to vary within limits depending on sensor information.
  • the machine 114 can have a control device 702 which is set up to control at least one actuator 704 (also referred to as an actuator) of the machine 114 in accordance with the control program 116.
  • the control device 702 can be set up to control at least one actuator 704 (also referred to as an actuator) of the machine 114 in accordance with the control program 116.
  • the control device 702 can be set up to control at least one actuator 704 (also referred to as an actuator) of the machine 114 in accordance with the control program 116.
  • the control device 702 can be set up to control at least one actuator 704 (also referred to as an actuator) of the machine 114 in accordance with the control program 116.
  • the control device 702 can be set up to control at least one actuator 704 (also referred to as an actuator) of the machine 114 in accordance with the control program 116.
  • the control device 702 can be set up to control at least one actuator 704 (also referred to as an actuator) of the machine 114 in
  • Machine 114 may have a kinematic chain 706 along which an action of the at least one actuator 704 is transmitted, e.g. along the coupling of the links of the kinematic chain 706 with one another.
  • Controller 702 may, for example, be a
  • PLC programmable logic system
  • the kinematic chain 706 can be a
  • Positioning device 114p have positionable end effector 114e.
  • the last link of the kinematic chain 706 of the machine 114, which is set up directly on a can be understood as the end effector 114e
  • Affect the workpiece e.g. to process this (i.e. to process it). Activities such as acting on the workpiece, a preparatory step for it or a
  • the process activity can, for example, be an archetype, joining (e.g. welding, coating, screwing, plugging, contacting, gluing or otherwise assembling) or assembling), separating (e.g. grinding, milling, sawing or otherwise machining, punching or dismantling), forming, heating, relocating (e.g. gripping, fitting, rotating or moving), or the like.
  • the process flow can be web-based, ie by moving the
  • End effector 114e are mapped along a trajectory 113.
  • the positioning device 114p may include at least one
  • end effector 114e can relocate to a position (also referred to as positioning).
  • the end effector 114e can
  • At least one actuator 704 which is arranged to carry out the process activity, e.g. by means of a tool of the end effector 114e.
  • the tool can generally provide a function appropriate to the process activity, by means of which the workpiece is acted upon.
  • Tool can, for example, be an archetype tool
  • Joining tool e.g. screwdriver, glue gun or
  • the joining tool can, for example, be a coating tool (e.g. a
  • Paint spray gun a powder coating gun or be formed from it.
  • the machine 114 can have at least one internal
  • Have sensor 114i which is configured to have a
  • the machine 114 can have at least one external sensor 114s (e.g. a camera) which is set up to detect a property of the environment of the machine 114.
  • at least one external sensor 114s e.g. a camera
  • the external sensor 114s can be used, for example, to recognize whether a predefined process situation is present (ie a situation-related criterion is met). Using the property detected by means of the at least one sensor 114s, 114i, it can be determined, for example, whether a criterion is met. If the criterion is parameterized according to the sensor type (ie mapped onto a property that can be detected by the sensor type), the property detected by the sensor can be compared with the parameterized criterion in order to determine whether the criterion is met.
  • the working point can, for example, define which
  • actuators 704 of machine 114 Describe actuators 704 of machine 114.
  • the storage medium can be provided as part of the control device 702 and / or separately therefrom.
  • the storage medium can for example be an electronic one
  • Semiconductor storage medium e.g. a
  • ROM Read-only memory
  • RAM random access memory
  • USB stick USB stick
  • SSD Solid state drive
  • HDD hard disk drive
  • MD storage disk
  • Storage medium an optical storage medium, a compact disc, a digital versatile disc (DCV), or a magneto-optical disc.
  • control model has been described with reference to a machine.
  • what has been described can apply to a plurality of separate, e.g. among themselves
  • communicating machines e.g. a process line
  • communicate machines apply, as well as for a machine, several
  • Example 1 is a method comprising: determining a machine-independent process model on the basis of data, the data representing handling of a work device when carrying out a process flow, the process flow having a plurality of sub-processes, the process model having one for each sub-process of the plurality of sub-processes Process activity linked with spatial information of the sub-process; Mapping the
  • Example 2 is the method according to Example 1, wherein the mapping comprises the spatial information on one
  • mapping the operating point of a positioning device of the machine; and / or wherein the mapping comprises the
  • Example 3 is the method according to Example 1 or 2, wherein the machine has at least one actuator on which the Operating point is related, for example, the actuator is a motor, for example, the actuator part of the
  • Positioning device and / or the end effector is.
  • Example 4 is the method according to one of Examples 1 to 3, the spatial information being exactly three
  • Coordinate system and / or has exactly three directional coordinates) and / or wherein the spatial information is related to a rectilinear coordinate system.
  • Example 5 is the method according to one of Examples 1 to 4, wherein one or more than one sub-process of the plurality of sub-processes is conditional according to a criterion (also referred to as a conditional sub-process), the model of
  • Machine represents a sensor type of the machine, the mapping having to parameterize the criterion according to the sensor type (e.g. on a sensor detection area
  • Process model has to determine (e.g. on the basis of the data) the criterion and / or the conditional sub-process.
  • Example 6 is the method according to one of Examples 1 to 5, wherein the mapping comprises mapping the spatial information onto a coordinate system of the machine (which e.g. is related to the at least one actuator of the machine).
  • Example 7 is the method according to one of Examples 1 to 6, wherein the determination of the process model comprises assigning one or more than one process logic (e.g. a rule)
  • the determination of the process model comprises assigning one or more than one process logic (e.g. a rule)
  • the process logic optionally being set up to determine whether the criterion is met, for example the
  • Example 8 is the method according to one of Examples 1 to 7, the machine-independent process model (eg its process logic) for at least one sub-process of the
  • Multiple sub-processes at least two links between process activity and spatial information of the
  • Sub-process whereby the two links are alternatives, between which a decision is made based on a criterion (e.g. using the process logic).
  • Example 9 is the method according to one of Examples 1 to 8, wherein the spatial information represents a position and / or orientation of the implement; and / or wherein the process activity is an actuation and / or a
  • Example 10 is a method according to any of Examples 1 to 9, further comprising: presenting the
  • User interface which is set up to change the machine-independent process model or the machine-specific control model on the basis of a user input.
  • Example 11 is a method according to one of Examples 1 to 10, further comprising: Acquiring the data at least in part by means of a sensor arrangement which is connected to the
  • Working device is attached, optionally the working device (e.g. directly and / or muscle-powered) being handled and / or carried by a person (e.g. their hand), with, for example, the sensor arrangement being removable (i.e.
  • Example 12 is a method comprising: detecting
  • Data for example the data according to one of Examples 1 to 11, at least in part by means of a sensor arrangement which can be removed from a (for example manually movable) working device is attached, the data being a handling of the
  • Work device a process sequence is carried out, wherein the work device is moved by a person; Determination of a machine-independent process model based on the data, which represents the process flow, furthermore
  • Example 13 is the method according to Example 11 or 12, the sensor arrangement having a fastening device by means of which the sensor arrangement is detachably fastened to the working device.
  • Example 14 is the method according to any one of Examples 11 to 13, wherein the sensor arrangement (e.g. their
  • Fastening device has one or more than one magnet; and / or a clamping device (e.g. comprising a clip and / or clamping screws); and / or has a Velcro strip.
  • a clamping device e.g. comprising a clip and / or clamping screws
  • Example 15 is the method according to any one of Examples 11 to 14, wherein the sensor arrangement is separate from that
  • Working device is supplied with energy; and / or wherein the sensor arrangement is galvanically separated from the working device.
  • Example 16 is the method according to one of Examples 11 to 15, wherein the sensor arrangement has one or more than one trajectory sensor (e.g. position sensor and / or movement sensor) by means of which the data are recorded.
  • the sensor arrangement has one or more than one trajectory sensor (e.g. position sensor and / or movement sensor) by means of which the data are recorded.
  • Example 17 is the method according to one of Examples 11 to 16, the sensor arrangement having an operating point sensor, by means of which an operating point of the working device is detected, with the operating point sensor, for example has a flow sensor, a temperature sensor and / or a current sensor (eg power sensor).
  • the operating point sensor for example has a flow sensor, a temperature sensor and / or a current sensor (eg power sensor).
  • Example 18 is the method according to one of Examples 11 to 17, further comprising: wireless transmission of the data from the sensor arrangement to a base station, the
  • Base station has, for example, a computing unit, wherein the computing unit is used to determine the
  • Example 19 is the method according to any one of Examples 1 to 18, wherein the data e.g. by means of the
  • Sensor arrangement are detected, represent a trajectory (e.g. a position-related and / or movement-related property) of the implement, and / or a property according to the work point of the implement (for example
  • Example 20 is the method according to Example 19, wherein the determination of the machine-independent process model comprises a trajectory of the process sequence, e.g. along which the implement is guided and / or the sub-processes
  • Example 21 is the method according to one of Examples 1 to 20, wherein the determination of the machine-independent
  • Process model also has to take into account at least one boundary condition for the process activity and / or the spatial information, wherein, for example, the determination of the machine-independent process model further comprises a model of at least one sub-process of the plurality of
  • the boundary condition for example
  • Example 22 is the method according to Example 21, wherein the at least one boundary condition is related to temporal information and / or mechanical information, wherein, for example, the at least one boundary condition is a
  • Example 23 is the method according to one of Examples 1 to 22, the data being recorded in a time-resolved manner.
  • Example 24 is the method according to any one of Examples 1 to 23, wherein the model of the machine, a sensor type of the machine, an end effector of the machine, a
  • Example 25 is the method according to one of Examples 1 to 24, the machine-independent process model also representing a result of the process sequence.
  • Example 26 is the method according to one of Examples 1 to 25, further comprising: mapping the machine-specific control model to a control program which can be executed by the machine, e.g. whose code segments are set up according to a programming interface of the machine.
  • Example 27 is the method according to Example 26, wherein the mapping of the machine-specific control model to the control program comprises using one or more than one template.
  • Example 28 is the method according to Example 27, the template using the model of the machine, the process model and / or a model of at least one sub-process
  • Example 29 is the method according to one of Examples 1 to 28, further comprising: Acquiring the data at least in part by means of an additional sensor arrangement which is arranged in a stationary manner, for example the acquisition of the additional sensor arrangement and the sensor arrangement and / or the corresponding parts of the data be synchronized.
  • Example 30 is the method according to Example 29, wherein the additional sensor arrangement is an optoelectronic sensor, a distance sensor, a sonar sensor and / or a
  • a trajectory e.g. a position-related and / or
  • Example 31 is a system comprising: one or more than one processor which is set up to carry out the method according to one of Examples 1 to 30, optionally further comprising a wireless communication device for wireless communication with the sensor arrangement and / or the additional sensor arrangement.
  • Example 32 is the system according to Example 31, furthermore
  • Memory in which the machine-independent process model, the machine-specific control model and / or the model of the machine are or will be stored; and / or one or more than one sensor arrangement for acquiring the data.
  • Example 33 is a non-volatile memory comprising code segments that are established when executed by a processor, the method according to any one of Examples 1 to 30.
  • Example 34 is a machine-independent process model, e.g. process model from the method according to one of Examples 1 to 30, the process model for each sub-process of a large number of sub-processes linking a process activity with spatial information of the sub-process, the several sub-processes being part of a process flow, which is carried out by means of a working device, for example the spatial information exactly three
  • Coordinate system and / or has exactly three directional coordinates) and / or wherein the spatial information is related to a rectilinear coordinate system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

The invention relates to various embodiments according to which a method can comprise: determination (103) of a machine-independent process model (104m) on the basis of data, wherein the data represents the handling of a tool (104) when carrying out (101) a process sequence, wherein the process sequence has a plurality of partial processes, wherein the process model (104m) links a process activity with physical information from the partial process for each partial process of the plurality of partial processes; mapping (105) of the machine-independent process model (104m) onto a machine-specific control model (116m) of a machine, using a model (114m) of the machine (114), wherein, for each partial process of the plurality of partial processes, the machine-specific control model (116m) defines a working point of the machine (114) which corresponds to the process activity and the physical information from the partial process.

Description

Beschreibung description
Verfahren, System sowie nichtflüchtiges Speichermedium Process, system and non-volatile storage medium
Verschiedene Ausführungsbeispiele betreffen ein Verfahren, ein System sowie ein nichtflüchtigen Speichermedium. Various exemplary embodiments relate to a method, a system and a non-volatile storage medium.
Sowohl die Programmierung eines Industrieroboters als auch die Programmierung der zugehörigen Anlagensteuerung ist herkömmlicherweise hersteiler- und roboterabhängig. Die Both the programming of an industrial robot and the programming of the associated system control are conventionally dependent on the manufacturer and the robot. The
Programmierung erfolgt in der Regel in Form von Programmcode durch einen oder mehr als einen speziell ausgebildete Programming is usually done in the form of program code by one or more specially trained staff
Experten. Daher ist die Programmierung insbesondere für eine bahn-basierte Anwendung (z.B. Schweißen, Kleben, Lackieren) aufwändig und teuer. Experts. Programming is therefore time-consuming and expensive, especially for a rail-based application (e.g. welding, gluing, painting).
Die Kosten machen eine Automatisierung mittels eines The cost makes automation by means of a
Industrieroboters (vereinfacht auch als Roboter bezeichnet) für kleine- und mittelständische Unternehmen wirtschaftlich unattraktiv, da diese üblicherweise keine Fertigung hoher Stückzahlen bei geringer Fertigungsvariabilität unterhalten, welche die Kosten aufwiegen könnte. Für große Unternehmen kann hingegen die geringe Flexibilität der Programmierung unattraktiv sein. Eine Umrüstung der Programmierung ist zeitaufwändig, wodurch kürzere und unwirtschaftliche Industrial robots (also referred to as robots in a simplified manner) are economically unattractive for small and medium-sized companies, since they usually do not produce large quantities with little production variability, which could outweigh the costs. For large companies, on the other hand, the lack of flexibility in programming can be unattractive. Retrofitting the programming is time-consuming, making it shorter and uneconomical
Produktionszyklen entstehen. Production cycles arise.
Die Komplexität der Programmierung erhöht sich aufgrund der Integration des Industrieroboters mit seinen vielfältigen Bestandteilen, wie etwa einem Endeffektor (z.B. einer The complexity of the programming increases due to the integration of the industrial robot with its diverse components, such as an end effector (e.g. a
Klebepistole), einem Sensorsystem (z.B. einer Kamera) und einem Steuersystem (z.B. einer speicherprogrammierbaren Glue gun), a sensor system (e.g. a camera) and a control system (e.g. a programmable logic device
Steuerung - SPS) . Diesbezüglich werden herkömmlicherweise die folgenden Teilaspekte betrachtet und behandelt: die Control - PLC). In this regard, the following sub-aspects are conventionally considered and dealt with: the
Bewegungsplanung und Bewegungssteuerung in Form einer Motion planning and motion control in the form of a
Trajektorie, die Integration und Ansteuerung der am Roboter befestigten Werkzeuge, die Prozesslogik inklusive Fehlererkennung und -behandlung, die Prozessparameter und mögliche Adaptionen auf geänderte Rahmenbedingungen, und die Integration der Steuerung des Roboters in die Steuerung der Gesamtanlage . Trajectory, the integration and control of the tools attached to the robot, including the process logic Error detection and handling, the process parameters and possible adaptations to changed framework conditions, and the integration of the control of the robot into the control of the overall system.
Die Programmierung eines Industrieroboters kann Programming an industrial robot can
beispielsweise manuell von einem Experten erfolgen. Dies trifft derzeit noch für mehr als 96% der Anwendungen zu. be done manually by an expert, for example. This currently still applies to more than 96% of the applications.
Dabei schreibt ein Programmierer manuell den Programmcode, der den Roboter zur Ausführungszeit die Anwendung autonom durchführen lässt. A programmer manually writes the program code that allows the robot to carry out the application autonomously at execution time.
Die Programmierung eines Industrieroboters kann alternativ oder zusätzlich mittels einer CAD-basierten Codegenerierung durch den Experten erfolgen. Dabei wird eine virtuelle The programming of an industrial robot can alternatively or additionally be carried out by the expert using CAD-based code generation. A virtual
Repräsentation der Realität (auch als virtuelle Welt Representation of reality (also as a virtual world
bezeichnet) geschaffen und der Roboter in der virtuellen Welt programmiert. Dies ermöglicht neben der Simulation auch die einfachere Zugänglichkeit. Jedoch kann diese CAD-basierte Codegenerierung nicht ohne weiteres von einem technischen Laien umgesetzt werden. Darüber hinaus weicht die virtuelle Welt oft signifikant von der Realität ab. Bereits kleine Abweichungen können zu erheblichen Diskrepanzen bei der labeled) and programmed the robot in the virtual world. In addition to the simulation, this also enables easier accessibility. However, this CAD-based code generation cannot easily be implemented by a technical layperson. In addition, the virtual world often deviates significantly from reality. Even small deviations can lead to significant discrepancies in the
Arbeit des Roboters in der Realität führen. Aus diesem Grund wird der Programcode, der mittels der Codegenerierung Perform the robot's work in reality. For this reason, the program code that is generated by means of the code generation
generiert wird, üblicherweise zusätzlich von einem is generated, usually additionally by a
Programmierer angepasst. Programmer adapted.
Als Alternative zur vollständig manuellen Programmierung wird herkömmlicherweise ein Anlernverfahren (auch als Teach-In bezeichnet) eingesetzt. As an alternative to completely manual programming, a learning process (also referred to as teach-in) is conventionally used.
Für das Anlernverfahren kann der Roboter beispielsweise manuell gesteuert werden. Ein sensitiver Roboter (auch als Co-Bot bezeichnet) kann beispielsweise auch handgeführt werden. Mit beiden Mechanismen kann die Trajektorie (d.h. die Bahn auf der sich der Roboter bewegen soll) gezeigt werden. Über die Trajektorie hinausgehende Tätigkeiten, die der For the learning process, the robot can be controlled manually, for example. A sensitive robot (also referred to as a co-bot) can also be hand-operated, for example. With both mechanisms the trajectory (ie the path on which the robot should move) can be shown. Activities going beyond the trajectory that the
Roboter durchführen soll, bleiben allerdings weiterhin komplex und daher herkömmlicherweise von dem Anlernverfahren unberücksichtigt. Die Komplexität besteht beispielsweise in der Integration der vielfältigen Bestandteile des Roboters, wie des Endeffektors, der Sensoren und dem Steuerungssystem, in den auszuführenden Prozess, welche daher manuell Robots are supposed to perform, however, remain complex and are therefore conventionally not taken into account by the learning process. The complexity consists, for example, in the integration of the various components of the robot, such as the end effector, the sensors and the control system, into the process to be carried out, which is therefore done manually
programmiert werden muss. needs to be programmed.
Das Anlernverfahren kann alternativ oder zusätzlich über ein interaktives Eingabegerät erfolgen. Dazu wird The learning process can alternatively or additionally take place via an interactive input device. This will be
herkömmlicherweise ein herstellerspezifisches Eingabegerät, wie beispielsweise eine 6d-Maus oder ein Interaktionsstift, verwendet. Analog zur manuellen Steuerung oder handgeführten Steuerung kann in diesem Fall ebenso nur die Trajektorie angelernt werden. Die Integration der verschiedenen conventionally a manufacturer-specific input device, such as a 6d mouse or an interaction pen, is used. Analogous to manual control or hand-guided control, only the trajectory can be learned in this case. The integration of the various
Bestandteile des Roboters erfolgt daher manuell über Components of the robot are therefore carried out manually
Programmierung . Programming.
Das Anlernverfahren kann alternativ oder zusätzlich mittels einer Sensordatenverarbeitung erfolgen. Dazu werden The learning process can alternatively or additionally take place by means of sensor data processing. To be
verschiedene Erweiterungen für den Endeffektor eines dafür ausgerüsteten Roboters vorgesehen, die ein Sensorsystem (z.B. eine Kamera) direkt in die Robotersteuerung integrieren. Various extensions are provided for the end effector of a robot equipped for this purpose, which integrate a sensor system (e.g. a camera) directly into the robot controller.
Aufgrund der technischen Limitierungen ist dies bisher nur für eine Bestückungsanwendung (auch als Pick-and-Place Due to the technical limitations, this has so far only been possible for one assembly application (also as pick-and-place
Applikationen bezeichnet) anwendbar. Applications) applicable.
Im Allgemeinen ist herkömmlicherweise immer ein Anteil manueller Programmierung vorhanden. Daher haben diese In general, there is traditionally always some manual programming involved. Hence this
herkömmlichen Methoden gemeinsam, dass die Umsetzung nicht vollständig von einem technischen Laien vorgenommen werden kann, wenn der manuelle Programmieranteil über dessen Common to conventional methods is that the implementation cannot be carried out completely by a technical layperson if the manual programming part is beyond his
Fähigkeiten hinausgeht. Das liegt darin begründet, dass die Gesamtanwendung ein Zusammenspiel vielfältiger Teilprobleme ist (wie beispielsweise der Trajektorie, der Endeffektor- Ansteuerung, der Sensordatenverarbeitung und der Integration in die Prozesssteuerung) . Einfache Anlernverfahren Skills. This is due to the fact that the overall application is an interaction of diverse sub-problems (such as the trajectory, the end effector control, the sensor data processing and the integration in the process control). Simple learning process
konzentrieren sich daher ausschließlich auf die Spezifikation der Trajektorie. Das Anlernverfahren mit therefore concentrate exclusively on the specification of the trajectory. The learning process with
Sensordatenverarbeitung basiert auf Sensoren, die direkt am Roboter angebracht sind. Jedoch ist der Sichtbereich durch den Endeffektor und Roboter häufig eingeschränkt. Darüber hinaus beeinträchtigen wechselnde Lichtverhältnisse oder Luftpartikel (z.B. beim Lackieren) die Sensoren am Roboter. Sensor data processing is based on sensors that are attached directly to the robot. However, the field of vision is often restricted by the end effector and robot. In addition, changing light conditions or air particles (e.g. when painting) affect the sensors on the robot.
Gemäß verschiedenen Ausführungsformen werden ein Verfahren, ein System sowie ein nichtflüchtiger Speichermedium According to various embodiments, a method, a system and a non-volatile storage medium
bereitgestellt, welche die Automatisierung eines provided which automate a
Prozessablaufs erleichtern. Facilitate the process flow.
Gemäß verschiedenen Ausführungsformen kann ein Verfahren aufweisen: Ermitteln eines maschinenunabhängigen According to various embodiments, a method can include: determining a machine-independent
Prozessmodells auf Grundlage von Daten, wobei die Daten eine Handhabung eines Arbeitsgeräts beim Durchführen eines Process model based on data, the data indicating a handling of an implement when performing a
Prozessablaufs repräsentieren, wobei der Prozessablauf eine Vielzahl von Teilprozessen aufweist, wobei das Prozessmodell für jeden Teilprozess der Vielzahl von Teilprozessen eine Prozesstätigkeit mit einer räumlichen Information des Represent process flow, wherein the process flow has a plurality of sub-processes, wherein the process model for each sub-process of the plurality of sub-processes a process activity with spatial information of the
Teilprozesses verknüpft; Abbilden des maschinenunabhängigen Prozessmodells auf ein maschinenspezifisches Steuerungsmodell einer Maschine unter Verwendung eines Modells der Maschine, wobei das maschinenspezifische Steuerungsmodell für jeden Teilprozess der Vielzahl von Teilprozessen einen Arbeitspunkt der Maschine definiert, der zu der Prozesstätigkeit und der räumlichen Information des Teilprozesses korrespondiert. Die Daten können die Handhabung des Arbeitsgeräts beim Sub-process linked; Mapping of the machine-independent process model to a machine-specific control model of a machine using a model of the machine, the machine-specific control model defining an operating point of the machine for each sub-process of the plurality of sub-processes that corresponds to the process activity and the spatial information of the sub-process. The data can be used during the handling of the implement
Durchführen des Prozessablaufs mittels des Arbeitsgeräts repräsentieren . Represent performing the process sequence by means of the implement.
Anschaulich wird gemäß verschiedenen Ausführungsformen ein maschinenunspezifisches Prozessmodell erzeugt, welches den menschlichen Gesamtprozess der zu erledigenden Prozessaufgabe beschreibt. Das Prozessmodell kann beispielsweise erstellt werden, indem nachverfolgt wird, wie die Prozessaufgabe von einer Person erledigt wird. According to various embodiments, a machine-unspecific process model is clearly generated which describes the overall human process of the process task to be performed. The process model can be created, for example by tracking how the process task is done by a person.
Das maschinenunspezifische Prozessmodell wird dann in ein maschinenspezifisches Steuerungsmodell überführt, welches auf diejenige Hardwareplattform (allgemein auch als Maschine bezeichnet) zugeschnitten ist, welche die Prozessaufgabe automatisiert erfüllen soll. Dabei werden The machine-unspecific process model is then transferred to a machine-specific control model, which is tailored to the hardware platform (generally also referred to as a machine) that is to perform the process task automatically. Be there
maschinenspezifische Informationen der ausgewählten machine-specific information of the selected
Hardwareplattform berücksichtigt. Hardware platform taken into account.
Aus dem maschinenspezifischen Steuerungsmodell kann From the machine-specific control model,
nachfolgend das Steuerprogram gebildet werden, welches die Hardwareplattform, z.B. deren SPS (Speicherprogrammierbare Steuerung), ausführen kann. subsequently the control program can be formed, which the hardware platform, e.g. whose PLC (programmable logic controller) can execute.
Es zeigen Show it
Figuren 1 und 3 jeweils ein Verfahren gemäß verschiedenen Figures 1 and 3 each show a method according to different
Ausführungsformen in einer schematischen Embodiments in a schematic
Seitenansicht ; Side view;
Figuren 2 und 4A jeweils ein Verfahren gemäß verschiedenen Figures 2 and 4A each show a method according to different
Ausführungsformen in einem schematischen Embodiments in a schematic
Ablaufdiagramm; Flow chart;
Figur 4B ein System zum Durchführen eines Verfahrens gemäß verschiedenen Ausführungsformen in einem FIG. 4B shows a system for performing a method according to various embodiments in one
schematischen Systemdiagram; schematic system diagram;
Figur 5 das Verfahren gemäß verschiedenen Ausführungsformen in einem schematischen Modelldiagramm; FIG. 5 shows the method according to various embodiments in a schematic model diagram;
Figur 6 das Verfahren gemäß verschiedenen Ausführungsformen in einem schematischen Ablaufdiagramm; und Figur 7 eine Maschine gemäß verschiedenen Ausführungsformen in einem schematischen Aufbaudiagram. FIG. 6 shows the method according to various embodiments in a schematic flowchart; and FIG. 7 shows a machine in accordance with various embodiments in a schematic structural diagram.
In der folgenden ausführlichen Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die Teil dieser bilden und in denen zur Veranschaulichung spezifische In the following detailed description, reference is made to the accompanying drawings, which form a part hereof and in which specific illustrations are given
Ausführungsformen gezeigt sind, in denen die Erfindung ausgeübt werden kann. In dieser Hinsicht wird Embodiments are shown in which the invention can be practiced. In this regard, will
Richtungsterminologie wie etwa „oben", „unten", „vorne", „hinten", „vorderes", „hinteres", usw. mit Bezug auf die Orientierung der beschriebenen Figur (en) verwendet. Da Directional terminology such as "top", "bottom", "front", "back", "front", "back", etc. are used with reference to the orientation of the character (s) being described. There
Komponenten von Ausführungsformen in einer Anzahl Components of embodiments in a number
verschiedener Orientierungen positioniert werden können, dient die Richtungsterminologie zur Veranschaulichung und ist auf keinerlei Weise einschränkend. Es versteht sich, dass andere Ausführungsformen benutzt und strukturelle oder logische Änderungen vorgenommen werden können, ohne von dem Schutzumfang der vorliegenden Erfindung abzuweichen. Es versteht sich, dass die Merkmale der hierin beschriebenen verschiedenen beispielhaften Ausführungsformen miteinander kombiniert werden können, sofern nicht spezifisch anders angegeben. Die folgende ausführliche Beschreibung ist deshalb nicht in einschränkendem Sinne aufzufassen, und der Can be positioned in various orientations, the directional terminology is used for purposes of illustration and is in no way limiting. It goes without saying that other embodiments can be used and structural or logical changes can be made without departing from the scope of protection of the present invention. It goes without saying that the features of the various exemplary embodiments described herein can be combined with one another, unless specifically stated otherwise. The following detailed description is therefore not to be taken in a restrictive sense, and the
Schutzumfang der vorliegenden Erfindung wird durch die angefügten Ansprüche definiert. The scope of the present invention is defined by the appended claims.
Im Rahmen dieser Beschreibung werden die Begriffe In the context of this description, the terms
"verbunden", "angeschlossen" sowie "gekoppelt" verwendet zum Beschreiben sowohl einer direkten als auch einer indirekten Verbindung, eines direkten oder indirekten Anschlusses sowie einer direkten oder indirekten Kopplung, z.B. einer "connected", "connected" and "coupled" are used to describe both a direct and an indirect connection, a direct or indirect connection and a direct or indirect coupling, e.g. one
mechanischen, hydrostatischen, thermischen und/oder mechanical, hydrostatic, thermal and / or
elektrischen, z.B. direkten oder indirekten, Verbindung und/oder Wechselwirkung. In den Figuren werden identische oder ähnliche Elemente mit identischen Bezugszeichen electrical, e.g. direct or indirect, connection and / or interaction. In the figures, identical or similar elements are given identical reference symbols
versehen, soweit dies zweckmäßig ist. Eine Kupplung kann eingerichtet sein, eine mechanische Wechselwirkung (z.B. provided that this is appropriate. A clutch can be set up, a mechanical interaction (e.g.
Kraft, Drehmoment, etc.) zu übertragen. Power, torque, etc.).
Der Begriff "Prozessor" kann als jede Art von Entität The term "processor" can be used as any type of entity
verstanden werden, die die Verarbeitung von Daten oder to be understood involving the processing of data or
Signalen erlaubt. Die Daten oder Signale können Signals allowed. The data or signals can
beispielsweise gemäß zumindest einer (d.h. einer oder mehr als einer) spezifischen Funktion behandelt werden, die vom Prozessor ausgeführt wird. Ein Prozessor kann eine analoge Schaltung, eine digitale Schaltung, eine for example, treated according to at least one (i.e., one or more than one) specific function performed by the processor. A processor can be an analog circuit, a digital circuit, a
Mischsignalschaltung, eine Logikschaltung, einen Mixed signal circuit, a logic circuit, a
Mikroprozessor, eine zentrale Verarbeitungseinheit (CPU) , eine Grafikverarbeitungseinheit (GPU) , einen digitalen Microprocessor, a central processing unit (CPU), a graphics processing unit (GPU), a digital one
Signalprozessor (DSP) , eine programmierbare Gatter-Anordnung (FPGA) , eine integrierte Schaltung oder eine beliebige Signal processor (DSP), a programmable gate arrangement (FPGA), an integrated circuit or any other
Kombination davon aufweisen oder daraus gebildet sein. Jede andere Art der Implementierung der jeweiligen Funktionen, die nachstehend ausführlicher beschrieben werden, kann auch als Prozessor oder Logikschaltung verstanden werden. Es versteht sich, dass einer oder mehrere der hierin detailliert Have a combination thereof or be formed therefrom. Any other type of implementation of the respective functions, which are described in more detail below, can also be understood as a processor or logic circuit. It is understood that one or more of the detailed herein
beschriebenen Verfahrensschritte von einem Prozessor described method steps by a processor
ausgeführt (z. B. realisiert) werden können, durch eine oder mehrere spezifische Funktionen, die von dem Prozessor can be executed (e.g. implemented) by one or more specific functions performed by the processor
ausgeführt werden. are executed.
Der Begriff "System" kann als ein Satz interagierender The term "system" can be used as a phrase interacting
Entitäten verstanden werden. Der Satz interagierender Entities are understood. The phrase interacting
Entitäten kann beispielsweise zumindest eine mechanische Komponente, zumindest einen elektromechanischen Wandler (oder andere Arten von Stellgliedern) , zumindest eine elektrische Komponente, zumindest eine Anweisung (z.B. in einem For example, entities can include at least one mechanical component, at least one electromechanical transducer (or other types of actuators), at least one electrical component, at least one instruction (e.g. in a
Speichermedium codiert), und/oder zumindest eine Storage medium), and / or at least one
Steuervorrichtung aufweisen oder daraus gebildet sein. Have control device or be formed therefrom.
Der Begriff "Stellglied" (auch als Aktuator oder Aktor bezeichnet) kann als eine Komponente verstanden werden, die zum Beeinflussen eines Mechanismus oder eines Prozesses in Antwort auf ein Ansteuern eingerichtet ist. Der Aktuator kann von der Steuervorrichtung ausgegebene Anweisungen (das sogenannte Ansteuern) in mechanische Bewegungen bzw. The term “actuator” (also referred to as an actuator or actuator) can be understood as a component that is used to influence a mechanism or a process in Response to a control is set up. The actuator can convert instructions issued by the control device (the so-called activation) into mechanical movements or
Veränderungen physikalischer Größen wie Druck oder Temperatur umsetzen. Der Aktuator, z.B. ein elektromechanischer Implement changes in physical quantities such as pressure or temperature. The actuator, e.g. an electromechanical
Umsetzer, kann zum Beispiel eingerichtet sein, in Antwort auf ein Ansteuern elektrische Energie in mechanische Energie (z.B. durch Bewegung) zu überführen. Converter, for example, can be set up to convert electrical energy into mechanical energy (e.g. by movement) in response to an activation.
Der Begriff "Steuervorrichtung" kann als jede Art einer Logik implementierenden Entität verstanden werden, die The term "control device" can be understood as any type of logic implementing entity that
beispielsweise eine Verschaltung und/oder einen Prozessor aufweisen kann, welche Software ausführen kann, die in einem Speichermedium, in einer Firmware oder in einer Kombination davon gespeichert ist, und darauf basierend Anweisungen ausgeben kann. Die Steuervorrichtung kann beispielsweise mittels Codesegmenten (z.B. Software) konfiguriert sein, um den Betrieb eines Systems (z.B. seines Arbeitspunkts), z.B. einer Maschine oder einer Anlage, z.B. zumindest seiner kinematischen Kette, zu steuern. for example can have an interconnection and / or a processor which can execute software that is stored in a storage medium, in firmware or in a combination thereof, and can issue instructions based thereon. The control device can for example be configured by means of code segments (e.g. software) to enable the operation of a system (e.g. its operating point), e.g. a machine or a plant, e.g. at least its kinematic chain to control.
Das Steuern kann verstanden werden als eine beabsichtigte Beeinflussung eines Systems. Dabei kann der Zustand des Controlling can be understood as an intended influencing of a system. The state of the
Systems gemäß einer Vorgabe verändert werden unter Verwendung eines Stellglieds. Regeln kann als Steuern verstanden werden, wobei zusätzlich einer Zustandsänderung des Systems durch Störungen entgegengewirkt wird. Anschaulich kann die System can be changed according to a specification using an actuator. Regulation can be understood as controlling, whereby a change in the state of the system due to disruptions is also counteracted. The
Steuerung eine nach vorn gerichtete Steuerstrecke aufweisen und somit anschaulich eine Ablaufsteuerung implementieren, welche eine Eingangsgröße in eine Ausgangsgröße umsetzt. Die Steuerstrecke kann aber auch Teil eines Regelkreises sein, so dass eine Regelung implementiert wird. Die Regelung weist im Gegensatz zu der reinen Vorwärts-Steuerung eine fortlaufende Einflussnahme der Ausgangsgröße auf die Eingangsgröße auf, welche durch den Regelkreis bewirkt wird (Rückführung) . Als Prozessablauf kann die Summe aller Vorgänge (z.B. eine zeitliche Folge von gesteuerten Ereignissen) verstanden werden, die eine vordefinierte Prozessaufgabe erfüllen. Die Teilprozesse des Prozessablaufs können jeder eine Teilaufgabe (d.h. einen Teil der Prozessaufgabe) erfüllen. Die einzelnen Teilprozesse können, je nach Art des Prozessablaufs, Control have a forward control path and thus clearly implement a sequence control that converts an input variable into an output variable. The control path can, however, also be part of a control loop, so that regulation is implemented. In contrast to the pure forward control, the control has a continuous influence of the output variable on the input variable, which is effected by the control loop (feedback). Process flow can be understood as the sum of all processes (eg a chronological sequence of controlled events) that fulfill a predefined process task. The sub-processes of the process flow can each fulfill a sub-task (ie part of the process task). The individual sub-processes can, depending on the type of process flow,
ineinandergreifen und/oder aufeinander aufbauen, z.B. in einer strikten Reihenfolge erfolgen, und/oder unabhängig voneinander sein, z.B. vertauschbar sein. Ein bedingter interlock and / or build on one another, e.g. be in a strict order and / or be independent of one another, e.g. be interchangeable. A conditional
Teilprozess kann beispielsweise genau dann durchgeführt, begonnen oder beendet werden, wenn eine diesem zugeordnete Prozesssituation vorliegt, z.B. ein Schwellenwert für eine Messgröße unterschritten ist oder eine Mustererkennung das zu bearbeitende Werkstück erkennt. Sub-process can, for example, be carried out, started or ended precisely when a process situation assigned to it is present, e.g. a threshold value for a measured variable is not reached or a pattern recognition recognizes the workpiece to be processed.
Jedem Teilprozess können eine Prozesstätigkeit und zumindest ein Vektor der Prozesstätigkeit zugeordnet sein. Der Vektor kann zumindest eine Position, deren Änderung, eine räumliche Verteilung und/oder zumindest eine Richtung der A process activity and at least one vector of the process activity can be assigned to each sub-process. The vector can have at least one position, its change, a spatial distribution and / or at least one direction of the
Prozesstätigkeit definieren. Die vereinfacht mittels des Vektors beschriebenen räumlichen Angaben über die Define process activity. The spatial information about the
Prozesstätigkeit können auch komplexer oder detaillierter sein (hierin allgemeiner als räumliche Information Process activity can also be more complex or detailed (more general herein as spatial information
bezeichnet) . Optional kann der räumlichen Information eine zeitliche Angabe über die Prozesstätigkeit zugeordnet sein, welche z.B. die Dauer, den Beginn, die Beendigung und/oder einen Takt der Prozesstätigkeit definieren. designated) . Optionally, the spatial information can be assigned a time indication about the process activity, which e.g. Define the duration, the beginning, the end and / or a cycle of the process activity.
Wird der Prozessablauf von einem handgeführtem Arbeitsgerät durchgeführt, kann die Prozesstätigkeit die Summe an If the process sequence is carried out by a hand-held device, the process activity can add the total
Vorgängen beschreiben, die mittels des Arbeitsgeräts Describe processes that are carried out by means of the implement
durchgeführt werden, um die entsprechende Wirkung zur be carried out to achieve the appropriate effect
Erreichung der Prozessaufgabe auf ein Werkstück Achievement of the process task on a workpiece
bereitzustellen (d.h. die Teilaufgabe zu erfüllen) . Die entsprechende räumliche Information kann beschreiben, wo und/oder mit welcher Verteilung die Wirkung bereitgestellt werden soll und/oder in welcher räumlichen Lage (d.h. Position und/oder Ausrichtung) sich das Arbeitsgerät dazu befindet. Die Handhabung des Arbeitsgeräts kann beschreiben, auf welche Weise das Arbeitsgerät beim Durchführen eines Prozessablaufs geführt und/oder betätigt wird, z.B. wie es gehalten, wie stark angepresst, und/oder wie lange der to provide (ie to fulfill the subtask). The corresponding spatial information can describe where and / or with what distribution the effect is to be provided and / or in what spatial position (ie Position and / or orientation) the implement is located for this purpose. The handling of the work device can describe the way in which the work device is guided and / or actuated when a process sequence is carried out, for example how it is held, how strongly pressed, and / or how long the
Vorgang durchgeführt wird. Operation is carried out.
Als Modell kann eine datenbasierte (z.B. digitale und/oder virtuelle) Repräsentation eines Originals verstanden werden, z.B. eines körperlichen Objekts (z.B. einer Maschine) oder eines Vorgangs (z.B. eines Steuervorgangs oder eines A data-based (e.g. digital and / or virtual) representation of an original can be understood as a model, e.g. a physical object (e.g. a machine) or a process (e.g. a control process or a
Prozessablaufs) . Zum Bilden des Modells (die sogenannte Process flow). To build the model (the so-called
Modellbildung, d.h. die Abbildung des Originals auf das Modeling, i.e. the image of the original on the
Modell) kann das Original abstrahiert, parametrisiert Model) the original can be abstracted, parameterized
und/oder vereinfacht werden. Das Modell kann beispielsweise körperliche Informationen (z.B. Länge, Abstand, Gewicht, Volumen, Zusammensetzung, usw. ) , bewegungsbezogene and / or simplified. The model can, for example, contain physical information (e.g. length, distance, weight, volume, composition, etc.), movement-related
Informationen (z.B. Position, Ausrichtung, Bewegungsrichtung, Beschleunigung, Bewegungsgeschwindigkeit, usw.), logische Informationen (Verknüpfungen, Reihenfolge, Kopplungen, Information (e.g. position, alignment, direction of movement, acceleration, speed of movement, etc.), logical information (links, sequence, couplings,
Wechselbeziehungen, Abhängigkeiten, usw.), zeitbezogene Interrelationships, dependencies, etc.), time-related
Informationen (z.B. Zeit, Gesamtdauer, Häufigkeit, Information (e.g. time, total duration, frequency,
Periodendauer, usw.) und/oder funktionelle Informationen (z.B. Stromstärke, Wirkung, Kennfeld oder Kennlinie, Period, etc.) and / or functional information (e.g. current intensity, effect, map or characteristic curve,
Arbeitspunkt-Raum, Kraft, Freiheitsgrad, usw.) über das Working point space, force, degree of freedom, etc.) via the
Original aufweisen. Exhibit original.
Das Steuerungsmodell kann dementsprechend eine formale The control model can accordingly be a formal one
Darstellung einer automatisierten Ansteuerung bezeichnen. Das Steuerungsmodell kann eine Vielzahl von Anweisungen zur Designate representation of an automated control. The control model can contain a variety of instructions for
Ansteuerung (z.B. um die Maschine in einen Arbeitspunkt zu bringen) aufweisen und ferner Kriterien, deren Erfüllung die diesen zugeordnete Anweisung auslöst, beendet oder Control (e.g. to bring the machine to a working point) and further criteria, the fulfillment of which triggers the instruction assigned to them, ends or
aufrechterhält. Ferner kann das Steuerungsmodell eine maintains. Furthermore, the control model can be a
Steuerungslogik aufweisen, welche mehrere Kriterien und/oder mehrere Anweisungen logisch miteinander verknüpft, und/oder welche einen Ablauf (z.B. einen Ablaufplan) implementiert, gemäß dem die Ansteuerung erfolgt. Have control logic which logically links several criteria and / or several instructions with one another, and / or which implements a process (eg a process plan) according to which the control takes place.
In analoger Weise kann das Prozessmodell eine formale In an analogous way, the process model can be a formal
Darstellung eines Prozessablaufs bezeichnen. Das Designate representation of a process flow. The
Prozessmodell kann eine Vielzahl von Verknüpfungen zwischen einer Prozesstätigkeit und der entsprechenden räumlichen Information aufweisen und den Prozesstätigkeiten optional entsprechende Prozesssituationen zuordnen, welche Process model can have a large number of links between a process activity and the corresponding spatial information and optionally assign corresponding process situations to the process activities
beispielsweise bei der Prozesstätigkeit vorliegen, diese bedingen oder beenden. Ferner kann das Prozessmodell eine Prozesslogik aufweisen, welche mehrere Prozesssituationen und/oder mehrere Prozesstätigkeiten logisch miteinander verknüpft, und/oder welche einen Ablauf (z.B. einen for example, are present, condition or terminate the process activity. Furthermore, the process model can have a process logic that logically links several process situations and / or several process activities with one another, and / or which has a sequence (e.g. a
Ablaufplan) implementiert, gemäß dem der Prozessablauf erfolgt. Beispielsweise kann die Prozesssituation eine dieser zugeordnete Prozesstätigkeit gemäß der räumlichen Information bedingen (was den bedingten Teilprozess repräsentiert) . Schedule) according to which the process flow is implemented. For example, the process situation can cause a process activity assigned to it in accordance with the spatial information (which represents the conditioned sub-process).
Anschaulich kann dieselbe Prozesstätigkeit z.B. an The same process activity, e.g. on
unterschiedlichen Orten erfolgen, je nachdem, welche different locations, depending on which one
Prozesssituation vorliegt. Process situation exists.
Im Allgemeinen kann ein Ablaufplan zumindest Verzweigungen, Sprünge und/oder Schleifen aufweisen. Das Vorliegen oder Fehlen einer Prozesssituation kann im Allgemeinen mittels zumindest eines Kriteriums repräsentiert werden, welches beispielsweise bei Vorliegen bzw. Fehlen der Prozesssituation erfüllt ist. In general, a flow chart can have at least branches, jumps and / or loops. The presence or absence of a process situation can generally be represented by means of at least one criterion, which is fulfilled, for example, in the presence or absence of the process situation.
Das Abbilden kann das Überführen von Elementen einer The mapping can be the transfer of elements of a
Ausgangsmenge (auch als Urbild bezeichnet) in eine Zielmenge aufweisen, wobei die Elemente der Zielmenge dann das Abbild (Abbildung) des Urbilds sind. Das Abbilden kann jedem Element des Urbilds zumindest ein Element der Abbildung zuordnen. Das Abbilden kann aufweisen, auf die Elemente der Ausgangsmenge beispielsweise Operatoren, Transformationen und/oder Have the starting set (also referred to as archetype) in a target set, the elements of the target set then being the image (mapping) of the archetype. The mapping can assign at least one element of the mapping to each element of the original image. The mapping can have, for example, operators, transformations and / or on the elements of the initial set
Verknüpfungen anzuwenden. Die Elemente können im Allgemeinen aufweisen: logische Zusammenhänge, Verknüpfungen, Informationen, Eigenschaften, Koordinaten oder das zugehörige Koordinatensystem, mathematische Objekte (wie Formeln oder Zahlen) , Vorgänge, Tätigkeiten, usw. Apply shortcuts. The elements can in general have: logical relationships, links, information, properties, coordinates or the associated coordinate system, mathematical objects (such as formulas or numbers), processes, activities, etc.
Ein Codegenerator kann als Computerprogramm verstanden werden, welches eingerichtet ist, ein Modell, das z.B. in einer Modellierungssprache vorliegt, in eine A code generator can be understood as a computer program which is set up to produce a model, e.g. is available in a modeling language, in a
Programmiersprache zu überführen, z.B. der Programmiersprache der Steuervorrichtung der Maschine. Alternativ oder To transfer programming language, e.g. the programming language of the machine's control device. Alternatively or
zusätzlich zu der Modellierungssprache, z.B. einer in addition to the modeling language, e.g. one
vereinheitlichten Modellierungssprache (UML) , kann das Modell aber auch in einer Auszeichnungssprache, einem Struktogramm, einer Entscheidungstabelle oder einer anderen formalen unified modeling language (UML), but the model can also be in a markup language, a structogram, a decision table or another formal one
Sprache vorliegen. Der Codegenerator erzeugt Codesegmente (auch als Codegenerierung bezeichnet) , die mit anderen optionalen Programmteilen zu einem Programm verbunden werden können . Language. The code generator generates code segments (also referred to as code generation) which can be combined with other optional program parts to form a program.
Als räumliche Lage (auch als Lageinformation oder vereinfacht als Lage bezeichnet) kann hierin die räumliche Information der Ausrichtung und/oder Position eines Objekts verstanden werden. Die Position kann anschaulich den Ort (z.B. einen Punkt) im Raum und die Ausrichtung die jeweilige Orientierung (z.B. eine Richtung) eines Objekts relativ zu dem Raum beschreiben. Als Trajektorie kann eine Reihe von räumlichen Lageinformationen verstanden werden, die nacheinander von einem Objekt eingenommenen werden. Die Lageinformation kann optional zeitabhängig (d.h. bewegungsbezogen, dann auch als Bewegung bezeichnet) sein, gemäß einer Taktung oder The spatial information of the orientation and / or position of an object can be understood here as spatial position (also referred to as position information or, in simplified form, as position). The position can clearly describe the location (e.g. a point) in space and the orientation the respective orientation (e.g. a direction) of an object relative to the space. A series of spatial positional information that is taken up one after the other by an object can be understood as a trajectory. The position information can optionally be time-dependent (i.e. movement-related, then also referred to as movement), according to a clocking or
Geschwindigkeit, so dass eine Bewegung entlang der Speed so that movement along the
Trajektorie berücksichtigt wird. Im Allgemeinen kann die räumliche Lageinformationen oder eine andere räumliche Trajectory is taken into account. In general, the spatial location information or some other spatial
Information im dreidimensionalen Raum mittels kartesischer Koordinaten beschrieben werden. Es kann aber auch ein anderes Koordinatensystem verwendet werden, z.B. Zylinderkoordinaten. Fig.l veranschaulicht ein Verfahren 100 gemäß verschiedenen Ausführungsformen in einer schematischen Seitenansicht. Information can be described in three-dimensional space using Cartesian coordinates. However, another coordinate system can also be used, for example cylindrical coordinates. FIG. 1 illustrates a method 100 according to various embodiments in a schematic side view.
Weiterhin ist in Fig.l eine zu programmierende Maschine 114 dargestellt. Die zu programmierende Maschine 114 kann ein Roboter sein, z.B. ein Industrieroboter, zur Handhabung, Montage oder Bearbeitung eines Werkstücks. Das Verfahren 100 ermöglicht beispielsweise das Endnutzerprogrammieren der vollständigen Automatisierungsapplikation (inklusive Furthermore, a machine 114 to be programmed is shown in FIG. The machine 114 to be programmed may be a robot, e.g. an industrial robot for handling, assembling or processing a workpiece. The method 100 enables, for example, the end-user programming of the complete automation application (including
Prozessparameter und Integration) durch einen technischen Laien . Process parameters and integration) by a technical layperson.
Die zu programmierende Maschine 114 kann im Allgemeinen einen Manipulator 114p, 114e und ein Gestell 114u aufweisen, an welchem der Manipulator 114p, 114e abgestützt ist. Der The machine 114 to be programmed can generally have a manipulator 114p, 114e and a frame 114u on which the manipulator 114p, 114e is supported. Of the
Begriff Manipulator 114p, 114e fasst die Gesamtheit der beweglichen Glieder 114v, 114g, 114e der Maschine 114 zusammen, deren Ansteuerung eine physikalische Interaktion mit der Umgebung ermöglicht, um z.B. einen Prozessablauf durchzuführen. Zur Ansteuerung kann die Maschine 114 eine Steuervorrichtung 712 aufweisen, welche eingerichtet ist, die Interaktion mit der Umgebung gemäß einem Steuerprogram zu implementieren. Das letzte Glied 114e des Manipulators 114p, 114e (auch als Endeffektor 114e bezeichnet) kann ein oder mehr als ein Werkzeug aufweisen, wie zum Beispiel einen The term manipulator 114p, 114e summarizes the entirety of the movable members 114v, 114g, 114e of the machine 114, the control of which enables a physical interaction with the environment, e.g. carry out a process flow. For control, the machine 114 can have a control device 712 which is set up to implement the interaction with the environment in accordance with a control program. The last link 114e of the manipulator 114p, 114e (also referred to as the end effector 114e) may have one or more than one tool, such as one
Schweißbrenner, ein GreifInstrument, eine Lackiereinrichtung oder dergleichen. Welding torch, a gripping instrument, a painting device or the like.
Der Manipulator 114p, 114e kann zumindest eine The manipulator 114p, 114e can at least one
Positionierungsvorrichtung 114p, beispielsweise einen Positioning device 114p, for example a
Roboterarm 114p (allgemeiner auch als Gelenkarm bezeichnet) , aufweisen, an welchem der Endeffektor 114e befestigt ist. Der Roboterarm 114p stellt anschaulich einen mechanischen Arm bereit, welcher ähnliche Funktionen wie ein menschlicher Arm bereitstellen kann. Die Glieder der Positionierungsvorrichtung 114p können beispielsweise Verbindungsglieder 114v und Gelenkglieder 114g sein, wobei die Verbindungsglieder 114v mittels der Robotic arm 114p (also referred to more generally as an articulated arm), to which the end effector 114e is attached. The robotic arm 114p illustratively provides a mechanical arm which can provide functions similar to those of a human arm. The links of the positioning device 114p can be, for example, connecting links 114v and joint links 114g, the connecting links 114v being connected by means of the
Gelenkglieder 114g untereinander verbunden sind. Ein Hinge members 114g are interconnected. A
Gelenkglied 114g kann beispielsweise ein oder mehrere Gelenke aufweisen, von denen jedes Gelenk den damit verbundenen For example, joint member 114g may have one or more joints, each joint of which is the one connected thereto
Verbindungsgliedern 114v relativ zueinander eine rotatorische Bewegung (d.h. Drehbewegung) und/oder eine translatorische Bewegung (d.h. Verschiebung) bereitstellen kann. Die Bewegung der Gelenkglieder 114g kann mittels Aktoren in Gang gesetzt werden, welche von der Steuervorrichtung 702 gesteuert werden . Links 114v can provide rotational movement (i.e., rotational movement) and / or translational movement (i.e., displacement) relative to one another. The movement of the joint members 114g can be set in motion by means of actuators which are controlled by the control device 702.
In 101 kann eine Sensoranordnung 102 (zumindest einen Tracker aufweisend) auf ein Arbeitsgerät 104 montiert sein oder werden. Eine Person 106 führt eine Tätigkeit zur Erledigung der Prozessaufgabe mittels des Arbeitsgeräts 104, an dem die Sensoranordnung 102 befestigt ist, aus (z.B. Lackieren, In 101, a sensor arrangement 102 (having at least one tracker) can be or will be mounted on a work device 104. A person 106 carries out an activity for completing the process task by means of the working device 104 to which the sensor arrangement 102 is attached (e.g. painting,
Fertigen und/oder Montieren eines Bauteils) . Das Arbeitsgerät 104 kann beispielsweise jedes handgeführte Arbeitsgerät 104 sein, dass ein menschlicher Arbeiter 106 bei seiner Tätigkeit verwenden, verlagern, halten, heben und/oder handhaben kann (z.B. ein Handschrauber, eine Lackierpistole, ein Manufacturing and / or assembling a component). The work device 104 can be, for example, any hand-held work device 104 that a human worker 106 can use, relocate, hold, lift and / or manipulate (e.g., a handheld screwdriver, a spray gun, a) in the course of his job
Akkuschrauber oder eine Klebepistole) . Cordless screwdriver or a glue gun).
Während dessen übermittelt die Sensoranordnung 102 Daten an einen externen Empfänger, die über eine integrierte Sensorik der Sensoranordnung 102 erfasst werden. Die Daten können beispielsweise eine Lage und/oder eine Bewegung (z.B. During this, the sensor arrangement 102 transmits data to an external receiver, which data are detected by an integrated sensor system of the sensor arrangement 102. The data can for example be a position and / or a movement (e.g.
Beschleunigung und/oder Geschwindigkeit) der Sensoranordnung 102 im Raum repräsentieren, sowie optional Daten von Acceleration and / or speed) of the sensor arrangement 102 in space, and optionally data from
zumindest einem Betätigungssensor (z.B. einem Taster oder Schalter, allgemeiner auch als Trigger bezeichnet) aufweisen, welcher eine Betätigung am Arbeitsgerät 104 (z.B. wann und/oder mit welcher Stärke der Abzug betätigt wird) erfasst. Der externe Empfänger erhält somit die zeitabhängige Lage der Sensoranordnung 102 im Raum 701, 703, 705. Darauf basierend kann die zeitabhängige Lage des Arbeitsgeräts 104 ermittelt werden. Optional können Daten einer zusätzlichen externen Sensorik 112 (auch als zusätzliche Sensoranordnung 112 bezeichnet) und/oder SPS-Daten von dem Empfänger erhalten werden. Die zusätzliche Sensoranordnung 112 kann im have at least one actuation sensor (for example a button or switch, more generally also referred to as a trigger), which detects an actuation on the implement 104 (for example when and / or with what force the trigger is actuated). The external receiver thus receives the time-dependent position of the sensor arrangement 102 in the room 701, 703, 705. Based on this, the time-dependent position of the work device 104 can be determined. Optionally, data from an additional external sensor system 112 (also referred to as an additional sensor arrangement 112) and / or PLC data can be obtained from the receiver. The additional sensor arrangement 112 can in
Allgemeinen ortsfest eingerichtet sein und beispielsweise einen Laserscanner, eine Kamera und/oder einen Abstandssensor aufweisen . Generally be set up stationary and have, for example, a laser scanner, a camera and / or a distance sensor.
Im Ergebnis werden mittels der Sensoranordnungen 102, 112 zeitbasierte Daten, beispielsweise in hoher Frequenz, erfasst und aufgezeichnet, die den kompletten Prozessablauf As a result, time-based data, for example at a high frequency, are acquired and recorded by means of the sensor arrangements 102, 112, which cover the entire process sequence
beschreiben . describe.
Diese Daten können optional tätigkeitsspezifische This data can optionally be job-specific
Prozessparameter aufweisen, wie später noch genauer Have process parameters, as more precisely later
beschrieben wird. Tätigkeitsspezifische Prozessparameter können die Parameter der jeweiligen Funktion und/oder des Arbeitspunktes des Arbeitsgeräts 104 (z.B. einen Volumenstrom der Lackierpistole) aufweisen. is described. Activity-specific process parameters can include the parameters of the respective function and / or of the operating point of the work device 104 (e.g. a volume flow of the paint spray gun).
Auf Grundlage der Daten und der optionalen Based on the data and the optional
tätigkeitsspezifischen Prozessparameter kann in 103 ein plattformunabhängiges Modell 104m (auch als Prozessmodell 104m bezeichnet) der Prozessaufgabe ermittelt werden. Dieses Prozessmodell 104m beschreibt anschaulich den menschlichen Gesamtprozess der Prozessaufgabe. Das Prozessmodell 104m kann optional von einer Person 106 untersucht und angepasst werden . Activity-specific process parameters can be determined in 103 a platform-independent model 104m (also referred to as process model 104m) of the process task. This process model 104m clearly describes the overall human process of the process task. The process model 104m can optionally be examined and adapted by a person 106.
In einem Beispiel sind die eingehenden Daten zeitbasierte Bewegungsdaten des vom Menschen gehaltenen Arbeitsgeräts 104 sein, Daten des/der Trigger und Daten weiterer externer In one example, the incoming data are time-based movement data of the human-held work device 104, data of the trigger (s) and data of further external ones
Sensoren, die über Zeitstempel synchronisiert in Beziehung gesetzt werden. Diese Daten werden vorverarbeitet. Dabei wird die Datenmenge reduziert ohne signifikante Einbußen in der Aussagekraft der Daten herbeizuführen. Anschließend wird die Zeitfolge der Daten über aufgabenspezifische analytische Algorithmen in Teilprozesse zerlegt (z.B. Einnehmen der Sensors that are synchronized and related via time stamps. These data are preprocessed. It will the amount of data is reduced without causing any significant loss in the informative value of the data. The time sequence of the data is then broken down into sub-processes using task-specific analytical algorithms (e.g. taking the
Startposition, Beginn des Lackiervorgangs, Lackieren, Start position, start of the painting process, painting,
Abschließen des Prozesses) . Anschließend wird eine Instanz eines plattformunabhängigen Prozessmodells 104m, z.B. in Form eines Metamodells, erzeugt. Das Metamodell beschreibt dabei die Datentypen der Modellinstanz sowie deren mögliche Completing the process). An instance of a platform-independent process model 104m, e.g. in the form of a metamodel. The metamodel describes the data types of the model instance and their possible ones
Relationen. Ein Modell ist in diesem Fall beispielhaft ein gerichteter Graph mit typisierten Knoten. Knoten haben einen Datentyp (Knoten des Metamodells), der die Parameter des Modells und deren Wertebereiche beschreibt. Die Erzeugung der Modellinstanz auf Basis der Eingabedaten erfolgt mit Hilfe von beispielsweise künstlichen neuronalen Netzen. Die Relations. In this case, a model is, for example, a directed graph with typified nodes. Nodes have a data type (node of the metamodel) that describes the parameters of the model and their value ranges. The generation of the model instance on the basis of the input data takes place with the help of, for example, artificial neural networks. The
künstlichen neuronalen Netze (kNN) können mit herkömmlichen Trainingsverfahren, beispielsweise dem sogenannten Artificial neural networks (kNN) can use conventional training methods, for example the so-called
Backpropagation-Verfahren, trainiert werden. Im Training werden die Trainingsvektoren gemäß den jeweils gewünschten Eingangsparametern (beispielsweise Raumkoordinaten eines Teilobjekts eines Arbeitsgeräts, zugehörige Zeitangabe, Arbeitspunkte/Steuerpunkte des Arbeitsgeräts, Backpropagation procedures, are trained. In the training, the training vectors are set according to the input parameters required in each case (for example, spatial coordinates of a sub-object of an implement, associated time, working points / control points of the implement,
Prozessparameter des Arbeitsgeräts, räumliche Ausrichtung (Lageinformation) des Arbeitsgeräts, etc.) . Es ist darauf hinzuweisen, dass sowohl die im Eingangsvektor den kNN enthaltenen Parameter als auch die im Ausgangsvektor des kNN enthaltenen Parameter stark anwendungsabhängig bzw. Process parameters of the implement, spatial orientation (position information) of the implement, etc.). It should be noted that both the parameters contained in the input vector of the kNN and the parameters contained in the output vector of the kNN are highly application-dependent or
prozessabhängig sind und entsprechend ausgewählt werden. are process-dependent and are selected accordingly.
Ferner kann eine konkrete Hardwareplattform 114 (allgemeiner auch als Maschine 114 bezeichnet) ausgewählt (z.B. ein konkreter Robotertyp oder Endeffektor, etc.) werden. Die Maschinenspezifik (z.B. Aufbau) der Maschine 114 kann mittels eines Modells 116m der Maschine 114 berücksichtigt werden. Furthermore, a specific hardware platform 114 (also referred to more generally as a machine 114) can be selected (e.g. a specific robot type or end effector, etc.). The machine specifics (e.g. structure) of the machine 114 can be taken into account by means of a model 116m of the machine 114.
Basierend auf dem Modell 114m der Maschine 114 und dem Based on the 114m model of the machine 114 and the
Prozessmodell 104m kann eine Software in 105 ein plattformspezifisches Modell 116m (auch als Steuerungsmodell 116m bezeichnet) für eine Robotersteuerung 702 generieren. Beispielsweise können dabei die maschinenspezifischen Process model 104m can be software in 105 Generate platform-specific model 116m (also referred to as control model 116m) for a robot controller 702. For example, the machine-specific
Prozessparameter (z.B. Volumenstrom am Lackierendeffektor und/oder Bewegungsabläufe) ermittelt werden, welche zu den tätigkeitsspezifischen Prozessparametern korrespondieren. Process parameters (e.g. volume flow at the paint end effector and / or movement sequences) can be determined which correspond to the activity-specific process parameters.
In einem Beispiel sind die eingehenden Daten eine Instanz des plattformunabhängigen Metamodells (allgemeiner In one example, the incoming data is an instance of the platform-independent metamodel (more generally
plattformunabhängiges Modell 104m) sowie Zusatzinformationen über die verwendeten Automatisierungsgeräte (Roboter, platform-independent model 104m) as well as additional information about the automation devices used (robots,
Endeffektor etc.). Über eine Modell-zu-Modell-Transformation wird das plattformunabhängige Modell 104m in das End effector etc.). Via a model-to-model transformation, the platform-independent model 104m is converted into the
plattformabhängige Modell 116m transformiert. Das platform-dependent model 116m transformed. The
plattformabhängige Modell 116m ist ebenfalls über ein platform dependent model 116m is also available via a
Metamodell beschrieben. Analog zum plattformunabhängigen Modell 104m beschreibt das plattformabhängige Modell 116m die Datentypen und Relationen der plattformunabhängigen Modelle 104m. Die Modelltransformation beschreibt eine Metamodel described. Analogous to the platform-independent model 104m, the platform-dependent model 116m describes the data types and relationships of the platform-independent models 104m. The model transformation describes a
Abbildungsfunktion, wie Knoten oder Gruppen von Knoten aus dem plattformunabhängigen Modell 104m auf Knoten oder Mapping function, such as nodes or groups of nodes from the platform-independent model 104m on nodes or
Knotengruppen des plattformabhängigen Modells 116m abgebildet werden. Darüber hinaus wird beschrieben wie diese erzeugten Knoten miteinander in Relation stehen. Die Abbildung erfolgt beispielsweise unter Berücksichtigung der jeweiligen Node groups of the platform-dependent model 116m are mapped. It also describes how these generated nodes are related to each other. The mapping takes place, for example, taking into account the respective
Eigenheiten/Merkmale der jeweils eingesetzten Plattform, beispielsweise Maschine. Peculiarities / characteristics of the respective platform used, e.g. machine.
Ein Modell der Maschine kann beispielsweise enthalten und damit berücksichtigen: A model of the machine can contain, for example, and thus take into account:
- körperliche Informationen (d.h. die körperliche - physical information (i.e. the physical
Architektur) der Maschine, z.B. Länge des Endeffektors und/oder Länge der Bestandteile der Architecture) of the machine, e.g. Length of the end effector and / or length of the components of the
Positionierungsvorrichtung; Positioning device;
Informationen zum Kennfeld oder der Kennlinie der Information on the map or the characteristic curve of the
Maschine, z.B. maximale Greifkraft des Endeffektors und/oder Freiheitsgrade bzw. Bewegungsspielraum der Machine, e.g. maximum gripping force of the end effector and / or degrees of freedom or freedom of movement of the
Positionierungsvorrichtung; Positioning device;
- die logische Architektur der Maschine, z.B. die the logical architecture of the machine, e.g. the
Wechselwirkung und/oder logische Kopplung der einzelnen Bestandteile (z.B. Stellglieder) der Maschine Interaction and / or logical coupling of the individual components (e.g. actuators) of the machine
untereinander; among themselves;
- die konkrete oder potentiell verfügbare Werkzeugauswahl bzw. deren Werkzeugeigenschaften; - the specific or potentially available tool selection or its tool properties;
- Parameter der Steuerstrecke bzw. der Regelschleife, z.B. - Parameters of the control path or the control loop, e.g.
Steuergrößen bzw. Regelgrößen, Eingangsgröße der einzelnen Stellglieder oder Ausgabegrößen der einzelnen Sensoren; Control variables or controlled variables, input variables of the individual actuators or output variables of the individual sensors;
- programmierungsspezifische Informationen, z.B. - programming-specific information, e.g.
Programmiersprache, Programmierschnittstelle, usw. Programming language, programming interface, etc.
- das Koordinatensystem der Maschine, z.B. jeweils die - the coordinate system of the machine, e.g. each the
ineinander gestapelten Teilkoordinatensysteme der stacked partial coordinate systems of the
einzelnen Stellglieder bzw. Gelenkglieder der Maschine, Ursprung der einzelnen Teilkoordinatensysteme, individual actuators or articulated links of the machine, origin of the individual sub-coordinate systems,
Endpositionen der Teilkoordinatensysteme; End positions of the partial coordinate systems;
zulässige Betriebsparameter der Maschine, wie permissible operating parameters of the machine, such as
beispielsweise die maximale Betriebstemperatur. for example the maximum operating temperature.
Die Abbildung beschreibt anschaulich den Einfluss der The figure clearly describes the influence of the
Charakteristika einer jeweils konkret eingesetzten Plattform (beispielsweise Maschine) auf den abstrakten Prozessablauf gemäß dem Prozessmodell. Characteristics of a specifically used platform (e.g. machine) on the abstract process flow according to the process model.
In 107 kann auf Grundlage des Steuerungsmodells 116m mittels eines Codegenerators 412 ein Programmcode 116 (z.B. In 107, on the basis of the control model 116m, a code generator 412 can be used to generate a program code 116 (e.g.
Quellcode) generiert werden. Der Programmcode 116 kann den jeweiligen Code bezeichnen, in welchem das Steuerungsprogram 116 geschrieben ist. Je nach Prozessaufgabe, Source code). The program code 116 can denote the respective code in which the control program 116 is written. Depending on the process task,
Informationstechnik-Infrastruktur und den konkreten Information technology infrastructure and the specific
Anforderungen können verschiedene Zielplattformen, auf denen der Programmcode 116 aufgeführt werden soll, bedient werden. Dabei kann der Programmcode 116 für ein kommunizierendes Gesamtsystem generiert (z.B. die Robotersteuerung und die SPS-Steuerung) werden. Der Programmcode 116 kann optional vordefinierte Teile aufweisen, an denen der Programmcode 116 von einem Entwickler angepasst werden kann. Various target platforms on which the program code 116 is to be listed can be served. The program code 116 can be generated for a communicating overall system (for example the robot controller and the PLC controller). The program code 116 can optionally have predefined parts to which the program code 116 can be adapted by a developer.
In einem Beispiel erfolgt die Codegenerierung in Form von Templates, die für jede Zielsprache existieren. Diese In one example, the code is generated in the form of templates that exist for each target language. This
Templates haben Instanzen des plattformabhängigen Modells als Eingabe und beschreiben auf Metamodellebene, wie daraus Templates have instances of the platform-dependent model as input and describe how from them at the metamodel level
Textfragmente generiert werden. Darüber hinaus besitzen diese Templates neben einer reinen Textausgabe auch Text fragments are generated. In addition, these templates also have a pure text output
Kontrollstrukturen (z.B. Verzweigungen). Eine Template-Engine hat wiederum ein Template und eine Instanz des Control structures (e.g. branches). A template engine in turn has a template and an instance of the
plattformunabhängigen Modells als Eingabe und erzeugt daraus eine oder mehrere Textdateien. platform-independent model as input and generates one or more text files from it.
Fig . 2 veranschaulicht das Verfahren 100 gemäß verschiedenen Ausführungsformen in einem schematischen Ablaufdiagramm 200. Fig. 2 illustrates the method 100 according to various embodiments in a schematic flow diagram 200.
Das Verfahren 100 kann in 101 aufweisen: Anbringen 201 einer mobilen Sensoranordnung 102 an dem Arbeitsgerät 104 des manuellen Prozessablaufs, der von der Maschine 114 (z.B. The method 100 may include in 101: attaching 201 a mobile sensor arrangement 102 to the work device 104 of the manual process flow generated by the machine 114 (e.g.
einem Industrieroboter) übernommen werden soll. Der an industrial robot) is to be taken over. Of the
Prozessablauf ist beispielsweise bahn-basiert (wie z.B. für Kleben, Schweißen, Lackieren oder Fräsen) . Process flow is, for example, rail-based (e.g. for gluing, welding, painting or milling).
Die Sensoranordnung 102 kann magnetisch, mit Klemmschrauben, mit Clip oder Klettband am Arbeitsgerät 104 befestigt sein oder werden und optional sequentiell an mehreren The sensor arrangement 102 can be fastened to the work device 104 magnetically, with clamping screws, with a clip or Velcro tape, and optionally sequentially on several
Arbeitsgeräten 104 des manuellen Prozessablaufs befestigt werden . Work devices 104 of the manual process flow are attached.
Die Sensoranordnung 102 kann einen oder mehr als einen The sensor assembly 102 can be one or more than one
Sensor, z.B. mehrere verschiedene Sensortypen, aufweisen, z.B. jeweils für die verschieden zu messenden Messgrößen (z.B. für Lage, Beschleunigung, usw.) . Die Sensoranordnung 102 kann optional eine oder mehr als eine Mobileinheit aufweisen, von denen jede Mobileinheit zumindest einen Sensor der Sensoranordnung 102 aufweist, z.B. eine Mobileinheit mit einem Traj ektorie-Sensor (auch als Tracker bezeichnet) . Die oder jede Mobileinheit kann autark, z.B. zur eigenen Sensor, for example several different sensor types, for example each for the different measured variables to be measured (for example for position, acceleration, etc.). The sensor arrangement 102 can optionally have one or more than one mobile unit, each mobile unit having at least one sensor of the sensor arrangement 102, eg a mobile unit with a trajectory sensor (also known as a tracker). The or each mobile unit can be self-sufficient, for example to its own
Energieversorgung und/oder zur drahtlosen Kommunikation, eingerichtet sein. Beispielsweise können mehrere Sensoren gemeinsam in einem Gehäuse einer Mobileinheit untergebracht sein oder werden (auch als interne Sensoren bezeichnet) . Energy supply and / or for wireless communication. For example, several sensors can be accommodated together in a housing of a mobile unit (also referred to as internal sensors).
Als Sensor (auch als Detektor bezeichnet) , kann ein Wandler verstanden werden, der eingerichtet ist, eine zu dem As a sensor (also referred to as a detector), a transducer can be understood that is set up to provide a
Sensortyp korrespondierende Eigenschaft seiner Umgebung qualitativ oder als Messgröße quantitativ zu erfassen, z.B. eine physikalische oder chemische Eigenschaft und/oder eine stoffliche Beschaffenheit. Die Messgröße ist diejenige physikalische Größe, der die Messung mittels des Sensors gilt . Sensor type to record the corresponding property of its environment qualitatively or quantitatively as a measured variable, e.g. a physical or chemical property and / or a material nature. The measured variable is the physical variable to which the measurement using the sensor applies.
Ein Sensor kann je nach dem Kontext der gemessenen Messgröße beispielsweise eines bestimmten Sensortyps sein, Depending on the context of the measured variable, a sensor can be, for example, a certain type of sensor,
beispielsweise ein Arbeitspunktsensor, ein Betätigungssensor oder ein Traj ektorie-Sensor . Der Arbeitspunktsensor kann beispielsweise den Arbeitspunkt des Arbeitsgeräts 104 erfassen. Der Traj ektorie-Sensor kann beispielsweise eine Bewegung und/oder die Lage (d.h. Ausrichtung und/oder for example, an operating point sensor, an actuation sensor or a traction sensor. The operating point sensor can, for example, detect the operating point of the implement 104. The trajectory sensor can, for example, a movement and / or the position (i.e. orientation and / or
Position) erfassen. Position).
Beispielsweise kann die Sensoranordnung 102 zumindest einen optoelektronischen Sensor (z.B. eine Kamera), zumindest einen Traj ektorie-Sensor und/oder zumindest einen For example, the sensor arrangement 102 can have at least one optoelectronic sensor (e.g. a camera), at least one traction sensor and / or at least one
Arbeitspunktsensor (z.B. Durchflusssensor) aufweisen. Der Traj ektorie-Sensor kann beispielsweise einen Bewegungssensor (z.B. einen Beschleunigungssensor und/oder Have an operating point sensor (e.g. flow sensor). The traction sensor can, for example, be a motion sensor (e.g. an acceleration sensor and / or
Geschwindigkeitssensor aufweisend) und/oder einen Lagesensor (z einen Ausrichtungssensor und/oder einen Positionssensor aufweisend) aufweisen. Having speed sensor) and / or a position sensor (e.g. having an orientation sensor and / or a position sensor).
Beispielsweise können die Sensoranordnung 102 und/oder die zusätzliche Sensoranordnung 112 zumindest einen Sensor aufweisen, der zum Erfassen einer elektrodynamischen For example, the sensor arrangement 102 and / or the additional sensor arrangement 112 can have at least one sensor have, for detecting an electrodynamic
Eigenschaft (z.B. Strom, Spannung, Magnetfeld oder Leistung) eingerichtet ist, zumindest einen Sensor aufweisen, der zum Erfassen einer lagebezogenen Eigenschaft (z.B. Ausrichtung und/oder Position) eingerichtet ist, zumindest einen Sensor aufweisen, der zum Erfassen einer bewegungsbezogenen Property (e.g. current, voltage, magnetic field or power) is set up, have at least one sensor that is set up to detect a location-related property (e.g. alignment and / or position), have at least one sensor that is set up to detect a movement-related property
Eigenschaft (z.B. Geschwindigkeit und/oder Beschleunigung) eingerichtet ist, zumindest einen Sensor aufweisen, der zum Erfassen einer thermischen Eigenschaft (z.B. Temperatur oder Temperaturdifferenz) eingerichtet ist, zumindest einen Sensor aufweisen, der zum Erfassen einer geometrischen Eigenschaft (z.B. Abstand, Raumwinkel, Volumen) eingerichtet ist, zumindest einen Sensor aufweisen, der zum Erfassen einer photometrischen Eigenschaft (z.B. Lichtstärke, Helligkeit, Farbe, Energie, oder Leistung) eingerichtet ist und/oder zumindest einen Sensor aufweisen, der zum Erfassen einer mechanischen Eigenschaft (z.B. Kraft, Druck, Masse, Energie, Leistung, Drehmoment, Betätigung, usw.) eingerichtet ist. Property (e.g. speed and / or acceleration) is set up, have at least one sensor that is set up to detect a thermal property (e.g. temperature or temperature difference), have at least one sensor that is set up to detect a geometric property (e.g. distance, solid angle, volume ) is set up, have at least one sensor that is set up to detect a photometric property (e.g. light intensity, brightness, color, energy, or power) and / or have at least one sensor that is set up to detect a mechanical property (e.g. force, pressure, Mass, energy, power, torque, actuation, etc.) is set up.
Zumindest ein (d.h. ein oder mehr als ein) Sensor der At least one (i.e. one or more than one) sensor of the
Sensoranordnung 102 kann optional separat von der Sensor arrangement 102 can optionally be separate from the
Mobileinheit bereitgestellt sein oder werden. Der zumindest eine Sensor kann beispielsweise einen Betätigungssensor und/oder einen Arbeitspunktsensor aufweisen. Der zumindest eine Sensor kann an dem manuellen Arbeitsgerät 104, z.B. Mobile unit be or will be provided. The at least one sensor can, for example, have an actuation sensor and / or an operating point sensor. The at least one sensor can be attached to the manual implement 104, e.g.
einer Versorgungsvorrichtung des manuellen Arbeitsgerät 104, angebracht werden (z.B. zur Messung eines Volumenstroms, einer Temperatur oder einer Stromstärke) . Beispielsweise kann das manuelle Arbeitsgerät 104 ein Handgerät sein, welches von einer stationären Versorgungsvorrichtung versorgt wird, z.B. mit einem Fluid und/oder mit Energie. a supply device of the manual work device 104 (e.g. for measuring a volume flow, a temperature or a current strength). For example, the manual implement 104 can be a handheld device that is powered by a stationary supply device, e.g. with a fluid and / or with energy.
Der Arbeitspunkt kann den Punkt im Kennfeld oder auf der Kennlinie eines technischen Gerätes beschreiben, der aufgrund der Systemeigenschaften und einwirkenden äußeren Einflüsse und Parameter des Gerätes eingenommen wird. Der Arbeitspunkt kann anschaulich beschreiben, welchen Betriebszustand das Gerät aufweist. The operating point can describe the point in the characteristics map or on the characteristic curve of a technical device that is assumed due to the system properties and external influences and parameters of the device. The working point can clearly describe the operating status of the device.
Das Verfahren 100 kann in 101 optional ferner aufweisen: The method 100 can optionally further comprise in 101:
Kalibrieren 203 der Sensoranordnung 102. Das Kalibrieren kann aufweisen, die Position der Sensoranordnung 102 in Bezug auf das Koordinatensystem des Arbeitsgeräts 104, die zusätzliche Sensoranordnung 112 und/oder ein globales Koordinatensystem zu kalibrieren. Das globale Koordinatensystem kann Calibrating 203 the sensor arrangement 102. The calibration can include calibrating the position of the sensor arrangement 102 in relation to the coordinate system of the implement 104, the additional sensor arrangement 112 and / or a global coordinate system. The global coordinate system can
beispielsweise ortsfest sein, d.h. eine invariante Lage zur Erdoberfläche aufweisen. for example be stationary, i.e. have an invariant position to the earth's surface.
Das Kalibrieren kann beispielsweise aufweisen: Erfassen der Lage der Sensoranordnung 102 bezüglich des Arbeitsgeräts 104. Das Kalibrieren kann alternativ oder zusätzlich aufweisen: Erfassen der Lage der Sensoranordnung 102 im Raum, z.B. in Bezug auf das globale Koordinatensystem. Mittels der beiden Lageinformationen, welche die Sensoranordnung 102 relativ im Raum und relativ zu dem Arbeitsgerät 104 beschreiben, kann auf Grundlage der Trajektorie der Sensoranordnung 102 die Trajektorie 111 des Arbeitsgeräts 104 ermittelt werden (vgl. Fig.1) . The calibration can include, for example: detecting the position of the sensor arrangement 102 with respect to the working device 104. The calibration can alternatively or additionally include: detecting the position of the sensor arrangement 102 in space, e.g. in terms of the global coordinate system. Using the two position information items that describe the sensor arrangement 102 relatively in space and relative to the work device 104, the trajectory 111 of the work device 104 can be determined on the basis of the trajectory of the sensor arrangement 102 (see FIG. 1).
Das Verfahren 100 kann in 101 aufweisen: manuelle The method 100 may include at 101: manual
Durchführung 205 des Prozessablaufs. Die manuelle Implementation 205 of the process flow. The manual
Durchführung 205 kann verstanden werden, als das das Implementation 205 can be understood as that
Arbeitsgerät 104 händisch (d.h. von einer Person) getragen und/oder betätigt wird. Beispielsweise kann das Arbeitsgerät 104 ein von Muskelkraft getragenes oder zumindest bewegtes Arbeitsgerät sein. Work device 104 is carried and / or operated manually (i.e. by a person). For example, the work device 104 can be a work device carried or at least moved by muscle power.
Während der Durchführung 205 des Prozessablaufs kann While the process sequence is being carried out 205
zumindest eine Sensoranordnung 102, 112 Daten an den externenat least one sensor arrangement 102, 112 data to the external
Empfänger senden und/oder der externe Empfänger kann die Position und Bewegung der Sensoranordnung 102 im Raum Receiver send and / or the external receiver can determine the position and movement of the sensor arrangement 102 in space
erfassen, z.B. mittels der zusätzlichen Sensoranordnung 112. Dabei kann beispielsweise eine Signalübermittlung an den externen Empfänger per Funk erfolgen (z.B. Bluetooth) . detect, for example by means of the additional sensor arrangement 112. For example, a signal transmission to the external receiver via radio (e.g. Bluetooth).
Alternativ oder zusätzlich kann die Sensoranordnung 102 zumindest einen Trigger aufweisen, welcher mit einer Alternatively or additionally, the sensor arrangement 102 can have at least one trigger, which with a
Benutzerschnittstelle des Arbeitsgeräts 104 gekoppelt ist.User interface of the implement 104 is coupled.
Der Trigger kann beispielsweise die händische Steuerung des Arbeitsgeräts 104 an der Benutzerschnittstelle erfassen. The trigger can, for example, record the manual control of the work device 104 at the user interface.
Während der Durchführung 205 des Prozessablaufs kann While the process sequence is being carried out 205
alternativ oder zusätzlich eine Erfassung der Trajektorie 111 (z.B. Lage und/oder Bewegung) der Sensoranordnung 102 mittels zumindest einer Kamera 112 oder eines anderen Sensortyps 112 erfolgen, z.B. mittels eines Laserscanners 112, eines alternatively or additionally, the trajectory 111 (e.g. position and / or movement) of the sensor arrangement 102 can be detected by means of at least one camera 112 or another type of sensor 112, e.g. by means of a laser scanner 112, one
Abstandssensors 112, eines Sonarsensors 112 und/oder eines Radarsensors 112. Distance sensor 112, a sonar sensor 112 and / or a radar sensor 112.
Das Verfahren 100 kann ferner optional in 103 aufweisen: The method 100 can further optionally include in 103:
Übertragung der (z.B. während 203 und/oder 205) in 191 erfassten Daten an eine Verarbeitungseinheit 302 (vgl. Fig.3) und optionale Ergänzung der Daten mit hinterlegten Transmission of the data recorded (e.g. during 203 and / or 205) in 191 to a processing unit 302 (see Fig. 3) and optional addition of the data with stored data
tätigkeitsspezifischen Prozessparametern des Prozessablaufs zur Bildung des Prozessmodells 104m. Optional können ferner die Bewegungsdaten bzw. die Trajektorie 111 geglättet werden (z.B. so dass eine möglichst geradlinig entlang den activity-specific process parameters of the process flow for forming the process model 104m. Optionally, the movement data or the trajectory 111 can also be smoothed (e.g. so that one is as straight as possible along the
Bewegungsachsen) . Axes of motion).
Optional können die hinterlegten Parameter des Prozessablaufs Randbedingungen aufweisen, wie beispielsweise Optimal- und/oder Grenzwerte repräsentieren. Alternativ oder Optionally, the stored parameters of the process sequence can have boundary conditions, such as represent optimal and / or limit values. Alternatively or
zusätzlich können die hinterlegten Parameter den In addition, the stored parameters can use the
Prozessablauf weiter spezifizieren, wie beispielsweise die Arbeitsgeschwindigkeit, die Haltezeit, die Druckkraft, usw. Further specify the process flow, such as the working speed, the holding time, the pressure force, etc.
Das ermittelte Prozessmodell 104m kann plattformunabhängig eingerichtet sein, d.h. sich nicht auf einen konkreten The determined process model 104m can be set up platform-independent, i.e. do not focus on a specific one
Roboter 114 beziehen. Das Verfahren 100 kann in 105 aufweisen: Überführen 209 des Prozessmodells 104m in das Steuerungsmodell 116m. Dazu kann eine Verarbeitung des Prozessmodells 104m mit hinterlegten maschinenspezifischen Informationen 114m eines oder mehrerer verschiedener Maschinen 114 erfolgen zur Bildung des Relate robot 114. The method 100 can have in 105: transferring 209 the process model 104m into the control model 116m. To this end, the process model 104m can be processed with stored machine-specific information 114m from one or more different machines 114 to form the
Steuerungsmodells 116m (auch als prozess- und Control model 116m (also as process and
maschinenspezifisches Modell 116m bezeichnet) für die machine-specific model 116m) for the
Maschine 114. Die Summe der maschinenspezifischen Machine 114. The sum of the machine-specific
Informationen 114m können auch als Modell 114m der oder jeder Maschine 114 bezeichnet sein oder werden. Information 114m may also be referred to as a model 114m of the or each machine 114.
Die maschinenspezifischen Informationen 114m können The machine-specific information 114m can
maschinenspezifische Kenngrößen aufweisen, wie beispielsweise Positionier- und Wiederholgenauigkeiten, maximaler have machine-specific parameters, such as positioning and repeat accuracy, maximum
Bewegungsraum, Geschwindigkeiten, Beschleunigung, usw. Movement space, speeds, acceleration, etc.
Alternativ oder zusätzlich können die maschinenspezifischen Informationen 114m zumindest ein Werkzeug 114e der Maschine 114 (auch als Maschinenwerkzeug 114e bezeichnet) Alternatively or additionally, the machine-specific information 114m can include at least one tool 114e of the machine 114 (also referred to as machine tool 114e)
repräsentieren, die beispielsweise an der represent, for example, at the
Positionierungsvorrichtung 114p der Maschine 114 befestigt sind . Positioning device 114p of the machine 114 are attached.
Optional kann das Verfahren 100 in 103 aufweisen: Optionally, the method 100 in 103 can include:
Nachbearbeitung 207 des Prozessmodells 104m. Optional kann das Verfahren 100 in 105 aufweisen: Nachbearbeitung 211 des gebildeten Steuerungsmodells 116m. Die Nachbearbeitung 207 kann beispielsweise von einem Nutzer mit Hilfe einer Post-processing 207 of the process model 104m. The method 100 in 105 can optionally have: post-processing 211 of the control model 116m that has been formed. The post-processing 207 can for example by a user with the help of a
Benutzeroberfläche 406 (auch als Benutzerschnittstelle bezeichnet) und/oder einer (Anwendungs- ) Software (z.B. auf einem PC, Tablet oder Smartphone ausgeführt) erfolgen (vgl. Fig.4A) . Optional kann das Verfahren 100 kann in 207 oder 211 aufweisen: Visualisierung und Simulation des User interface 406 (also referred to as a user interface) and / or (application) software (e.g. executed on a PC, tablet or smartphone) take place (see FIG. 4A). The method 100 can optionally include in 207 or 211: visualization and simulation of the
Steuerungsmodells 116m bzw. Prozessmodells 104m in einer virtuellen Umgebung, und/oder Editieren der Trajektorie 111, 113, der Prozesslogik, der Prozessparameter und die Control model 116m or process model 104m in a virtual environment, and / or editing the trajectory 111, 113, the process logic, the process parameters and the
Integration und Ansteuerung der an der Maschine befestigten Werkzeuge durch den Nutzer. Die optionale Visualisierung eines räumlichen Teilmodels 502 des Prozessmodells 104m kann beispielsweise mit der Darstellung der entsprechenden Integration and control of the tools attached to the machine by the user. The optional visualization a spatial sub-model 502 of the process model 104m can, for example, with the representation of the corresponding
Werkstücke erfolgen (vgl. Fig.5) . Work pieces (see Fig. 5).
Ferner kann das Verfahren 100 kann in 107 aufweisen: Furthermore, the method 100 can have in 107:
Codegenerierung für eine oder mehr als eine Maschine 114, optional unterschiedlichen Typs, optional mit der Code generation for one or more than one machine 114, optionally of different types, optionally with the
Berücksichtigung möglicher verschiedener SPS- Steuerungssysteme . Mittels der Codegenerierung 107 kann ein Steuerungsprogramm 116 gebildet werden, welches von der entsprechenden Maschine 114 ausführbar ist. Consideration of possible different PLC control systems. A control program 116, which can be executed by the corresponding machine 114, can be formed by means of the code generation 107.
Die Codegenerierung 107 erfolgt beispielsweise in Form von Templates, die für jede Zielsprache existieren. Diese The code generation 107 takes place, for example, in the form of templates that exist for each target language. This
Templates haben Instanzen des plattformabhängigen Modells als Eingabe und beschreiben auf Metamodellebene, wie daraus Templates have instances of the platform-dependent model as input and describe how from them at the metamodel level
Textfragmente generiert werden. Darüber hinaus besitzen diese Templates neben einer reinen Textausgabe auch Text fragments are generated. In addition, these templates also have a pure text output
Kontrollstrukturen (z.B. Verzweigungen). Eine Template-Engine hat wiederum ein Template und eine Instanz des Control structures (e.g. branches). A template engine in turn has a template and an instance of the
plattformunabhängigen Modells als Eingabe und erzeugt daraus eine oder mehrere Textdateien. platform-independent model as input and generates one or more text files from it.
Die Codegenerierung 107 kann beispielsweise für eine The code generation 107 can, for example, for a
Robotersteuerung 702 und/oder eine SPS-Steuerung 702 Robot controller 702 and / or a PLC controller 702
erfolgen. Die Codegenerierung 107 kann beispielsweise respectively. The code generation 107 can, for example
menschenlesbare Codesegmente (d.h. Quellcode) und/oder maschinenlesbare Codesegmente (d.h. Maschinencode) erzeugen. Der Quellcode kann für verschiedene Zielsprachen generiert werden, z.B. je nachdem, welche Zielsprache sich für die entsprechende Maschine eignet. Optional kann der Quellcode, z.B. durch einen Entwickler, nachträglich angepasst und bearbeitet werden, beispielsweise mittels der generate human readable code segments (i.e. source code) and / or machine readable code segments (i.e. machine code). The source code can be generated for different target languages, e.g. depending on which target language is suitable for the corresponding machine. Optionally, the source code, e.g. can be subsequently adapted and edited by a developer, for example by means of the
Benutzeroberfläche 406. User Interface 406.
Fig . 3 veranschaulicht das Verfahren 100 gemäß verschiedenen Ausführungsformen in einer schematischen Seitenansicht 300. Die Sensoranordnung 102 kann beispielsweise ein softwaregestütztes Verfahren 100 zum Anlernen eines Fig. 3 illustrates the method 100 according to various embodiments in a schematic side view 300. The sensor arrangement 102 can, for example, be a software-based method 100 for teaching a
Industrieroboters ermöglichen, welches auch einem technischen Laien 106 zugänglich ist. So kann beispielsweise ein nicht- Programmierer 106 in die Lage versetzt werden, einen Enable industrial robot, which is also accessible to a technical layman 106. For example, a non-programmer 106 may be enabled to do a
Industrieroboter 114 voll integriert anzulernen. Fully integrated training of industrial robot 114.
Mittels des Verfahrens 100 kann zumindest ein Aufgabenexperte 106 (z.B. ein Mechaniker oder ein Schweißer) eine oder mehr als eine Tätigkeit des Prozessablaufs beispielhaft By means of the method 100, at least one task expert 106 (e.g. a mechanic or a welder) can exemplify one or more than one activity of the process flow
demonstrieren. Darauf basierend kann die notwendige demonstrate. Based on this, the necessary
Steuerungssoftware des Roboters 114, inklusive sämtlicher benötigten Softwarekomponenten, vollständig automatisiert generiert werden. Das mittels des Verfahrens 100 Control software of the robot 114, including all required software components, can be generated completely automatically. The method 100
bereitgestellte Steuerungsmodell 116m ist unabhängig von konkreten Maschinentypen und kann dadurch auch für einen beliebigen Maschinentyp, z.B. von einem anderen Hersteller, wiederverwendet werden. Somit kann ein Umrüsten der Maschine 114 erleichtert werden. The control model 116m provided is independent of specific machine types and can therefore also be used for any machine type, e.g. from another manufacturer, can be reused. Conversion of the machine 114 can thus be facilitated.
Das Verfahren 100 kann in 101 aufweisen: Erfassen der Daten mittels der Sensoranordnung 102 (anschaulich eine physische Sensorkomponente) und/oder einer zusätzlichen (anschaulich externen) Sensoranordnung 112. Die oder jede Mobileinheit kann an einem Arbeitsgerät 104 angebracht werden und mittels zumindest eines darin integrierten Sensors die Lage und/oder die Beschleunigung des Arbeitsgeräts 104 erfassen. Das The method 100 can include in 101: acquiring the data by means of the sensor arrangement 102 (clearly a physical sensor component) and / or an additional (clearly external) sensor arrangement 112. The or each mobile unit can be attached to a work device 104 and by means of at least one integrated therein Sensor detect the position and / or the acceleration of the implement 104. The
Anbringen der oder jeder Mobileinheit der Sensoranordnung 102 an dem Arbeitsgerät 104 kann in 101 mittels einer Attaching the or each mobile unit of the sensor arrangement 102 to the work device 104 can be carried out in 101 by means of a
Befestigungsvorrichtungen erfolgen (z.B. magnetisch, per Clip, oder Klettband) . Fixing devices (e.g. magnetic, clip, or Velcro).
Es können auch andere Messgrößen erfasst werden, welche die Trajektorie (z.B. Lage und/oder Bewegung) des Arbeitsgeräts 104 repräsentieren. Ferner kann die Sensoranordnung 102 zumindest einen Trigger 102t (z.B. an einem Abzug einer Klebepistole) aufweisen, der eine händische Steuerung des Arbeitsgeräts 104 erfasst. Die zusätzliche Sensoranordnung 112 kann die Position der It is also possible to acquire other measured variables which represent the trajectory (eg position and / or movement) of the work device 104. Furthermore, the sensor arrangement 102 can have at least one trigger 102t (for example on a trigger of a glue gun) which detects manual control of the implement 104. The additional sensor arrangement 112 can determine the position of the
Sensoranordnung 102 im Raum 301 erfassen. Sowohl die Daten von der Sensoranordnung 102 (z.B. deren Mobileinheit) als auch die Daten von der externen Sensorik 112 können zeitlich synchronisiert an eine Recheneinheit 302 (z.B. PC, Laptop etc.) übertragen werden, welche den externen Empfänger aufweist oder damit kommunikativ verbunden ist. Detect sensor arrangement 102 in space 301. Both the data from the sensor arrangement 102 (e.g. its mobile unit) and the data from the external sensor system 112 can be transmitted in a time-synchronized manner to a computing unit 302 (e.g. PC, laptop, etc.) which has the external receiver or is communicatively connected to it.
Optional kann die Sensoranordnung 102 in ihrer relativen Lage (d.h. Position und/oder Ausrichtung) zum Arbeitsgerät 104 kalibriert 203 werden. Beispielsweise kann die Position und/oder Ausrichtung der Sensoranordnung 102 im Optionally, the sensor arrangement 102 can be calibrated 203 in its relative position (i.e. position and / or orientation) to the work device 104. For example, the position and / or orientation of the sensor arrangement 102 in
Koordinatensystem des Arbeitsgeräts 104 ermittelt werden. Ferner kann eine Kalibrierung in einem globalen Coordinate system of the implement 104 can be determined. Furthermore, a calibration can be carried out in a global
Koordinatensystem erfolgen, welches das Koordinatensystem der Sensoranordnung 102 mit dem Koordinatensystem der Maschine 114 verknüpft, so dass zwischen diesen transformiert werden kann . Take place coordinate system, which links the coordinate system of the sensor arrangement 102 with the coordinate system of the machine 114, so that it can be transformed between them.
Fig . 4A veranschaulicht das Verfahren 100 gemäß verschiedenen Ausführungsformen in einem schematischen Ablaufdiagramm 400a. Fig. 4A illustrates the method 100 according to various embodiments in a schematic flow diagram 400a.
In 101 kann eine Person den Prozessablauf exemplarisch ein oder mehrmals mit dem tatsächlichen Arbeitsgeräts 104 In 101, a person can exemplarily run the process once or several times with the actual work device 104
durchführen 205. Beispielsweise kann der Prozessablauf ein Verschrauben einer Schraube mit einem elektrischen Schrauber 104 aufweisen. Dabei können die Sensoranordnung 102 und/oder die zusätzliche Sensoranordnung 112 zumindest eine Messgröße erfassen, welche eine räumliche Lage (und/oder deren perform 205. For example, the process sequence can include screwing a screw using an electric screwdriver 104. In this case, the sensor arrangement 102 and / or the additional sensor arrangement 112 can detect at least one measured variable which defines a spatial position (and / or its
Veränderung) des Arbeitsgeräts 104 repräsentiert. Allgemeiner gesprochen kann die Trajektorie 111 des Arbeitsgeräts 104 erfasst werden. Die Trajektorie 111 des Arbeitsgeräts 104 kann beispielsweise Angaben über eine Geschwindigkeit, eine Position, eine Beschleunigung und/oder eine Ausrichtung des Arbeitsgeräts 104 aufweisen. Change) of the implement 104. More generally speaking, the trajectory 111 of the work device 104 can be recorded. The trajectory 111 of the implement 104 can, for example, provide information about a speed, a Have the position, an acceleration and / or an orientation of the implement 104.
Auf analoge Weise kann eine von dem Arbeitsgerät 104 In an analogous manner, one of the implement 104
bereitgestellte Funktion (und/oder deren Veränderung) parametrisiert erfasst werden, z.B. eine Drehzahl einer Welle des Arbeitsgeräts, eine Temperatur einer Heizvorrichtung des Arbeitsgeräts, ein Strom durch eine Schweißspitze des provided function (and / or its change) are recorded in a parameterized manner, e.g. a rotational speed of a shaft of the implement, a temperature of a heating device of the implement, a current through a welding tip of the
Arbeitsgeräts, usw. Alternativ oder zusätzlich kann mittels des Triggers 102t parametrisiert erfasst werden, sobald, solange und/oder mit welcher Stärke das Arbeitsgerät 104 betätigt wird. Der Trigger 102t kann allgemeiner gesprochen eingerichtet sein, eine händische Steuerung des Arbeitsgeräts 104 zu erfassen, z.B. an einer Benutzerschnittstelle des Arbeitsgeräts 104. Work device, etc. Alternatively or additionally, it can be detected in a parameterized manner by means of the trigger 102t as soon as, for as long and / or with what force the work device 104 is actuated. More generally speaking, the trigger 102t can be configured to detect manual control of the implement 104, e.g. at a user interface of the work device 104.
Die in 101 gesammelten Daten 402 können an eine Recheneinheit 302 (oder eine andere Verarbeitungseinheit) gesendet und dort mit tätigkeitsspezifischen Prozessparametern 404 (z.B. The data 402 collected in 101 can be sent to a processing unit 302 (or another processing unit) and there with activity-specific process parameters 404 (e.g.
Volumenstrom einer Lackierpistole 104) angereichert 403 werden. Das Anreichern mit tätigkeitsspezifischen Volume flow of a spray gun 104) can be enriched 403. Enriching with activity-specific
Prozessparametern 404 kann beispielsweise automatisch oder manuell (z.B. per Benutzereingabe) erfolgen. Process parameters 404 can for example be done automatically or manually (e.g. via user input).
In einem Beispiel kann hat der Nutzer dazu in der grafischen Oberfläche der Recheneinheit die Möglichkeit aus einer Reihe von Werkzeugen auswählen (z.B. Lackierpistolen) . Je nach Aufgabe werden dann die prozessspezifischen Parameter (z.B. Volumenstrom) über ein Eingabeformular abgefragt. In one example, the user can choose from a range of tools (e.g. spray guns) in the graphical user interface of the computing unit. Depending on the task, the process-specific parameters (e.g. volume flow) are then queried via an input form.
Die Recheneinheit 302 kann anhand der erfassten Daten 402 das Prozessmodell 104m (auch als prozessspezifisches Modell bezeichnet) erstellen 103, welches die Prozessaufgabe ohne Bezug auf eine konkrete Automatisierung beschreibt. Optional kann die Verarbeitungseinheit 302 eingerichtet sein, die Daten 402 zu verändern, z.B. zu optimieren und/oder zu abstrahieren. Beispielsweise kann das Verändern aufweisen, die Trajektorie 111 (z.B. die Bewegungsdaten) auszudünnen und/oder zu glätten, Teilprozesse zu identifizieren und/oder zu optimieren sowie Logikzusammenhänge zu schließen. The computing unit 302 can use the acquired data 402 to create 103 the process model 104m (also referred to as a process-specific model), which describes the process task without reference to a specific automation. The processing unit 302 can optionally be set up to change the data 402, for example to optimize and / or abstract it. For example, changing can include to thin out and / or smooth the trajectory 111 (for example the movement data), to identify and / or optimize sub-processes and to close logic connections.
Das Prozessmodell 104m kann optional mittels einer The process model 104m can optionally by means of a
Benutzeroberfläche 406 (z.B. auf einem PC, Tablet oder User interface 406 (e.g. on a PC, tablet or
Smartphone bereitgestellt) nachbearbeiten werden. Smartphone provided).
Beispielsweise können Bestandteile (z.B. Abschnitte oder einzelne Punkte) der Trajektorie 111 des Arbeitsgeräts 104 (auch als Arbeitsgerätpfad 111 bezeichnet) angepasst und/oder feinjustiert werden. Alternativ oder zusätzlich kann ein Betätigen mit dem zumindest einen Trigger 102t nachverfolgt, geändert und/oder mit der Trajektorie 111 verknüpft werden. For example, components (e.g. sections or individual points) of the trajectory 111 of the implement 104 (also referred to as the implement path 111) can be adapted and / or finely adjusted. Alternatively or additionally, an actuation with the at least one trigger 102t can be tracked, changed and / or linked to the trajectory 111.
Das Prozessmodell 104m kann weiter mit maschinenspezifischen Informationen 114m (z.B. der konkreten Roboterplattform 114 oder zumindest des Endeffektors 114e) , z.B. The process model 104m can further be provided with machine-specific information 114m (e.g. the concrete robot platform 114 or at least the end effector 114e), e.g.
maschinenspezifischen Prozessparametern 114m (z.B. einem Volumenstrom am Lackierendeffektor), angereichert 405 werden. Die Verarbeitungseinheit 302 kann aus dem Prozessmodell 104m und den bereitgestellten maschinenspezifischen Informationen 114m automatisch das Steuerungsmodell 116m ermitteln. Das Steuerungsmodell 116m repräsentiert ein machine-specific process parameters 114m (e.g. a volume flow at the paint end effector), enriched 405. The processing unit 302 can automatically determine the control model 116m from the process model 104m and the provided machine-specific information 114m. The control model 116m represents a
Automatisierungsscript für eine spezifische Hardwareplattform 112 und -konstellation . Automation script for a specific hardware platform 112 and constellation.
In einem Beispiel sind die eingehenden Daten eine Instanz des plattformunabhängigen Metamodells (allgemeiner In one example, the incoming data is an instance of the platform-independent metamodel (more generally
plattformunabhängiges Modell 104m) sowie Zusatzinformationen über die verwendeten Automatisierungsgeräte (Roboter, platform-independent model 104m) as well as additional information about the automation devices used (robots,
Endeffektor etc.). Über eine Modell-zu-Modell-Transformation wird das plattformunabhängige Modell 104m in das End effector etc.). Via a model-to-model transformation, the platform-independent model 104m is converted into the
plattformabhängige Modell 116m transformiert. Das platform-dependent model 116m transformed. The
plattformabhängige Modell 116m ist ebenfalls über ein platform dependent model 116m is also available via a
Metamodell beschrieben. Analog zum plattformunabhängigen Modell 104m beschreibt das plattformabhängige Modell 116m die Datentypen und Relationen der plattformunabhängigen Modelle 104m. Die Modelltransformation beschreibt eine Metamodel described. Analogous to the platform-independent model 104m, the platform-dependent model 116m describes the data types and relationships of the platform-independent models 104m. The model transformation describes a
Abbildungsfunktion, wie Knoten oder Gruppen von Knoten aus dem plattformunabhängigen Modell 104m auf Knoten oder Mapping function, such as nodes or groups of nodes from the platform-independent model 104m on nodes or
Knotengruppen des plattformabhängigen Modells 116m abgebildet werden. Darüber hinaus wird beschrieben wie diese erzeugten Knoten miteinander in Relation stehen. Die Abbildung erfolgt beispielsweise unter Berücksichtigung der jeweiligen Node groups of the platform-dependent model 116m are mapped. It also describes how these generated nodes are related to each other. The mapping takes place, for example, taking into account the respective
Eigenheiten/Merkmale der jeweils eingesetzten Plattform, beispielsweise Maschine. Peculiarities / characteristics of the respective platform used, e.g. machine.
Ein Modell der Maschine kann beispielsweise enthalten und damit berücksichtigen: A model of the machine can contain, for example, and thus take into account:
- körperliche Informationen (d.h. die körperliche - physical information (i.e. the physical
Architektur) der Maschine, z.B. Länge des Endeffektors und/oder Länge der Bestandteile der Architecture) of the machine, e.g. Length of the end effector and / or length of the components of the
Positionierungs orrichtung; Positioning device;
Informationen zum Kennfeld oder der Kennlinie der Information on the map or the characteristic curve of the
Maschine, z.B. maximale Greifkraft des Endeffektors und/oder Freiheitsgrade bzw. Bewegungsspielraum der Machine, e.g. maximum gripping force of the end effector and / or degrees of freedom or freedom of movement of the
Positionierungsvorrichtung; Positioning device;
- die logische Architektur der Maschine, z.B. die the logical architecture of the machine, e.g. the
Wechselwirkung und/oder logische Kopplung der einzelnen Bestandteile (z.B. Stellglieder) der Maschine Interaction and / or logical coupling of the individual components (e.g. actuators) of the machine
untereinander; among themselves;
- die konkrete oder potentiell verfügbare Werkzeugauswahl bzw. deren Werkzeugeigenschaften; - the specific or potentially available tool selection or its tool properties;
- Parameter der Steuerstrecke bzw. der Regelschleife, z.B. - Parameters of the control path or the control loop, e.g.
Steuergrößen bzw. Regelgrößen, Eingangsgröße der einzelnen Stellglieder oder Ausgabegrößen der einzelnen Sensoren; Control variables or controlled variables, input variables of the individual actuators or output variables of the individual sensors;
- programmierungsspezifische Informationen, z.B. - programming-specific information, e.g.
Programmiersprache, Programmierschnittstelle, usw. Programming language, programming interface, etc.
- das Koordinatensystem der Maschine, z.B. jeweils die - the coordinate system of the machine, e.g. each the
ineinander gestapelten Teilkoordinatensysteme der stacked partial coordinate systems of the
einzelnen Stellglieder bzw. Gelenkglieder der Maschine, Ursprung der einzelnen Teilkoordinatensysteme, individual actuators or articulated links of the machine, origin of the individual sub-coordinate systems,
Endpositionen der Teilkoordinatensysteme; zulässige Betriebsparameter der Maschine, wie beispielsweise die maximale Betriebstemperatur. End positions of the partial coordinate systems; permissible operating parameters of the machine, such as the maximum operating temperature.
Die Abbildung beschreibt anschaulich den Einfluss der The figure clearly describes the influence of the
Charakteristika einer jeweils konkret eingesetzten Plattform (beispielsweise Maschine) auf den abstrakten Prozessablauf gemäß dem Prozessmodell. Characteristics of a specifically used platform (e.g. machine) on the abstract process flow according to the process model.
Das maschinenspezifische Steuerungsmodell 116m kann optional mittels einer Benutzeroberfläche 406 (z.B. auf einem PC, Tablet, oder Smartphone bereitgestellt) nachbearbeitet 211 werden. Beispielsweise kann die Trajektorie 113 der Maschine 114 (z.B. des Endeffektors 114e) angepasst und/oder verändert werden. Alternativ oder zusätzlich können Übergänge zwischen verschiedenen Ankerpunkten, Fahrgeschwindigkeiten, The machine-specific control model 116m can optionally be post-processed 211 using a user interface 406 (e.g. provided on a PC, tablet or smartphone). For example, the trajectory 113 of the machine 114 (e.g. of the end effector 114e) can be adapted and / or changed. Alternatively or additionally, transitions between different anchor points, travel speeds,
Haltezeiten oder Ähnlichem verändert, z.B. spezifiziert werden. Optional kann eine Fehlerkompensation und/oder ein Kommunikationsweg mit der Anlagensteuerung definiert werden. Hold times or the like changed, e.g. can be specified. Optionally, error compensation and / or a communication path with the system control can be defined.
Ferner kann aus dem Steuerungsmodell 116m ein Programmcode 116 erzeugt 107 werden, der auf der Steuervorrichtung 702 (auch als Controller 702 bezeichnet) der Maschine 114 Furthermore, a program code 116 can be generated 107 from the control model 116m, which program code is stored on the control device 702 (also referred to as controller 702) of the machine 114
ausgeführt werden kann und beispielsweise den angelernten Prozessablauf vollständig umsetzt. can be executed and, for example, fully implements the learned process flow.
In einem Beispiel erfolgt die Codegenerierung in Form von Templates, die für jede Zielsprache existieren. Diese In one example, the code is generated in the form of templates that exist for each target language. This
Templates haben Instanzen des plattformabhängigen Modells als Eingabe und beschreiben auf Metamodellebene, wie daraus Templates have instances of the platform-dependent model as input and describe how from them at the metamodel level
Textfragmente generiert werden. Darüber hinaus besitzen diese Templates neben einer reinen Textausgabe auch Text fragments are generated. In addition, these templates also have a pure text output
Kontrollstrukturen (z.B. Verzweigungen). Eine Template-Engine hat wiederum ein Template und eine Instanz des Control structures (e.g. branches). A template engine in turn has a template and an instance of the
plattformunabhängigen Modells als Eingabe und erzeugt daraus eine oder mehrere Textdateien. Optional kann zur Ansteuerung des Endeffektors 114e ein externes System verwendet werden, z.B. ein PC, eine SPS oder Ähnliches. In diesem Fall kann alternativ oder zusätzlich zu dem Programmcode 116 für eine interne Steuervorrichtung 116a der Maschine (auch als Robotercode bezeichnet) ein platform-independent model as input and generates one or more text files from it. An external system, for example a PC, a PLC or the like, can optionally be used to control the end effector 114e. In this case, as an alternative or in addition to the program code 116 for an internal control device 116a of the machine (also referred to as robot code)
Programmcode 116 für das externe System 116b und/oder für die Kommunikationsschnittstelle 116b zu diesem erzeugt werden. Program code 116 for the external system 116b and / or for the communication interface 116b to this can be generated.
Allgemeiner gesprochen kann die Maschine 114 eine interne 116a und/oder externe 116b Steuervorrichtung 702 aufweisen, welche eingerichtet ist, den Endeffektor 114e und/oder die Positionierungsvorrichtung 114p der Maschine 114 anzusteuern. Der Programmcode 116 kann von der Steuervorrichtung 116a,More generally speaking, the machine 114 can have an internal 116a and / or external 116b control device 702, which is set up to control the end effector 114e and / or the positioning device 114p of the machine 114. The program code 116 can from the control device 116a,
116b ausgeführt werden. 116b are executed.
Der Programmcode 116 kann den jeweiligen Code bezeichnen, in welchem das Steuerungsprogram 116 geschrieben ist. Je nach Prozessaufgabe, Informationstechnik-Infrastruktur und den konkreten Anforderungen können verschiedene Zielplattformen, auf denen der Programmcode 116 aufgeführt werden soll, bedient werden. Dabei kann der Programmcode 116 für ein kommunizierendes Gesamtsystem generiert (z.B. die The program code 116 can denote the respective code in which the control program 116 is written. Depending on the process task, information technology infrastructure and the specific requirements, various target platforms on which the program code 116 is to be listed can be served. The program code 116 can be generated for a communicating overall system (e.g. the
Robotersteuerung und die SPS-Steuerung) werden. Der Robot controller and the PLC controller). Of the
Programmcode 116 kann optional vordefinierte Teile aufweisen, an denen der Programmcode 116 von einem Entwickler angepasst werden kann. Program code 116 can optionally have predefined parts to which the program code 116 can be adapted by a developer.
Optional kann der Programmcode 116 nachträglich verändert, z.B. angepasst werden, beispielsweise mittels einer Optionally, the program code 116 can be changed subsequently, e.g. be adjusted, for example by means of a
Benutzeroberfläche 406 und/oder von einer Person 106. User interface 406 and / or by a person 106.
Fig . 4B veranschaulicht ein System 400b zum Durchführen des Verfahrens 100 gemäß verschiedenen Ausführungsformen in einem schematischen Systemdiagram. Fig. 4B illustrates a system 400b for performing the method 100 according to various embodiments in a schematic system diagram.
Das System 400b kann zumindest eine Sensoranordnung 452 aufweisen, z.B. die an dem Arbeitsgerät 104 anbringbare Sensoranordnung 102 oder die ortsfeste Sensoranordnung 112. Das System 400b kann ferner zumindest eine Recheneinheit 302 aufweisen, welche einen oder mehr als einen Prozessor The system 400b can have at least one sensor arrangement 452, for example that which can be attached to the work device 104 Sensor arrangement 102 or the stationary sensor arrangement 112. The system 400b can furthermore have at least one processing unit 302, which has one or more than one processor
aufweist, der eingerichtet ist, das Verfahren 100 that is set up, the method 100
durchzuführen. Das System 400b kann optional einen perform. The system 400b can optionally have a
Codegenerator 412 aufweisen, welcher eingerichtet ist, das maschinenspezifische Steuerungsmodell 116m in das Have code generator 412 which is set up to convert the machine-specific control model 116m into the
Steuerungsprogramm 116 zu überführen 209. Das System 400b kann optional eine Maschine 114 aufweisen, welche eine mit dem Steuerungsprogramm 116 programmierte Steuervorrichtung 702 und eine Programmierschnittstelle 702i aufweist, mittels welcher der Steuervorrichtung 702 das Steuerungsprogramm 116 bereitgestellt werden kann. The system 400b can optionally have a machine 114 which has a control device 702 programmed with the control program 116 and a programming interface 702i, by means of which the control program 116 can be provided to the control device 702.
Fig . 5 veranschaulicht das Verfahren 100 gemäß verschiedenen Ausführungsformen in einem schematischen Modelldiagramm 500. Fig. 5 illustrates the method 100 according to various embodiments in a schematic model diagram 500.
Das Prozessmodell 104m (prozessspezifische Modell) beschreibt anschaulich eine Prozessaufgabe ohne Bezug auf eine zu Grunde liegende Automatisierungslösung. Das Prozessmodell 104m kann mehrere Teilmodelle 502, 504, 506 (z.B. pro Teilprozess) aufweisen . The process model 104m (process-specific model) clearly describes a process task without reference to an underlying automation solution. The process model 104m can have several sub-models 502, 504, 506 (e.g. per sub-process).
Ein erstes Teilmodell 502 (auch als räumliches Modell 502 bezeichnet) kann körperliche, geometrische, lagebezogene und/oder bewegungsbezogene Eigenschaften beschreiben, z.B. Objekte, deren Form oder Position im kartesischen Raum 701, 703, 705, und/oder zumindest eine Trajektorie 111 im A first partial model 502 (also referred to as spatial model 502) can describe physical, geometric, position-related and / or movement-related properties, e.g. Objects whose shape or position in Cartesian space 701, 703, 705, and / or at least one trajectory 111 in the
kartesischen Raum 701, 703, 705. Ferner kann das räumliche Modell 502 kartesisch annotierte Prozesstätigkeiten (z.B. Greifen eines Objektes) und/oder die tätigkeitsbezogenen Prozessparameter beschreiben. Der kartesische Raum kann von Richtungen 701, 703, 705 aufgespannt sein oder werden, die beispielsweise ortsfest sind. Cartesian space 701, 703, 705. Furthermore, the spatial model 502 can describe process activities annotated in Cartesian (e.g. gripping an object) and / or the activity-related process parameters. The Cartesian space can be spanned by directions 701, 703, 705 which, for example, are stationary.
Optional kann das erste Teilmodell 502 zueinander alternative Trajektorien 111 oder Abschnitte dieser beschreiben, die mittels eines dritten Models 506 (auch als Logikmodell 506 bezeichnet) Logikmodell referenziert werden. Das räumliche Modell 502 beschreibt anschaulich, wie die Prozessaufgabe im physischen Raum 701, 703, 705 erledigt wird und welche aufgabenspezifischen Prozesstätigkeiten (z.B. Aktivieren der Sprühfunktion einer Lackierpistole) damit verknüpft sind. Die Prozesstätigkeiten können von zumindest einem Optionally, the first partial model 502 can describe alternative trajectories 111 or sections thereof, which be referenced by means of a third model 506 (also referred to as logic model 506) logic model. The spatial model 502 clearly describes how the process task is carried out in the physical space 701, 703, 705 and which task-specific process activities (for example activating the spray function of a spray gun) are linked to it. The process activities can be carried out by at least one
tätigkeitsbezogenen Prozessparameter, z.B. von zumindest einem lagebezogenen und/oder bewegungsbezogenen activity-related process parameters, e.g. of at least one position-related and / or movement-related
Prozessparameter (z.B. eine Geschwindigkeit) und/oder Process parameters (e.g. a speed) and / or
zumindest einem funktionellen Prozessparameter (z.B. einen Volumenstrom einer Lackierpistole), repräsentiert werden. at least one functional process parameter (e.g. a volume flow of a spray gun) can be represented.
Das räumliche Modell 502 beschreibt beispielsweise die The spatial model 502 describes, for example, the
Position und Rotation des Werkzeuges im 3-dimensionalen Raum über die Zeit. Position and rotation of the tool in 3-dimensional space over time.
Ein zweites Teilmodell 504 (auch als maschinenunspezifisches Adaptionsmodell bezeichnet) kann beschreiben, welche A second partial model 504 (also referred to as a machine-unspecific adaptation model) can describe which
unterschiedlichen Prozesssituationen 514 eintreten können (z.B. Lackieren von Bauteil A oder Bauteil B) und/oder wie diese Prozesssituationen 514 unterschieden werden können (z.B. anhand einer Form des Bauteils A und/oder Form des Bauteils B) , z.B. anhand von Kriterien. Beispielsweise definiert das zweite Teilmodell 504 ein Kriterium zum different process situations 514 can occur (e.g. painting of component A or component B) and / or how these process situations 514 can be distinguished (e.g. based on a shape of component A and / or shape of component B), e.g. based on criteria. For example, the second partial model 504 defines a criterion for
Erkennen einer Prozesssituation 514 (z.B. mittels einer Recognition of a process situation 514 (e.g. by means of a
Kamera zum Erkennen der Form des Bauteils) . Optional Camera to recognize the shape of the component). Optional
beschreibt das zweite Teilmodell 504 Referenzdaten für die Kriterien, die beispielsweise während des Anlernens 101 aufgezeichnet wurden (z.B. Beispielbilder der Bauteile) . the second partial model 504 describes reference data for the criteria that were recorded, for example, during the teaching 101 (e.g. example images of the components).
In einem Beispiel werden hierzu Umgebungsvariablen definiert (z.B. Form des Bauteils, Temperatur, etc.) . Auf Basis der Umgebungsvariablen werden Situationen für bestimmte In an example, environment variables are defined for this (e.g. shape of the component, temperature, etc.). Based on the environment variables, situations for certain
Wertebelegungen dieser Umgebungsvariablen definiert (z.B. Autotür in kalter Umgebung) . Diese Situationen können dann in einem Logikmodell 506 referenziert werden, um eine Anpassung des Automatisierungsprozesses (z.B. Fahren einer alternativen Trajektorie) oder der Prozessparameter (z.B. Geschwindigkeit) durchzuführen . Defined value assignments of these environment variables (e.g. car door in cold environment). These situations can then be referenced in a logic model 506 for adaptation the automation process (e.g. driving an alternative trajectory) or the process parameters (e.g. speed).
Ein drittes Teilmodell 506 (auch als maschinenunspezifisches Logikmodell bezeichnet) beschreibt die zu Grunde liegende Prozesslogik 516. Die Prozesslogik 516 kann zumindest eine Kontrollstruktur 516s (z.B. Schleife, Verzweigung, Sprung,A third partial model 506 (also referred to as a machine-unspecific logic model) describes the underlying process logic 516. The process logic 516 can include at least one control structure 516s (e.g. loop, branch, jump,
Aufruf, usw.) aufweisen, z.B. einer Programmiersprache, und kann diese mit dem räumlichen Modell 502 und dem Call, etc.), e.g. a programming language, and can use this with the spatial model 502 and the
Adaptationsmodell 504 verknüpfen. Auf diese Weise kann ein komplexer Ablaufplan repräsentiert werden, z.B. „wenn Bauteil A erkannt wurde, dann wird zum Pfad 111 gesprungen mit den dort annotierten Prozessparametern". Link adaptation model 504. In this way a complex schedule can be represented, e.g. "If component A has been recognized, a jump is made to path 111 with the process parameters annotated there".
Das Steuerungsmodell 116m kann ein vollintegriertes The control model 116m can be a fully integrated
Automatisierungsscript für eine spezifische Hardwareauswahl (Positionierungsvorrichtung 114p, Steuervorrichtung 702 und/oder Endeffektor 114e) repräsentieren. Das Represent automation script for a specific hardware selection (positioning device 114p, control device 702 and / or end effector 114e). The
Steuerungsmodell 116m kann mehrere Teilmodelle 552, 554, 556, 558 aufweisen. Control model 116m can have multiple sub-models 552, 554, 556, 558.
Ein zusätzliches erstes Teilmodell 552 (auch als physisches Modell 552 bezeichnet) beschreibt anschaulich analog zum körperlichen Modell 502 die räumliche Information allerdings bezogen auf die Maschine 114. Beispielsweise können An additional first partial model 552 (also referred to as a physical model 552) clearly describes the spatial information analogously to the physical model 502, however, in relation to the machine 114. For example
prozessspezifische Informationen auf das Koordinatensystem 705, 713 der Maschine 114 übertragen sein. Dabei kann die Anbringung und Ausrichtung des Endeffektors 114e der Maschine 114 berücksichtigt werden, um das Koordinatensystem 701, 703, 705 beim Erfassen des Arbeitsgerätes 104 während des Process-specific information can be transferred to the coordinate system 705, 713 of the machine 114. The attachment and alignment of the end effector 114e of the machine 114 can be taken into account in order to determine the coordinate system 701, 703, 705 when the implement 104 is detected during the
Anlernprozesses 101 auf das Koordinatensystem 705, 713 der Maschine 705, 713, z.B. deren Werkzeug 114e, abzubilden 105a. Optional kann der zumindest eine tätigkeitsbezogene Teaching process 101 to the coordinate system 705, 713 of the machine 705, 713, e.g. their tool 114e, to be mapped 105a. Optionally, the at least one job-related
Prozessparameter des ersten Teilmodells 502 auf das konkrete Werkzeug des Endeffektors 114e (d.h. maschinenspezifisch) abgebildet 105a werden. Ein zusätzliches zweites Teilmodell 554 (auch als maschinenspezifisches Adaptionsmodell 554 bezeichnet) kann eine Vielzahl von Parametern und Situationen beschreiben. Die Parameter können dabei einen Namen und einen Datentyp Process parameters of the first partial model 502 are mapped 105a to the specific tool of the end effector 114e (ie machine-specific). An additional second partial model 554 (also referred to as a machine-specific adaptation model 554) can describe a large number of parameters and situations. The parameters can have a name and a data type
aufweisen. Beispielsweise kann mittels einer oder mehr als eines Kriteriums definiert werden, wie eine Prozesssituation anhand konkreter Parameterwerte (z.B. mittels eines Sensors der Maschine 114) erkannt werden kann. Beispielsweise kann die Abhängigkeit zur Ermittlung der Parameterwerte (auch als Messwerte bezeichnet) anhand von verfügbaren Sensoren 114s der Maschine 114 spezifiziert werden. Das exhibit. For example, one or more than one criterion can be used to define how a process situation can be recognized using specific parameter values (e.g. using a sensor of the machine 114). For example, the dependency for determining the parameter values (also referred to as measured values) can be specified on the basis of available sensors 114s of the machine 114. The
maschinenspezifische Adaptionsmodell 554 kann mittels machine-specific adaptation model 554 can be implemented using
Abbildens 105b aus dem maschinenunspezifischen Mapping 105b from the machine-unspecific
Adaptionsmodell 504 abgeleitet und optional vom Nutzer weiter verfeinert 211 werden. Adaptation model 504 can be derived and optionally further refined 211 by the user.
Ein zusätzliches drittes Teilmodell 556 (auch als An additional third part model 556 (also as
maschinenspezifisches Logikmodell bezeichnet) kann eine machine-specific logic model) can be a
Programmiersprache-unabhängige Repräsentation einer Programming language-independent representation of a
prozeduralen Programmiersprache mit den Kontrollstrukturen 516s (z.B. Schleifen, Bedingungen, etc.) aufweisen. procedural programming language with the control structures 516s (e.g. loops, conditions, etc.).
Anschaulich kann das maschinenspezifische Logikmodell 556 die anderen Teilmodelle, z.B. das physische Modell 552, ein The machine-specific logic model 556 can clearly show the other sub-models, e.g. the physical model 552
Interaktionsmodell 558 und das maschinenspezifische Interaction model 558 and the machine-specific
Adaptionsmodell 556, miteinander verknüpfen. Das Link adaptation model 556 with each other. The
maschinenspezifische Logikmodell 556 kann mittels Abbildens 105c aus dem maschinenunspezifischen Logikmodell 506 The machine-specific logic model 556 can be generated from the machine-specific logic model 506 by means of mapping 105c
ermittelt werden. be determined.
Ein viertes Teilmodell 558 (auch als Interaktionsmodell bezeichnet) kann die Integration des Automatisierungsscripts mit möglichen Fremdsystemen 518 beschreiben. Das Fremdsystem 518 kann zumindest einen Sensor (z.B. zumindest eine Kamera), eine Steuervorrichtung oder ein Geschäftsressourcenplanung- System (ERP System) aufweisen. Dazu kann zumindest ein integrationsspezifisches Protokoll definiert sein, welches die Maschine 114 kommunikativ 520 in die Systemlandschaft einbettet. Das Interaktionsmodell 558 kann beispielsweise auf Basis des maschinenunspezifischen Logikmodells 504 ermittelt werden und kann optional vom A fourth partial model 558 (also referred to as an interaction model) can describe the integration of the automation script with possible third-party systems 518. The external system 518 can have at least one sensor (for example at least one camera), a control device or a business resource planning system (ERP system). For this purpose, at least one integration-specific protocol can be defined, which the machine 114 communicatively embeds 520 in the system landscape. The interaction model 558 can for example be determined on the basis of the machine-unspecific logic model 504 and can optionally be from
Nutzer weiter verfeinert 211 werden. User can be further refined 211.
Das physische Modell 552 kann anschaulich Bewegungsvorgänge und Bewegungssequenzen in Kombination mit einer Tätigkeit des Endeffektors 114e definieren. Das Interaktionsmodell The physical model 552 can clearly define movement processes and movement sequences in combination with an activity of the end effector 114e. The interaction model
beschreibt, wie die Maschine 114 in der Systemlandschaft kommuniziert (z.B. Daten an das Fremdsystem 518 übermittelt und/oder von diesem empfängt) . Das maschinenspezifische describes how the machine 114 communicates in the system landscape (e.g., transmits data to and / or receives data from the external system 518). The machine-specific
Adaptionsmodell 556 beschreibt, unter welchen Bedingungen welches Vorgehen erforderlich ist. Adaptation model 556 describes under which conditions which procedure is required.
Fig . 6 veranschaulicht das Verfahren 100 gemäß verschiedenen Ausführungsformen in einem schematischen Ablaufdiagramm 600. Fig. 6 illustrates the method 100 according to various embodiments in a schematic flow diagram 600.
Mittels des Codegenerators 412 können die mehreren By means of the code generator 412, the several
Teilmodelle des Steuerungsmodels 116m (prozess- und Partial models of the control model 116m (process and
maschinenspezifischen Modells) in Codesegmente überführt werden. Mit anderen Worten kann ein Steuerungsprogramm 116 gebildet werden, welches von der Maschine 114 ausführbar ist. machine-specific model) can be converted into code segments. In other words, a control program 116 can be formed which can be executed by the machine 114.
Das Steuerungsprogramm 116 kann Quellcodedateien aufweisen, welche im jeweiligen Zielformat der Maschine 114 eingerichtet sind. Jede Maschine 114 (z.B. Roboterplattform) kann den Code des Steuerungsprogramm 116 in zumindest einer The control program 116 can have source code files which are set up in the respective target format of the machine 114. Each machine 114 (e.g. robot platform) can code the control program 116 in at least one
Programmiersprache (z.B. KRL, Rapid, Visual Basic, usw.) ausführen. Die Überführung der mehreren Teilmodelle des Execute programming language (e.g. KRL, Rapid, Visual Basic, etc.). The transfer of the several partial models of the
Steuerungsmodels 116m in Text (d.h. auf die Codesegmente) kann unter Verwendung von Templates erfolgen. Die Templates können mit prozess- und maschinenspezifischen Modellen 114m, 104m instanziiert werden und den jeweiligen Programmcode generieren . Fig . 7 veranschaulicht eine Maschine 114 gemäß verschiedenen Ausführungsformen in einem schematischen Aufbaudiagram 700. Control models 116m in text (ie on the code segments) can be done using templates. The templates can be instantiated with process- and machine-specific models 114m, 104m and generate the respective program code. Fig. 7 illustrates a machine 114 in accordance with various embodiments in a schematic layout diagram 700.
Die Maschine 114 kann hierin eine mittels eines The machine 114 may herein be a means of a
Steuerungsprograms 116 programmierbare Maschine sein. Einmal programmiert, kann die Maschine 114 eingerichtet sein, einen Prozessablauf autonom durchzuführen, und optional den Control program 116 be programmable machine. Once programmed, the machine 114 can be configured to carry out a process flow autonomously, and optionally the
Prozessablauf (d.h. die Ausführung der Aufgabe) abhängig von Sensorinformationen in Grenzen zu variieren. Process sequence (i.e. the execution of the task) to vary within limits depending on sensor information.
Die Maschine 114 kann eine Steuervorrichtung 702 aufweisen, welche eingerichtet ist, zumindest ein Stellglied 704 (auch als Aktor bezeichnet) der Maschine 114 anzusteuern gemäß dem Steuerungsprogram 116. Die Steuervorrichtung 702 kann The machine 114 can have a control device 702 which is set up to control at least one actuator 704 (also referred to as an actuator) of the machine 114 in accordance with the control program 116. The control device 702 can
beispielsweise einen oder mehr als einen Prozessor und/oder ein Speichermedium aufweisen. Der Manipulator 114p, 114e derfor example have one or more than one processor and / or a storage medium. The manipulator 114p, 114e of the
Maschine 114 kann eine kinematische Kette 706 aufweisen, entlang welcher eine Wirkung des zumindest einen Stellglieds 704 übertragen wird, z.B. entlang der Kopplung der Glieder der kinematischen Kette 706 untereinander. Die Machine 114 may have a kinematic chain 706 along which an action of the at least one actuator 704 is transmitted, e.g. along the coupling of the links of the kinematic chain 706 with one another. The
Steuervorrichtung 702 kann beispielsweise ein Controller 702 may, for example, be a
speicherprogrammierbares System (SPS) aufweisen. have a programmable logic system (PLC).
Die kinematische Kette 706 kann ein The kinematic chain 706 can be a
Positionierungsvorrichtung 114p und einen mittels der Positioning device 114p and a means of
Positionierungsvorrichtung 114p positionierbaren Endeffektor 114e aufweisen. Als Endeffektor 114e kann das letzte Glied der kinematischen Kette 706 der Maschine 114 verstanden werden, welches eingerichtet ist, unmittelbar auf ein Positioning device 114p have positionable end effector 114e. The last link of the kinematic chain 706 of the machine 114, which is set up directly on a can be understood as the end effector 114e
Werkstück einzuwirken, z.B. dieses zu bearbeiten (d.h. dieses zu prozessieren) . Tätigkeiten, wie das Einwirken auf das Werkstück, ein Vorbereitungsschritt dazu oder ein Affect the workpiece, e.g. to process this (i.e. to process it). Activities such as acting on the workpiece, a preparatory step for it or a
Nachbereitungsschritt dazu, die zu dem Prozessablauf Follow-up step to the process flow
korrespondieren, können allgemeiner als Prozesstätigkeit bezeichnet sein. Die Prozesstätigkeit kann beispielsweise ein Urformen, Fügen (z.B. Schweißen, Beschichten, Verschrauben, Einstecken, Kontaktieren, Kleben oder anderweitig Montieren bzw. Zusammensetzen), Trennen (z.B. Schleifen, Fräsen, Sägen oder anderweitig Zerspanen, Stanzen oder Zerlegen) , Umformen, Erwärmen, Verlagern (z.B. Greifen, Bestücken, Drehen oder Verschieben), oder Ähnliches aufweisen. Der Prozessablauf kann bahn-basiert sein, d.h. mittels Bewegens des correspond can be referred to more generally as process activity. The process activity can, for example, be an archetype, joining (e.g. welding, coating, screwing, plugging, contacting, gluing or otherwise assembling) or assembling), separating (e.g. grinding, milling, sawing or otherwise machining, punching or dismantling), forming, heating, relocating (e.g. gripping, fitting, rotating or moving), or the like. The process flow can be web-based, ie by moving the
Endeffektors 114e entlang einer Trajektorie 113 abgebildet werden . End effector 114e are mapped along a trajectory 113.
Die Positionierungsvorrichtung 114p kann zumindest ein The positioning device 114p may include at least one
Stellglied 704 aufweisen, welches eingerichtet ist, den Have actuator 704 which is configured to
Endeffektor 114e zu verlagern zu einer Position (auch als Positionieren bezeichnet) . Der Endeffektor 114e kann To relocate end effector 114e to a position (also referred to as positioning). The end effector 114e can
zumindest ein Stellglied 704 aufweisen, welches eingerichtet ist, die Prozesstätigkeit auszuführen, z.B. mittels eines Werkzeugs des Endeffektor 114e. Das Werkzeug kann allgemein eine der Prozesstätigkeit gemäße Funktion bereitstellen, mittels welcher auf das Werkstück eingewirkt wird. Das at least one actuator 704 which is arranged to carry out the process activity, e.g. by means of a tool of the end effector 114e. The tool can generally provide a function appropriate to the process activity, by means of which the workpiece is acted upon. The
Werkzeug kann beispielsweise ein Urformen-Werkzeug, ein Tool can, for example, be an archetype tool
Fügen-Werkzeug (z.B. Schrauber, Klebepistole oder Joining tool (e.g. screwdriver, glue gun or
Schweißgerät), ein Verlagerung-Werkzeug (z.B. Greifer), ein Trennen-Werkzeug oder Ähnliches aufweisen. Das Fügen-Werkzeug kann beispielsweise ein Beschichten-Werkzeug (z.B. eine Welding machine), a relocation tool (e.g. gripper), a cutting tool or the like. The joining tool can, for example, be a coating tool (e.g. a
Lackierpistole, einen Pulverbeschichtung-Pistole) aufweisen oder daraus gebildet sein. Paint spray gun, a powder coating gun) or be formed from it.
Optional kann die Maschine 114 zumindest einen internen Optionally, the machine 114 can have at least one internal
Sensor 114i aufweisen, welcher eingerichtet ist, einen Have sensor 114i which is configured to have a
Arbeitspunkt der kinematischen Kette 706 zu erfassen, z.B. um eine Regelung zu implementieren. Alternativ oder zusätzlich kann die Maschine 114 zumindest einen externen Sensor 114s (z.B. eine Kamera) aufweisen, welcher eingerichtet ist, eine Eigenschaft der Umgebung der Maschine 114 zu erfassen. To detect the operating point of the kinematic chain 706, e.g. to implement a scheme. Alternatively or additionally, the machine 114 can have at least one external sensor 114s (e.g. a camera) which is set up to detect a property of the environment of the machine 114.
Mittels des externen Sensors 114s kann beispielsweise erkannt werden, ob eine vordefinierte Prozesssituation vorliegt (d.h. ein situationsbezogenes Kriterium erfüllt ist) . Anhand der mittels des zumindest einen Sensors 114s, 114i erfassten Eigenschaft kann beispielsweise ermitteln werden, ob ein Kriterium erfüllt ist. Ist das Kriterium gemäß dem Sensortyp parametrisiert (d.h. auf eine von dem Sensortyp erfassbare Eigenschaft abgebildet) , kann die von dem Sensor erfasste Eigenschaft mit dem parametrisierten Kriterium verglichen werden, um zu ermitteln, ob das Kriterium erfüllt ist . The external sensor 114s can be used, for example, to recognize whether a predefined process situation is present (ie a situation-related criterion is met). Using the property detected by means of the at least one sensor 114s, 114i, it can be determined, for example, whether a criterion is met. If the criterion is parameterized according to the sensor type (ie mapped onto a property that can be detected by the sensor type), the property detected by the sensor can be compared with the parameterized criterion in order to determine whether the criterion is met.
Wird der Prozessablauf von der programmierbaren Maschine 114 nachempfunden, kann die Maschine 114 als Ganze in einen If the process sequence is simulated by the programmable machine 114, the machine 114 as a whole can be integrated into one
Arbeitspunkt gebracht werden, welcher der Prozesstätigkeit gemäß der räumlichen Information möglichst nahe kommt. Der Arbeitspunkt kann beispielsweise definieren, auf welche Working point are brought which comes as close as possible to the process activity according to the spatial information. The working point can, for example, define which
Position der Endeffektor 114e gebracht und welche Wirkung dieser dort bereitstellen soll. Der Arbeitspunkt kann Position of the end effector 114e brought and what effect this should provide there. The working point can
beispielsweise die Summe an Zuständen der einzelnen for example the sum of the states of the individual
Stellglieder 704 der Maschine 114 beschreiben. Describe actuators 704 of machine 114.
Das Speichermedium kann Teil der Steuervorrichtung 702 und/oder separat davon bereitgestellt sein oder werden. Das Speichermedium kann beispielsweise ein elektronisches The storage medium can be provided as part of the control device 702 and / or separately therefrom. The storage medium can for example be an electronic one
Halbleiter-Speichermedium aufweisen, z.B. ein Semiconductor storage medium, e.g. a
Festwertspeicher (ROM) oder ein Direktzugriffsspeicher (RAM) , eine Speicherkarte, ein Flash-Speicher, ein Stick für einen universellen seriellen Bus (USB-Stick) , ein Read-only memory (ROM) or a random access memory (RAM), a memory card, a flash memory, a stick for a universal serial bus (USB stick)
Festkörperlaufwerk (SSD) , und/oder ein Festplattenlaufwerk (HDD) , eine Speicherplatte (MD) , ein holographisches Solid state drive (SSD), and / or a hard disk drive (HDD), a storage disk (MD), a holographic one
Speichermedium, ein optisches Speichermedium, eine Compact- Disc, eine Digital-versatile-Disc (DCV) , oder eine magneto optische Platte aufweisen. Storage medium, an optical storage medium, a compact disc, a digital versatile disc (DCV), or a magneto-optical disc.
Vorstehend wurde das Steuerungsmodell unter Bezugnahme auf eine Maschine beschrieben. In Analogie kann das Beschriebene für eine Vielzahl von separaten, z.B. untereinander In the above, the control model has been described with reference to a machine. By analogy, what has been described can apply to a plurality of separate, e.g. among themselves
kommunizierenden, Maschinen (z.B. eine Verfahrensstraße) gelten, wie auch für eine Maschine, die mehrere communicating machines (e.g. a process line) apply, as well as for a machine, several
Positionierungsvorrichtungen und/oder Endeffektoren aufweist. Has positioning devices and / or end effectors.
Im Folgenden werden verschiedene Beispiele beschrieben, die sich auf vorangehend Beschriebene und in den Figuren Various examples are described below that relate to those described above and in the figures
Dargestellte beziehen. Relate the depicted.
Beispiel 1 ist ein Verfahren, aufweisend: Ermitteln eines maschinenunabhängigen Prozessmodells auf Grundlage von Daten, wobei die Daten eine Handhabung eines Arbeitsgeräts beim Durchführen eines Prozessablaufs repräsentieren, wobei der Prozessablauf eine Vielzahl von Teilprozessen aufweist, wobei das Prozessmodell für jeden Teilprozess der Vielzahl von Teilprozessen eine Prozesstätigkeit mit einer räumlichen Information des Teilprozesses verknüpft; Abbilden des Example 1 is a method comprising: determining a machine-independent process model on the basis of data, the data representing handling of a work device when carrying out a process flow, the process flow having a plurality of sub-processes, the process model having one for each sub-process of the plurality of sub-processes Process activity linked with spatial information of the sub-process; Mapping the
maschinenunabhängigen Prozessmodells auf ein machine-independent process model
maschinenspezifisches Steuerungsmodell einer Maschine unter Verwendung eines Modells der Maschine, wobei das machine-specific control model of a machine using a model of the machine, the
maschinenspezifische Steuerungsmodell für jeden Teilprozess der Vielzahl von Teilprozessen einen Arbeitspunkt der machine-specific control model for each sub-process of the multitude of sub-processes an operating point of the
Maschine definiert, der zu der Prozesstätigkeit und der räumlichen Information des Teilprozesses korrespondiert. Defined machine that corresponds to the process activity and the spatial information of the sub-process.
Beispiel 2 ist das Verfahren gemäß Beispiel 1, wobei das Abbilden aufweist, die räumliche Information auf einen Example 2 is the method according to Example 1, wherein the mapping comprises the spatial information on one
Arbeitspunkt einer Positionierungsvorrichtung der Maschine abzubilden; und/oder wobei das Abbilden aufweist, die Map the operating point of a positioning device of the machine; and / or wherein the mapping comprises the
Prozesstätigkeit auf einen Arbeitspunkt eines (z.B. beweglich gelagertes) Endeffektors (z.B. dessen Werkzeug) der Maschine abzubilden; wobei der Endeffektor beispielsweise mittels der Positionierungsvorrichtung beweglich gelagert ist, wobei die Positionierungsvorrichtung beispielsweise einen Roboterarm aufweist, wobei der Endeffektor beispielsweise zum To map process activity to a working point of a (e.g. movably mounted) end effector (e.g. its tool) of the machine; wherein the end effector is movably mounted, for example by means of the positioning device, wherein the positioning device has, for example, a robot arm, the end effector for example for
Durchführen der Prozesstätigkeit eingerichtet ist. Implementation of the process activity is set up.
Beispiel 3 ist das Verfahren gemäß Beispiel 1 oder 2, wobei die Maschine zumindest einen Aktor aufweist, auf welchen der Arbeitspunkt bezogen ist, wobei beispielsweise der Aktor ein Motor ist, wobei beispielsweise der Aktor Teil der Example 3 is the method according to Example 1 or 2, wherein the machine has at least one actuator on which the Operating point is related, for example, the actuator is a motor, for example, the actuator part of the
Positionierungsvorrichtung und/oder des Endeffektors ist. Positioning device and / or the end effector is.
Beispiel 4 ist das Verfahren gemäß einem der Beispiele 1 bis 3, wobei die räumliche Information genau drei Example 4 is the method according to one of Examples 1 to 3, the spatial information being exactly three
Ortskoordinaten (z.B. gemäß einem kartesischen Location coordinates (e.g. according to a Cartesian
Koordinatensystem) und/oder genau drei Richtungskoordinaten aufweist) und/oder wobei die räumliche Information auf ein geradliniges Koordinatensystem bezogen ist. Coordinate system) and / or has exactly three directional coordinates) and / or wherein the spatial information is related to a rectilinear coordinate system.
Beispiel 5 ist das Verfahren gemäß einem der Beispiele 1 bis 4, wobei ein oder mehr als ein Teilprozess der Vielzahl von Teilprozessen gemäß einem Kriterium bedingt ist (auch als bedingter Teilprozess bezeichnet) , wobei das Modell der Example 5 is the method according to one of Examples 1 to 4, wherein one or more than one sub-process of the plurality of sub-processes is conditional according to a criterion (also referred to as a conditional sub-process), the model of
Maschine einen Sensortyp der Maschine repräsentiert, wobei das Abbilden aufweist, das Kriterium gemäß dem Sensortyp zu parametrisieren (z.B. auf einen Sensor-Erfassungsraum Machine represents a sensor type of the machine, the mapping having to parameterize the criterion according to the sensor type (e.g. on a sensor detection area
abzubilden) , wobei beispielsweise das Ermitteln des to map), for example determining the
Prozessmodells aufweist, (z.B. auf Grundlage der Daten) das Kriterium und/oder den bedingten Teilprozess zu ermitteln. Process model has to determine (e.g. on the basis of the data) the criterion and / or the conditional sub-process.
Beispiel 6 ist das Verfahren gemäß einem der Beispiele 1 bis 5, wobei das Abbilden aufweist, die räumliche Information auf ein Koordinatensystem der Maschine (welches z.B. auf den zumindest einen Aktor der Maschine bezogen ist) abzubilden. Example 6 is the method according to one of Examples 1 to 5, wherein the mapping comprises mapping the spatial information onto a coordinate system of the machine (which e.g. is related to the at least one actuator of the machine).
Beispiel 7 ist das Verfahren gemäß einem der Beispiele 1 bis 6, wobei das Ermitteln des Prozessmodells aufweist, eine oder mehr als eine Prozesslogik (z.B. eine Regel) zu Example 7 is the method according to one of Examples 1 to 6, wherein the determination of the process model comprises assigning one or more than one process logic (e.g. a rule)
ermitteln (z.B. auf Grundlage der Daten), gemäß welcher das maschinenunabhängige Prozessmodell durchlaufen wird, wobei optional die Prozesslogik eingerichtet ist, zu ermitteln, ob das Kriterium erfüllt ist, wobei beispielsweise das determine (e.g. on the basis of the data) according to which the machine-independent process model is run, with the process logic optionally being set up to determine whether the criterion is met, for example the
parametrisierte Kriterium mittels des Sensors erfassbar ist, wobei beispielsweise das Abbilden aufweist, die Prozesslogik auf eine Steuerungslogik abzubilden. Beispiel 8 ist das Verfahren gemäß einem der Beispiele 1 bis 7, wobei das maschinenunabhängige Prozessmodell (z.B. deren Prozesslogik) für zumindest einen Teilprozess der parameterized criterion can be detected by means of the sensor, with the mapping, for example, having to map the process logic onto a control logic. Example 8 is the method according to one of Examples 1 to 7, the machine-independent process model (eg its process logic) for at least one sub-process of the
Vielzahl von Teilprozessen zumindest zwei Verknüpfungen von Prozesstätigkeit und räumlicher Information des Multiple sub-processes at least two links between process activity and spatial information of the
Teilprozesses, wobei die zwei Verknüpfungen Alternativen sind, zwischen denen anhand eines Kriterium entschieden wird (z.B. mittels der Prozesslogik) . Sub-process, whereby the two links are alternatives, between which a decision is made based on a criterion (e.g. using the process logic).
Beispiel 9 ist das Verfahren gemäß einem der Beispiele 1 bis 8, wobei die räumliche Information eine Position und/oder Ausrichtung des Arbeitsgeräts repräsentiert; und/oder wobei die Prozesstätigkeit ein Betätigen und/oder einen Example 9 is the method according to one of Examples 1 to 8, wherein the spatial information represents a position and / or orientation of the implement; and / or wherein the process activity is an actuation and / or a
Arbeitspunkt des Arbeitsgeräts repräsentiert. Represents the working point of the implement.
Beispiel 10 ist ein Verfahren gemäß einem der Beispiele 1 bis 9, ferner aufweisend: Präsentieren des Example 10 is a method according to any of Examples 1 to 9, further comprising: presenting the
maschinenunabhängigen Prozessmodells und/oder des machine-independent process model and / or the
maschinenspezifischen Steuerungsmodells mittels einer machine-specific control model using a
Benutzerschnittstelle, welche eingerichtet ist, auf Grundlage einer Benutzereingabe das maschinenunabhängige Prozessmodell bzw. das maschinenspezifische Steuerungsmodell zu verändern. User interface which is set up to change the machine-independent process model or the machine-specific control model on the basis of a user input.
Beispiel 11 ist ein Verfahren gemäß einem der Beispiele 1 bis 10, ferner aufweisend: Erfassen der Daten zumindest zum Teil mittels einer Sensoranordnung, welche an dem Example 11 is a method according to one of Examples 1 to 10, further comprising: Acquiring the data at least in part by means of a sensor arrangement which is connected to the
Arbeitsgerät befestigt ist, wobei optional das Arbeitsgerät (z.B. unmittelbar und/oder muskelbetrieben) von einer Person (z.B. deren Hand) gehandhabt und/oder getragen wird, wobei beispielsweise die Sensoranordnung abnehmbar (d.h. Working device is attached, optionally the working device (e.g. directly and / or muscle-powered) being handled and / or carried by a person (e.g. their hand), with, for example, the sensor arrangement being removable (i.e.
reversibel) an dem Arbeitsgerät befestigt ist. reversible) is attached to the implement.
Beispiel 12 ist ein Verfahren, aufweisend: Erfassen von Example 12 is a method comprising: detecting
Daten, z.B. der Daten gemäß einem der Beispiele 1 bis 11, zumindest zum Teil mittels einer Sensoranordnung, welche abnehmbar an einem (z.B. von Hand beweglichen) Arbeitsgerät befestigt ist, wobei die Daten eine Handhabung des Data, for example the data according to one of Examples 1 to 11, at least in part by means of a sensor arrangement which can be removed from a (for example manually movable) working device is attached, the data being a handling of the
Arbeitsgeräts repräsentieren während mittels des Work device represent while using the
Arbeitsgeräts ein Prozessablauf durchgeführt wird, wobei das Arbeitsgerät von einer Person bewegt wird; Ermitteln eines maschinenunabhängigen Prozessmodells auf Grundlage der Daten, welches den Prozessablauf repräsentiert, ferner Work device a process sequence is carried out, wherein the work device is moved by a person; Determination of a machine-independent process model based on the data, which represents the process flow, furthermore
beispielsweise aufweisend: Abbilden des maschinenunabhängigen Prozessmodells auf ein maschinenspezifisches Steuerungsmodell unter Verwendung eines Modells einer Maschine. for example comprising: mapping the machine-independent process model onto a machine-specific control model using a model of a machine.
Beispiel 13 ist das Verfahren gemäß Beispiel 11 oder 12, wobei die Sensoranordnung eine Befestigungsvorrichtung aufweist, mittels welcher die Sensoranordnung abnehmbar an dem Arbeitsgerät befestigt ist. Example 13 is the method according to Example 11 or 12, the sensor arrangement having a fastening device by means of which the sensor arrangement is detachably fastened to the working device.
Beispiel 14 ist das Verfahren gemäß einem der Beispiele 11 bis 13, wobei die Sensoranordnung (z.B. deren Example 14 is the method according to any one of Examples 11 to 13, wherein the sensor arrangement (e.g. their
Befestigungsvorrichtung) einen oder mehr als einen Magneten aufweist; und/oder eine Klemmvorrichtung (z.B. einen Clip und/oder Klemmschrauben aufweisend) aufweist; und/oder ein Klettband aufweist. Fastening device) has one or more than one magnet; and / or a clamping device (e.g. comprising a clip and / or clamping screws); and / or has a Velcro strip.
Beispiel 15 ist das Verfahren gemäß einem der Beispiele 11 bis 14, wobei die Sensoranordnung separat von dem Example 15 is the method according to any one of Examples 11 to 14, wherein the sensor arrangement is separate from that
Arbeitsgerät mit Energie versorgt wird; und/oder wobei die Sensoranordnung galvanisch von dem Arbeitsgerät getrennt ist. Working device is supplied with energy; and / or wherein the sensor arrangement is galvanically separated from the working device.
Beispiel 16 ist das Verfahren gemäß einem der Beispiele 11 bis 15, wobei die Sensoranordnung einen oder mehr als einen Traj ektorie-Sensor (z.B. Lagesensor und/oder Bewegungssensor) aufweist, mittels welchem die Daten erfasst werden. Example 16 is the method according to one of Examples 11 to 15, wherein the sensor arrangement has one or more than one trajectory sensor (e.g. position sensor and / or movement sensor) by means of which the data are recorded.
Beispiel 17 ist das Verfahren gemäß einem der Beispiele 11 bis 16, wobei die Sensoranordnung einen Arbeitspunktsensor aufweist, mittels welchem ein Arbeitspunkt des Arbeitsgeräts erfasst wird, wobei beispielsweise der Arbeitspunktsensor einen Durchflusssensor, einen Temperatursensor und/oder einen Stromsensor (z.B. Leistungssensor) aufweist. Example 17 is the method according to one of Examples 11 to 16, the sensor arrangement having an operating point sensor, by means of which an operating point of the working device is detected, with the operating point sensor, for example has a flow sensor, a temperature sensor and / or a current sensor (eg power sensor).
Beispiel 18 ist das Verfahren gemäß einem der Beispiele 11 bis 17, ferner aufweisend: drahtloses Übermitteln der Daten von der Sensoranordnung an eine Basisstation, wobei die Example 18 is the method according to one of Examples 11 to 17, further comprising: wireless transmission of the data from the sensor arrangement to a base station, the
Basisstation beispielsweise eine Recheneinheit aufweist, wobei mittels der Recheneinheit das Ermitteln des Base station has, for example, a computing unit, wherein the computing unit is used to determine the
maschinenunabhängigen Prozessmodells erfolgt. machine-independent process model.
Beispiel 19 ist das Verfahren gemäß einem der Beispiele 1 bis 18, wobei die Daten, welche z.B. mittels der Example 19 is the method according to any one of Examples 1 to 18, wherein the data e.g. by means of the
Sensoranordnung erfasst werden, eine Trajektorie (z.B. eine lagebezogene und/oder bewegungsbezogene Eigenschaft) des Arbeitsgeräts repräsentieren, und/oder eine Eigenschaft gemäß dem Arbeitspunt des Arbeitsgeräts (beispielsweise Sensor arrangement are detected, represent a trajectory (e.g. a position-related and / or movement-related property) of the implement, and / or a property according to the work point of the implement (for example
Volumenstrom, Temperatur oder Stromstärke) repräsentieren. Volume flow, temperature or current strength).
Beispiel 20 ist das Verfahren gemäß Beispiel 19, wobei das Ermitteln des maschinenunabhängigen Prozessmodells aufweist, eine Trajektorie des Prozessablaufs, z.B. entlang welcher des Arbeitsgeräts geführt wird und/oder die Teilprozesse Example 20 is the method according to Example 19, wherein the determination of the machine-independent process model comprises a trajectory of the process sequence, e.g. along which the implement is guided and / or the sub-processes
erfolgen, zu ermitteln, diese zu glätten und/oder einen oder mehr als einen Punkt der Trajektorie zu verwerfen. take place, to determine, to smooth them and / or to discard one or more than one point of the trajectory.
Beispiel 21 ist das Verfahren gemäß einem der Beispiele 1 bis 20, wobei das Ermitteln des maschinenunabhängigen Example 21 is the method according to one of Examples 1 to 20, wherein the determination of the machine-independent
Prozessmodells ferner aufweist, zumindest eine Randbedingung für die Prozesstätigkeit und/oder die räumliche Information zu berücksichtigen, wobei beispielsweise das Ermitteln des maschinenunabhängigen Prozessmodells ferner aufweist, ein Modell zumindest eines Teilprozesses der Vielzahl von Process model also has to take into account at least one boundary condition for the process activity and / or the spatial information, wherein, for example, the determination of the machine-independent process model further comprises a model of at least one sub-process of the plurality of
Teilprozessen zu berücksichtigen, welches die Randbedingung definiert, wobei die Randbedingung beispielsweise To consider sub-processes, which defines the boundary condition, the boundary condition for example
parametrisiert ist (d.h. in Parametern definiert ist), wobei die Randbedingung beispielsweise für den gesamten is parameterized (i.e. defined in parameters), with the boundary condition for example for the entire
Prozessablauf definiert ist. Beispiel 22 ist das Verfahren gemäß Beispiel 21, wobei die zumindest eine Randbedingung auf eine zeitliche Information und/oder eine mechanische Information bezogen ist, wobei beispielsweise die zumindest eine Randbedingung eine Process flow is defined. Example 22 is the method according to Example 21, wherein the at least one boundary condition is related to temporal information and / or mechanical information, wherein, for example, the at least one boundary condition is a
Arbeitsgeschwindigkeit, eine Haltezeit, eine Kraft, und/oder einen Druck aufweist. Working speed, a hold time, a force, and / or a pressure.
Beispiel 23 ist das Verfahren gemäß einem der Beispiele 1 bis 22, wobei die Daten zeitaufgelöst erfasst werden. Example 23 is the method according to one of Examples 1 to 22, the data being recorded in a time-resolved manner.
Beispiel 24 ist das Verfahren gemäß einem der Beispiele 1 bis 23, wobei das Model der Maschine einen Sensortyp der Maschine, einen Endeffektor der Maschine, eine Example 24 is the method according to any one of Examples 1 to 23, wherein the model of the machine, a sensor type of the machine, an end effector of the machine, a
Positionierungsvorrichtung der Maschine und/oder eine Positioning device of the machine and / or a
körperliche Architektur des Endeffektors und/oder der physical architecture of the end effector and / or the
Positionierungsvorrichtung berücksichtigt, und/oder wobei das Modell der Maschine eine funktionelle Eigenschaft des Positioning device taken into account, and / or wherein the model of the machine is a functional property of the
Endeffektors berücksichtigt. End effector considered.
Beispiel 25 ist das Verfahren gemäß einem der Beispiele 1 bis 24, wobei das maschinenunabhängige Prozessmodell ferner ein Ergebnis des Prozessablaufes repräsentiert. Example 25 is the method according to one of Examples 1 to 24, the machine-independent process model also representing a result of the process sequence.
Beispiel 26 ist das Verfahren gemäß einem der Beispiele 1 bis 25, ferner aufweisend: Abbilden des maschinenspezifischen Steuerungsmodells auf ein Steuerungsprogram, welches von der Maschine ausführbar ist, z.B. dessen Codesegmente gemäß einer Programmierschnittstelle der Maschine eingerichtet sind. Example 26 is the method according to one of Examples 1 to 25, further comprising: mapping the machine-specific control model to a control program which can be executed by the machine, e.g. whose code segments are set up according to a programming interface of the machine.
Beispiel 27 ist das Verfahren gemäß Beispiel 26, wobei das Abbilden des maschinenspezifischen Steuerungsmodells auf das Steuerungsprogramm aufweist, ein oder mehr als ein Template zu verwenden. Example 27 is the method according to Example 26, wherein the mapping of the machine-specific control model to the control program comprises using one or more than one template.
Beispiel 28 ist das Verfahren gemäß Beispiel 27, wobei das Template mittels des Modells der Maschine, des Prozessmodells und/oder eines Modells zumindest eines Teilprozesses Example 28 is the method according to Example 27, the template using the model of the machine, the process model and / or a model of at least one sub-process
instanziiert wird. is instantiated.
Beispiel 29 ist das Verfahren gemäß einem der Beispiele 1 bis 28, ferner aufweisend: Erfassen der Daten zumindest zum Teil mittels einer zusätzlichen Sensoranordnung, welche ortsfest angeordnet ist, wobei beispielsweise das Erfassen der zusätzlichen Sensoranordnung und der Sensoranordnung und/oder die entsprechenden Teile der Daten synchronisiert werden . Example 29 is the method according to one of Examples 1 to 28, further comprising: Acquiring the data at least in part by means of an additional sensor arrangement which is arranged in a stationary manner, for example the acquisition of the additional sensor arrangement and the sensor arrangement and / or the corresponding parts of the data be synchronized.
Beispiel 30 ist das Verfahren gemäß Beispiel 29, wobei die zusätzliche Sensoranordnung einen optoelektronischen Sensor, einen Abstandssensor, einen Sonarsensor und/oder einen Example 30 is the method according to Example 29, wherein the additional sensor arrangement is an optoelectronic sensor, a distance sensor, a sonar sensor and / or a
Radarsensor aufweist; und/oder wobei die Daten, welche mittels der zusätzlichen Sensoranordnung erfasst werden, eine Trajektorie (z.B. eine lagebezogene und/oder Having radar sensor; and / or wherein the data that are acquired by means of the additional sensor arrangement are a trajectory (e.g. a position-related and / or
bewegungsbezogene Eigenschaft) des Arbeitsgeräts movement-related property) of the implement
repräsentieren . represent.
Beispiel 31 ist ein System, aufweisend: einen oder mehr als einen Prozessor, der eingerichtet ist, das Verfahren gemäß einem der Beispiele 1 bis 30 durchzuführen, optional ferner aufweisend eine drahtlos-Kommunikationsvorrichtung zum drahtlosen Kommunizieren mit der Sensoranordnung und/oder der zusätzlichen Sensoranordnung. Example 31 is a system comprising: one or more than one processor which is set up to carry out the method according to one of Examples 1 to 30, optionally further comprising a wireless communication device for wireless communication with the sensor arrangement and / or the additional sensor arrangement.
Beispiel 32 ist das System gemäß Beispiel 31, ferner Example 32 is the system according to Example 31, furthermore
aufweisend: einen oder mehr als einen nichtflüchtigen comprising: one or more than one non-volatile
Speicher, in welchem das maschinenunabhängige Prozessmodell, das maschinenspezifische Steuerungsmodell und/oder das Modell der Maschine abgespeichert sind oder werden; und/oder eine oder mehr als eine Sensoranordnung zum Erfassen der Daten. Memory in which the machine-independent process model, the machine-specific control model and / or the model of the machine are or will be stored; and / or one or more than one sensor arrangement for acquiring the data.
Beispiel 33 ist ein nichtflüchtiger Speicher, aufweisend Codesegmente, die eingerichtet sind, wenn von einem Prozessor ausgeführt, das Verfahren gemäß einem der Beispiele 1 bis 30. Beispiel 34 ist ein maschinenunabhängiges Prozessmodell, z.B. Prozessmodell aus dem Verfahren gemäß einem der Beispiele 1 bis 30, wobei das Prozessmodell für jeden Teilprozess einer Vielzahl von Teilprozessen eine Prozesstätigkeit mit einer räumlichen Information des Teilprozesses verknüpft, wobei die mehreren mehrere Teilprozesse Teil eines Prozessablaufs sind, welcher mittels eines Arbeitsgeräts durchgeführt wird, wobei beispielsweise die räumliche Information genau drei Example 33 is a non-volatile memory comprising code segments that are established when executed by a processor, the method according to any one of Examples 1 to 30. Example 34 is a machine-independent process model, e.g. process model from the method according to one of Examples 1 to 30, the process model for each sub-process of a large number of sub-processes linking a process activity with spatial information of the sub-process, the several sub-processes being part of a process flow, which is carried out by means of a working device, for example the spatial information exactly three
Ortskoordinaten (z.B. gemäß einem kartesischen Location coordinates (e.g. according to a Cartesian
Koordinatensystem) und/oder genau drei Richtungskoordinaten aufweist) und/oder wobei die räumliche Information auf ein geradliniges Koordinatensystem bezogen ist. Coordinate system) and / or has exactly three directional coordinates) and / or wherein the spatial information is related to a rectilinear coordinate system.

Claims

Patentansprüche Claims
1. Verfahren (100), aufweisend: 1. Method (100), comprising:
• Ermitteln (103) eines maschinenunabhängigen • Determining (103) a machine-independent
Prozessmodells (104m) auf Grundlage von Daten, wobei die Daten eine Handhabung eines Arbeitsgeräts (104) beim Durchführen (101) eines Prozessablaufs repräsentieren, wobei der Prozessablauf eine Vielzahl von Teilprozessen aufweist, wobei das Process models (104m) based on data, the data representing handling of a work device (104) when performing (101) a process flow, the process flow having a plurality of sub-processes, the
Prozessmodell (104m) für jeden Teilprozess der Process model (104m) for each sub-process of the
Vielzahl von Teilprozessen eine Prozesstätigkeit mit einer räumlichen Information des Teilprozesses verknüpft ; Multiple sub-processes link a process activity with spatial information of the sub-process;
• Abbilden (105) des maschinenunabhängigen • Mapping (105) the machine-independent
Prozessmodells (104m) auf ein maschinenspezifisches Steuerungsmodell (116m) einer Maschine (114) unter Verwendung eines Modells (114m) der Maschine (114), wobei das maschinenspezifische Steuerungsmodell (116m) für jeden Teilprozess der Vielzahl von Process models (104m) to a machine-specific control model (116m) of a machine (114) using a model (114m) of the machine (114), the machine-specific control model (116m) for each sub-process of the plurality of
Teilprozessen einen Arbeitspunkt der Maschine (114) definiert, der zu der Prozesstätigkeit und der räumlichen Information des Teilprozesses Sub-processes defines an operating point of the machine (114) that is related to the process activity and the spatial information of the sub-process
korrespondiert . corresponds.
2. Verfahren (100) gemäß Anspruch 1, 2. The method (100) according to claim 1,
wobei das Abbilden (105) aufweist, die räumliche wherein the mapping (105) comprises the spatial
Information auf einen Arbeitspunkt einer Information on an operating point of a
Positionierungsvorrichtung (114p) der Maschine (114) abzubilden . Map the positioning device (114p) of the machine (114).
3. Verfahren (100) gemäß Anspruch 2, 3. The method (100) according to claim 2,
wobei das Abbilden (105) aufweist, die Prozesstätigkeit auf einen Arbeitspunkt eines Endeffektors (114e) der Maschine (114) abzubilden, welcher mittels der wherein the mapping (105) comprises mapping the process activity to an operating point of an end effector (114e) of the machine (114), which by means of the
Positionierungsvorrichtung (114p) beweglich gelagert ist . Positioning device (114p) is movably mounted.
4. Verfahren (100) gemäß einem der Ansprüche 1 bis 3,4. The method (100) according to any one of claims 1 to 3,
• wobei zumindest ein Teilprozess der Vielzahl von • being at least one sub-process of the plurality of
Teilprozessen gemäß einem Kriterium bedingt ist, Sub-processes are conditioned according to a criterion,
• wobei das Abbilden (105) aufweist, das Kriterium • wherein the mapping (105) comprises the criterion
gemäß einem Sensortyp der Maschine (114) zu parametrisieren . to parameterize according to a sensor type of the machine (114).
5. Verfahren (100) gemäß einem der Ansprüche 1 bis 4, 5. The method (100) according to any one of claims 1 to 4,
wobei die räumliche Information eine Position und/oder Ausrichtung des Arbeitsgeräts (104) repräsentiert. wherein the spatial information represents a position and / or orientation of the working device (104).
6. Verfahren (100) gemäß einem der Ansprüche 1 bis 5, 6. The method (100) according to any one of claims 1 to 5,
wobei die Prozesstätigkeit ein Betätigen und/oder einen Arbeitspunkt des Arbeitsgeräts (104) repräsentiert. wherein the process activity represents an actuation and / or an operating point of the implement (104).
7. Verfahren (100) gemäß einem der Ansprüche 1 bis 6, 7. The method (100) according to any one of claims 1 to 6,
ferner aufweisend: also having:
Präsentieren des maschinenunabhängigen Prozessmodells (104m) und/oder des maschinenspezifischen Presentation of the machine-independent process model (104m) and / or the machine-specific
Steuerungsmodells (116m) mittels einer Control model (116m) by means of a
Benutzerschnittstelle, welche eingerichtet ist, auf Grundlage einer Benutzereingabe das maschinenunabhängige Prozessmodell (104m) bzw. das maschinenspezifische User interface, which is set up, based on a user input, the machine-independent process model (104m) or the machine-specific
Steuerungsmodell (116m) zu verändern. Change control model (116m).
8. Verfahren (100) gemäß einem der Ansprüche 1 bis 7, 8. The method (100) according to any one of claims 1 to 7,
ferner aufweisend: also having:
Erfassen der Daten zumindest zum Teil mittels einer Sensoranordnung (102), welche an dem Arbeitsgerät (104) befestigt ist. Acquisition of the data, at least in part, by means of a sensor arrangement (102) which is attached to the working device (104).
9. Verfahren (100) gemäß Anspruch 8, ferner aufweisend: wobei die Daten, welche mittels der Sensoranordnung (102) erfasst werden 9. The method (100) according to claim 8, further comprising: wherein the data which are detected by means of the sensor arrangement (102)
• eine Trajektorie des Arbeitsgeräts (104) • a trajectory of the implement (104)
repräsentieren; und/oder • eine Eigenschaft gemäß einem Arbeitspunt des represent; and or • a property according to a work point of
Arbeitsgeräts (104) repräsentieren. Represent working device (104).
10. Verfahren (100) gemäß einem der Ansprüche 1 bis 9, 10. The method (100) according to any one of claims 1 to 9,
ferner aufweisend: also having:
Erfassen der Daten zumindest zum Teil mittels einer zusätzlichen Sensoranordnung (112), welche ortsfest angeordnet ist. Acquisition of the data at least in part by means of an additional sensor arrangement (112) which is arranged in a stationary manner.
11. Verfahren (100) gemäß einem der Ansprüche 1 bis 10, 11. The method (100) according to any one of claims 1 to 10,
ferner aufweisend: also having:
Abbilden des maschinenspezifischen Steuerungsmodells (116m) auf ein Steuerungsprogram, welches von der Mapping of the machine-specific control model (116m) to a control program which is controlled by the
Maschine (114) ausführbar ist. Machine (114) is executable.
12. Verfahren (100) gemäß Anspruch 11, ferner aufweisend: wobei das Abbilden des maschinenspezifischen 12. The method (100) of claim 11, further comprising: wherein mapping the machine-specific
Steuerungsmodells (116m) auf das Steuerungsprogramm aufweist, ein oder mehr als ein Template zu verwenden. Control model (116m) has on the control program to use one or more than one template.
13. Verfahren (100) gemäß Anspruch 12, ferner aufweisend: wobei das Template mittels des Modells (114m) der 13. The method (100) according to claim 12, further comprising: wherein the template using the model (114m) of
Maschine (114) instanziiert wird. Machine (114) is instantiated.
14. System, aufweisend: 14. System, comprising:
einen oder mehr als einen Prozessor, der eingerichtet ist, das Verfahren (100) gemäß einem der Ansprüche 1 bis 13 durchzuführen. one or more than one processor which is set up to carry out the method (100) according to any one of claims 1 to 13.
15. Nichtflüchtiges Speichermedium, aufweisend Codesegmente, die eingerichtet sind, wenn von einem Prozessor 15. Non-volatile storage medium comprising code segments that are established when by a processor
ausgeführt, das Verfahren (100) gemäß einem der carried out the method (100) according to one of the
Ansprüche 1 bis 13 durchzuführen. Claims 1 to 13 to carry out.
EP20710474.6A 2019-03-07 2020-03-06 Method, system and nonvolatile storage medium Pending EP3934858A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019105820.1A DE102019105820A1 (en) 2019-03-07 2019-03-07 Process, system and non-volatile storage medium
PCT/EP2020/056052 WO2020178435A1 (en) 2019-03-07 2020-03-06 Method, system and nonvolatile storage medium

Publications (1)

Publication Number Publication Date
EP3934858A1 true EP3934858A1 (en) 2022-01-12

Family

ID=69784434

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20710474.6A Pending EP3934858A1 (en) 2019-03-07 2020-03-06 Method, system and nonvolatile storage medium

Country Status (7)

Country Link
US (1) US20220143830A1 (en)
EP (1) EP3934858A1 (en)
JP (1) JP2022524385A (en)
KR (1) KR20220002279A (en)
CN (1) CN113710430A (en)
DE (1) DE102019105820A1 (en)
WO (1) WO2020178435A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11654566B2 (en) * 2020-08-12 2023-05-23 General Electric Company Robotic activity decomposition
JP2024528774A (en) 2021-05-17 2024-08-01 コビオニックス コーポレーション Proximity-sensing autonomous robotic system and device

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2776477B2 (en) * 1996-02-13 1998-07-16 川崎重工業株式会社 Robot 3D position and orientation teaching system
SE531104C2 (en) * 2002-12-30 2008-12-16 Abb Research Ltd Method and system for programming an industrial robot
DE602006003726D1 (en) * 2006-04-03 2009-01-02 Abb Research Ltd Device and method for producing a train for an industrial robot
US7865285B2 (en) * 2006-12-27 2011-01-04 Caterpillar Inc Machine control system and method
US20090132088A1 (en) * 2007-04-24 2009-05-21 Tairob Ltd. Transfer of knowledge from a human skilled worker to an expert machine - the learning process
US9731419B2 (en) * 2010-08-03 2017-08-15 Praxair S.T. Technology, Inc. System and method for programming robots
US8578346B2 (en) * 2010-09-10 2013-11-05 International Business Machines Corporation System and method to validate and repair process flow drawings
AT12208U3 (en) * 2011-09-06 2013-07-15 Keba Ag METHOD, CONTROL SYSTEM AND MOTOR DEVICE FOR PROGRAMMING OR PRESENTING MOVEMENTS OR RUNNING OF AN INDUSTRIAL ROBOT
JP5549749B1 (en) * 2013-01-16 2014-07-16 株式会社安川電機 Robot teaching system, robot teaching program generation method and teaching tool
US9186795B1 (en) * 2013-06-24 2015-11-17 Redwood Robotics, Inc. Programming and execution of force-based tasks with torque-controlled robot arms
JP2015111338A (en) * 2013-12-06 2015-06-18 株式会社ツガミ Processing program creation device, processing system, and program for processing program creation
ES2759082T3 (en) * 2014-04-04 2020-05-07 Abb Schweiz Ag Portable device to control a robot and its method
US20150024345A1 (en) * 2014-10-09 2015-01-22 Reza Eftekhar Ashtiani A milling blank and a method for fabricating dental bridgework using milling blank
TWI805545B (en) * 2016-04-12 2023-06-21 丹麥商環球機器人公司 Method and computer program product for programming a robot by demonstration
US10807233B2 (en) * 2016-07-26 2020-10-20 The University Of Connecticut Skill transfer from a person to a robot
JP6469069B2 (en) * 2016-12-13 2019-02-13 ファナック株式会社 Robot control apparatus and robot control method having function for facilitating learning
JP6392905B2 (en) * 2017-01-10 2018-09-19 ファナック株式会社 Machine learning device for learning impact on teaching device, impact suppression system for teaching device, and machine learning method
US10751879B2 (en) * 2017-06-05 2020-08-25 Autodesk, Inc. Adapting simulation data to real-world conditions encountered by physical processes
JP6514278B2 (en) * 2017-07-04 2019-05-15 ファナック株式会社 Laser processing robot system
CN107738256A (en) * 2017-10-17 2018-02-27 佛山市南方数据科学研究院 A kind of teach-by-doing apery teaching robot's programing system
CN108161904B (en) * 2018-01-09 2019-12-03 青岛理工大学 Robot online teaching device, system, method and equipment based on augmented reality
US11281936B2 (en) * 2018-12-31 2022-03-22 Kofax, Inc. Systems and methods for identifying processes for robotic automation and building models therefor

Also Published As

Publication number Publication date
JP2022524385A (en) 2022-05-02
DE102019105820A1 (en) 2020-09-10
US20220143830A1 (en) 2022-05-12
WO2020178435A1 (en) 2020-09-10
KR20220002279A (en) 2022-01-06
CN113710430A (en) 2021-11-26

Similar Documents

Publication Publication Date Title
EP3013537B1 (en) Method and system for programming a robot
EP2539116B1 (en) Process module library and programming environment for programming a manipulator process
DE102013113370B4 (en) ROBOTIC TASK CONTROL COMPONENT WITH EXTENSIBLE PROGRAMMING ENVIRONMENT
EP2285537B1 (en) Device and method for the computer-assisted generation of a manipulator track
DE102010045529B4 (en) Interactive robot control system and method of use
DE102014103738B3 (en) VISUAL TROUBLESHOOTING FOR ROBOTIC TASKS
DE102011079117B4 (en) Method of programming a robot
DE102019134794B4 (en) Hand-held device for training at least one movement and at least one activity of a machine, system and method.
Nagata et al. Development of CAM system based on industrial robotic servo controller without using robot language
EP4078311A1 (en) Hand-held device for training at least one movement and at least one activity of a machine, system and method
DE102012218297A1 (en) Method for dynamically optimizing a robot control interface
DE102019205651B3 (en) Method and system for carrying out robot applications
Andersen et al. Definition and initial case-based evaluation of hardware-independent robot skills for industrial robotic co-workers
EP3934858A1 (en) Method, system and nonvolatile storage medium
DE102020200165B4 (en) Robot controller and method for controlling a robot
Froschauer et al. Workflow-based programming of human-robot interaction for collaborative assembly stations
DE202019005591U1 (en) System comprising a hand-held device for training at least one movement and at least one activity of a machine
Syrjänen Task level robot programming: Background, methods and current state
DE112022000487T5 (en) Command generating device and computer program
Karlsson et al. Remote Programming and Configuration of a Robotic System: A Workplace Oriented Case Study
Sprumont et al. KASBA: A Knowledge-based System For Flexible Assembly Execution
DE102016204137A1 (en) Programmable manipulator system with a function switch device

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20210713

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
TPAC Observations filed by third parties

Free format text: ORIGINAL CODE: EPIDOSNTIPA

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20240327

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: WANDELBOTS GMBH