CUSTOMIZABLE PROGRAMMING CONFIGURATION

20260064099 ยท 2026-03-05

Assignee

Inventors

Cpc classification

International classification

Abstract

The invention relates to a robot user interface configured for presenting a control program to a programmer, the control program being displayable to the programmer via a program view of said user interface. The control program controls operations of a robot, wherein at least some parts of the control of said robot is defined via an 5 argument of one or more operation parameter. The user interface is further configured to present a part of said one or more operation parameters to an operator of said robot via an operator view of said user interface. The operator view is configured for displaying arguments of said one or more operation parameters, and the operator view is configured for allowing said operator to change said argument of said part of said 10 one or more operation parameters. Further the invention relates to a method of configuring the robot control program using the user interface.

Claims

1. A user interface for controlling a robot, the user interface comprising: a program view configured to display at least part of a control program for controlling the robot the control program comprising operation parameters for controlling operations of the robot based on arguments associated with the operation parameters; and an operator view configured to display one or more of the operation parameters, the operator view also being configured to display one or more arguments associated with respective ones of the one or more operation parameters, the operator view being configured to allow changes to the one or more arguments more.

2. The user interface of claim 1, further comprising: a configuration view to change content to be displayed in the operator view.

3. The user interface of claim 2, wherein the configuration view is configured to enable changing the one or more arguments to be displayed in the operator view.

4. The user interface of claim 2, wherein the configuration view is configured to enable selection of the one or more operation parameters to be displayed in the operator view.

5. The user interface of claim 2, wherein the program view is configured to enable display of the configuration view.

6. The user interface of claim wherein the configuration view enables selection of the one or more operation parameters.

7. The user interface of claim 2, wherein the user interface comprises a display to enable selection of at least one of the said program view, the configuration view, or the operator view.

8. The user interface of claim 1, further comprising: a status view configured to display a status of one or more operation parameters while the control program executes

9. The user interface of claim 1, wherein the operator view is configured to display at least one selection parameter, the at least one selection parameter for causing display of one or more operation parameters relating to objects associated with the robot; and wherein the operator view is configured to allow setting of the at least one selection parameter and to display the one or more view arguments based on the at least one selection parameter.

10. The user interface of claim 1, wherein the content displayed in the operator view is configurable.

11. The user interface of claim 1, wherein the operator view is configured for display to said a user prior to operation of the robot.

12. The user interface of claim 1, wherein both the program view and the operator view are configured to enable configuration of the one or more operation parameters.

13. The user interface of claim 1, wherein access to the program view is restricted.

14. (canceled)

15. A method of configuring a control program for a robot, the method comprising receiving the control program, wherein the control program is configured to control of said the robot according to an operation cycle, and wherein control of the robot according to the operation cycle is based on a of operation parameters; displaying least part of the control program in a program view of a user interface; receiving, at the user interface, a selection of one or more of the operation parameters; displaying the one or more operation parameters that were selected in an operator view of said the user interface; and configuring the control program by changing, in the operator view, an argument of at least one of the operation parameters wherein changing the argument configures the control program to control of the robot according to a modified operation cycle.

16. The method of claim 15, wherein the one or more operation parameters in are selected from a configuration view of the user interface, the configuration view to change content to be displayed in the operator view.

17. The method according to claim 16 further comprising: configuring, in the configuration view, limits of one or more arguments of the one or more operation parameters.

18. The method of claim 16, wherein the configuration view. enables the one or more operation parameters to be defined.

19. The method of claim 16, wherein said the configuration view is accessible from the program view.

20. The method of claim 15, further comprising: configuring a routine that is executed once before execution the robot control program.

21. The method of claim 15, further comprising: configuring a status task that provides information from control program.

22. The method of claim 15, wherein at least one of the operation parameters is comprises a function call.

23. The method of claim 15, wherein the argument is changed within a predetermined range.

24. The method of claim 15, wherein the argument is associated with a robot tool or peripheral device.

25. The method of claim 15, wherein the one or more operation parameters are selected prior to commissioning the robot.

26. The method of claim 15, wherein the one or more operation parameters are automatically displayed in the operator view when automatic display is enabled.

27. The method of claim 15, wherein the control program is comprises a third-party control program that is downloaded to a data storage device associated with a robot controller that performs at least part of the method, wherein the third-party control program automatically updates operation parameters in the operator view.

28. The method of claim 27 wherein the third-party control program is integrated into the control program.

29. The method of claim 27 wherein the third party control program comprises application software configured to display one or more features in the user interface.

30. The method of claim 29, wherein the one or more features comprise a video stream from a vision camera that monitors an object handled by a tool of the robot.

31. The method of claim 16, wherein the operator view or the configuration view enables selection of a selection parameter, and wherein the selection parameter enables changing the argument.

32. The method of claim 31, wherein the selection parameter and an associated operation parameter an are defined by application software.

33. The user interface of claim 1, wherein the user interface comprises a hardware display device.

Description

THE DRAWINGS

[0096] For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts. The drawings illustrate embodiments of the invention and elements of different drawings can be combined within the scope of the invention:

[0097] FIG. 1 illustrates an exemplary robot,

[0098] FIG. 2 illustrates an exemplary program view of a user interface,

[0099] FIG. 3 illustrates an exemplary operator view of a user interface,

[0100] FIG. 4 illustrates an exemplary configuration view of a user interface, and

[0101] FIG. 5 illustrates an exemplary flow chart of steps of the method of the present invention.

DETAILED DESCRIPTION

[0102] The present invention is described in view of exemplary embodiments only intended to illustrate the principles and implementation of the present invention. The skilled person will be able to provide several embodiments within the scope of the claims.

[0103] FIG. 1 illustrates a robot system 100 into which the present invention can be implemented. The robot system comprises at least one robot arm 101 and at least one robot controller 110 configured to control the robot arm.

[0104] The robot arm 101 comprises a plurality of robot joints 102a, 102b, 102c, 102d, 102e, 102f connecting a robot base 103 and a robot tool flange 104. A base joint 102a is configured to rotate the robot arm around a base axis 105a (illustrated by a dashed dotted line); a shoulder joint 102b is configured to rotate the robot arm around a shoulder axis 105b (illustrated by a dashed dotted line); an elbow joint 102c is configured to rotate the robot arm around an elbow axis 105c (illustrated by a dashed dotted line); a first wrist joint 102d is configured to rotate the robot arm around a first wrist axis 105d ((illustrated by a dashed dotted line) and a second wrist joint 102e is configured to rotate the robot arm around a second wrist axis 105e (illustrated by a dashed dotted line). Robot joint 102f is a robot tool joint comprising the robot tool flange 104, which is rotatable around a tool axis 105f (illustrated by a dashed dotted line). The wrist joint 102d is illustrated to comprise a first joint part 106, a second joint part 107 and a joint cap 108. The illustrated robot arm is thus a six-axis robot arm with six degrees of freedom with six rotational robot joints, however it is noticed that the present invention can be utilized in robot arms comprising less or more robot joints.

[0105] The robot joints comprise a robot joint housing and an output flange rotatable or translatable in relation to the robot joint housing and the output flange is connected to a neighbor robot joint either directly or via an arm section as known in the art. The robot joint comprises a joint motor configured to rotate or translate the output flange in relation to the robot joint housing, for instance via a gearing or directly connected to the motor shaft. The robot joint housing can for instance be formed as a joint housing and the joint motor can be arranged inside the joint housing and the output flange can extend out of the joint housing. Additionally, the robot joints can comprise at least one joint sensor providing a sensor signal for instance indicative of at least one of the following parameters: an angular and/or linear position of the output flange, an angular and/or linear position of the motor shaft of the joint motor, a motor current of the joint motor or an external force and/or torque trying to rotate the output flange or motor shaft. For instance, the angular position of the output flange can be indicated by an output encoder such as optical encoders, magnetic encoders which can indicate the angular position of the output flange in relation to the robot joint. Similarly, the angular position of the joint motor shaft can be provided by an input encoder such as optical encoders, magnetic encoders which can indicate the angular position of the motor shaft in relation to the robot joint. It is noted that both output encoders indicating the angular position of the output flange and input encoders indicating the angular position of the motor shaft can be provided, which in embodiments where a gearing have been provided makes it possible to determine a relationship between the input and output side of the gearing.

[0106] The robot system comprises at least one robot controller 110 configured to control the robot arm 101. The robot controller is configured to control the motions of the parts of the robot arm and the robot joints for instance by controlling the motor torque provided to the joint motors based on a dynamic model of the robot arm, the direction of gravity acting and the joint sensor signal. Further the robot controller may control the motions of the robot arm based on a robot program stored in a memory of the robot controller. The controller can be provided as an external device as illustrated in FIG. 1 or as a device integrated into the robot arm or as a combination thereof.

[0107] The robot controller can comprise an interface device 111 enabling a user to control and program the robot arm. The interface device can for instance be provided as a teach pendent as known from the field of industrial robots which can communicate with the controller via wired or wireless communication protocols. The interface device can for instanced comprise a display 112 and a number of input devices 113 such as buttons, sliders, touchpads, joysticks, track balls, gesture recognition devices, keyboards, microphones etc. The display may be provided as a touch screen acting both as display and input device. The interface device can also be provided as an external device configured to communicate with the robot controller, for instance in form of smart phones, tablets, PCs, laptops etc.

[0108] The robot system may also comprise an end effector (not illustrated) attached to the robot tool flange and it is to be understood that the end effector can be any kind of end effector such as grippers, vacuum grippers, magnetic grippers, screwing machines, welding equipment, gluing equipment, dispensing systems, painting equipment, visual systems, cameras etc.

[0109] The illustrated robot arm illustrates one example of a robot arm, however it is to be understood that the present invention can be implemented in robot arms of various types and having various kinematic structures.

[0110] As described above in the summary of the invention, the user interface 111 is able to present various views to a user and FIGS. 2-4 illustrate various view of the user interface 1. These views include at least a status view, a configuration view, a program view and an operator view. The user is able to change between view by activating view selection buttons 7 (e.g. via touch display).

[0111] Further, the user is able to use menu buttons 8 to select information to be displayed on the display of the user interface 1. One of the menu buttons 8 may e.g. enable displaying the a menu of the configuration view (see FIG. 4 below). Another menu button 8 may e.g. enable displaying all available operation parameters of the configuration view or of the robot program.

[0112] Further, the play buttons 9 at the bottom of the user interface 1 may be used to play, pause or stop the execution of the robot program and thus the operation of the robot.

[0113] Further, the speed of the operation of the robot may be changed by the speed buttons 10 at the lower right corner of the user interface 1.

[0114] Note, that the above-described buttons and functions thereof are not limited to the illustrated positions of FIG. 2 and FIG. 3 and not limited to the above exemplary description their function.

[0115] Access is restricted to some of the views such as the configuration view and a write access to the program view. A read access to the program view may be allowed to any user of the robot. Other views such as the status view and the operator view may be accessible by all users of the robot or at least the majority of users. Hence, to access any of the view, logon to the robot controller may be required.

[0116] The interface may be referred to as a dynamic interface in that the views may be changed depending on the user using them to program or operate the robot. The dynamic should be understood as e.g. the programming view is the same as is e.g. also the integrator view and operator view. Hence, the dynamic is that different views of the interface is displayed to different users depending on if they are programmers, integrators or operators. To each of these views, is different possibilities such as programming a function/an operation parameter (first level), deciding ranges for attributes (values) of such function (second level) and teaching actual value of an attribute (third level).

[0117] As indicated, the views of the dynamic interface via which the robot control program can be accessed could be said to be structured in levels or layers according to restrictions of access. A first level view could be referred to at an OEM programmer level/view. At such first level view only expert program developers such as OEM developers may have access. Change in robot program accessible via such first level may result in changed basic operations of the robot arm and may therefore sometimes lead to a requirement of recertification of the robot control program. Accordingly, once the robot arm has left the OEM robot control program accessible via the first level view should not be changed unless maybe a tested fleet or model update from the OEM is provided.

[0118] Accordingly, via the first level view, the programmer of the robot control program may specify available content of one or more second and third level views which are available to be used by the integrator. Alternative or in addition, these views can be selected as is or modified by an integrator before allowing them to be displayed to the operator of the robot in the third level view. The views may have a built-in security feature that tests if input provided via a view e.g. from an operator is within a predefined range defined. Such function or tests may be provided by an integrator or the robot programmer.

[0119] A second level view could be referred to as an integrator level/view or configuration view or program view. At such second level the robot control program is created for a specific robot cell based basic operation. As the robot control program is created or after it is created, e.g. by an integrator, robot program elements such as functions, attributes, operation parameters, etc. that are allowed to be used/changed by an operator via a third level view is defined. As mentioned, input from the third level view may be tested and rejected or not allowed if it deviates from a predefined value(s) or is outside a predefined range.

[0120] A third level view could be referred to as an operator level/view. Via this view an operator of the robot arm is able to access the parts of the robot control program that by the integrator, e.g. via the second level view, is defined as accessible via the operator view. Hence, depending on what was decided via the second level view, the operator is able to call or move functions in the program, change or omit sequences, change valves of operation parameters, limits and thresholds, etc.

[0121] The third level view/operator view is typically only accessible prior to the operation of the robot arm, i.e. typically not accessible during operation of the robot arm. This is because the robot control program/robot cycle may at least partly be defined via the operator view. It should be mentioned that a test operation mode of the robot arm may exist during which the operator view may be accessible. In this way it is possible for the operator to step by step follow the robot cycle and change where needed.

[0122] Further, the third level view/operator view is actively activated by the operator it may not automatically popup as the dialog boxes prompting an operator for input.

[0123] Not all views are available all the time, hence e.g. the configuration view and the operator view may only be available when the robot is not in operation mode. Whereas the status view may only be available with the robot is in operation mode. A read access to the program view may be available when the robot is in operation mode and a read/write access to the program view may be available when the robot is not in operation mode.

[0124] The restrictions may be enforced e.g. by password protection or dependent on rights associated with a used logged in to the control system of the robot. It is to be understood that any kind of access control mechanism may be used to limit access to parts of the control system, such as access codes, biometric based access systems, etc.

[0125] The user interface is typically not in itself controlling the robot. Typically, the user interface is communicating with a robot controller which comprises a processor controlling the robot according to the robot control program. Thus, the user interface may be a device for monitoring and configuring the robot operation cycle.

[0126] FIG. 2 illustrates an example of a program view 2 presented via a display of a user interface 1 according to an embodiment of the invention. A robot control sequence 3 (also simply referred to as program or program tree) of a robot control program comprising three waypoints and an if/else loop is illustrated. This exemplary program comprises seven operation parameters 5 namely the three waypoints, input A and B and function 1 and 2. Each of these operation parameters 5 comprises a value also referred to as an argument 4. The argument of the waypoints and input A and B are not illustrated hence the operation parameter names are associated with an argument which is stored in the associated data storage. The arguments of function 1 and 2 however, is illustrated as the numeric number 4 and the reference go left.

[0127] Accordingly, operation parameters in the context of the present invention should be understood as waypoints, variables (defined e.g. by name of the variable) or functions (defined e.g. be name of the function). Non-limiting examples of operational parameters can be payload information (mass, centre of gravity, dimensions of a payload carried by the robot arm), speed and acceleration of robot movements, function call of predefined robot code, variables relating to states of peripheral equipment, test conditions, Boolean variables etc. It should be mentioned that the waypoints in some embodiments are not considered operation parameters.

[0128] As mentioned, the operator is only allowed to make changed to the robot control program in predefined areas of the robot control program. In this way, safety is maintained no matter the type of changes the operator is making. As an example, it is not possible for the operator to update the value of an argument with a value which is outside a predefined range. The range may in an embodiment be dynamic i.e. derived from other values of other arguments or limits of the robot control program. As an example, acceleration, distance from payload to robot base axis 105a and weight of payload may be interrelated. Hence, with a small acceleration and a short distance to robot base axis 105a payload weight may be higher than if the acceleration and/or distance to robot base axis 105a is high. Thus, in this example the allowable ranges for distance and/or acceleration may be adjusted based on weight of the payload. The payload weight may be provided by the operator or provided via scanning QR cods og by weighing the payload while carried by the robot or by a weight of a peripheral device communicating with the robot controller.

[0129] Both static and dynamic limits or ranges may in an embodiment be defined by a robot control program developer. Such developer may define various ranges and limits from which an integrator may choose some that are relevant for the operator to be able to access. The developer may define user interfaces from which the integrator may select some that should be visible to/accessible for the operator.

[0130] The fact that it is the developer, typically a developer of the robot arm manufacture, that is defining what is possible to change on site ensure that all requirements to safety and robot design limits are fulfilled. Accordingly, the present invention provides a safe and flexible way to configure a robot control program on site. Further, the operator does not need to have any education in safety or programming to be able to configure the robot control program.

[0131] FIG. 3 illustrates an example of an operator view 6 presented via a display of the user interface 1 according to an embodiment of the invention. The programmer who has developed the program 3 illustrated in FIG. 2 has enabled two of the seven operation parameters 5 to be displayed in the operator view 6. The two operation parameters 5 illustrated are the function 1( ) and input A. The illustrated boxes in line with the operation parameters 5 represents the arguments 4 of the two operation parameters 5.

[0132] If a waypoint was considered an operation parameter, the coordinates of e.g. waypoint could be (X, Y, Z)-coordinates indicating the position of the tool flange in relation to the base of the robot. These coordinates would in this example be the argument of the waypoint and may be changed by the operator simply by typing in new coordinates such as (X1, Y1, Z1). As mentioned above, the programmer may have restricted the possible input provided by the operator, so that e.g. the Z coordinate cannot be changed and the X and/or Y coordinate can only be changed between an upper and/or lower limit. Therefore, the X coordinate may e.g. only be changed to a value in the range of X to X10. In it noted the waypoints can be indicated in many different ways such as, the position of any part of the robot arm in relation to a reference point, as joint positions indicating the angle of the robot joints. Further it is possible to allow the robot operator to define waypoints by manually changing postures of the robot arm to a desired waypoint, for instance by utilizing free drive (zero gravity) mode of the robot arm. In that connection the programmer can also restrict the allowed poses that the operator to which the operator can guide the robot arm.

[0133] The argument of function 1( ) is 3. Hence, in the program 3 when function 1( ) is used, its argument is 3, this integer may be a reference to the actual value 3, to another function that is named 3 or the like.

[0134] The argument of input A is end stop. Hence, the value of input A in the if/else loop of the program is end stop. end stop may refer to an input signal and thus the input A operator parameter may change status as the end stop sensor e.g. of a conveyer change status.

[0135] Common for the arguments X, Y, Z, 3 and end stop is that they can be changed in the operator view. Either the operator can type in an integer directly or when touching the box or screen a drop-down menu is shown from which the operator can select allowable arguments for the particular operation parameter.

[0136] As mentioned, the arguments available also includes strings and Boolean operators. Hence a restriction of a string could e.g. be any given letter or combination of letters, first letter in the string, etc.

[0137] If the argument is an integer, the allowable input may as mentioned be determined by a range or upper limit, but also specific selected integers such as 5, 17 and 26. Further, input may be restricted to either an integer or a decimal number.

[0138] As mentioned, the operator view may display selection parameters. Alternative, the selection parameter is selectable from the configuration view such as from the main menu. No matter how and in which view the different selection parameters are accessed, the available operations, tasks, program parts, etc. is displayed to the user. An example of a selection parameter may be the tool (operation hereof) such as a gripper, suction disc, welder, polisher, wrapper, etc. Selecting e.g. a polisher, operation parameters such as the force the robot is applying to the object via the polishing tool, speed for movement of the robot when polishing the object or different parts of the object, way point for the trajectory, time for polishing the same spot of the object, etc. can be made available for adjustment by the operator. The same and/or similar and/or other relevant operation parameters of a given tool may be made available for adjustment upon selecting the tool selection parameter.

[0139] The selection parameters may be defined by the robot programmer, integrator or even via application software from a third party. Application software may e.g. be a piece of software which is developed by a third-party supplier of a tool. Hence, e.g. in a program node where the tool is to be operated, the software controlling such operation of the tool may be referred to as application software.

[0140] When installed, such tool application software may include selection parameters which comprise one or more operation parameters related to the tool which by the tool developer is considered relevant for the operator to be able to adjust. As other control parameters, there may be limits for the values of the operation parameters the operator is allowed to input, such limits are typically defined by the developer of the tool application software or the integrator.

[0141] Of course, it should be understood that the example described with reference to FIG. 2 and FIG. 3 is a very simple illustration of the present invention and thus more complex programs 3 and more operation parameters 5 would typically be used and benefit from the present invention. Also, the exemplary arguments are only for illustrating the principles of the invention.

[0142] It should be mentioned that in the operator view, a robot as the one controlled by the robot control code may be illustrated to demonstrate the effect on the configured operation parameter in a graphical view.

[0143] FIG. 4 illustrates an example of a configuration view 11 presented via a display of the user interface 1 according to an embodiment of the invention. In this illustration the main menu 12 is expanded e.g. by a user pushing one of the menu button 8 (illustrated in FIG. 2 and FIG. 3). Thus, options of the configuration view 11 according to this embodiment is illustrated. The main menu 12 may be collapsed again e.g. by pushing the Main Menu button 8 or one of the view selection buttons 7 The main menu 12 comprises a number of menu options, where one menu option 13 is to view the entire robot control program, which may open the program view of the user interface illustrated on FIG. 2. Alternatively, the robot control program may open in the configuration view 11 e.g. with the menu option of the expanded main menu 12 available as illustrated on FIG. 4.

[0144] Another menu option is the before start which is a program that is executed only once prior to running the main program. The software code configured under the before start option may configure various routines, initiate different parameters and in/output, etc. The configurations made under this before start menu option is only run once before each time the robot control program is started. This is in contrary to the main robot control program which typically is looping thus repeating one operation cycle of the robot.

[0145] Another menu option is the status of the operation parameters. The status option enables the operator to set up counters, timers, etc. for being able to count number of items handled, number of cycles conducted, time for conducting one cycle, etc. Hence, the status option could be the to read or provide information from or about the robot control program to the operator contrary to the configuration of operation parameters described above that could be the to provide information from the operator to the robot control program.

[0146] The status tasks may be used to count items placed on a pallet, to monitor when the next layer is to begin or the pallet is full and should be replaced, the value of an operation parameter, etc.

[0147] Another menu operation is the configuration of operation parameter that has been describe in relation to FIG. 2 and FIG. 3 above. The configuration view 11 illustrated on FIG. 4 is where the experienced programmer is able to determine what the operator is allows to see and change in the operator view 6. Referring to the operator view illustrated on FIG. 3 where function1 and inputA is configurable, these operation parameters and if relevant also the range in which they can be change is defined in the configuration view 11 illustrated in FIG. 4. The programmer in this example has used code lines 1-4 to configure what can be seen in the operator view 6 relating to the function 1 operation parameter and code lines 5 and 6 to configure what can be seen in the operator view 6 relating to the inputA operation parameter.

[0148] In the operator view 6 of FIG. 3, the status view and the configurable operation parameters is illustrated side by side. It is noted, that in this example no status of operation parameter is illustrated.

[0149] An operator can thus via the operational view change /odify the operation of the robot, as selection, change, or modification of one of the operational parameters changes the operation of the robot. As an example, the robot may be moving or it may be mounted on wheeled structure and moved from one machine to another e.g. to supply objects to the machine from a conveyer which would require a change of operation. Another example that would require a change in operation may be changing object to be welded. The robot may also be stationary where it handles different packing and/or picking operations. The operator may between such shift in operation of the robot simply change the function call (operation parameter) to change operation of the robot arm from picking up objects provided in one geometry to picking up objects provided in another geometry, just to mention a low practical example.

[0150] In addition to the new sequence of picking up objects, the objects may also change geometry and thus the operator may change value of waypoint, offset, etc. to match the new operation environment. This may include change infeed of objects from one square like geometry with 58 objects of a first size to another with 35 layout of larger objects. Further, if two different objects are to be welded with a known welding path, the operator may change operation of the robot from one operation to the other only by changing the operation parameter to another function call and defining predetermined waypoints. Such teaching of the robot may be done by the operator which do not have any robot programming experience either by manual input or by moving the robot in free-drive.

[0151] It should be noted that even though only the stipulate boxes of FIG. 2-FIG. 4 are referred to as program, operator and configuration view 2, 6, 11 the entire user interface may be referred to as program, operator and configuration view 2, 6, 11 respectively.

[0152] Note that the present invention also facilitates to provide arguments to external devices such as a screen or controller. Further, arguments may also provide information to third party software. Hence if such third party software when downloaded and integrated in the robot control program need an argument for an operation parameter, then this argument may automatically be provided to the third party software or retrieved from the robot control program or data storage.

[0153] FIG. 5 illustrates a simple flow chart of the steps of the configuration method of the present invention. In the first step S1, the robot control program is established i.e. written in, loaded (from a memory storage such as local memory or cloud based memory storages) into the robot control software or a combination there of. The robot control program is presented in a program view of the display of a user interface.

[0154] In the second step S2, during or after the creation of the robot control program, the experienced robot programmer, select various operation parameter and makes these available from an operator view.

[0155] In the third step S3, prior to operation of the robot is initiated, a non-experienced robot programmer such as a robot operator is able to access these operation parameters from the operator view. Via the operator view other interaction or monitoring of the robot control program can be established as described above.

[0156] In the fourth step S4, the operator is allowed to give values (arguments such as integers, strings, Boolean and functions) to operation parameters, which impacts the operation of the robot. Thus, after the operator has configured the operation parameters the subsequent operation cycle may be referred to as a modified operation cycle.

[0157] In the fifth step S5, the robot control program is executed and the modified operation cycle will be performed and if any monitoring was established in step S3, this can be followed from the operator view. Further the status of the operator selected parts of the operation values made available by the robot programmer can also be followed from the operator view.

[0158] From the above it is now clear that the invention concerns two main parts namely first the robot control program which when or after being programmed enables a configuration of operation parameters that an operator is able to modify. The modification is performed in an operator view of a user interface. Second, the operator view is part of the user interface to the robot specifically developed for non-specialized robot operators which through the operator view still is able to, among other things, configure operation parameters of the robot control program and thus modify the robot cell behavior.

[0159] From inside the program view or configuration view an experience robot programmer such as a robot integrator can set up various operation parameters which as mentioned will be available to easily configure to adapt the program to various conditions via the operator view. The operator view via which the operator, or non-robot programmer, performs or interacts with this configuration. Here the operator can, through a simplified interface, change various parameters of the robot program execution to adapt the program to various situations.

[0160] The above-described method and user interface is especially advantageous in small and medium enterprises where no experienced robot programmer is available each time e.g. a size of an object handled by the robot is changing.

[0161] The invention has been exemplified above with the purpose of illustration rather than limitation with reference to specific examples of methods and robot systems. Details such as a specific method and system structures have been provided in order to understand embodiments of the invention. Note that detailed descriptions of well-known systems, devices, circuits, and methods have been omitted so as to not obscure the description of the invention with unnecessary details.

LIST

[0162] 1. Robot user interface [0163] 2. Program view [0164] 3. Robot control sequence [0165] 4. Arguments [0166] 5. Operation parameters [0167] 6. Operator view [0168] 7. View selection buttons [0169] 8. Menu buttons [0170] 9. Play buttons [0171] 10. Speed buttons [0172] 11. Configuration view [0173] 12. Main menu [0174] 13. Menu option [0175] 100. Robot arm [0176] 102a-102f. robot joint [0177] 103. robot base [0178] 104. robot tool flange [0179] 105a-105f. axis of robot joints [0180] 106. first part of robot joint [0181] 107. second part of robot joint [0182] 108. robot joint cap [0183] 110. robot controller [0184] 111. interface device [0185] 112. display [0186] 113. input devices [0187] S1. establishing robot control program [0188] S2. selecting operation parameters [0189] S3. accessing operation parameters [0190] S4. give values to operation parameters [0191] S5. Execute robot program