EP1824647A1 - A system and a method for programming an in¢ dustrial robot - Google Patents

A system and a method for programming an in¢ dustrial robot

Info

Publication number
EP1824647A1
EP1824647A1 EP05792457A EP05792457A EP1824647A1 EP 1824647 A1 EP1824647 A1 EP 1824647A1 EP 05792457 A EP05792457 A EP 05792457A EP 05792457 A EP05792457 A EP 05792457A EP 1824647 A1 EP1824647 A1 EP 1824647A1
Authority
EP
European Patent Office
Prior art keywords
robot
workstations
graphical
predefined
workstation
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.)
Withdrawn
Application number
EP05792457A
Other languages
German (de)
French (fr)
Inventor
Anna Liberg
Johan Renback
Mattias Falk
Görgen Johansson
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.)
ABB Research Ltd Switzerland
ABB Research Ltd Sweden
Original Assignee
ABB Research Ltd Switzerland
ABB Research Ltd Sweden
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from SE0402533A external-priority patent/SE0402533D0/en
Application filed by ABB Research Ltd Switzerland, ABB Research Ltd Sweden filed Critical ABB Research Ltd Switzerland
Publication of EP1824647A1 publication Critical patent/EP1824647A1/en
Withdrawn 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39446Display of manipulator and workpiece and jog directions
    • 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/40099Graphical user interface for robotics, visual robot user interface
    • 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/40308Machine, conveyor model in library contains coop robot path
    • 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/40382Limit allowable area where robot can be teached
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to a system and a method for pro ⁇ gramming an industrial robot.
  • a common application for Industrial robots involves picking ob- jects from a first workstation, moving the objects to a second workstation and placing them there.
  • the first work- station may include an injection-moulding machine
  • the sec ⁇ ond workstation may include a conveyer.
  • Such robot applica ⁇ tions are denoted "pick and place”.
  • the first work ⁇ station may include an injection-moulding machine
  • the sec- ond workstation may include a conveyer.
  • the robot is used for pulling out a moulded object from the injection- moulding machine, moving it to the conveyer and placing the object on the conveyer.
  • a robot is programmed to perform a work cycle in accordance with the application served by the robot. Sometimes it is neces ⁇ sary to synchronize the movements of the robot with the move ⁇ ments of other moving parts at the workstation, for example to synchronize the robot movement with a moulding cycle including opening of the mould. The large number and complexity of the movements makes it difficult to program the robot. In applica ⁇ tions producing small series of objects, the robot cycle has to be adjusted when a new object is to be produced. Adjusting the ro ⁇ bot cycle means that the robot has to be reprogrammed.
  • a human operator teaches the path to be followed by the robot by manually jogging the robot to desired positions along the path using a movable programming unit, a so-called teach pendant.
  • This teaching method does not provide any support for accurate placing and synchronization of the movements of the robot and of the mould.
  • the means of interaction with the operator comprises a touch screen with automatic reconfigu- ration according to choices made by the operator
  • the control cycle storage means comprise permanent storage means capa ⁇ ble of saving a control program created by successive choices made by the operator
  • the successive application determination means comprise means of determining geographic movements
  • the geographic movement determination means comprise means of determining movement limits or end stops and means of determining geometric positions for programming the move ⁇ ments.
  • the application discloses a graphical user interface for a robot, which guides the operator through the programming by presenting choices to the operator and asking questions to the operator. The robot program is then generated based on the an ⁇ swers and choices made by the operator.
  • control device disclosed in the above mentioned patent ap ⁇ plication is suitable for programming a simple "pick and place” application by means of a linear robot movable along three or ⁇ thogonal axes.
  • ap ⁇ plication is suitable for programming a simple "pick and place” application by means of a linear robot movable along three or ⁇ thogonal axes.
  • the object of the present invention is to provide an attractive solution, which alleviates the problems mentioned above, and thus makes it possible for an operator, without any knowledge about robot programming languages, to program an industrial robot to perform a complicated application involving a plurality of different workstations.
  • this object is achieved by a system comprising the characterizing features of claim 1.
  • this object is achieved by a method comprising the characterizing features of claim 15.
  • the object is achieved by a computer program directly loadable into the inter ⁇ nal 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.
  • the object is achieved by a computer readable medium having a program re ⁇ corded thereon, when the program is to make a computer per ⁇ form the steps of the method according to the invention, and said program is run on the computer.
  • Robots are usually placed in robot cells or lines, in order to fa ⁇ cilitate the automation of a complex series of actions.
  • the robot cell may comprise a number of different workstations, and the robot can be programmed to perform different tasks at the dif ⁇ ferent workstations. The robot is then programmed to perform the tasks in a defined consecutive order.
  • 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 rep ⁇ resentation 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 de ⁇ signed for controlling the robot so that it carries out the defined task at the workstation.
  • workstations are: an injec ⁇ tion mould 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 moulded object from the mould, throw the ob- ject 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 in ⁇ stance flaming, deburring, degating, dispensing, polishing, grinding or painting.
  • a graphical in ⁇ terface is defined as a view, or a part of a view, adapted for in- teraction 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 re ⁇ ceive commands, data and selections entered by the user.
  • a robot program is generated based on the stored, predefined workstations including predefined ro ⁇ bot 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 pro- gramming code is hidden from the user, and the user creates a robot program by interacting with one or more graphical inter ⁇ faces.
  • the in ⁇ vention offers an easy and pedagogical way to program a robot, and does not require any knowledge about robot languages. It is easy for the user to reprogram the robot in connection with adding and removing a 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 in ⁇ vention is useful for programming industrial manipulators or ro ⁇ bots for any application including visiting and performing work one or more workstations.
  • the invention is particularly useful for programming robots in connection with handling moulded parts from moulding machines, for example in connection with injec ⁇ tion moulding, dye casting, as well as machine tending and ma ⁇ terial handling in general.
  • said predefined workstations includes default data for the workstation.
  • the default data includes default input and output signals for the workstation.
  • Predefined default data helps the user with generally valid settings.
  • said default data includes one or more predefined movement paths to be followed by the robot when performing work at the workstation.
  • the predefined workstations includes prede ⁇ fined movement path for carrying out the task. This indeed helps the user, who does not need to bother about programming com ⁇ plicated movements at the workstations.
  • the path that the robot shall follow during the task is defined by a sequence of waypoints.
  • said default data includes default positions in a default order for the robot to visit on one or more movement paths to be followed by the robot when performing work at the workstation and said default waypoints are displayed graphically to the user on the graphical interface.
  • said graphical generator is adapted to generate one or more graphical user interfaces for entering configuration data for the robot at the selected workstations
  • said user input receiving means is adapted for receiving and storing configuration data for the se ⁇ lected workstations
  • said robot program generator is adapted to generate said robot program based on said received configu ⁇ ration data.
  • said configuration data includes positions of waypoints on a movement path to be followed by the robot when performing work at the workstation.
  • the user it is possible for the user to define the positions of the waypoint on the path. If a default movement path is defined for a workstation, this embodiment makes it possible to assign posi ⁇ tions to the predefined waypoints on the movement path.
  • the graphical user interfaces for entering configuration data are adapted to display the default data and the system comprises means allowing the user to edit the default data and the robot program generator is adapted to generate the robot program based on edited default data.
  • the robot program generator is adapted to generate the robot program based on edited default data.
  • the graphical in ⁇ terfaces for entering configuration data comprises input means adapted for entering said waypoint positions by writing coordi ⁇ nates representing the desired positions, and means for entering said waypoint positions by guiding the robot through the various waypoints along the desired path, thereby enabling the operator to choose between at least two ways to enter the path positions.
  • the positions of the waypoints can either be taught by manually jogging the robot to the desired positions or through input of coordinates for the position.
  • the path is predefined as a default path, including position name and order in path layout, speed data, type of movement, connected signals etc., the user has to set the actual physical location of the way- points in relation to the robot.
  • said graphical dis- play device is a teach pendant unit for teaching and manually operating the robot.
  • the invention is also useful for off ⁇ line programming of the robot and then the display unit for ex ⁇ ample is a screen connected to a computer.
  • said graphical generator is adapted for generating a graphical user interface including graphical information about the status of the selected workstations during operation on said display device. Both pro ⁇ gramming and operating of the robot program is performed by graphical interfaces. Graphical information refers to symbols, color code or a combination thereof. This embodiment makes it easy for the operator to supervise the status of the workstations, and thus enables easy operation of the robot.
  • said graphical information includes graphical information about whether the works station is in operation or not, and information about whether the works station is func ⁇ tioning or not.
  • graphical in ⁇ terfaces displaying graphical information about the status of I/O- signals of the workstation during operation are generated.
  • said graphical generator is adapted for displaying said information about the predefined workstations as graphical objects including graphical information about the workstations, and each graphical object represents one of the workstations.
  • the graphical information makes it easy and quick for the user to interpret displayed in ⁇ formation and to get an overview of the robot cell and its status.
  • the invention is particularly useful for handling moulded parts in connection with injection moulding and dye casting.
  • Fig. 1 shows a system for programming an industrial robot ac ⁇ cording to an embodiment of the invention.
  • Fig. 2 shows a flow diagram over a method for programming an industrial robot according to an embodiment of the in ⁇ vention.
  • Fig. 3 shows an example of a graphical user interface for en- tering program details.
  • Fig. 4 shows an example of a graphical user interface for global settings.
  • Fig. 5 shows an example of a graphical user interface for se ⁇ lecting workstations.
  • Fig. 6 shows an example of a graphical user interface for en ⁇ tering basic configuration data for the workstation.
  • Fig. 7 shows an example of a graphical user interface for en ⁇ tering advances configuration data for the workstation.
  • Fig. 8 shows an example of a graphical user interface for en- tering a cycle sequence.
  • Fig. 9 shows an example of a graphical user interface including graphical information about the status and mode of the workstations during operation.
  • Fig. 10 shows an example of a graphical user interface including graphical information about the status of l/O-signals of the workstation during operation.
  • 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.
  • Figure 1 shows a system for programming an industrial robot to perform a work cycle in ⁇ cluding visiting a plurality of work stations, according to an em ⁇ bodiment of the invention.
  • the system comprises a teach pen- dant unit 1 including a graphical display device 2 and user input means 3, including a plurality of touch buttons.
  • the graphical display device is for example a touch screen, which makes it possible for the user to interact with the system via the screen.
  • the graphical display and input means could be a display screen, a key board, and a pointing device, for instance a mouse, of an ordinary computer, such as a personal computer.
  • the system further comprises memory means including a mem- ory location for storing a library including a set of predefined workstations.
  • Each workstation in the library includes prepro ⁇ grammed robot code and default data for the workstation.
  • Each predefined workstation represents a task that the robot shall carry out at a physical workstation.
  • Each of the predefined workstations comprises preprogrammed robot code for the robot to perform the predefined task.
  • the default data includes one or more default movement path to be followed by the robot when performing the predefined task at the workstation.
  • the default movement path includes data for speed, type of movement and robot tool to be used.
  • the default data may also include default input and output signals for the workstation.
  • the system comprises a graphical generator 7 adapted for gen ⁇ erating a plurality of graphical user interfaces to be displayed on the display device 2.
  • the graphical representation is built in three layers; 1 ) a robot cell comprising several workstations, 2) a workstation comprising one or more robot paths and 3) a robot path comprising several positions.
  • the graphical user interfaces are adapted for displaying information about the predefined workstations included in the library and allowing a user to choose between the predefined workstations, and to specify the order in which the robot shall visit the selected workstations.
  • any commercially available program for producing graphics can be used.
  • the system further comprises user input receiving means 9 adapted for receiving and storing information entered via the in ⁇ put means by the user.
  • the system also comprises a robot pro ⁇ gram generator 8 adapted for generating a robot program for performing the work cycle based on the stored information about the workstation, including the preprogrammed robot code, the workstations selected by the user, and the order for which the robot shall assist the workstation specified by the user.
  • the system according to the invention comprises software mod- ules including software instructions, and hardware for carrying out the instructions of the software.
  • the teach pendant unit 1 as well as the control system of the robot, comprises one or more processors and other hardware necessary for the imple ⁇ mentation for the invention.
  • the system is partly implemented on the teach pendant unit and partly implemented in the control system of the robot.
  • the parts of the system dealing with the graphical interfaces are located in the teach pendant unit and the parts dealing with the robot program generation are imple- mented in the control system of the robot.
  • the ro ⁇ bot program generator and the memory location for the prede- fined default data and the preprogrammed robot code are im ⁇ plemented in the control system, and the graphical generator and memory location for storing the information about the con ⁇ figuration of the graphical user interfaces are implemented in the teach pendant unit.
  • FIG. 2 is a flow diagram illustrating a method and a computer program according to an embodiment of the present invention. It would be understood that each block of the flow diagram can be implemented by computer program instructions, which are exe ⁇ cuted either by a central processing unit located in the teach pendant unit or on a central processing unit located in the con ⁇ trol system of the robot.
  • the creation of a robot program in ⁇ cludes building up a robot cell as the operator perceives it in real life i.e. in three layers: a cell comprising several work sta ⁇ tions, a work station comprising one or more robot paths, and a path comprising several positions.
  • the graphical user interfaces can be displayed as a wizard that takes the user through the process of creating a robot program.
  • the first step of the wizard is to display a graphical interface adapted entering details about the program, block 10.
  • Figure 3 shows an example of a graphical user interface 30 for entering program details.
  • the details to be entered by the user is for ex- ample the name of the program, the number of the correspond ⁇ ing gripper, the number of the corresponding tool, and a de ⁇ scription of the program.
  • the entered data makes it easy to identify the program at a later stage.
  • the next step is to carry out global settings for the work cycle, block 12.
  • global settings are specification of avail ⁇ able work object co-ordinate system, specification of available tools, and global safety zones, i.e. allowed work zone for the ro ⁇ bot.
  • the wizard displays a graphical user interface for entering global settings.
  • An example of a graphical user interface 31 for entering global settings is displayed in figure 4.
  • the wizard may include more than one interface for entering the global settings.
  • the graphical interfaces provide graphical visualization to help the user to set the safety zones, define robot tools and robot work object.
  • FIG. 5 shows an example of a graphical user interface 32 for selecting workstations.
  • the in ⁇ terface provides a visualization of the workstations available for selection and a visualization of the selected workstations.
  • IMM Injection Moulding Ma- chine
  • Home position comprises a single position for the robot and all I/O functions are a reset.
  • IMM includes optional paths for insert a part and for take out a part.
  • the user selects a workstation by clicking on the worksta- tion and places it in one of the boxes 41 displayed on the left hand of the interface 32.
  • the interface 32 also provides a possi ⁇ bility to rename the selected workstations.
  • configuration data for the station has to be entered, block 16.
  • the configuration data are of two types, basic settings and advanced settings. An ex ⁇ ample of a user interface 33 for entering basic settings is dis ⁇ closed in figure 6.
  • the basic settings are for example entering of position data and speed for waypoints on a movement path.
  • default data for the configuration is displayed to the user. The user can then choose either to accept the default data or edit the default data.
  • one or more predefined movement paths are displayed for each workstation.
  • the predefined movement path includes a plurality of default waypoints, the order in which the robot has to visit the default waypoints, and the path between the default waypoints, implicitly defined by the waypoints.
  • a predefined movement path 44 comprising eight default waypoints, is shown to the user, but it could be an un-limited number of waypoints.
  • the numbering of the waypoints illustrates the order which the robot shall visit the waypoints.
  • the waypoints and the order which he robot shall visit them are predefined but the user specifies the geometric position of each waypoint.
  • the user is provided with two possibilities to enter the positions on the waypoints. Either the user can input desired values of the coordinates numerically for the waypoints via the interface, or the user can enter the positions of the waypoints by manually jogging the robot to the desired positions of the way- points.
  • the interface 33 shows means 44 for entering values for posi- tions coordinates x y z for the waypoints 1 - 8, and means, in the form of a teach button 45, for instead selecting to enter the positions by jogging the robot.
  • a teach button 45 for instead selecting to enter the positions by jogging the robot.
  • Another graphical user interface (not shown) is displayed which provides help to the user for teaching the robot the de- sired position.
  • This user interface for example displays settings of the step length, and jogging directions that correspond to the actual movements of the robot.
  • the wizard takes the user through one workstation at a time and a movement path for each workstation is defined.
  • the wizard displays a user interface for advanced settings of the worksta ⁇ tion.
  • Figure 7 discloses an example of a graphical interface 34 for advances settings of a workstation.
  • Advanced settings in- eludes for example selection of work object, selection of tool, selection of zone values, selection between several options for how the robot shall perform the movement, and selection of coupled functions, such as close or open a gripper.
  • the ad ⁇ vanced settings also includes coupling of I/O signals to way- points.
  • Figure 8 shows a graphical user interface 35 for defining the sequence of the work cycle.
  • the graphical user interface 35 provides an aid to the user to define the paths between the workstations.
  • the interface 35 provides means for inserting waypoints between the workstations and to define positions for the inserted way points.
  • a robot pro ⁇ gram is generated based on configuration data and stored in ⁇ formation about the predefined workstations, such as the pre ⁇ programmed robot code and default values, block 22.
  • the wizard provides a graphical user interface (not shown) allowing the user to test run the generated robot program, block 24.
  • the system and method according to the invention provides a tool for creating robot programs which is simple to use.
  • a robot program has been created.
  • the robot program can either be created from scratch or created by editing existing robot programs.
  • the invention is for instance useful in the injection moulding in ⁇ dustry, and then the predefined workstations are the most com ⁇ monly found workstations in connection with injection moulding.
  • the predefined workstations are preconfigured with a suitable path with coupled I/O functions and safety zones.
  • the waypoints are provided with intuitive names. The user will only have to fill in geometric position parameters such as waypoint position co- ordinates, safety zone coordinates, speed, tool and work object, and does not have to think about the path design. It is possible to add, delete and rename positions in the path and save a pre ⁇ defined station under a new name.
  • the predefined stations will be described by intuitive symbols on the user interfaces.
  • the system also comprises means for displaying information to the user during operation of the robot.
  • Figure 9 shows an exam ⁇ ple of a graphical user interface 36 showing information of a ro- bot cell including a plurality of workstations 50 - 54.
  • Workstation 51 is a home station for the robot.
  • the graphical user interface 36 includes graphical information about the status of the work ⁇ stations 50 - 54 during operation of the robot. For example the interface includes information about whether a workstation is in operation or not, and whether a workstation is functioning or not.
  • Each workstation is displayed as a graphical object with differ ⁇ ent appearance, thus making it easy for the user to identify the different workstations.
  • the workstation 50 is not functioning, and this information is shown as a symbol in connection to the graphical object representing the workstation.
  • Whether or not a workstation is in operation is displayed by the color of a frame surrounding the symbol representing the work- station. For example if the frame is green, the workstation is in operation and if the frame is red the workstation is not in opera ⁇ tion. Thanks to the graphical information and the symbols repre ⁇ senting the workstations it is quick and easy for an operator to get an overview of the status and mode of the workstations and to notice if something is wrong with any of the workstations.
  • the system also proves a graphical user interface for each of the workstations, which displays information about the status of the I/O signals of the workstation during operation.
  • Figure 10 shows an example of a graphical user interface 37 displaying information about the status of I/O signals of a workstation dur- ing operation.
  • the I/O signals are listed by names, and in con ⁇ nection to each I/O signal a symbol is presented disclosing in ⁇ formation about the value of the I/O signal. This information could also be color-coded.
  • Such graphical interfaces make it easy for the operator to supervise the I/O signals of the work ⁇ station.
  • the graphical representation is built in three layers; 1 ) a cell comprising several stations, 2) a station comprising several ro- bot paths and 3) a path comprising several waypoints.
  • a graphical user interface which enables the user to choose which of the robot cycles, which he has created, to run through such as quality check, warm-up cycle.
  • graphical user interfaces that enable the user to choose default cycles, such as home run and stop after finished robot cycle, or in which default mode to run the robot, such as limited speed and number of cycles, and simulating robot program by running the program without executing robot movement.

Abstract

A system and method for programming an industrial robot to perform a work cycle including visiting and performing work on one or more workstations, the system including a graphical dis¬ play device (2) and user input means (3) for entering data and commands to the system, a memory location (5) for storing a set of predefined workstations comprising preprogrammed robot code, a graphical generator (7), generating one or more graphi- cal user interfaces on said display device, displaying information about the predefined workstations and allowing a user to select one or more of the predefined workstations and to specify the order in which the robot shall visit the selected workstations, user input receiving means (9), receiving and storing information about selected workstations and the order in which the robot shall visit the workstations, and a robot program generator (8), generating a robot program for performing the work cycle based on said predefined workstations and said received and stored information about selected workstations and the order in which the robot shall visit the workstations.

Description

Reference: 400376PCT/AMR Applicant: ABB AB
A SYSTEM AND A METHOD FOR PROGRAMMING AN IN¬ DUSTRIAL ROBOT
FIELD OF THE INVENTION
The present invention relates to a system and a method for pro¬ gramming an industrial robot.
PRIOR ART
Before an industrial robot is to be put in operation for a certain task, it must be programmed to carry out the task. The person controlling a robot is denoted an operator. In the following the words user and operator are used synonymously. When pro¬ gramming an industrial robot, a robot language is used. There exist a plurality of different robot languages, since each robot supplier has developed its own robot language. A robot program comprises a series of robot instruction written in the robot lan¬ guage. The use of a programming language offers the advan¬ tage of great flexibility, but also requires that the operator, who is programming the robot, must have knowledge about robot programming and in particular about the robot language of dif¬ ferent robots. This necessitates an intensive and expensive training of the operator. However, in the industry it is not always possible to have operators with knowledge about robot pro- gramming. Thus, it is a desire to make it possible for operators without any knowledge about programming language to program the robot in a simple and intuitive way.
A common application for Industrial robots involves picking ob- jects from a first workstation, moving the objects to a second workstation and placing them there. For example the first work- station may include an injection-moulding machine, and the sec¬ ond workstation may include a conveyer. Such robot applica¬ tions are denoted "pick and place". For example the first work¬ station may include an injection-moulding machine, and the sec- ond workstation may include a conveyer. In this application the robot is used for pulling out a moulded object from the injection- moulding machine, moving it to the conveyer and placing the object on the conveyer.
A robot is programmed to perform a work cycle in accordance with the application served by the robot. Sometimes it is neces¬ sary to synchronize the movements of the robot with the move¬ ments of other moving parts at the workstation, for example to synchronize the robot movement with a moulding cycle including opening of the mould. The large number and complexity of the movements makes it difficult to program the robot. In applica¬ tions producing small series of objects, the robot cycle has to be adjusted when a new object is to be produced. Adjusting the ro¬ bot cycle means that the robot has to be reprogrammed.
Generally, during programming a human operator teaches the path to be followed by the robot by manually jogging the robot to desired positions along the path using a movable programming unit, a so-called teach pendant. This teaching method does not provide any support for accurate placing and synchronization of the movements of the robot and of the mould.
A solution to the problem with regarding the use of a complex programming language requiring in-depth training is proposed in the French patent application FR 2 840 420. The document discloses a control device for an industrial robot, comprising a means of interaction with an operator and means of storing the control cycles, wherein the device comprises successive appli¬ cation determination means, arranged to present to the operator successively compatible choices. The means of interaction with the operator comprises a touch screen with automatic reconfigu- ration according to choices made by the operator, the control cycle storage means comprise permanent storage means capa¬ ble of saving a control program created by successive choices made by the operator, the successive application determination means comprise means of determining geographic movements, and the geographic movement determination means comprise means of determining movement limits or end stops and means of determining geometric positions for programming the move¬ ments. The application discloses a graphical user interface for a robot, which guides the operator through the programming by presenting choices to the operator and asking questions to the operator. The robot program is then generated based on the an¬ swers and choices made by the operator.
The control device disclosed in the above mentioned patent ap¬ plication is suitable for programming a simple "pick and place" application by means of a linear robot movable along three or¬ thogonal axes. However, there is a need for a more flexible so¬ lution to the above problem.
OBJECTS AND SUMMARY OF THE INVENTION
The object of the present invention is to provide an attractive solution, which alleviates the problems mentioned above, and thus makes it possible for an operator, without any knowledge about robot programming languages, to program an industrial robot to perform a complicated application involving a plurality of different workstations.
According to one aspect of the invention this object is achieved by a system comprising the characterizing features of claim 1.
According to another aspect of the invention this object is achieved by a method comprising the characterizing features of claim 15. According to a further aspect of the invention, the object is achieved by a computer program directly loadable into the inter¬ nal 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 re¬ corded thereon, when the program is to make a computer per¬ form the steps of the method according to the invention, and said program is run on the computer.
Robots are usually placed in robot cells or lines, in order to fa¬ cilitate the automation of a complex series of actions. The robot cell may comprise a number of different workstations, and the robot can be programmed to perform different tasks at the dif¬ ferent workstations. The robot is then programmed to perform the tasks in a defined consecutive order.
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 rep¬ resentation 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 de¬ signed for controlling the robot so that it carries out the defined task at the workstation. Examples of workstations are: an injec¬ tion mould 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 moulded object from the mould, throw the ob- ject 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 in¬ stance 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 in¬ terface is defined as a view, or a part of a view, adapted for in- teraction 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 re¬ ceive commands, data and selections entered by the user.
According to the invention a robot program is generated based on the stored, predefined workstations including predefined ro¬ bot 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 pro- gramming code is hidden from the user, and the user creates a robot program by interacting with one or more graphical inter¬ faces. Thus, the invention makes it possible for a user to create a robot program without using any programming code. The in¬ vention offers an easy and pedagogical way to program a robot, and does not require any knowledge about robot languages. It is easy for the user to reprogram the robot in connection with adding and removing a 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 in¬ vention is useful for programming industrial manipulators or ro¬ bots for any application including visiting and performing work one or more workstations. The invention is particularly useful for programming robots in connection with handling moulded parts from moulding machines, for example in connection with injec¬ tion moulding, dye casting, as well as machine tending and ma¬ terial handling in general.
According to an embodiment of the invention said predefined workstations includes default data for the workstation. For in¬ stance, it is advantageous if the default data includes default input and output signals for the workstation. Predefined default data helps the user with generally valid settings.
According to an embodiment of the invention said default data includes one or more predefined movement paths to be followed by the robot when performing work at the workstation. According to this embodiment the predefined workstations includes prede¬ fined movement path for carrying out the task. This indeed helps the user, who does not need to bother about programming com¬ plicated movements at the workstations.
The path that the robot shall follow during the task is defined by a sequence of waypoints. According to an embodiment of the invention said default data includes default positions in a default order for the robot to visit on one or more movement paths to be followed by the robot when performing work at the workstation and said default waypoints are displayed graphically to the user on the graphical interface.
According to an embodiment of the invention said graphical generator is adapted to generate one or more graphical user interfaces for entering configuration data for the robot at the selected workstations, said user input receiving means is adapted for receiving and storing configuration data for the se¬ lected workstations and said robot program generator is adapted to generate said robot program based on said received configu¬ ration data. Thus, it is possible for the user to enter configura- tion data for the robot, based on which the robot program will be created. This embodiment achieves a system that with graphical support helps the user define safety zones, robot tool, and robot and work object co-ordinate systems.
According to an embodiment of the invention said configuration data includes positions of waypoints on a movement path to be followed by the robot when performing work at the workstation. Thus, it is possible for the user to define the positions of the waypoint on the path. If a default movement path is defined for a workstation, this embodiment makes it possible to assign posi¬ tions to the predefined waypoints on the movement path.
According to an embodiment of the invention, the graphical user interfaces for entering configuration data are adapted to display the default data and the system comprises means allowing the user to edit the default data and the robot program generator is adapted to generate the robot program based on edited default data. Thus, it is possible for the user to edit the default data.
According to an embodiment of the invention, the graphical in¬ terfaces for entering configuration data, comprises input means adapted for entering said waypoint positions by writing coordi¬ nates representing the desired positions, and means for entering said waypoint positions by guiding the robot through the various waypoints along the desired path, thereby enabling the operator to choose between at least two ways to enter the path positions. Thus, the positions of the waypoints can either be taught by manually jogging the robot to the desired positions or through input of coordinates for the position. Even though the path is predefined as a default path, including position name and order in path layout, speed data, type of movement, connected signals etc., the user has to set the actual physical location of the way- points in relation to the robot.
According to an embodiment of the invention said graphical dis- play device is a teach pendant unit for teaching and manually operating the robot. However, the invention is also useful for off¬ line programming of the robot and then the display unit for ex¬ ample is a screen connected to a computer.
According to an embodiment of the invention said graphical generator is adapted for generating a graphical user interface including graphical information about the status of the selected workstations during operation on said display device. Both pro¬ gramming and operating of the robot program is performed by graphical interfaces. Graphical information refers to symbols, color code or a combination thereof. This embodiment makes it easy for the operator to supervise the status of the workstations, and thus enables easy operation of the robot. In an embodiment of the invention, said graphical information includes graphical information about whether the works station is in operation or not, and information about whether the works station is func¬ tioning or not. In an embodiment of the invention graphical in¬ terfaces displaying graphical information about the status of I/O- signals of the workstation during operation are generated.
According to an embodiment of the invention said graphical generator is adapted for displaying said information about the predefined workstations as graphical objects including graphical information about the workstations, and each graphical object represents one of the workstations. The graphical information makes it easy and quick for the user to interpret displayed in¬ formation and to get an overview of the robot cell and its status.
The invention is particularly useful for handling moulded parts in connection with injection moulding and dye casting. BRIEF DESCRIPTION OF THE DRAWINGS
The invention will now be explained more closely by the de¬ scription of different embodiments of the invention and with ref- erence to the appended figures.
Fig. 1 shows a system for programming an industrial robot ac¬ cording to an embodiment of the invention.
Fig. 2 shows a flow diagram over a method for programming an industrial robot according to an embodiment of the in¬ vention.
Fig. 3 shows an example of a graphical user interface for en- tering program details.
Fig. 4 shows an example of a graphical user interface for global settings.
Fig. 5 shows an example of a graphical user interface for se¬ lecting workstations.
Fig. 6 shows an example of a graphical user interface for en¬ tering basic configuration data for the workstation.
Fig. 7 shows an example of a graphical user interface for en¬ tering advances configuration data for the workstation.
Fig. 8 shows an example of a graphical user interface for en- tering a cycle sequence.
Fig. 9 shows an example of a graphical user interface including graphical information about the status and mode of the workstations during operation. Fig. 10 shows an example of a graphical user interface including graphical information about the status of l/O-signals of the workstation during operation.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
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. Figure 1 shows a system for programming an industrial robot to perform a work cycle in¬ cluding visiting a plurality of work stations, according to an em¬ bodiment of the invention. The system comprises a teach pen- dant unit 1 including a graphical display device 2 and user input means 3, including a plurality of touch buttons. The graphical display device is for example a touch screen, which makes it possible for the user to interact with the system via the screen. However, in another embodiment the graphical display and input means could be a display screen, a key board, and a pointing device, for instance a mouse, of an ordinary computer, such as a personal computer.
The system further comprises memory means including a mem- ory location for storing a library including a set of predefined workstations. Each workstation in the library includes prepro¬ grammed robot code and default data for the workstation. Each predefined workstation represents a task that the robot shall carry out at a physical workstation. Each of the predefined workstations comprises preprogrammed robot code for the robot to perform the predefined task. The default data includes one or more default movement path to be followed by the robot when performing the predefined task at the workstation. For example the default movement path includes data for speed, type of movement and robot tool to be used. The default data may also include default input and output signals for the workstation. The system comprises a graphical generator 7 adapted for gen¬ erating a plurality of graphical user interfaces to be displayed on the display device 2. The graphical representation is built in three layers; 1 ) a robot cell comprising several workstations, 2) a workstation comprising one or more robot paths and 3) a robot path comprising several positions. The graphical user interfaces are adapted for displaying information about the predefined workstations included in the library and allowing a user to choose between the predefined workstations, and to specify the order in which the robot shall visit the selected workstations. For implementation of the graphical generator any commercially available program for producing graphics can be used.
The system further comprises user input receiving means 9 adapted for receiving and storing information entered via the in¬ put means by the user. The system also comprises a robot pro¬ gram generator 8 adapted for generating a robot program for performing the work cycle based on the stored information about the workstation, including the preprogrammed robot code, the workstations selected by the user, and the order for which the robot shall assist the workstation specified by the user.
The system according to the invention comprises software mod- ules including software instructions, and hardware for carrying out the instructions of the software. The teach pendant unit 1 , as well as the control system of the robot, comprises one or more processors and other hardware necessary for the imple¬ mentation for the invention. According to a preferred embodi- ment of the invention the system is partly implemented on the teach pendant unit and partly implemented in the control system of the robot. Preferably, the parts of the system dealing with the graphical interfaces are located in the teach pendant unit and the parts dealing with the robot program generation are imple- mented in the control system of the robot. For example, the ro¬ bot program generator and the memory location for the prede- fined default data and the preprogrammed robot code are im¬ plemented in the control system, and the graphical generator and memory location for storing the information about the con¬ figuration of the graphical user interfaces are implemented in the teach pendant unit.
Figure 2 is a flow diagram illustrating a method and a computer program according to an embodiment of the present invention. It would be understood that each block of the flow diagram can be implemented by computer program instructions, which are exe¬ cuted either by a central processing unit located in the teach pendant unit or on a central processing unit located in the con¬ trol system of the robot. The creation of a robot program in¬ cludes building up a robot cell as the operator perceives it in real life i.e. in three layers: a cell comprising several work sta¬ tions, a work station comprising one or more robot paths, and a path comprising several positions.
The graphical user interfaces can be displayed as a wizard that takes the user through the process of creating a robot program. The first step of the wizard is to display a graphical interface adapted entering details about the program, block 10. Figure 3 shows an example of a graphical user interface 30 for entering program details. The details to be entered by the user is for ex- ample the name of the program, the number of the correspond¬ ing gripper, the number of the corresponding tool, and a de¬ scription of the program. The entered data makes it easy to identify the program at a later stage.
The next step is to carry out global settings for the work cycle, block 12. Examples of global settings are specification of avail¬ able work object co-ordinate system, specification of available tools, and global safety zones, i.e. allowed work zone for the ro¬ bot. The wizard displays a graphical user interface for entering global settings. An example of a graphical user interface 31 for entering global settings is displayed in figure 4. The wizard may include more than one interface for entering the global settings. The graphical interfaces provide graphical visualization to help the user to set the safety zones, define robot tools and robot work object.
In a next step the user shall create a visual work cell represent¬ ing the real workcell, block 14. A graphical interface is displayed to the user, which allows the user to choose workstations from a set of optional workstations. Figure 5 shows an example of a graphical user interface 32 for selecting workstations. The in¬ terface provides a visualization of the workstations available for selection and a visualization of the selected workstations. In fig¬ ure 5 it is possible to select between eight different predefined workstations 40 including home position, Injection Moulding Ma- chine, in the following denotet IMM, inserts, conveyor, trash bin, post processing, and quality check. Home position comprises a single position for the robot and all I/O functions are a reset. IMM includes optional paths for insert a part and for take out a part. The user selects a workstation by clicking on the worksta- tion and places it in one of the boxes 41 displayed on the left hand of the interface 32. The interface 32 also provides a possi¬ bility to rename the selected workstations.
When a workstation has been selected, configuration data for the station has to be entered, block 16. The configuration data are of two types, basic settings and advanced settings. An ex¬ ample of a user interface 33 for entering basic settings is dis¬ closed in figure 6. The basic settings are for example entering of position data and speed for waypoints on a movement path. Ac- cording to an embodiment of the invention default data for the configuration is displayed to the user. The user can then choose either to accept the default data or edit the default data. As a help to the user, one or more predefined movement paths are displayed for each workstation. The predefined movement path includes a plurality of default waypoints, the order in which the robot has to visit the default waypoints, and the path between the default waypoints, implicitly defined by the waypoints.
The user must specify the position of the default waypoints rela- tive to the robot. In figure 6 a predefined movement path 44, comprising eight default waypoints, is shown to the user, but it could be an un-limited number of waypoints. The numbering of the waypoints illustrates the order which the robot shall visit the waypoints. The waypoints and the order which he robot shall visit them are predefined but the user specifies the geometric position of each waypoint. According to an embodiment of the invention the user is provided with two possibilities to enter the positions on the waypoints. Either the user can input desired values of the coordinates numerically for the waypoints via the interface, or the user can enter the positions of the waypoints by manually jogging the robot to the desired positions of the way- points.
The interface 33 shows means 44 for entering values for posi- tions coordinates x y z for the waypoints 1 - 8, and means, in the form of a teach button 45, for instead selecting to enter the positions by jogging the robot. When the user touches the teach button, another graphical user interface (not shown) is displayed which provides help to the user for teaching the robot the de- sired position. This user interface for example displays settings of the step length, and jogging directions that correspond to the actual movements of the robot. The wizard takes the user through one workstation at a time and a movement path for each workstation is defined.
When the basic settings are done for the workstation, the wizard displays a user interface for advanced settings of the worksta¬ tion. Figure 7 discloses an example of a graphical interface 34 for advances settings of a workstation. Advanced settings in- eludes for example selection of work object, selection of tool, selection of zone values, selection between several options for how the robot shall perform the movement, and selection of coupled functions, such as close or open a gripper. The ad¬ vanced settings also includes coupling of I/O signals to way- points.
When the user has configured each workstation he has to define a cycle sequence, i.e. the order in which the robot shall visit the selected workstations, block 20. Figure 8 shows a graphical user interface 35 for defining the sequence of the work cycle. The graphical user interface 35 provides an aid to the user to define the paths between the workstations. The interface 35 provides means for inserting waypoints between the workstations and to define positions for the inserted way points.
When all the selected workstations have been configurated, the cycle sequence specified, and the user is satisfied, a robot pro¬ gram is generated based on configuration data and stored in¬ formation about the predefined workstations, such as the pre¬ programmed robot code and default values, block 22. When the robot program has been generated the wizard provides a graphical user interface (not shown) allowing the user to test run the generated robot program, block 24.
The system and method according to the invention provides a tool for creating robot programs which is simple to use. When the user has gone through the wizard a robot program has been created. The robot program can either be created from scratch or created by editing existing robot programs.
The invention is for instance useful in the injection moulding in¬ dustry, and then the predefined workstations are the most com¬ monly found workstations in connection with injection moulding. The predefined workstations are preconfigured with a suitable path with coupled I/O functions and safety zones. The waypoints are provided with intuitive names. The user will only have to fill in geometric position parameters such as waypoint position co- ordinates, safety zone coordinates, speed, tool and work object, and does not have to think about the path design. It is possible to add, delete and rename positions in the path and save a pre¬ defined station under a new name. The predefined stations will be described by intuitive symbols on the user interfaces.
The system also comprises means for displaying information to the user during operation of the robot. Figure 9 shows an exam¬ ple of a graphical user interface 36 showing information of a ro- bot cell including a plurality of workstations 50 - 54. Workstation 51 is a home station for the robot. The graphical user interface 36 includes graphical information about the status of the work¬ stations 50 - 54 during operation of the robot. For example the interface includes information about whether a workstation is in operation or not, and whether a workstation is functioning or not. Each workstation is displayed as a graphical object with differ¬ ent appearance, thus making it easy for the user to identify the different workstations. In the example disclosed in figure 9, the workstation 50 is not functioning, and this information is shown as a symbol in connection to the graphical object representing the workstation.
Whether or not a workstation is in operation is displayed by the color of a frame surrounding the symbol representing the work- station. For example if the frame is green, the workstation is in operation and if the frame is red the workstation is not in opera¬ tion. Thanks to the graphical information and the symbols repre¬ senting the workstations it is quick and easy for an operator to get an overview of the status and mode of the workstations and to notice if something is wrong with any of the workstations.
The system also proves a graphical user interface for each of the workstations, which displays information about the status of the I/O signals of the workstation during operation. Figure 10 shows an example of a graphical user interface 37 displaying information about the status of I/O signals of a workstation dur- ing operation. The I/O signals are listed by names, and in con¬ nection to each I/O signal a symbol is presented disclosing in¬ formation about the value of the I/O signal. This information could also be color-coded. Such graphical interfaces make it easy for the operator to supervise the I/O signals of the work¬ station.
The graphical representation is built in three layers; 1 ) a cell comprising several stations, 2) a station comprising several ro- bot paths and 3) a path comprising several waypoints.
There is a graphical user interface, which enables the user to choose which of the robot cycles, which he has created, to run through such as quality check, warm-up cycle. There are also graphical user interfaces that enable the user to choose default cycles, such as home run and stop after finished robot cycle, or in which default mode to run the robot, such as limited speed and number of cycles, and simulating robot program by running the program without executing robot movement.
The present invention is not limited to the embodiments dis¬ closed but may be varied and modified within the scope of the following claims.

Claims

1. A system for programming an industrial robot to perform a work cycle including visiting and performing work on one or more workstations, the system including a graphical display de¬ vice (2) and user input means (3) for entering data and com¬ mands to the system, characterized in that the system com¬ prises:
- a memory location (5) for storing a set of predefined work- stations (40) comprising preprogrammed robot code,
- a graphical generator (7), generating one or more graphical user interfaces on said display device, displaying infor¬ mation about the predefined workstations and allowing a user to select one or more of the predefined worksta- tions and to specify the order in which the robot shall visit the selected workstations,
- user input receiving means (9), receiving and storing infor¬ mation about selected workstations and the order in which the robot shall visit the workstations, and - a robot program generator (8), generating a robot program for performing the work cycle based on said predefined workstations and said received and stored information about selected workstations and the order in which the robot shall visit the workstations.
2. A system according to claim 1 , characterized in that said predefined workstations includes default data for the worksta¬ tion.
3. A system according to claim 2, characterized in that said default data includes at least one predefined movement path to be followed by the robot when performing work at the worksta¬ tion, wherein the predefined movement path includes default waypoints in a default order for the robot to visit.
4. A system according to claim 2 or 3, characterized in that said default data includes default input and output signals for the workstation and/or default open and close a robot tool for the workstation.
5. A system according to any of the previous claims, character¬ ized in that said graphical generator is adapted to generate one or more graphical user interfaces for entering configuration data for the robot at the selected workstations, that said user input receiving means is adapted for receiving and storing configura¬ tion data for the selected workstations and that said robot pro¬ gram generator is adapted to generate said robot program based on said received configuration data.
6. A system according to claim 5, characterized in that said graphical generator is adapted to generate one graphical user interface for each predefined workstation, which graphical user interface is adapted for entering configuration data for the robot at the workstation.
7. A system according to claim 5 or 6, characterized in that said configuration data includes positions of waypoints on a move¬ ment path to be followed by the robot when performing work at the workstation
8. A system according to any of the claims 2 - 4 and any of the claims 5 - 7, characterized in that said graphical user interfaces, adapted for entering configuration data, are adapted to display said default data for the workstations and the system comprises means allowing the user to edit the default data and that said robot program generator is adapted to generate said robot pro¬ gram based on edited default data.
9. A system according to any of the claims 5 - 8, characterized in that said graphical interfaces, adapted for entering configura¬ tion data, comprises input means for entering said waypoint po- sitions by writing coordinates representing the desired positions, and means for selecting to enter said waypoint positions by guiding the robot through the various waypoints along the de¬ sired path, thereby enabling the operator to choose between at least two ways to enter the waypoint positions.
10. A system according to any of the previous claims, charac¬ terized in that said graphical generator is adapted for displaying said information about the predefined workstations as graphical objects including graphical information about the workstations, and each graphical object representing one of the workstations.
11. A system according to any of the previous claims, charac¬ terized in that said graphical display device is a teach pendant unit for teaching and manually operating the robot.
12. A system according to any of the previous claims, charac¬ terized in that said graphical generator is adapted for generating a graphical user interface including graphical information about the status of the selected workstations during operation on said display device.
13. A system according to claim 12, characterized in that said graphical information about the status of the selected worksta- tions includes graphical information about whether the works station is in operation or not, and information about whether the works station is functioning or not.
14. A system according to claim 12 or 13, characterized in that said graphical generator is adapted for generating at least one graphical user interface for each predefined workstation dis¬ playing graphical information about the status of l/O-signals of the workstation during operation.
15. A method of programming an industrial robot to perform a work cycle including visiting and performing work on one or more workstations, wherein the method includes
- storing in a memory location a set of predefined worksta- tions comprising preprogrammed robot code,
- generating one or more graphical user interfaces on a graphical display device, displaying information about the predefined workstations and allowing a user to se¬ lect one or more of the predefined workstations and to specify the order in which the robot shall visit the se¬ lected workstations,
- receiving information about which of the predefined work¬ stations the user has selected and the order in which the robot shall visit the selected workstations, and - generating a robot program for performing the work cycle based on said predefined workstations and said re¬ ceived and stored information about the selected work¬ stations and the order in which the robot shall visit the selected workstations.
16. A method according to claim 15, wherein said predefined workstations includes default data for the workstation.
17. A method according to claim 16, wherein said default data includes at least one predefined movement path to be followed by the robot when performing work at the workstation, wherein the predefined movement path includes default waypoints in a default order for the robot to visit, and the method comprises displaying the predefined movement path.
18. A method according to claim 16 or 17, wherein said default data includes default input and output signals for the worksta¬ tion and/or default open and close a robot tool for the worksta¬ tion.
19. A method according to any of the claims 15 - 18, wherein the method further comprises generating one or more graphical user interfaces for entering configuration data for the robot at the selected workstations, receiving and storing configuration data for the selected workstations and generating said robot program based on said received configuration data.
20. A method according to claim 19, wherein said configuration data includes positions of waypoints on a movement path to be followed by the robot when performing work at the workstation.
21. A method according to any of the claims 16 - 18 and any of the claims 19 - 20, wherein the method comprises displaying said default data on said graphical user interfaces, allowing the user to edit the default data and generating said robot program based on edited default data.
22. A method according to any the claims 15 - 21 , comprising displaying graphical objects representing the workstations on said display device.
23. A method according to any of the claims 15 - 22, comprising generating a graphical user interface including graphical infor¬ mation about the status of the selected workstations during op- eration on said display device.
24. A method according to claim 23, wherein said graphical in¬ formation about the status of the selected workstations includes graphical information about whether the works station is in op- eration or not, and information about whether the works station is functioning or not.
25. A method according to claim 23 or 14, comprising generat¬ ing a graphical user interface including graphical information about the status of l/O-signals of the workstation during opera¬ tion.
26. A computer program directly loadable into the internal memory of a computer, comprising software for performing the steps of any of the claims 15 - 25
27. A computer readable medium, having a program recorded thereon, where the program is to make a computer perform the steps of any of the claims 15 - 25, when said program is run on the computer.
28. Use of a system according to any of the claims 1 - 14 for handling moulded parts in connection with injection moulding.
29. Use of a system according to any of the claims 1 - 14 for handling moulded parts in connection with dye casting.
EP05792457A 2004-10-20 2005-10-11 A system and a method for programming an in¢ dustrial robot Withdrawn EP1824647A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US61992304P 2004-10-20 2004-10-20
SE0402533A SE0402533D0 (en) 2004-10-20 2004-10-20 A system and a method for programming an industrial robot
PCT/SE2005/001512 WO2006043873A1 (en) 2004-10-20 2005-10-11 A system and a method for programming an in¬ dustrial robot

