EP4504460A1 - Durchführung einer roboterapplikation und erstellen eines programms hierfür - Google Patents
Durchführung einer roboterapplikation und erstellen eines programms hierfürInfo
- Publication number
- EP4504460A1 EP4504460A1 EP23709943.7A EP23709943A EP4504460A1 EP 4504460 A1 EP4504460 A1 EP 4504460A1 EP 23709943 A EP23709943 A EP 23709943A EP 4504460 A1 EP4504460 A1 EP 4504460A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- robot
- indication
- selection
- programming
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1656—Program controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1679—Program controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40397—Programming language for robots, universal, user oriented
Definitions
- the present invention relates to a method and system for creating a program for carrying out a robot application, which includes several actions, in particular movements, of a first robot, in particular a method and system for carrying out the robot application, as well as a computer program or computer program product for carrying out one described here procedure.
- robots from different manufacturers are used, in particular robots from different manufacturers together, alternatively robots from different manufacturers or the like. These robots must be programmed individually or manufacturer-specifically.
- JSON-LD a context-based data format or structure is known for the Internet, for example JSON-LD, which is particularly suitable as an interface between machines.
- the object of the present invention is to improve the execution of robot applications or the creation of programs for this purpose.
- a robot application includes several actions of a first robot.
- one or more of these actions each include one or more movements of the first robot, and can in particular be such movements.
- the first robot and/or the others mentioned below robots have (each) a robot arm with at least three, in particular at least six joints, in one embodiment swivel joints.
- a method for creating a program for carrying out the robot application comprises the steps:
- input names or keys or a lexicon or vocabulary with input names or keys are uniformly specified, in one embodiment by one, in a specific implementation, context, in further training using JSON-LD or a similar standard or data format or structure.
- the programming inputs are then (each) based on the input name of these, in an execution by the context, uniformly predetermined input name or lexicon that is or is used by the respective programming input, and the content used for the input name used by the respective programming input, in particular one- or multi-dimensional value, is interpreted, in particular converted into machine-readable instructions of the program or for the first robot, in an execution using JSON-LD or a similar standard or Data format or structure.
- the robot application can be advantageously programmed or carried out for or with different robot(s).
- one or more of the programming inputs comprise one or more details (each) of a coordinate space (for the first robot), in a further development one or more selections (each) between one of several predetermined coordinate spaces , in one Execution of a coordinate space for a motion input and/or a coordinate space for a pose of the first robot.
- the predetermined coordinate spaces in particular for a movement input and/or for a pose, comprise a joint coordinate space and/or one or more work spaces, in a further development an environment-fixed and/or an end-effector-fixed and/or a workpiece-fixed coordinate space; and/or an indication of a control method of the first robot, in particular a selection between one of several predetermined control methods, which in a further development include position control, speed control and/or force control, in particular impedance control and/or admittance control, and/or a parameterization of the, if necessary, selected, standard procedure; and/or an indication of a path of the first robot, in particular a selection between one of several predetermined path types, which in a further development is a point-to-point or PTP path, a circular segment or CIRC path, a straight line or LIN path, a spline or SPL path and/or one or more other path types, and/or a parameterization of the, if necessary, selected path (type
- the robot application includes several actions of at least one further robot that is different from the first robot.
- one or more of these actions each include one or more movements of the further robot, and can in particular be such movements.
- the method includes the steps:
- these programming inputs are used to program the actions of the further robot (each based on that) input name from the, in one embodiment by the context, uniformly specified input names or the lexicon, which is determined by the respective programming input is or is used, and the input name used for this content determined by the respective programming input, in particular one- or multi-dimensional value, is interpreted, in particular converted into machine-readable instructions of the program or for the further robot, in an execution using JSON LD or a similar standard or data format or structure.
- the robot application can advantageously be programmed or carried out for several different robots.
- one or more of the programming inputs for programming the actions of the additional robot include one or more details (each) of a coordinate space (for the further robot), in a further development one or more selections (each) between one of several predetermined coordinate spaces, in one embodiment a coordinate space for a movement input and / or a coordinate space for a pose of the another robot.
- the predetermined coordinate spaces in particular for a movement input and/or for a pose, comprise a joint coordinate space and/or one or more work spaces, in a further development an environment-fixed and/or an end-effector-fixed and/or a workpiece-fixed coordinate space; and/or an indication of a control method of the further robot, in particular a selection between one of several predetermined control methods, which in a further development include position control, speed control and/or force control, in particular impedance control and/or admittance control, and/or a parameterization of the, if necessary, selected, standard procedure; and/or an indication of a path of the further robot, in particular a selection between one of several predetermined path types, which in a further development are a point-to-point or PTP path, a circular segment or CIRC path, a straight line or LIN path, a spline or SPL path and/or one or more other path types, and/or a parameterization of the, if necessary, selected path (type
- robot applications for several different robots can be programmed or carried out particularly easily, variably and/or reliably.
- the input names are uniformly specified by specifying a context, in one embodiment by specifying a type within a specified context and/or using JSON-LD.
- one or more of the programmed actions are implemented using a state machine.
- branches (IF...THEN", "IF... ELSE -- etc.) can advantageously be implemented in one embodiment.
- a method for carrying out the robot application comprises the steps:
- a system for creating the program for carrying out the robot application in particular a system for Implementation of the robot application, in terms of hardware and/or software, in particular program technology, is set up to carry out a method described here and/or has:
- input names are uniformly specified and the means for creating the program has means for interpreting the programming inputs based on the input name used by the respective programming input and the specific content for this input name used by the respective programming input, in particular using JSON-LD.
- At least one of the programming inputs includes at least one indication of a coordinate space (for the first robot), in particular at least one selection between one of several predetermined coordinate spaces, an indication of a control method of the first robot, in particular a selection between one of several predetermined control methods, an indication of a path of the first robot, in particular a selection between one of several predetermined path types, an indication of a pose of the first robot, in particular with a selection between one of several predetermined coordinate spaces for the pose, an indication of a tool action of the first Robot, in particular a selection between one of several predetermined tool actions, and / or an indication of a sensor type and / or action of the first robot, in particular a selection between one of several predetermined sensor types and / or actions.
- the robot application includes several actions, in particular movements, of at least one further robot that is different from the first robot, and the system or its means include: means for acquiring programming inputs for programming these actions of the further robot; and
- the means for creating the program has means for interpreting these programming inputs for programming the actions of the further robot on the basis of the input name used by the respective programming input, which in one embodiment is uniformly predetermined by the context, and the input name used for this the respective programming input contains specific content, in particular using JSON-LD.
- At least one of the programming inputs for programming the actions of the further robot comprises at least one indication of a coordinate space (for the further robot), in particular at least one selection between one of several predetermined coordinate spaces, an indication of a control method and further Robot, in particular a selection between one of several predetermined control methods, an indication of a path of the further robot, in particular a selection between one of several predetermined path types, an indication of a pose of the further robot, in particular with a selection between one of several predetermined coordinate spaces for the pose , an indication of a tool action of the further robot, in particular a selection between one of several predetermined tool actions, and / or an indication of a sensor type and / or action of the further robot, in particular a selection between one of several predetermined sensor types and / or actions.
- system or its means includes
- a system and/or a means in the sense of the present invention can be designed in terms of hardware and/or software technology, in particular at least one processing unit, in particular a microprocessor unit, preferably connected to a memory and/or bus system with data or signals, in particular digital processing unit ( CPU), graphics card (GPU) or the like, and/or one or more programs or program modules.
- CPU digital processing unit
- GPU graphics card
- the processing unit can be designed to process commands that are implemented as a program stored in a memory system, to detect input signals from a data bus and/or to deliver output signals to a data bus.
- a storage system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state and/or other non-volatile media.
- the program can be designed in such a way that it embodies or is able to execute the methods described here, so that the processing unit can carry out the steps of such methods and thus in particular can create or execute the program.
- a computer program product can have, in particular, a storage medium, in particular a computer-readable and/or non-transitory storage medium, for storing a program or instructions or with a program or with instructions stored thereon.
- execution of this program or instructions by a system or computer or array of computers causes the system or computer(s) to perform a method or one or more of its steps described herein , or the program or instructions have been set up for this purpose.
- one or more, in particular all, steps of the method are carried out completely or partially automatically, in particular by the system or its means.
- the system has the first robot and possibly also the further robot.
- Fig. 1 a system for carrying out a robot application according to an embodiment of the present invention
- Fig. 2 a method for carrying out the robot application according to an embodiment of the present invention.
- Fig. 3, 4 Programming input structures.
- Fig. 1 shows a system for carrying out a robot application using a first robot 1 and, in a further development, an optional further robot 2, which are controlled by a central or decentralized or distributed controller 3, which executes a created program and for this purpose a means 3.1 for Creating the program, which, as mentioned, can also be implemented decentrally, in particular by a dedicated computer with software running on it, a cloud or the like,
- Fig. 2 shows a method for carrying out the robot application.
- a first step S10 programming inputs for programming actions of the first and possibly also of the further robot are recorded.
- a program for carrying out a robot application is created based on these recorded programming inputs.
- a third step S30 the created program is executed using the first robot and, if necessary, also the further robot.
- Fig. 3, 4 illustrate programming input structures.
- the program inputs can include, for example, the following:
- step 1 “Move command 1”,
- step 2 “Move command 2”,
- a context is specified by ' ⁇ context”: “https://schema.org”, whereby schema.org exemplifies a uniform ontology for structuring data on websites based on existing markup languages, through “@type”: “Robot Application” or “@type”: “Robot Application” a type within the context that can be generated or modified, in particular expanded, if necessary , in particular in such a way that it provides the programming input mentioned here.
- program inputs can contain motion commands (“Motion Command”) with a choice between one of several predefined coordinate spaces (“K.raum” or “Domain”: “Joint” or “Joint “, “Cartesian” or “Cartesian”), a selection between one of several predefined control methods (“Algorithm” or “Range/Algorithm”: “Position”, “Speed” or “Velocity”, “Force-Impedance” or “Force Impedance”, “Force Admittance” or “Force Admittance”), a parameterization of the (selected) control method (“Stiffness” or “Stifness”, “Damping” or “Damping”, “Force " or “Force”), a selection between one of several predefined path types (“Trajectory” or “Trajectory”: “PTP”, “CIRC”, “LIN”, SPL”, “sampled path profile” or “Sampled Path Profile”, "
- “Actions”) or their parameterization (“Open” or “Open”, “Closed” or “Close”), sensor types and/or actions (“Sensors” or “Sensors”: “Camera” or “Camera”, “accelerometer” or “accelerometer”, “...”) and other elements (“Other” or “Other”).
- the respective programming input creates the corresponding content (“Stiffness” or “Stiffness”, “Damping” or “Damping”, “Force” or “Force”, “EE Frame”, “Redundancy” or “Redundancy”, “ Joint Pose” or “Joint Pose”, “Offen” or “Open”, “Closed” or “Close”).
- step 3 of the program can be a
- Movement commands can be recorded or implemented, which requires a position-controlled PTP Path in the joint angle space to a target pose, which is specified in the joint angle space by the values “joint pose” (or “joint pose”).
- This is indicated in FIG. 4 by a line with the reference number 300, which is to be understood as “is of type” or represents this.
- the reference number 100 is to be understood as “has name” or “has name” and the reference number 200 is to be understood as “has not” or “does not have” or represents this.
- the JSON-LD data model represents an extension or serialization of the RDF model. This means that in one version the robot application can be represented in an RDF graph and then serialized to JSON-LD.
- An RDF serialization in N-QUADS serialization would be, for example:
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102022203406.6A DE102022203406A1 (de) | 2022-04-06 | 2022-04-06 | Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür |
| PCT/EP2023/055387 WO2023194007A1 (de) | 2022-04-06 | 2023-03-03 | Durchführung einer roboterapplikation und erstellen eines programms hierfür |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4504460A1 true EP4504460A1 (de) | 2025-02-12 |
Family
ID=85556679
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23709943.7A Pending EP4504460A1 (de) | 2022-04-06 | 2023-03-03 | Durchführung einer roboterapplikation und erstellen eines programms hierfür |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP4504460A1 (de) |
| CN (1) | CN118973770A (de) |
| DE (1) | DE102022203406A1 (de) |
| WO (1) | WO2023194007A1 (de) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102023210548B3 (de) | 2023-10-25 | 2025-01-09 | Kuka Deutschland Gmbh | Steuern eines Roboters |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE29605700U1 (de) | 1996-03-27 | 1996-06-05 | Siemens AG, 80333 München | Vorrichtung zum Übersetzen von eine Werkzeugmaschine, einen Roboter o.dgl. steuernden Programmanweisungen |
| JP2003108220A (ja) * | 2001-09-28 | 2003-04-11 | Omron Corp | 制御プログラム開発支援方法及び装置 |
| DE102015116086A1 (de) | 2015-09-23 | 2017-03-23 | Universität Bayreuth | Robotersteuerung |
| DE102017202439B4 (de) | 2017-02-15 | 2022-03-31 | Festo Se & Co. Kg | Eingabeeinrichtung, Verfahren zur Bereitstellung von Bewegungsbefehlen an einen Aktor und Aktorsystem |
| DE102017216093B4 (de) | 2017-09-12 | 2019-05-02 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zur Parametrierung eines robotischen Manipulators |
| US12017362B2 (en) | 2019-10-31 | 2024-06-25 | Automation Anywhere, Inc. | Productivity plugin for integration with robotic process automation |
| US20210191367A1 (en) | 2019-12-20 | 2021-06-24 | UiPath, Inc. | System and computer-implemented method for analyzing a robotic process automation (rpa) workflow |
| US20220067272A1 (en) | 2020-09-01 | 2022-03-03 | UiPath Inc. | Robotic Process Automation Systems and Methods Using A Helper Spreadsheet |
| JP6958884B1 (ja) * | 2021-06-15 | 2021-11-02 | ソプラ株式会社 | プログラムコード自動生成システム |
-
2022
- 2022-04-06 DE DE102022203406.6A patent/DE102022203406A1/de active Pending
-
2023
- 2023-03-03 WO PCT/EP2023/055387 patent/WO2023194007A1/de not_active Ceased
- 2023-03-03 EP EP23709943.7A patent/EP4504460A1/de active Pending
- 2023-03-03 CN CN202380032196.XA patent/CN118973770A/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN118973770A (zh) | 2024-11-15 |
| DE102022203406A1 (de) | 2023-10-12 |
| WO2023194007A1 (de) | 2023-10-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2977149B1 (de) | Verfahren und mittel zum auslegen und/oder betreiben eines roboters | |
| DE112008003963B4 (de) | System und Verfahren zur Off-line-Programmierung eines Industrieroboters | |
| EP3974125B1 (de) | Verfahren und vorrichtung zum steuern eines roboters | |
| EP3803522B1 (de) | Verfahren zum herstellen oder bearbeiten eines produkts sowie steuereinrichtung zum steuern eines produktionssystems | |
| DE102019206444A1 (de) | Maschinelles Lernen einer Objekterkennung mithilfe einer robotergeführten Kamera | |
| EP3959046A1 (de) | Verfahren und system zum betreiben eines roboters | |
| DE102013013875A1 (de) | Verfahren zum Steuern eines Roboters | |
| DE102017001131C5 (de) | Verfahren und System zum Betreiben eines Roboters | |
| WO2017129352A1 (de) | Verfahren und system zur bahnplanung eines redundanten roboters | |
| EP4504460A1 (de) | Durchführung einer roboterapplikation und erstellen eines programms hierfür | |
| EP3471928B1 (de) | Konfigurieren und/oder steuern einer roboteranordnung | |
| EP3710900B1 (de) | Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls | |
| EP4176579B1 (de) | Verfahren zum betreiben eines automatisierungssystems einer maschine oder einer anlage | |
| WO2019224224A1 (de) | Verfahren und steuerung zum steuern eines roboters | |
| WO2019243128A1 (de) | Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose | |
| DE102019128583B4 (de) | Optimierungsmodi für Steuerprogramme eines Robotermanipulators | |
| DE112022007935T5 (de) | Vorrichtung, verfahren und computerprogramm zum einstellen der lage eines roboters | |
| DE102020103852B4 (de) | Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator | |
| DE102007007601A1 (de) | Vorrichtung zur Herstellung eines Steuerprogramms aus Funktionsmodulen, mehrachsige Maschine, Verfahren und graphische Benutzerschnittstelle | |
| EP4018275A1 (de) | System und verfahren zur steuerung zumindest einer maschine, insbesondere eines kollektivs von maschinen | |
| WO2025087580A1 (de) | Steuern eines roboters basierend auf mehreren wenigstens teilweise auf maschinellem lernen basierenden datenverarbeitungen | |
| DE102022112439B3 (de) | Sicherer Roboter | |
| DE102024100437A1 (de) | Bewegen eines Roboters | |
| DE102018112647B4 (de) | Verfahren zum Betreiben eines Roboters mittels eines speziellen Prozesskalküls | |
| WO2024125919A1 (de) | Betreiben eines roboters mit greifer |
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: 20240917 |
|
| 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 ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| P01 | Opt-out of the competence of the unified patent court (upc) registered |
Free format text: CASE NUMBER: APP_8903/2025 Effective date: 20250221 |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |