Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ROBOT AND METHOD FOR SAFETY RESTRICTING SPEED OF THE ROBOT
Document Type and Number:
WIPO Patent Application WO/2018/192657
Kind Code:
A1
Abstract:
A robot and method for safety restricting speed of a robot, comprising defining (S1) one direction of an end effector assembly of a robot in a mechanical interface coordinate system of the robot and setting (S2) a continuously acting speed restriction on the end effector assembly movements in the one direction, in a base coordinate system of the robot.

Inventors:
LUNDBERG, Ivan (Blåklockevägen 91, Västerås, 722 46, SE)
Application Number:
EP2017/059367
Publication Date:
October 25, 2018
Filing Date:
April 20, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ABB SCHWEIZ AG (Brown Boveri Strasse 6, 5400 Baden, 5400, CH)
International Classes:
B25J9/16
Domestic Patent References:
WO2014102018A12014-07-03
Foreign References:
US20150239124A12015-08-27
US20160026751A12016-01-28
US20180029229A12018-02-01
US20110301753A12011-12-08
Other References:
SAMI HADDADIN ET AL: "On making robots understand safety: Embedding injury knowledge into control", INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH., vol. 31, no. 13, 1 November 2012 (2012-11-01), US, pages 1578 - 1602, XP055449269, ISSN: 0278-3649, DOI: 10.1177/0278364912462256
Attorney, Agent or Firm:
SAVELA, Reino (ABB AB, Intellectual PropertyForskargränd 7, Västerås, 721 78, SE)
Download PDF:
Claims:
Claims

1 . A method for safety restricting speed of a robot, comprising

- defining (S1 ) one direction of an end effector assembly of a robot in a mechanical interface coordinate system of the robot;

- setting (S2) a continuously acting speed restriction on the end effector assembly movements in the one direction, in a base coordinate system of the robot.

2. The method according to claim 1 , wherein the end effector assembly comprises an end effector solely, or an end effector holding a workpiece.

3. The method according to claim 1 or 2, comprising setting a

continuously acting speed restriction on the end effector assembly movements in the one direction that is active for end effector assembly movements of the robot in the one direction, for all positions and orientations of the end effector assembly, within at least a partial space of the whole working space of the robot.

4. The method according to any of the previous claims, comprising

defining (S1 ) a point of the end effector assembly in the mechanical interface coordinate system, and setting (S2) the continuously acting speed restriction on movements of the point in the one direction, in the base coordinate system of the robot. 5. The method according to any of the preceding claims, wherein the mechanical interface coordinate system is a wrist coordinate system or tool flange coordinate system of the robot.

6. The method according to any of the preceding claims, wherein the one or several directions of the end effector assembly are defined in relation to a sharp or pointy part of the end effector assembly.

7. The method according to any of the preceding claims, comprising defining (S1 ) several distinct and separated different directions of the end effector assembly of the robot in the mechanical interface coordinate system of the robot, and setting (S2) a continuously acting speed restriction on the end effector assembly movements in each of the several different directions.

8. The method according to claim 7, comprises setting (S2) different continuously acting speed restrictions on the end effector assembly

movements for the several different directions.

9. The method according to any of the preceding claims, wherein the end effector assembly is moveable by the robot in a plurality of other directions that are not restricted by the speed restriction or speed restrictions. 10. The method according to any of the preceding claims, wherein the defining (S1 ) and setting (S2) are made independently from any path planning of the robot.

1 1 . The method according to any of the preceding claims, comprising planning (S4) a robot path while respecting the one or several speed

restrictions of the movements.

12. The method according to claim 1 1 , comprising monitoring the speed of the robot while executing the robot path and upon the one or several speed restrictions of the movements being violated, halting motion of the robot.

13. The method according to any of the preceding claims, comprising locking the one or several continuously acting speed restrictions to prevent manipulation.

14. The method according to any of the preceding claims, comprising enabling activation respective deactivation of the one or several continuously acting speed restrictions. 15. The method according to any of the preceding claims, comprising determining the one or several continuously acting speed restrictions based on a predetermined rule for the end effector assembly.

16. A programmable robot (1 ) comprising an end effector assembly (3a, 3b) and a controller (10) configured to control the motion of the end effector assembly (3a, 3b), wherein the controller (10) comprises

- one defined direction of the end effector assembly (3a, 3b) in a mechanical interface coordinate system of the robot (1 );

- a continuously acting speed restriction on the end effector assembly movements in the one direction, in a base coordinate system of the robot (1 ), and wherein the controller (10) is configured to restrict movements of the end effector assembly (3a, 3b) in the one defined direction according to the continuously acting speed restriction. 17. The programmable robot (1 ) according to claim 16, wherein the

controller (10) comprises a motion planning module (14) configured to plan motion of the robot (1 ) according to a desired path respecting the continuously acting speed restriction. 18. The programmable robot (1 ) according to claim 17, wherein the

controller (10) comprises a speed supervision module (15) configured to monitor the speed of the end effector assembly (3a, 3b) while the robot (1 ) is executing the robot path, the speed supervision module being further configured to halt movement of the robot (1 ) upon the one or several speed restrictions of the movements being violated.

Description:
Robot and method for safety restricting speed of the robot Technical field

The present disclosure relates to technology for robots, and more precisely for collaborative robots that are subject to special safety requirements as they are intended to work closely to co-workers. In particular, the disclosure relates to a method for safety restricting speed of a robot, and a programmable robot.

Background

An industrial robot is designed to be programmed to work more or less

autonomously. The industrial robot is often fenced to prevent humans from entering the working space of the robot, such that collisions between the robot and humans can be avoided. A collaborative robot, also referred to as a "cobot", is an industrial robot that is designed to work in close cooperation with a co-worker. The co-worker will then be the working space of the robot when the robot is working, which puts new demands on how to ensure safety for the co-worker. Several solutions have been proposed to ensure that the working space is safe. For example, large parts of the robot can be made harmless to collide with, by covering all parts of the robot that could hit a co-operator in padding. In addition, the end effector of the robot can be provided with an elastic plastic covering that will absorb energy in the event of a collision. By introducing safe zones in the working space of the robot where the robot is not allowed to move into, the co-worker can be considered safe to move in these zones. Further, it is known to provide orientation supervision e.g. such that a pointy object of the robot is always pointing downwards. However, these solutions do not hinder a co-worker from accidently entering a non-safe zone of the robot, or being in the way for the pointy object, even if pointing downwards. Furthermore, both safe zones and orientation supervision might impede the performance of the robot and sometimes greatly limit its capabilities. Further, it is also known to restrict the speed of all robot motions to a speed that is considered safe.

However, this solution may in some situation be seen as overly protective and a hindrance for the robot to perform its work efficiently. ISO/TS 15066:2016 is a technical specification of the safety requirement of a collaborative robot. The ISO/TS 15066 makes a distinction between a "robot" that is defined to include the robot arm and the robot control (and not the end effector assembly), and a "robot system" that is defined to include at least: the "robot" and the end effector assembly. While a robot can be manufactured such that it conforms with safety regulations, how to deal with the end effector and/or a working object held by the end effector remains a problem for collaborative robots. Even if the robot is safe the parts manipulated by the robot may have sharp edges or be pointy. Thus, it is an issue for the integrator to make sure that the

collaborative robot is safe for a specified collaborative work.

ISO/TS 15066 suggests several methods to make the collaborative robot safe to work with, such as for example safety rated monitored stops, limitations during hand guiding, speed and separation monitoring, and power and force limitations when physical contact between operator and robot occurs intentionally or unintentionally. For the latter, ISO/TS 15066 suggests biomechanical limit criteria for human body regions.

From WO2014/102018 A1 a method and apparatus for reduction of a potential coworker's injury is known. This documents deals with the complex nature of defining biomechanical criteria. The method allows production of data to estimate the injury for a well-defined intersection at a given relative speed in vector form between a human body part and a work piece of elementary shape held by a robot in motion. Based on the degree of injury, the speed of the robot may be reduced, the work piece may be held in a safe orientation or the work piece may be covered by a protector for protecting the co-worker from the work piece. The above described solutions mainly rely on that the co-worker of the

collaborative robot is aware of when and where it is allowed to be in the work space of the robot. If the co-worker performs unplanned motions while

collaborating with the robot it cannot be ensured that a collision will not happen. It has been suggested to wear safety glasses as a protectionary measurement, but this solution still relies on the end-user.

Summary

It is an object of the disclosure to alleviate at least some of the drawbacks with the prior art. It is a further object of the disclosure to provide a method for making the robot safer to work with for a co-worker than previous solutions, while still providing a high efficiency of the work performed by the robot. It is a further object to provide a method for ensuring safety of a co-worker in the work space of the robot, without having to rely on the awareness of the co-worker. It is a still further object to provide a method for ensuring safety also of an end effector assembly attached to the robot.

This object and others are at least partly achieved by the method and the robot according to the independent claims, and by the embodiments according to the dependent claims.

According to one aspect, the disclosure relates to a method for safety restricting speed of a robot. The method comprises defining one direction of an end effector assembly of a robot in a mechanical interface coordinate system of the robot and setting a continuously acting speed restriction on the end effector assembly movements in the one direction, in a base coordinate system of the robot. The continuously acting speed restriction is for use when operating the robot, e.g. during path planning, such that the speed of the end effector assembly will never exceed the speed restriction.

The method implements a user configurable safety speed limit that is dependent on the end effector assembly characteristics, and on the orientation of the end effector assembly in the base coordinate system. This is implemented by specifying the dangerous direction, or directions, for a given end effector assembly, and configuring the maximum speed that the robot can move for each of those directions.

The invention relies on the insight that a sharp or pointy end effector assembly is a safety risk for a human only if the robot is actually moving in the direction of the sharp or pointy end effector assembly. Actually, any end effector assembly can be considered safe if it is moving slowly enough. Then, if a co-worker injures himself on the end effector assembly, it is not due to the robot motion but rather due to the co-worker's motion, at least so long as the robot is not positioning the sharp or pointy end effector assembly in a space where a person could unexpectedly bump into the end effector assembly. In other words, the method implements a kind of tool supervision.

The method is straightforward for an integrator to implement, since all the integrator needs to do is to look at the end effector, optionally also a working object, and determine risky directions. The robot can still move at full speed in non-risky directions, so performance of the robot is not impeded any more than what is needed to eliminate any safety risks.

The method makes it possible to easily eliminate the safety risk of the end effector assembly without having the co-worker to wear any protective gear, and fulfil requirements of the European Machine Directive.

According to some embodiments, the end effector assembly comprises an end effector solely, or an end effector holding a workpiece. Thus, the speed restriction is related to characteristics of the end effector. Alternatively, the speed restriction is related to characteristics both of the end effector and the workpiece.

According to some embodiments, the method comprises setting a continuously acting speed restriction on the end effector assembly movements in the one direction that is active for movements of the end effector assembly in the one direction, for all positions and orientations of the end effector assembly within at least a partial space of the whole working space of the robot. Thereby, the speed of the end effector assembly will be restricted continuously in the one direction such that it does not go beyond the speed restriction, in at least the partial space. The partial space may be extended to the whole working space.

According to some embodiments, the method comprises defining a point of the end effector assembly in the mechanical interface coordinate system, and setting the continuously acting speed restriction on movements of the point in the one direction, in the base coordinate system of the robot. Thereby the speed of the end effector assembly may be restricted also for movements of the robot including a rotational component of the end effector assembly. According to some embodiments, the one direction is defined as a vector in coordinates in the mechanical interface coordinate system of the robot. However, the one direction may be alternatively defined.

According to some embodiments, the mechanical interface coordinate system is a wrist coordinate system or tool flange coordinate system of the robot.

According to some embodiments, the one or several directions of the end effector assembly are defined in relation to a sharp or pointy part of the end effector assembly. Hence, a defined direction is a direction of a sharp or pointy part of the end effector assembly.

According to some embodiments, the method comprises defining several distinct and separated different directions of the end effector assembly of the robot in the mechanical interface coordinate system of the robot, and setting a continuously acting speed restriction on the end effector assembly movements in each of the several different directions. Thus, several dangerous directions of the same end effector assembly may be defined. According to some embodiments, the method comprises setting different continuously acting speed restrictions on the end effector assembly movements for the several different directions. For example, depending on the degree of sharpness of different parts of the end effector assembly, the speed restriction may be set differently.

According to some embodiments, the end effector assembly is moveable by the robot in a plurality of other directions that are not restricted by the speed restriction or speed restrictions. Thus, the robot may move the end effector assembly efficiently in the working space.

According to some embodiments, the method comprises performing the defining and setting independently from any path planning of the robot. Thus, the defining and setting is made independently from any path planning of the robot, and is thus characteristics of the end effector assembly.

According to some embodiments, the method comprises planning a robot path while respecting the one or several speed restrictions of the movements. Thus, the motions of the end effector assembly will be restricted while making the robot motion program, such that the end effector movements do not violate the speed restriction(s). The velocity of the end effector assembly will thus be restricted such that the velocity of the end effector assembly in the one direction does not violate the speed restriction, regardless of what speed is programmed by the user.

According to some embodiments, the method comprises monitoring the speed of the robot while executing the robot path and upon the one or several speed restrictions of the movements being violated, halting motion of the robot. As a precautionary action, the motions of the robot are always monitored such that any speed restrictions are not overrun. According to some embodiments, the method comprises locking the one or several continuously acting speed restrictions to prevent manipulation. Thereby, the speed restrictions are safe from tampering. According to some embodiments, the method comprises enabling activation respective deactivation of the one or several continuously acting speed

restrictions. Thereby the skilled robot technician may disable the speed restriction, e.g. if a previously unknown tooling shall be used. However, preferably new speed restriction settings are then made for the new tooling.

According to some embodiments, the method comprises determining the one or several continuously acting speed restrictions based on a predetermined rule for the end effector assembly. Thereby, the method may be automatically performed by the robot.

According to a second aspect, the disclosure relates to a computer program, comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method according to any of the steps as disclosed herein.

According to a third aspect, the disclosure relates to a computer-readable medium comprising instructions, which, when executed by a computer, cause the computer to carry out the method according to any of the steps disclosed herein. According to a fourth aspect, the disclosure relates to a programmable robot comprising an end effector assembly and a controller configured to control the motion of the end effector assembly. The controller comprises one defined direction of the end effector assembly of the robot in a mechanical interface coordinate system of the robot, and a continuously acting speed restriction on the end effector assembly movements in the one direction, in a base coordinate system of the robot. The controller is further configured to restrict movements of the end effector assembly in the one defined direction according to the continuously acting speed restriction. The same positive aspects as of the method may be obtained with the programmable method.

According to some embodiments, the controller comprises a motion planning module configured to plan motion of the robot according to a desired path respecting the continuously acting speed restriction.

According to some embodiments, the controller comprises a speed supervision module configured to monitor the speed of the end effector assembly while the robot is executing the robot path, the speed supervision module being further configured to halt movement of the robot upon the one or several speed restrictions of the movements being violated.

Brief description of the drawings

Fig. 1 illustrates a collaborative robot with end-effectors.

Fig. 2 illustrates a schematic of a control architecture of a controller of the collaborative robot of Fig .1 .

Fig. 3 illustrates a flowchart of a method according to some embodiments.

Fig. 4 illustrates an end effector assembly in different poses within the base coordinate system of the robot.

Detailed description

In the following a method for safety restricting speed of a robot will be described, where the speed of the robot is restricted in any dangerous directions of the end effector assembly, such that a co-worker may cooperate with the robot in a safe way, and such that the movement of the robot is not unduly restricted. The method is especially suitable for collaborative robots, and will in the following be explained with reference to such a robot. However, the method could be used with any kind of programmable robot.

A robot is here defined to be a multi-axis industrial machine that can be

automatically controlled, that is reprogrammable and can adopt to a multitude of tasks. The robot may for example have more than three axes, for example six or seven axes.

As mentioned above, a collaborative robot is a type of robot that can be used in a collaborative operation. A collaborative operation is an operation where a purposely designed robot works in direct cooperation with a co-worker within a defined working space. For example, the collaborative robot and the co-worker may work together, or in close proximity, to perform manufacturing or assembly tasks. The co-worker is then working within the working space in which the robot and its attached end effectors and gripped working objects, if any, are able to move.

A maximum space is herein defined as the space within which the robot can move its end effector and any attached working object. In other words, the maximum space is a space which can be swept by a wrist reference point of the robot, increased by the range of rotation and translation of each joint in the wrist. The maximum space is herein also referred to as the working space of the robot. A restricted space is a portion of the maximum space restricted by limiting devices that establish limits, which will not be exceeded. An operating space is a portion of the restricted space that is actually used while performing all motions commanded by a task program. A collaborative space is a portion of the operating space where the robot, including the end effector and any workpiece, and a co-worker can perform tasks concurrently during production operation.

An end effector assembly may comprise an end effector solely, or an end effector holding a workpiece. An end effector, e.g. a gripper, may also be referred to as a tool.

Fig. 1 illustrates a collaborative robot 1 with a controller 10 and a first end effector assembly 3a and a second end effector assembly 3b. The robot 1 comprises a first articulated arm 2a and a second articulated arm 2b arranged to a base 5 of the robot 1 . The base 5 defines a base coordinate system with the axes Xi, Yi, Zi and origin Oi. The first arm 2a is equipped with the first end effector assembly 3a attached to a first tool flange 4a of the first arm 2a. The first end effector assembly 3a comprises a first end effector being a first gripper with two fingers. The second arm 2a is equipped with the second end effector assembly 3b attached to a second tool flange 4b of the second arm 2b. The second end effector assembly 3b comprises a second end effector being a second gripper with two fingers. Each gripper may hold a workpiece (not shown). The first tool flange 4a defines a first mechanical interface coordinate system with the axes X m i, Ymi , Z m i. The origin of the first mechanical interface coordinate system, O m i, is the centre of the mechanical interface, here the center of the first tool flange 4a. The second tool flange 4b defines a second mechanical interface coordinate system with the axes Xm2, Ym2, Z m 2. The origin of the second mechanical interface coordinate system, Om2, is the center of the mechanical interface, here the center of the second tool flange 4b. The relationship between the base coordinate system and the respective mechanical interface coordinate system is known. The notation of the coordinate systems etc. are here defined in accordance with ISO 9787, third edition, dated 2013-05-01 .

Each of the first end effector and second end effector (or tool) defines a tool coordinate system with the axes Xt, Yt, Zt, respectively. The origin of a tool coordinate system, Ot, is a tool center point (TCP). A TCP is defined for a given application with regard to the mechanical interface coordinate system. Thus, the first end effector of the robot 1 defines a first tool coordinate system with the axes Xti, Yti , Zti and origin On, and a first TCPi. The second end effector of the robot 1 defines a second tool coordinate system with the axes Xt2, Yt2, Zt2 and origin Ot2, and a second TCP2. Each joint of the robot 1 is arranged to be driven by means of a motor, e.g. a servo-motor, to have a joint angle velocity. Further, each joint defines a joint coordinate system. Fig. 2 illustrates a schematic of a control architecture of the controller 10 of the collaborative robot 1 . The controller 10 typically comprises a memory module 1 1 , a processor module 12, an I/O module 13, a motion planning module 14 and a speed supervision module 15. The controller 10 is configured to control motion of the at least one end effector assembly 3a, 3b. The controller 10 is thus

programmed to control motion of the at least one end effector assembly 3a, 3b. The controller 10 is configured to generate a plurality of poses to which the first end effector assembly 3a is to be moved by the first robot arm 2a. Also, the controller 10 is configured to generate a plurality of poses to which the second end effector assembly 3b is to be moved by the second robot arm 2b. A pose includes both an orientation and a position of an end effector assembly 3a, 3b. With that the controller 10 is configured to do something, may include that the controller 10 is programmed to do something.

