The present invention relates to a method for programming an industrial robot. More specifically, the invention relates to a method for programming an industrial robot, where distributors and integrators can present accessories that run successfully at end users. Also the developer can define customized installation screens and program nodes for the end user. The invention provides a software platform, where the developer can define customized installation screens and program nodes for the end user.
Before an industrial robot is to be put in operation for a certain task, it must be programmed to carry out the task. Various robot programming languages are available originating from different robot suppliers. A robot program comprises a series of robot instructions written in a robot programming language.
Customers who buy industrial robots generally want to be able to control or manipulate a robot, and to program the robot, relative to various objects and boundaries in the surroundings of the robot, such as machines, objects or blanks, fixtures, conveyers, pallets or vision systems.
The end-user would sometimes face a challenge when installing and programming third party hardware (tools, such as grippers) as well as accompanying third party software to be integrated in the industrial robot system.
Industrial robots are highly flexible devices used for a wide variety of operations in many different industrial applications. Industrial robots are conventionally programmed via a robot programming language that is very similar to conventional computer programming languages. A robot program includes a sequence of program instructions, where each instruction tells the robot control unit what to do and how to do it. Robots are programmed to follow a path including a plurality of target points. The robot program includes the positions of the target points. The programming of robots is a time consuming process and the conventional methods of using the robot during the programming and teaching process ties up the production equipment and delays production start.
There is a need for a method to extend an existing robot system with customized functionalities by still using the software platform available in the robot system. Hereby a robot developer can define customized installation screens and program nodes for the end user. These can, for example, encapsulate complex new robot programming concepts, or provide friendly hardware configuration interfaces.
The above and other objects and advantages are obtained by the provision of a programmable robot having the unique feature that it can be programmed with third party plug-ins provided with the third party tools.
Thus, according to a first aspect of the present invention there is provided a method of programming an industrial robot with third party hardware and software, wherein the method includes:
The method may further comprise one or more of the following steps:
According to a further aspect of the invention, the object is achieved by a computer program directly loadable into the internal memory of a computer or a processor, comprising software code portions for performing the steps of the method according to the invention, when said program is run on a computer. The computer program is provided either on a computer readable medium or through a network.
According to another aspect of the invention, the object is achieved by a computer readable medium having a program recorded thereon, when the program is to make a computer perform the steps of the method according to the invention, and said program is run on the computer.
According to the invention, a set of predefined workstations, comprising preprogrammed robot code, are stored in a memory location. The user creates a robot program by selecting one or more workstations from the predefined set of workstations and specifying the order in which the robot shall visit the selected workstations. This allows the operator to create a graphical representation that reflects the configuration of the real robot cell.
A workstation is a physical location on which the robot may carry out work. Each predefined workstation represents a real workstation and a defined task to be carried out by the robot at the workstation. The preprogrammed robot code is specially designed for controlling the robot so that it carries out the defined task at the workstation. Examples of workstations are: an injection mold machine, a dye casting machine, a scrap station for throwing away rejected objects, a device for vision control of the object, one or more stations for subsequent treatment of the object, and an output station such as a conveyer. Examples of tasks are: pick a molded object from the mold, throw the object in the waste basket, hold the object during a vision control, move the object in a predefined way in relation to a treatment tool, put the object in an assembly with other objects, place the object on the conveyer. The subsequent treatment is for instance flaming, deburring, degating, dispensing, polishing, grinding or painting.
The user interacts with one or more graphical interfaces during the creation of the robot program. In this context a graphical interface is defined as a view or a part of a view, adapted for interaction with a user and displayed on the display device. The graphical interface is adapted for displaying information, in the form of text and symbols, and choices to the user, and to receive commands, data and selections entered by the user.
A robot program is generated based on the stored, predefined workstations including predefined robot program code, and information entered by the user via the user interfaces about selected workstations and the order in which the robot shall visit the selected workstations. The programming code is hidden from the user, and the user creates a robot program by interacting with one or more graphical interfaces. Thus, the invention makes it possible for a user to create a robot program without using any programming code. The invention offers an easy and pedagogical way to program a robot, and does not require any knowledge about robot languages. Based on the software platform provided with the present invention it is easy for the user to reprogram the robot in connection with adding and removing a third party workstation to the robot cell. A further advantage gained with the present invention is that the user will find it just as easy to program an advanced robot with five or six axes, as to program a simple linear robot with only three axes. The term industrial robot refers to linearly movable manipulators as well as robots including rotational movement axes. The invention is useful for programming industrial manipulators or robots for any application including visiting and performing work on one or more workstations.
The invention will now be explained more closely by the description of the principles shown in
The invention concerns a platform where distributors and integrators can present accessories that run successfully at end users. This gives rise to shorter lead time to implement robot applications, and lower project risks, higher predictability of project costs and time, access to well-proven technology, and share information. The concept includes both hardware and software solutions, whereas the present invention is concerned with the software aspects of this concept.
By implementation of the present invention an industrial robot becomes receptive to the installation of third-party software components, based on a dedicated file format. These files can amongst other things contain graphical user interface elements that will become part of our user interface. A typical use case could be the installation of a gripper on the robot. The gripper would come with a dedicated file, which would add a general user interface element to the installation tab (where the installation of the robot is specified) and to the program tab (where the program of the robot is specified). In the installation tab, it would allow the set-up of parameters for how the gripper is mounted on the robot and what electrical signals are used for the gripper. In the program tab, it would allow to specify whether the gripper should open or close, and possible also the gripping force, closing speed etc.
Generally, an industrial robot comprises a manipulator, a control unit for controlling the manipulator, and a portable operator control device, denoted a teach pendant unit, for teaching and manually operating the manipulator.
In accordance with the present invention end-users have the possibility to install various plugin packages. A single package may contain a contribution to the installation tab and/or program nodes. After installation of the software the new screens will automatically become available for the control device. Furthermore, the screens look and act as if they were part of the default control environment.
Installation tab contributions store their settings in the, so called, installation. This file contains the configuration for a particular work-cell. The configuration among others contains the verified safety settings. End-users programming robots, using the present invention, automatically link the program under design to the specific installation. Consequently, when the program is loaded, the assigned installation (including verified safety configuration and settings) is loaded as well. This simplifies the workflow for end-users, because the number of significant configuration files remains the same (i.e. one).
Program node contributions store their parameters in the, so called, program files. These files contain the program for the automation task the robot is supposed solve. The combination of default control program parameters and specific parameters gives the same workflow advantages to the end-user (similar to the installation file), since the number of significant files remains one.
The separation of concerns, between configuration of the robot work-cell and program design, promoted by the control device lowers the design complexity for end-users. Both concerns focus on complementary aspects of the automation task and give the end-user a systematic way of solving the automation problem. The control device ensures that both concerns are integrated in an appropriate manner. With the framework of the present invention the same separation of concerns and integration can be provided to end-users, i.e. installation tab contributions can share settings with program node contributions.
For instance, if an electro-mechanical gripper is supposed to be installed and used for an automation task the following steps could be taken. As the gripper supplier chose to guide the end-user through the installation process, he directs the end-user to install the plug-in first and to navigate to the Installation tab. In the Installation tab the contribution then shows the end-user visually how the gripper's power supply and communication interface should be connected. After the communication interface and power have been connected physically, the gripper boots up and starts communicating with the gripper software. At this point, the gripper software detects the physical gripper and the screen changes from showing the visual installation guide to a configuration interface. In the configuration interface, for instance, the maximum closing force can be configured. After the configuration has been done, the end-user can start making a program. The end-user navigates to the program tab and starts programming his task. At the point where he wants to fetch an object he looks for an appropriate program node and finds the “Gripper” node. He inserts the gripper node in the same manner as any other program node. The command tab (for program node parametrization) shows the available parameters that can be tuned in a visually appealing manner. After the end-user specified the gripper opening distance and closing distance, the gripper node is parameterized. To test the gripper parameters, the command tab offers a “Joggle” button which will open and close the gripper, without running the entire program. Before any program can be run, each program node will need to generate a code that executes the specified actions. Information stored in the installation, e.g. the maximum closing force, can be employed here as well. For the gripper node, the developer has taken care of the script generation (using the framework of the present invention). On pressing the play button in the control device, the program will be converted into the script of the robot and the robot will start performing the programmed task.
The framework of the present invention enables:
Number | Date | Country | Kind |
---|---|---|---|
PA 2015 70451 | Jul 2015 | DK | national |
This application is a continuation of U.S. patent application Ser. No. 15/738,315 which was filed on Dec. 20, 2017, U.S. patent application Ser. No. 15/738,315 being a U.S. national stage entry of International Application No. PCT/DK2016/050240 which was filed on Jul. 7, 2016, International Application No. PCT/DK2016/050240 claiming priority to DK Application No. PA201570451 which was filed on Jul. 8, 2015. U.S. patent application Ser. No. 15/738,315, International Application No. PCT/DK2016/050240, and DK Application No. PA201570451 are incorporated by reference into this application.
Number | Name | Date | Kind |
---|---|---|---|
4166543 | Dahlstrom | Sep 1979 | A |
4398110 | Flinchbaugh et al. | Aug 1983 | A |
4678952 | Peterson et al. | Jul 1987 | A |
4744039 | Suzuki et al. | May 1988 | A |
4753569 | Pryor | Jun 1988 | A |
4817017 | Kato | Mar 1989 | A |
5103941 | Vranish | Apr 1992 | A |
5155423 | Karlen et al. | Oct 1992 | A |
5220261 | Kempas | Jun 1993 | A |
5293107 | Akeel | Mar 1994 | A |
5341289 | Lee | Aug 1994 | A |
5353386 | Kasagami et al. | Oct 1994 | A |
5495410 | Graf | Feb 1996 | A |
5880956 | Graf | Mar 1999 | A |
6040109 | Coppens et al. | Mar 2000 | A |
6041274 | Onishi et al. | Mar 2000 | A |
6070109 | McGee et al. | May 2000 | A |
6131296 | Fager | Oct 2000 | A |
6292715 | Rongo | Sep 2001 | B1 |
6408224 | Okamoto et al. | Jun 2002 | B1 |
6519860 | Bieg et al. | Feb 2003 | B1 |
6535794 | Raab | Mar 2003 | B1 |
6704619 | Coleman et al. | Mar 2004 | B1 |
6822412 | Gan et al. | Nov 2004 | B1 |
6837892 | Shoham | Jan 2005 | B2 |
6847922 | Wampler, II | Jan 2005 | B1 |
6856863 | Sundar | Feb 2005 | B1 |
6922610 | Okamoto et al. | Jul 2005 | B2 |
6944584 | Tenney | Sep 2005 | B1 |
6996456 | Cordell et al. | Feb 2006 | B2 |
7248012 | Takahashi et al. | Jul 2007 | B2 |
7272524 | Brogardh | Sep 2007 | B2 |
7278222 | Maier et al. | Oct 2007 | B2 |
7298385 | Kazi et al. | Nov 2007 | B2 |
7300240 | Brogardh | Nov 2007 | B2 |
7571025 | Bischoff | Aug 2009 | B2 |
7643907 | Fuhlbrigge et al. | Jan 2010 | B2 |
7756608 | Brogardh | Jul 2010 | B2 |
7917863 | Chandhoke et al. | Mar 2011 | B2 |
8002716 | Jacobsen et al. | Aug 2011 | B2 |
8050797 | Lapham | Nov 2011 | B2 |
8160205 | Saracen et al. | Apr 2012 | B2 |
8255462 | Kondo | Aug 2012 | B2 |
8301421 | Bacon | Oct 2012 | B2 |
8307061 | Hickman | Nov 2012 | B1 |
8340820 | Nair | Dec 2012 | B2 |
8410732 | Kassow et al. | Apr 2013 | B2 |
8457786 | Andersson | Jun 2013 | B2 |
8571706 | Zhang et al. | Oct 2013 | B2 |
8571711 | Jacobsen | Oct 2013 | B2 |
8614559 | Kassow et al. | Dec 2013 | B2 |
8756973 | Wallace et al. | Jun 2014 | B2 |
8774965 | Weiss et al. | Jul 2014 | B2 |
8779715 | Kassow et al. | Jul 2014 | B2 |
8812155 | Brethe | Aug 2014 | B2 |
9248573 | SøE-knudsen et al. | Feb 2016 | B2 |
9833897 | SøE-knudsen et al. | Dec 2017 | B2 |
10399232 | Oestergaard et al. | Sep 2019 | B2 |
D895704 | Johansen | Sep 2020 | S |
D895705 | Johansen | Sep 2020 | S |
D895706 | Johansen | Sep 2020 | S |
D898090 | Johansen | Oct 2020 | S |
10850393 | Oestergaard et al. | Dec 2020 | B2 |
D915487 | Sell | Apr 2021 | S |
D924228 | Mirth | Jul 2021 | S |
D932485 | Mirth | Oct 2021 | S |
D932486 | Mirth | Oct 2021 | S |
D932487 | Mirth | Oct 2021 | S |
20020013675 | Knoll et al. | Jan 2002 | A1 |
20020191023 | Chandhoke | Dec 2002 | A1 |
20030120391 | Saito | Jun 2003 | A1 |
20040078114 | Cordell et al. | Apr 2004 | A1 |
20040172164 | Habibi et al. | Sep 2004 | A1 |
20040189631 | Kazi et al. | Sep 2004 | A1 |
20040212626 | Lyxzen et al. | Oct 2004 | A1 |
20050080515 | Watanabe et al. | Apr 2005 | A1 |
20050267637 | Lapham | Dec 2005 | A1 |
20050273198 | Bischoff | Dec 2005 | A1 |
20060069466 | Kato et al. | Mar 2006 | A1 |
20060125806 | Voyles et al. | Jun 2006 | A1 |
20060163939 | Kuramochi et al. | Jul 2006 | A1 |
20060178775 | Zhang et al. | Aug 2006 | A1 |
20060178778 | Fuhlbrigge et al. | Aug 2006 | A1 |
20070150102 | Park et al. | Jun 2007 | A1 |
20080004632 | Sutherland et al. | Jan 2008 | A1 |
20080140258 | Ueno et al. | Jun 2008 | A1 |
20080141220 | Kim et al. | Jun 2008 | A1 |
20080188983 | Ban et al. | Aug 2008 | A1 |
20080188986 | Hoppe | Aug 2008 | A1 |
20080319557 | Summers et al. | Dec 2008 | A1 |
20090076655 | Blondel et al. | Mar 2009 | A1 |
20090157226 | de Smet | Jun 2009 | A1 |
20090259337 | Harrold et al. | Oct 2009 | A1 |
20090269591 | Kasianova et al. | Oct 2009 | A1 |
20090289591 | Kassow et al. | Nov 2009 | A1 |
20100241270 | Eliuk et al. | Sep 2010 | A1 |
20110022216 | Andersson | Jan 2011 | A1 |
20120110489 | Huttelmaier | May 2012 | A1 |
20120210817 | Kassow et al. | Aug 2012 | A1 |
20130079928 | Søe-knudsen et al. | Mar 2013 | A1 |
20130231778 | Østergaard | Sep 2013 | A1 |
20130255426 | Kassow et al. | Oct 2013 | A1 |
20140277737 | Sekiyama | Sep 2014 | A1 |
20140277743 | Hart et al. | Sep 2014 | A1 |
20150217445 | Hietmann | Aug 2015 | A1 |
20150336268 | Payton | Nov 2015 | A1 |
20160052128 | Zimmermann | Feb 2016 | A1 |
20160136805 | Søe-knudsen et al. | May 2016 | A1 |
20160350101 | Gelfenbeyn et al. | Dec 2016 | A1 |
20170057095 | Oestergaard et al. | Mar 2017 | A1 |
20180178380 | Oestergaard et al. | Jun 2018 | A1 |
20190086907 | Oestergaard et al. | Mar 2019 | A1 |
20200171658 | Kielsholm Thomsen | Jun 2020 | A1 |
20200034056 | Henrik | Oct 2020 | A1 |
20200039139 | Steffen | Dec 2020 | A1 |
20210039254 | Oestergaard et al. | Feb 2021 | A1 |
20210086374 | Brandt et al. | Mar 2021 | A1 |
20210237284 | Vraa et al. | Aug 2021 | A1 |
20210260757 | Nielsen et al. | Aug 2021 | A1 |
20210260759 | Knudsen et al. | Aug 2021 | A1 |
Number | Date | Country |
---|---|---|
101043980 | Sep 2007 | CN |
101043980 | Sep 2007 | CN |
102681465 | Sep 2012 | CN |
103250109 | Aug 2013 | CN |
103250109 | Aug 2013 | CN |
103386685 | Nov 2013 | CN |
103600350 | Feb 2014 | CN |
104049573 | Sep 2014 | CN |
2735632 | Feb 1978 | DE |
19858154 | Jun 2000 | DE |
10048096 | Apr 2002 | DE |
10157174 | Jun 2003 | DE |
10239694 | Mar 2004 | DE |
102006061752 | Jul 2008 | DE |
102008027008 | Dec 2009 | DE |
1505464 | Feb 2005 | EP |
1696289 | Aug 2006 | EP |
1724676 | Nov 2006 | EP |
1842631 | Oct 2007 | EP |
1842631 | Oct 2007 | EP |
1947541 | Jul 2008 | EP |
2258521 | Dec 2010 | EP |
2345515 | Jul 2011 | EP |
2453325 | May 2012 | EP |
2641136 | Sep 2013 | EP |
3015932 | May 2016 | EP |
2548037 | Oct 2015 | ES |
H01-146645 | Jun 1989 | JP |
H02-250782 | Oct 1990 | JP |
H06-190753 | Jul 1994 | JP |
H10-254527 | Sep 1998 | JP |
2001-050741 | Feb 2001 | JP |
2001353678 | Dec 2001 | JP |
2002-120174 | Apr 2002 | JP |
2004-49731 | Feb 2004 | JP |
2004-148466 | May 2004 | JP |
2004-316722 | Nov 2004 | JP |
2005-148789 | Jun 2005 | JP |
2005-342885 | Dec 2005 | JP |
2013005425 | Aug 2013 | MX |
203125348 | Dec 2014 | RU |
9700454 | Jan 1997 | WO |
2004071717 | Aug 2004 | WO |
WO-2006043873 | Apr 2006 | WO |
2007099511 | Sep 2007 | WO |
WO-2008119383 | Oct 2008 | WO |
2009107358 | Sep 2009 | WO |
2010071384 | Jun 2010 | WO |
WO-2010071384 | Jun 2010 | WO |
2012066025 | May 2012 | WO |
WO-2010071384 | Feb 2013 | WO |
Entry |
---|
Second Office Action for Chinese Patent Application No. 201680040209.8. dated Feb. 19, 2021, with English Summary (7 Pages.). |
Office Action for Mexican Patent Application No. MX/a/2018/000008. dated Feb. 16, 2021, with English Summary (5 Pages.). |
Office Action for Japanese Patent Application No. 2017-567750, 8 pages (dated Aug. 25, 2020), with Foreign Associate Summary in English. |
First Office Action for Chinese Patent Application No. 201680040209.8, 9 pages (dated Jul. 2, 2020) (concise statement of relevance for this Office Action is provided in the transmittal submitted herewith). |
First Office Action for Chinese Patent Application No. 201680040209.8, 9 pages (dated Jul. 2, 2020). |
First Examination Report for 1608/KOLNP/2013, 6 pages (dated Mar. 26, 2019). |
Bennett, D. and Hollerbach, J., Autonomous Calibration of Single-Loop Closed Kinematic Chains Formed by Manipulators with Passive Endpoint Constraints, IEEE Transactions of Robotics and Automation, 7(5):597-606 (1991). |
Espacenet Patent Search; Family List EP2641136 downloaded Jun. 5, 2017 (2 pages). |
File History for CN201180054670 downloaded Jun. 5, 2017 (70 pages). |
File History for EP2453325 downloaded Jun. 5, 2017 (48 pages). |
File History for EP2641136 downloaded Jun. 5, 2017 (1116 pages) (counterpart to U.S. Appl. No. 13/885,233). |
File History for EP3015932 downloaded Jun. 5, 2017 (93 pages ). |
Flange.pdf (Merriam-Webster, Flange I Definition of flange by Merriam-Webster, Jun. 23, 2015, http://www.merriamwebster.com/dictionary/flange,pp. 1-4). |
Robot.pdf (Dictionary.com, Robot I Define Robot at Dictionary.com, Jun. 23, 2015, http://dictionary.reference.com/browse/robot?s=t, pp. 1-5). |
Summons in counterpart European case to attend oral proceedings pursuant to Rule 115(1) EPC for EP11784999.2-1802 / 2641136, 8 pages (Dec. 1, 2016). |
Communication pursuant to Article 94(3) EPC for EP15176362.0-1802, 4 pages (dated Jan. 5, 2017). |
Maier, C., Aufbau and Einsatz von Industrierobotern, Design and Use of Industrial Robots, Lecture Notes, 3rd Edition, Institute for Production Technology, 11 pages (1996). [English translation unavailable]. |
Opposition against EP 2641136 B1, 27 pages (dated Jul. 22, 2015). |
User Manual KR C2 / KR C3 Expert Programming, KUKA System Software (KSS) Release 5.2, Version 00: 183 pages (2003). |
International Search Report for PCT/EP2011/070228 dated Feb. 9, 2012. |
Written Opinion of the International Searching Authority for PCT/EP2011/070228 dated Feb. 9, 2012. |
International Preliminary Report on Patentability for PCT/EP2011/070228 dated Feb. 27, 2013. |
Extended Search Report for EP16820882.5, 8 pages (dated Feb. 4, 2019). |
International Search Report for PCT/DK2016/050240 (Method for Extending End User Programming of an Industrial Robot With Third Party Contributions, filed Jul. 7, 2016), issued by ISA/DK, 7 pages (dated Dec. 1, 2017). |
Written Opinion for PCT/DK2016/050240 (Method for Extending End User Programming of an Industrial Robot With Third Party Contributions, filed Jul. 7, 2016), issued by ISA/DK, 10 pages (dated Dec. 1, 2017). |
Communication pursuant to Article 94(3) EPC for European Patent Application No. 16820882.5, dated Jul. 27, 2021, (5 Pages). |
Third Office Action for Chinese Patent Application No. 201680040209.8. dated Jul. 22, 2021, with English Summary (7 Pages.). |
Examiner Requisition for Canadian Patent Application No. 2,991,244, dated Oct. 27, 2022, (4 Pages.). |
Notification of Grounds for Refusal for Korean Patent Application No. 10-2018-7003466, dated Dec. 9, 2022, with English Translation, (10 Pages). |
Communication pursuant to Article94(3) EPC in Application No. 16820882.5 dated Aug. 10, 2023, 6 pages. |
Number | Date | Country | |
---|---|---|---|
20210039254 A1 | Feb 2021 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15738315 | US | |
Child | 17080213 | US |