Publications (1)

Publication Number Publication Date
EP1824647A1 true EP1824647A1 (en) 2007-08-29

Family

ID=36203220

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05792457A Withdrawn EP1824647A1 (en) 2004-10-20 2005-10-11 A system and a method for programming an in¢ dustrial robot

Country Status (2)

Country Link
EP (1) EP1824647A1 (en)
WO (1) WO2006043873A1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602007013470D1 (en) * 2007-03-30 2011-05-05 Abb Technology Ab METHOD AND DEVICE FOR PROGRAMMING AN INDUSTRIAL OBOBE
JP4249794B1 (en) * 2007-10-29 2009-04-08 ファナック株式会社 Control device for robot for workpiece transfer
EP2475501B1 (en) * 2009-09-07 2017-08-16 Fastems Oy AB Service cell and method for controlling a service cell
EP2345514A3 (en) * 2010-01-13 2017-07-19 KUKA Roboter GmbH Method and device for controlling a robot application
DE102010012598A1 (en) * 2010-02-26 2011-09-01 Kuka Laboratories Gmbh Process module library and programming environment for programming a manipulator process
DE102015204641B4 (en) 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Method and system for programming a robot
US10635082B2 (en) 2014-12-26 2020-04-28 Kawasaki Jukogyo Kabushiki Kaisha Robot motion program generating method and robot motion program generating apparatus
WO2017005272A1 (en) * 2015-07-08 2017-01-12 Universal Robots A/S Method for extending end user programming of an industrial robot with third party contributions
US9916506B1 (en) 2015-07-25 2018-03-13 X Development Llc Invisible fiducial markers on a robot to visualize the robot in augmented reality
US9919427B1 (en) 2015-07-25 2018-03-20 X Development Llc Visualizing robot trajectory points in augmented reality
EP3419794B1 (en) 2016-02-25 2020-05-20 Roche Diabetes Care GmbH Method and system for quality evaluation of a handheld analytical device
EP3243607B1 (en) 2016-05-09 2021-01-27 OpiFlex Automation AB A system and a method for programming an industrial robot
US10414046B1 (en) 2016-11-07 2019-09-17 X Development Llc Modular robot design
WO2019021045A1 (en) * 2017-07-26 2019-01-31 Abb Schweiz Ag Method and system for parmeter based operation of an industrial robot
DE102017213658A1 (en) 2017-08-07 2019-02-07 Robert Bosch Gmbh Handling arrangement with a handling device for performing at least one work step and method and computer program
JP7095262B2 (en) * 2017-11-10 2022-07-05 株式会社安川電機 Programming support device, robot system and program generation method
DE102018218081A1 (en) * 2018-10-23 2020-04-23 Robert Bosch Gmbh Device and method for controlling a robot system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0650460B2 (en) 1989-10-17 1994-06-29 アプライド バイオシステムズ インコーポレイテッド Robot interface
US5345540A (en) * 1991-07-12 1994-09-06 Hewlett-Packard Company Methods for automatically programming spatial information in robotic systems
US5355439A (en) * 1991-08-05 1994-10-11 Bio Tek Instruments Method and apparatus for automated tissue assay
DE69618606T2 (en) * 1995-09-19 2002-09-12 Yaskawa Denki Kitakyushu Kk PROCESSOR FOR ROBOT LANGUAGE
FR2840420B1 (en) * 2002-05-31 2005-05-27 Sepro Robotique DEVICE AND PROGRAM-CONTROL PRODUCT, IN PARTICULAR MANIPULATORS OR ROBOTS

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006043873A1 *