The memory module 1 1 may comprise one or several memory units. The memory module 1 1 may comprise a non-volatile memory and/or a removable memory such as a USB (Universal Series Bus) memory stick. The processor module 12 may comprise one or several processors, such as CPUs (Central Processing

Units) or microcontrollers. The I/O module handles external communication to and from the controller 10.

The controller 10 comprises at least one defined direction of the at least one end effector assembly 3a, 3b of the robot 1 in a mechanical interface coordinate system of the robot 1 . In other words, the controller 10 comprises information about the at least one defined direction, where the defined direction is

represented e.g. as a vector with coordinates, and optionally orientation, defined in the one or several mechanical interface coordinate systems of the robot 1 . The vector may be defined as a unit vector. The information may also include a point for which to calculate the speed of the robot 1 in the defined one direction. The controller 10 further comprises a continuously acting speed restriction on the end effector assembly movements in the at least one direction. The controller 10 is further configured to restrict movements of the robot 10 in the one defined direction according to the continuously acting speed restriction. Hence, the speed restriction is set to the controller 10 such that it continuously acting on the movements of the robot 1 . Further, the controller 10 may comprise several defined directions for each end effector assembly 3a, 3b of the robot 1 , and for each defined direction a continuously acting speed restriction. A speed restriction comprises a maximum value of the velocity of the end effector assembly in the defined direction, in the base coordinate system of the robot 1 . The speed restriction is set as a value e.g. 100 mm/s. Thus, the controller 10 is configured to monitor the velocity of the mechanical interface coordinate system in relation to the base coordinate system, and assure that the velocity of the mechanical interface coordinate system in the defined direction does not go beyond the set speed restriction. As understood, the speed restriction is active when the robot 1 is powered.

The motion planning module 14 is configured to plan motions of the robot considering e.g. any speed restrictions, way points, etc. The motion planning module 14 is configured to plan motion of the robot according to a desired path respecting the continuously acting speed restriction. Thereby, the planned speed of the end effector assembly 3a, 3b in the defined direction will never go beyond the speed restriction.

The speed supervision module 15 is configured to monitor the speed of the robot 1 such that no speed restriction of the robot 1 is violated. The speed supervision module 15 may further be configured to monitor the speed of the end effector assembly 3a, 3b while the robot 1 is executing the robot path. The speed supervision module 15 may also be configured to halt movement of the robot 1 upon the one or several speed restrictions of the movements being violated.

In the following a method for safety restricting speed of a robot will be explained, for example the robot depicted in Fig. 1 . However, the method may be applied to any kind of robot, e.g. a collaborative robot with one arm instead of two arms. The method will be explained with reference to the flow chart of Fig. 3 and to the illustrations in Fig. 4. In a first step, the method comprises defining S1 one direction of an end effector assembly of a robot in a mechanical interface coordinate system of the robot. The robot may e.g. be the robot 1 depicted in Fig. 1 . The one end effector assembly referred to herein may thus be any of the first end effector assembly 3a and second end effector assembly 3b of the robot 1 . Then, a first direction of the first end effector assembly 3a is defined, and a second direction of the second end effector assembly 3b is defined. The first and second directions are here the same, but in different coordinate systems, as the first end effector assembly 3a and the second end effector assembly 3b have the same shape. The one direction of an end effector assembly is defined in relation to a sharp or pointy part of the end effector assembly, e.g. a sharp or pointy edge. In other words, any dangerous direction of the end effector assembly is identified, that corresponds to a direction where rapid movements could possibly cause harm to the co-worker. Such directions may be determined by an integrator at the spot by manually observing the end effector assembly, or may be defined in beforehand for each and every end effector assembly. Here, the first gripper and the second gripper of the robot 1 both have tapered, pointy fingers which can be considered dangerous for a human. Thus, one direction of the first end effector 3a is defined to be in the direction of the pointy fingers of the first gripper. Further, one direction of the second end effector 3b is defined to be in the direction of the pointy fingers of the second gripper. The one direction is thus set in a mechanical interface coordinate system of the robot 1 , e.g. the wrist coordinate system or tool flange coordinate system of the robot 1 . As known to the skilled person, a direction in a mechanical interface coordinate system may easily be transformed to a direction in any other coordinate system of the robot 1 , e.g. the base coordinate system, and vice versa. A direction may be defined as a vector, e.g. a unit vector, in coordinates in the mechanical interface coordinate system of the robot 1 . The coordinates are expressed as translations along X, Y and Z as ±x, ±y and ±z, respectively. A point in the mechanical interface coordinate system may be expressed as coordinates in X, Y, Z, which is also the end coordinates of a vector with origin in zero. An orientation is expressed as rotations along X, Y and Z are expressed as ±A, ±B and ±C, respectively. The rotations may also be called roll φ, pitch Θ and yaw ψ, respectively.

In a second step, the method comprises setting S2 a continuously acting speed restriction on the end effector assembly movements in the one direction. Here, a first continuously acting speed restriction is set on the first end effector assembly movements in the first direction, and a second continuously acting speed restriction is set on the second end effector movements in the second direction. As the first end effector assembly 3a and the second end effector 3b of Fig. 1 have the same shape, the first continuously acting speed restriction and the second continuously acting speed restriction are here set to be the same, thus having the same value. With continuously acting speed restriction is here meant a speed restriction that is continuously, i.e. permanently, acting on the movements of the end effector assembly in the one direction. With other words, the speed restriction is continuously active for movements of the end effector assembly in the one direction for all poses of the robot, i.e. for all positions and orientations, of the end effector assembly. Hence, when operating the robot 1 , the speed restriction will limit all movements of the first end effector assembly 3a and the second end effector assembly 3b of the robot 1 in the identified first direction and the second direction, respectively. Thereby rapid movements, thus velocities above the speed restriction, of the end effector assemblies 3a, 3b in the defined directions, respectively, are avoided. Thus, the method will then also comprise operating S5 the robot 1 under influence of the continuously acting speed restriction or restrictions.

Reference is now made to Fig. 4, where one end effector assembly, being any of the first end effector assembly 3a and the second end effector assembly 3b of the robot 1 , is illustrated in two different positions and orientations in the base coordinate system of the same robot 1 . Here, a dangerous direction of the end effector assembly is defined in the shape of a vector D mn in the mechanical interface coordinate system with the axes X mn , Ymn, Z mn , which could be any of the mechanical interface coordinate systems of Fig. 1 . "n" here stands for number being number 1 or 2. A continuously acting speed restriction V ma x is set on the movements of the end effector assembly in the dangerous direction with respect to the base coordinate system of the robot 1 . Thus, the velocity V of the vector Dmn, translated into the base coordinate system, is restricted to be maximum V ma x. In Fig. 4, the defined direction D mn is in the same direction as the positive direction of the axis Z mn . Thus, the robot 1 is only allowed to move the end effector in the positive direction of the axis Z mn , translated into the base coordinate system, up to the maximum velocity Vmax. The vector D mn thus has a constant direction in the mechanical interface coordinate system, but in the base coordinate system the direction will change depending on the position and orientation of the mechanical interface system in the base coordinate system. As the end effector assembly is moved, and thus positioned and oriented, with respect to the base coordinate system, the direction of the speed restriction is calculated in the base coordinate system and the speed of the end effector assembly is then restricted so that the end effector assembly will not move faster than the speed restriction in the base coordinate system in the current direction of the vector D mn . The speed restriction of the defined direction is thus continuously calculated as a maximum velocity vector of a defined point of the end effector assembly in the base coordinate system. If no defined point is explicitly specified, e.g. by the integrator, the defined point is taken as the origo of the mechanical interface coordinate system. Thus, for a given position and orientation of the robot 1 , the direction (and optionally the position as will be explained) of the speed restriction is calculated in the base coordinate system, and the movement speed of the designated end effector with respect to the base coordinate system is then restricted so that the end effector assembly will not move faster than the speed restriction in the base coordinate system. The continuously acting speed restriction is thus set for end effector assembly movements in the base coordinate system of the robot 1 . The base coordinate system is here considered to be still during movement of the robot 1 . In all other directions of the end effector assembly in the mechanical interface coordinate system the speed of the end effector is here not limited. A movement of the robot 1 entails that the mechanical interface coordinate system will travel in the base coordinate system of the robot 1 . If the movement is a pure translation all points in the mechanical interface coordinate system will have the same speed in the base coordinate system. However, if the movement has a rotational component (i.e. A, B and/or C) different points in the mechanical interface coordinate system will have different speeds with respect to the base coordinate system. For restrictions of movements that include a rotational component, it is thus critical that the integrator not only define a direction expressed in the mechanical interface coordinate system, but also a point in the mechanical interface coordinate system for which to calculate the speed in the defined one direction, which speed shall be restricted. For a given movement the controller 10 will then calculate the velocity of the point in the defined direction with respect to the base coordinate system. If the calculated velocity goes beyond the speed restriction, the real velocity of the point in the defined direction will be adapted such that it does not go beyond the speed restriction. Thus, according to some embodiments, the method comprises defining S1 a point of the end effector assembly in the mechanical interface coordinate system, and setting S2 the continuously acting speed restriction on movements of the point in the one direction, in the base coordinate system of the robot. For the robot 1 in Fig. 1 , a suitable point would be the center of the fingertips, e.g. as close as possible to the dangerous edge of the end effector assembly. This point is illustrated as P mn in Fig. 4. For cases where one point is not enough the user can specify multiple points or a region. If a region is used all points within the region should be affected by the speed restrictions defined by the user.

Thus, if the robot for which dangerous directions of the end effector assembly should be specified only can make translational movements, it is sufficient to define the dangerous direction with translational components. However, if the robot is also capable of making movements that re-orientates the end effector assembly, i.e. an articulated robot, the dangerous direction should also comprise a specific point in the mechanical interface coordinate system, for which the speed restriction should be valid. The invention thus differs from previously known methods such as described in WO2014/102018 A1 , as the inventive method is continuously active for end effector assembly movements in the defined one or several directions. Even if the end effector assembly is re-orientated and/or re-positioned during operating the robot 1 , the end effector assembly movements will still be restricted according to the speed restriction. In WO2014/102018 A1 on contrary, a speed reduction may be made for a relative speed vector between the work piece held by the robot and a body part of the co-worker, and hence, if the robot changes direction of the work piece in the working space, the speed reduction will not follow.