Also Published As

Publication number Publication date
WO2006043873A1 (en) 2006-04-27

Similar Documents

Publication Publication Date Title
EP1824647A1 (en) A system and a method for programming an in¢ dustrial robot
US7194396B2 (en) Simulation device
CN101043980B (en) A system and a method for programming an in dustrial robot
US5511147A (en) Graphical interface for robot
CA2991244C (en) Method for extending end user programming of an industrial robot with third party contributions
US7076332B2 (en) System and method for invoking execution of a sequence of operations that includes motion control, machine vision, and data acquisition (DAQ) functionality
EP1842631B1 (en) Apparatus and method for automatic path generation for an industrial robot
RU2587104C2 (en) Method and device to control robot
JPH11134017A (en) Off-line teaching method
CN110271009B (en) Method for realizing manipulator teaching function based on PLC robot-simulated instruction
CN102941426B (en) Intelligent deflection system matched with robot
EP2129498A1 (en) Method and apparatus for programming an industrial robot
EP1624352A1 (en) Manual restart learning process and manual restart process for an automated system
CN109986559B (en) Parameter editing method and system, control device and storage medium
KR101520855B1 (en) Simulstion system training machinetool
US20030090490A1 (en) Simulation device
JPH02277102A (en) Working program teaching system for numerically controlled machine tool
US20200094408A1 (en) Device which supports programming for robots
US6965803B2 (en) Apparatus and method for commissioning and diagnosing control systems
CN202951982U (en) Intelligent shifting system matched with robot
JP2019171498A (en) Robot program execution device, robot program execution method and program
CN110610648A (en) Intelligent production line simulation method and system
CN106113044A (en) Commercial Application teaching robot's control method
CN113001548B (en) Robot teaching method based on virtual simulation experience
JPH10161719A (en) System constructing simulation device for industrial robot

Legal Events

Date Code Title Description
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

17P Request for examination filed

Effective date: 20070706

AK Designated contracting states

Kind code of ref document: A1

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

RIN1 Information on inventor provided before grant (corrected)

Inventor name: LIBERG, ANNA

Inventor name: RENBACK, JOHAN

Inventor name: FALK, MATTIAS

Inventor name: JOHANSSON, GOERGEN

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20080617

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20140617