The continuously acting speed restriction is active for movements of the end effector assembly in the one direction, for all positions and orientations of the end effector assembly, within at least a partial space of the whole working space of the robot. Hence, the speed restriction may be set to be active for movements of the end effector assembly in the one direction for all poses, i.e. all positions and orientations, of the end effector assembly in at least a partial space of the whole working space of the robot 1 . Thus, if the end effector assembly, being any of the first end effector assembly 3a, or second end effector assembly 3b, is re- orientated and/or re-positioned within the partial space, the continuously acting speed restriction will still restrict the movement of the end effector assembly in the one direction. With at least a partial space of the whole working space is meant a partial three-dimensional space of the whole working space of the robot 1 .

According to some embodiments, the partial space is the collaborative working space of the robot 1 . Thereby, all end effector assembly movements can be considered safe in the space where the co-worker is, but the robot can still move the end effector assembly without the speed restriction outside the collaborative working space. According to some embodiments, the continuously acting speed restriction is active for end effector assembly movements in the one direction in the whole working space of the robot 1 . Thus, irrespective of where the end effector assembly, being any of the first end effector assembly 3a, or second end effector assembly 3b, is in the working space of the robot 1 , when the end effector assembly is moved by the robot 1 in the one direction, the speed is restricted in accordance with the speed restriction.

To find out where an end effector assembly is in relation to the base coordinate system, a set of kinematic equations is used to define the relation between the position of the end effector and the joint angles of the robot. In forward kinematics, the forward kinematic functions define a function where joint angles are the inputs and the outputs would be the coordinates of the end-effector. In inverse

kinematics, the inverse kinematic functions define a function where the

coordinates of the end-effector are the inputs, and the calculated outputs are the joint angles. The velocity relationship may then be determined by a Jacobian of the forward kinematics function. The 6 x n Jacobian J(q) defines a mapping

X = J(q) - q (1 ) between the vector q of joint velocities and the vector X = {ν, ω) τ of end effector assembly velocities. For a 6-DOF robot the inverse velocity equations can be written as:

q = ]{q)- 1 x (2)

Thus, by using a Jacobian, the controller 10 can find out what the different joint angle velocities will cause in terms of the end effector assembly linear and angular velocities, and thus in the defined one direction, here the first direction and the second direction. And vice versa, the controller 10 can find out what the speed restriction of the defined one or several directions, here the first direction of the first end effector assembly 3a and the second direction of the second end effector assembly 3b, will cause in terms of the different joint angle velocities.

Thus, a speed restriction set on movements of an end effector assembly in the one direction, can be mapped to a corresponding speed restriction for each angular velocity of a joint of the robot 1 in any pose of the robot 1 , such that the end effector assembly does not move beyond the speed restriction in the one direction.

After a continuously acting speed restriction has been set on a defined direction of movement of the end effector assembly, the robot 1 can only move the end effector assembly in the defined direction of movement up to the speed of the speed restriction. However, the end effector assembly is moveable by the robot 1 in all other directions that are not restricted by the speed restriction, or any other speed restriction or limitation. Thus, the movements of the robot 1 are only partly restricted, and the robot 1 can efficiently perform work while a co-worker securely can be in the working space of the robot 1 .

The continuously acting speed restriction is preferably set during commissioning of the robot 1 , before the robot 1 is used in production by end users. The robot 1 is provided with a certain end effector, and it should preferably conform with certain security standards for collaborative robots, e.g. ISO/TS 15066. The continuously acting speed restriction may be locked to prevent manipulation, e.g. by password protection. The method may comprise to enable activation

respective deactivation of the continuously acting speed restriction. The

enablement may for example be given by handing over the password of the password protection from the manufacturer to the purchaser of the robot 1 , or from an integrator to another integrator.

If an end effector assembly comprises several sharp or pointy directions, then the method may comprise repeating S3 the step S1 and step S2 for each such direction. In other words, the method may comprise defining S1 several different directions of the end effector assembly of the robot 1 in the mechanical interface coordinate system of the robot 1 . Each of the several different directions is distinct and separated from the other of the several different directions. The method then comprises setting S2 a continuously acting speed restriction on the end effector assembly movements in each of the several different directions. Thus, each direction is unique and can be defined in the mechanical interface coordinate system of the robot 1 .

If several different directions are defined, the same continuously acting speed restriction may be set S2 for movements in all the directions. Alternatively, the method may comprise setting S2 different continuously acting speed restrictions on the end effector assembly movements on movements in the several different directions. According to some embodiment, the method comprises planning S4 a robot path while respecting the one or several speed restrictions of the movement of the end effector assembly. This step may be implemented by the motion planning module 14 of the robot 1 . The one or several speed restrictions may thus be implemented in the motion planner module 14 of the robot 1 , so a user cannot program motions that will trigger any speed supervision.

The robot path may be defined by a task to be executed by the robot 1 . The robot path may be taught to the robot 1 by defining a plurality of way-points for the end effector assembly along the robot path, either by lead-through or by a program. The motion planning module 14 then plans the movement, i.e. the trajectory including positions, speed and/or acceleration, of the end effector assembly of the robot 1 between the waypoints such that one or several speed restrictions of the movement of the end effector assembly are not overrun. For example, the direction of an end effector assembly is continuously monitored and if the direction agrees with any of the one or several defined directions, the speed is set such that it does not violate the speed restriction of the defined directions. A maximum velocity vector for the end effector assembly movements in the one direction is defined by the one direction, optionally the position, and the speed restriction of the one direction, in the base coordinate system. As the end effector assembly is moved, the maximum velocity vector is re-positioned and/or re-orientated along with the movements of the mechanical interface coordinate system. The velocity of the end effector assembly in the base coordinate system is continuously calculated and monitored. When the end effector assembly is moved in the direction of the maximum velocity vector in the base coordinate system, the velocity of the end effector assembly is restricted such that it does not go beyond the velocity of the maximum velocity vector. Thus, the defining S1 and setting S2 are made independently from any path planning of the robot 1 . For example, if the integrator programs all motions to be at maximum possible speed, the robot 1 will still plan and execute the paths respecting the defined limits. A movement in a defined pointy direction of the end effector assembly with an adhering speed restriction in the direction will be limited to the speed restriction value previously defined. A movement in the reverse direction of the defined direction could still be performed with maximum speed, if no speed restrictions have been defined in that direction of the end effector assembly.

When the motion planning module 14 has planned the trajectory between the waypoints, the robot 1 is ready to execute the robot path. While executing the robot path, as a safety caution, the speed of the end effector assembly may be monitored by the speed supervision module 15 such that the speed in any speed restricted direction of the end effector assembly is not accidently violated. Upon any of the one or several speed restrictions of the movements being violated, the method comprises halting motion of the robot 1 .

The one or several directions of the end effector assembly are defined in relation to a sharp or pointy part of the end effector assembly. A direction may thus be a characteristic of the end effector, or a characteristic of an end effector holding a working object. For a collaborative robot 1 , a practical example would be that the programmer defines any dangerous directions of movement of any dangerous tooling attached to the end flange of the robot 1 , before beginning to program the robot 1 . This would typically be the pointy direction of the fingers of a gripper. In most cases, it is not a risk to get hit by the fingers by any sideways movement of the fingers, i.e. a co-worker gets hit by the side of the finger, and hence it is typically only dangerous to get hit in the pointy direction. There are several reasons for this. The most important is that the mass behind a sideways hit will only be the mass of the fingers themselves. As the mass of the fingers

themselves is low, this risk can be considered non-existing. When hit in the forward direction of the fingers, the mass behind a collision will be the entire hand and wrist of the arm of the collaborative robot 1 . This mass is much higher and will thus be much more dangerous. Hence, the user could say that in the pointy direction of the fingers, a 100 mm/s limit is required, and in any other direction a 1500 mm/s speed limit might be fine. Of course this depends on the tooling of the robot 1 , as well as on the working object manipulated by the robot 1 . If any other directions are considered hazardous, then additional speed limits should be added for those directions.

The method may comprise setting a continuously acting speed restriction based on a predetermined rule for the end effector assembly. The predetermined rule is for example a table, one or several formulas or one or several conditions. A table with different kinds of end effector assemblies, with and/or without working object, may be defined in the memory module 1 1 of the controller 10, together with associated defined directions and speed restrictions for the defined directions. The predetermined rule may include to consider radii of curvature of the end effector assembly to identify a pointy or sharp direction. The predetermined rule may also include to consider elasticity of the end effector assembly. Thus, if the end effector assembly is very elastic, the end effector assembly may have a less number of dangerous directions, whereas if the end effector assembly is stiff, the end effector assembly may have a greater number of dangerous directions, even if they have the same outer shape.

Upon an end effector assembly is attached to the robot 1 , the robot 1 may identify the end effector assembly, e.g. by camera supervision or other identification means, and find the corresponding defined one or several directions and one or several speed restrictions, and optionally starting points for the one or several directions, in the table of the end effector assembly. The controller 10 may thus automatically perform any or even all the steps of the method. However, the table should be defined in beforehand by a robot technician, and preferably made tamper proof. The steps of the method may be defined in a computer program, comprising instructions which, when the program is executed by a computer e.g. the controller 10, cause the computer to carry out the method. The steps of the method may also be defined in a computer-readable medium, e.g. a removable memory such as a USB memory stick. The computer-readable medium then comprises instructions, which, when executed by a computer, cause the computer to carry out the method.

The one or several directions and speed restrictions may alternatively be set manually into controller 10, e.g. to the memory module 1 1 , by the robot integrator via a user interface of the robot 1 .

The present invention is not limited to the above-described preferred

embodiments. Various alternatives, modifications and equivalents may be used. Therefore, the above embodiments should not be taken as limiting the scope of the invention, which is defined by the appending claims.