Method for monitoring guided teaching
By combining velocity vectors and force vectors, the guiding force and clamping force are distinguished, solving the problem of frequent protective stops in robot guided teaching and improving efficiency and safety.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ABB (SCHWEIZ) AG
- Filing Date
- 2023-10-09
- Publication Date
- 2026-05-01
AI Technical Summary
In existing technologies, robot-guided teaching cannot effectively distinguish between guiding force and clamping force in human-machine collaborative environments, leading to frequent and unnecessary protective stops that affect work efficiency and safety.
By combining the velocity and force vectors of robot components, power signs and angle thresholds are calculated to distinguish between guiding force, clamping force, and stopping force, triggering a safe stop and avoiding unnecessary protective stops.
It improves the efficiency and safety of guided teaching, reduces unnecessary safety stops, and ensures high safety in human-machine collaborative environments.
Smart Images

Figure CN121969463A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a computer-implemented method for guided teaching of a robot in a human-robot collaborative environment, a data processing device, a computer program, a computer-readable medium, and a system. Background Technology
[0002] Human-robot collaboration is known in the prior art. Guided teaching is a type of process in human-robot collaboration and is also known in the prior art. Guided teaching involves a robot programming method. For this purpose, the programmer moves the robot to the desired position. All coordinates reached in this way are stored in the control system. One hazard of guided teaching in human-robot collaboration is collision between the robot and the human. Collisions can include clamping and impact. Different safety methods exist to mitigate the safety effects of such collisions. For example, velocity and / or force thresholds are applied in guided teaching.
[0003] However, such speed and / or force thresholds may lead to unnecessary protective stops during guided teaching. Summary of the Invention
[0004] In view of the above, the object of the present invention is to provide a method for monitoring guided teaching of a robot in a human-robot collaborative environment; more particularly, the object of the present invention is to provide an improved method for monitoring guided teaching of a robot in a human-robot collaborative environment. These and other objects will become clear upon reading the following description, and are addressed by the subject matter of the independent claims. The dependent claims relate to preferred embodiments of the invention.
[0005] In one aspect of this disclosure, a computer-implemented method for monitoring guided teaching of a robot in a human-robot collaborative environment is provided, the method comprising the steps of: receiving velocity vectors of robot components; receiving force vectors of robot components; determining a safety outcome based on the received velocity vectors and the received force vectors; and triggering a safety stop based on the determined safety outcome.
[0006] The term "guided teaching" as used in this document should be understood broadly and can refer to manual-guided programming. During manual guidance, the operator is programmed to physically move the robot through one or more waypoints for a desired task. Guided teaching can be used for tasks such as welding, painting, or applying adhesives to structural components. Guided teaching can be applied to single or repetitive tasks.
[0007] The term "robot" as used herein should be broadly understood and can refer to any electromechanical manipulator having one or more drive axes and controls. Preferably, a robot may include at least a wrist, an arm, drive axes, and controls. Drive axes may include electric motors and gears. The robot may include sensors configured to measure the position of the arm. This position may include an angle. The sensor may be an encoder. The robot may include a torque sensor configured to measure torque. The robot may include a current sensor configured to measure motor current. The robot may include a sensor configured to measure the torque between the motor and the gears.
[0008] The term "human-robot collaborative environment" as used herein should be broadly understood and can refer to any environment in which a human works near a robot, allowing the robot to touch the human, and vice versa. Human-robot collaboration preferably involves humans and robots working together to perform a task. A human-robot collaborative environment may include a robot configured to be guided by an operator. A human-robot collaborative environment may include a robot with welding tools, painting tools, bonding tools, and / or other end effectors known in the art.
[0009] The term "robot element" as used herein should be understood broadly and may refer to any part of the robot. An element can be an arm, wrist, tool center point (TCP), tool, and / or elbow. An element can be an actuator mounted on the robot.
[0010] The term "velocity vector" as used herein preferably refers to the velocity vector of a robot element. The velocity vector preferably consists of the magnitude of the velocity multiplied by its direction in a chosen coordinate system. For example, the velocity vector of a robot arm may involve a vector between a point on the element and another nearby point, or a point on the element and its corresponding direction. This point may be a corner of the element, the center of mass of the element, the center of the surface of the element, or the center of volume of the element. This point can be any point on the robot element. The point of the velocity vector and the point of the force vector can preferably be the same. The velocity vector can be determined using a multibody model that takes into account the structural geometry of one or more elements of the robot, the motion of one or more elements, and the position of one or more elements of the robot. The multibody model can determine the velocity vector from sensor data and / or machine control data received from the robot. The multibody model can be implemented in the robot's controls. The velocity vector can be provided to the method through an interface of a data processing device performing the method.
[0011] The term "force vector" as used herein preferably refers to the force vector of a robot element. A force vector is preferably composed of the magnitude of the force multiplied by its direction in a chosen coordinate system. For example, the force vector of a robot arm may involve a vector between a point on the element and another nearby point, or it may involve a point on the element and its direction. This point may be a corner of the element, the center of mass of the element, the center of the surface of the element, or the center of volume of the element. This point may be any point on the robot element. The points of the force vector and the velocity vector may preferably be the same. The force vector can be determined using a multibody model. The multibody model may take into account the structural geometry and weight of one or more elements of the robot, the motion of one or more elements, the position of one or more elements of the robot, and the loads applied to one or more elements of the robot. The multibody model may receive sensor data and / or machine control data to determine the force vector. Sensor data may include data from torque sensors, motor current sensors, encoders, and other torque sensors. The multibody model can be implemented in the robot's controls. The robot may include force sensors located at the robot's end effector. The robot may include torque sensors located at the robot's end effector. Force vectors can be determined by kinematic projection onto any element of the robot (correspondingly, any specific point of any element). Force vectors can be determined via joint torque measurements and kinematic projection onto any element of the robot (correspondingly, any point of any element). Gravity and inertial loads can also be considered in this case. Disturbance torque can be determined by comparing the joint torque predicted via a dynamic model of the robot arm with the measured joint torque. Force vectors can then be determined by kinematic projection of the disturbance torque onto any point of the robot. Joint torque measurements can be performed using torque sensors, motor / arm-side sensors, and / or motor current sensors. Force vectors can be provided to the method via an interface of a data processing device performing the method.
[0012] The term "safety result" as used herein should be understood broadly and can refer to any calculation result that considers the force vector of an element and the velocity vector of the same element. In other words, the safety result representation is determined based on the received velocity and force vectors, which are processed together rather than independently of each other.
[0013] The term “safe stop” as used in this article should be understood broadly and may refer to the cessation of robot movement or the retraction of robot components to release clamping.
[0014] This invention is based on the finding that, in guided teaching within a human-robot collaborative environment, current safety features (such as tool force monitoring) cannot distinguish between desired guiding forces and unwanted clamping forces. Every external force applied to the robot (i.e., the manipulator) is interpreted as a potential clamping force, leading to a protective stop once a pre-configured force threshold is exceeded. To ensure that the clamping force remains below a biomechanical pain threshold, a maximum speed threshold is monitored in addition to the pre-configured force threshold. This raises the problem that when guiding the robot using guided teaching, it is difficult for the operator to maintain the necessary speed threshold. This results in frequent, unnecessary protective stops due to the speed threshold being triggered. For example, to mitigate this, more resistance could be added to the guided teaching function to help the user stay within the maximum speed threshold. However, the operator would then need to apply more guiding forces to the robot, which are then interpreted as clamping forces by a power-limiting algorithm. This again leads to frequent protective stops due to the triggering force threshold. This invention proposes combining the checking of velocity and external force by examining the directions of the velocity vector and the force vector, rather than checking the absolute thresholds of velocity (i.e., speed) and external force separately. If these two points are in similar directions, the end effector follows the guiding force, and therefore no clamping occurs. If they point in opposite directions, the movement of the end effector is constrained by an external force, which can be a dangerous clamping force. This can be advantageous because it reduces unnecessary safety stops and thus improves the efficiency of guided teaching, while also ensuring high human safety in human-machine collaborative environments.
[0015] In one embodiment of the method, determining the safety outcome may include calculating the power and evaluating the sign of the calculated power, and triggering a safety stop if the sign is negative. The power can be calculated by computing the scalar product of the velocity vector and the force vector. .
[0016] If the scalar product is positive, the angle between the velocity vector and the force vector is acute. An acute angle indicates that the force vector and velocity point in similar directions. If the scalar product is negative, the angle between the velocity vector and the force vector is obtuse. An obtuse angle indicates that the force vector and velocity point in opposite directions. A safety stop is triggered based on the evaluation of the sign (i.e., positive or negative). For example, a safety stop is triggered if the sign is negative. For example, a safety stop is not triggered if the sign is positive. The sign can distinguish between dangerous and non-dangerous external forces. A positive sign indicates that the motion of the robot's supervised part can roughly follow the external force. This can indicate that the robot is following the guiding force, which is the intended function. This can advantageously address the problem of erroneous triggering under high guiding forces with high guiding resistance, ensuring a slow rate to reach reasonable power-limited trigger limits. A negative sign can indicate that the current motion is relative to the external force. This could be due to the operator quickly changing the guiding direction from left to right, or the robot making contact due to a control system malfunction.
[0017] In one embodiment of this method, determining a safety outcome may include calculating the angle between the force vector and the velocity vector and comparing it to a predefined threshold angle, and triggering a safety stop if the calculated angle exceeds the predefined threshold angle. Providing a predefined threshold angle may make the method more restrictive if the threshold angle is below 90°, or less restrictive if the threshold angle is above 90°. This angle can be calculated using the following formula:
[0018] The threshold angle allows a cone to be defined around the velocity vector, and the force vector can point into that cone. This allows the guide force to be distinguished from the clamping force.
[0019] In one embodiment of this method, the predefined threshold angle can be less than 90°. A threshold angle less than 90° allows for safer guided teaching of the robot because the method is more restrictive than evaluating the sign of the scalar product of force and velocity vectors.
[0020] In one embodiment of this method, a predefined threshold angle can be greater than 90°. A threshold angle greater than 90° can distinguish between stopping force and clamping force. As used herein, the term "stopping force" can refer to a force used by an operator to reduce the robot's speed, particularly the speed of robot components (e.g., TCP). If the angle between the velocity vector and the force vector is between a threshold angle greater than 90° and an angle of 90°, then the force vector can be a stopping force. If the corresponding angle is less than 90°, then the force vector can be a guiding force. If the corresponding angle is greater than the threshold angle, then the force vector can be a clamping force and may therefore trigger a safety stop, which would otherwise not trigger a safety stop. This makes guided teaching more robust to prevent unnecessary safety stops.
[0021] In one embodiment of the method, if the calculated angle is higher than a predefined threshold angle, the method may further include determining the duration since the calculated angle exceeded the predefined angle, and may include comparing the determined duration with a predefined duration. If the determined duration is lower than the predefined duration, the method may include not triggering a safety stop; and if the determined duration exceeds the predefined duration, the method may include triggering a safety stop.
[0022] In other words, the force vector is allowed to leave a predefined angle for a certain amount of time. This duration can be, for example, 0.01 s or less. This can advantageously improve the robustness of the method against unnecessary safety stops. Furthermore, the force vector can be allowed to leave the predefined angle as long as the force magnitude is below a predefined threshold. This will improve the robustness of the method to prevent users from intentionally braking the robot manually during guidance.
[0023] In one embodiment, the method may further include transforming the received velocity vector and the received force vector into their corresponding low-frequency and high-frequency components in the frequency domain; comparing the low-frequency component of the velocity with a low-frequency velocity threshold and comparing the low-frequency component of the force vector with a low-frequency force threshold; triggering a safety stop if the low-frequency component of the velocity and / or the low-frequency component of the force exceeds the corresponding threshold; comparing the high-frequency component of the velocity with a high-frequency velocity threshold and comparing the high-frequency component of the force vector with a high-frequency force threshold; triggering a safety stop if the high-frequency component of the velocity and / or the high-frequency component of the force exceeds the corresponding threshold.
[0024] This method can decompose velocity and / or force vectors into low-frequency and high-frequency components. In other words, it distinguishes between slow changes in force and velocity vectors (i.e., low-frequency changes in the transformed vectors) and rapid changes in force and velocity vectors (i.e., high-frequency changes in the transformed vectors). For rapid changes in force and / or velocity vectors, a safety stop is triggered immediately. For slow changes in force and / or velocity vectors, the above measures can be applied to distinguish between guiding force, clamping force, and / or stopping force. This can be advantageous from a safety perspective, as distinguishing between guiding force, clamping force, and / or stopping force can be time-consuming. This can lead to longer reaction times. Therefore, if the velocity and / or force vectors undergo high-frequency changes, it can be beneficial to trigger a safety stop immediately. This can be a simple comparison with a predefined force threshold and / or a comparison with a predefined velocity threshold. In other words, the velocity and force vector signals are decomposed into high-frequency and low-frequency components. Different monitoring strategies can then be applied to these components. For example, for the high-frequency components: the force vector can be compared with a predefined force threshold. Similarly, for low-frequency components: force vectors can be analyzed to distinguish guiding forces, clamping forces, and / or stopping forces.
[0025] In one embodiment of the method, determining a safety outcome may include comparing the magnitude of a velocity vector with a predefined velocity threshold and comparing the magnitude of a force vector with a predefined force threshold; if the velocity vector is below the predefined velocity threshold, determining the duration since the velocity vector fell below the predefined velocity threshold and comparing the determined duration with a predefined duration; and if the determined duration is above the predefined duration and the force vector is above the predefined force threshold, triggering a safety stop.
[0026] Clamping essentially only occurs at zero velocity. In this situation, the robot may stick, but contact will still be maintained. In other words, this method can detect whether the robot is stuck or beginning to get stuck by determining a very small velocity with both high force and / or a high force increase simultaneously. The predefined velocity threshold can cover a range near zero velocity. The predefined velocity threshold can be 0.05 m / s or less. The predefined duration can be 0.1 s or less. The predefined force threshold can be 100 N, 1.0 kN, or greater. This can advantageously improve the safety of guided teaching.
[0027] In one embodiment of the method, guided teaching may be based on admittance-based guided control.
[0028] In this way, the speed in the speed loop of the function controller can be easily limited below the rate limit of the motion monitoring safety function. If the user then attempts to pull harder to make the robot move faster, the above method can be used to identify the increased external force as a guiding force to avoid erroneously triggering the safety stop.
[0029] In one embodiment of the method, the method may further include providing artificially generated resistance motion.
[0030] This can be advantageous in preventing users from violating speed monitoring rules. It can also be advantageous because it makes speed and / or force vectors easier to identify clearly. Artificial resistance can be provided by adding damping to the guided teach pendant controller.
[0031] In one embodiment of the method, the method can be implemented in the robot's safety controller.
[0032] The term “safety controller” as used herein should be understood broadly and preferably may refer to a safety programmable logic controller.
[0033] Another aspect of this disclosure relates to a data processing apparatus that includes means for performing the methods described above.
[0034] Another aspect of this disclosure relates to a computer program that includes instructions that, when executed by a computer, cause the computer to perform the methods described above.
[0035] Another aspect of this disclosure relates to a computer-readable medium including instructions that, when executed by a computer, cause the computer to perform the methods described above.
[0036] The final aspect of this disclosure relates to a system comprising a robot and a data processing device as described above, the data processing device being configured to perform the methods described above.
[0037] The device may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces for connection to a local area network (LAN), the Internet, a wide area network (WAN), or a combination thereof. The functionality of any given device or unit of this disclosure may be distributed among multiple units or devices connected via the interface circuits. The device according to one or more example embodiments may also include one or more storage devices. The one or more storage devices may be tangible or non-transitory computer-readable storage media, such as random access memory (RAM), read-only memory (ROM), permanent mass storage devices (such as disk drives), solid-state devices (such as NAND flash memory), and / or any other similar data storage mechanism capable of storing and recording data. The one or more storage devices may be configured to store computer programs, program code, instructions, or combinations thereof.
[0038] Any disclosures and embodiments described herein relate to the methods, systems, devices, and computer program elements described above, and vice versa. Advantageously, the benefits provided by any embodiments and examples also apply to all other embodiments and examples, and vice versa. Attached Figure Description
[0039] In the following description, the present disclosure is illustrated by way of example with reference to the accompanying drawings, in which...
[0040] Figure 1 A flowchart illustrating an example method for guided teaching of robots in a human-robot collaborative environment is shown.
[0041] Figure 2 A schematic diagram of the robot in the first case of guided teaching is shown;
[0042] Figure 3 A schematic diagram of the robot is shown in another case of guided teaching;
[0043] Figure 4 A schematic diagram of the robot is shown in another scenario of guided teaching; and
[0044] Figure 5A schematic diagram of an example bandpass filter is shown. Detailed Implementation
[0045] Figure 1 A flowchart illustrating an example method for guided teaching of robots in a human-robot collaborative environment is shown.
[0046] Step S100 includes receiving the velocity vector of a component of the robot. The robot is preferably an articulated robot with a safety controller for performing the methods described herein. In this example, the component is the tool center point (TCP) of the robot's welding tool. The robot is positioned in a human-robot collaborative environment. In an exemplary use case, a human can teach the robot one or more positions for welding. The velocity vector is determined using a multibody model that takes into account the structural geometry of one or more components of the robot, the motion of one or more components, and the position of one or more components of the robot. The velocity vector is provided to the method through an interface of the safety controller performing the method.
[0047] Step S200 includes receiving the force vector of a component of the robot. In this example, the robot includes a force sensor at the TCP. The force vector is provided to the method through an interface of a safety controller performing the method.
[0048] S300 includes determining a safety outcome based on the received velocity vector and the received force vector. In this example, the safety outcome is determined by calculating the power by computing the scalar product of the velocity vector and the force vector and further evaluating the sign of the calculated power.
[0049] S400 includes triggering a safety stop based on the determined safety result. In this example, a safety stop is triggered if the calculated power has a negative sign. A safety stop may include the retraction of robot components to release clamping. The stop of robot movement can be a Class 1 stop or a Class 2 stop. If the calculated power has a positive sign, a safety stop is not triggered. If a safety stop is not triggered, a human can guide the robot, specifically the robot's TCP, to further reach the desired position.
[0050] Figure 2 A schematic diagram of the robot in the first case of guided teaching is shown. In this example, robot 10 is an articulated robot with two arms 11 and 12, three joints 13, 14 and 15, and a tool carrier 16. TCP 17 is positioned at the tip of the tool carrier 16. In this example, the origins of velocity vector 21 and force vector 22 are in TCP 17. In this example, safety outcomes include predefined threshold angles. θ lim 23. Predefined threshold angle θlim 23 extends from velocity vector 21 in two directions and forms a cone 24. If the angle between force vector 20 and velocity vector 21... θ 22 is equal to or less than a predefined threshold angle θ lim If 23 is not triggered, a safety stop will not be activated. If the angle between force vector 20 and velocity vector 21... θ 22 is greater than the predefined threshold angle θ lim If 23 is reached, a safety stop is triggered. In this example, force vector 20 is located within cone 24, and therefore angle 22 is less than a predefined threshold angle. θ lim 23. Therefore, the force vector is interpreted as a guiding force because it points in a direction similar to the velocity vector. Thus, a safety stop is not triggered, and the robot can be moved further to the desired position by the human.
[0051] Figure 3 A schematic diagram of the robot in the second case of guided teaching is shown. Figure 2 Conversely, in this example, robot 50 collides with clamping surface 51.
[0052] Determined by predefined threshold angle θ lim 54 The cone 56 formed around the velocity vector 52 and Figure 2 The same as in the previous example. However, the force vector 53 points in the opposite direction to the velocity vector 52. Therefore, the angle between the velocity vector and the force vector is... θ 55 is greater than the predefined threshold angle θ lim 54. In this situation, the method triggers a safety stop. Force 53 is interpreted as a clamping force. Because the method disables the actuators, a human cannot move the robot to another location.
[0053] Figure 4 A schematic diagram of the robot is shown in another case of guided teaching.
[0054] and Figure 3 Conversely, predefined threshold angle θ lim 80° is greater than 90°. Collision situation and Figure 3 The same as in [the previous sentence]. Determined by a predefined threshold angle. θ lim The region formed by 80 includes two regions, 81 and 82. Region 81 involves the angle between the velocity vector 83 and the force vector 84 therein. θ The region is less than 90°. Therefore, the force vector is interpreted as a guiding force. Region 82 is the angle between the velocity vector 83 and the force vector 84. θAngle greater than 90° and less than a predefined threshold angle θ lim Region 80. Therefore, the force vector is interpreted as a stopping vector. Region 85 is where the angle between the velocity vector 83 and the force vector 84 is greater than a predefined threshold angle. θ lim The area is 80. Therefore, the force vector is interpreted as a clamping force. In this example, force vector 84 is interpreted as a clamping force, and a safety stop is triggered.
[0055] Figure 5 A diagram illustrating a filter applied to force and velocity vectors is shown. The vertical axis 100 represents the signal amplitude. The horizontal axis 101 represents the timeline. Figure 102 shows the input. The input signal 102 includes either a velocity vector or a force vector. The input signal 102 is divided into a high-frequency input component 103 and a low-frequency input component 104. At time 0.5, the input signal 102 changes rapidly. Therefore, the low-frequency input component 103 increases slowly and then remains high. The high-frequency input component 104 increases rapidly and then decreases again after the rapid change ends. The method described above applies this filter to the velocity and / or force vectors to distinguish between high-frequency and low-frequency changes. For rapid changes in the force and / or velocity vectors, a safety stop can be triggered immediately. For slow changes in the force and / or velocity vectors, the above measures can be applied to distinguish between guiding forces, clamping forces, and / or stopping forces. List of reference numerals
[0056] S100: Receiver velocity vector
[0057] S200: Receiver force vector
[0058] S300: Determine safety outcome
[0059] S400: Triggering a safety stop
[0060] 10, 50: Robots
[0061] 11, 12: Arms
[0062] 13, 14, 15: Joints
[0063] 16: Tool holder
[0064] 17: TCP
[0065] 20, 53, 84: Force vectors
[0066] 21, 52, 83: Velocity vector
[0067] 22, 55: Angle
[0068] 23, 54, 80: Threshold angles
[0069] 24, 56: Cone
[0070] 51: Clamping surface
[0071] 81, 82, 85: Area
[0072] 100: Vertical axis
[0073] 101: Horizontal axis
[0074] 102: Input signal
[0075] 103: High frequency
[0076] 104: Low frequency
Claims
1. A computer-implemented method for monitoring guided teaching of a robot in a human-robot collaborative environment, the method comprising: Receive the velocity vector of the robot's components (S100); Receive the force vector of the component of the robot (S200). The safety outcome is determined based on the received velocity vector and the received force vector (S300). Trigger a safety stop based on the determined safety outcome (S400).
2. The method of claim 1, wherein determining the safety result includes calculating the power and evaluating the sign of the calculated power, and if the sign is negative, the safety stop is triggered.
3. The method according to claim 1 or 2, wherein determining the safety result includes calculating the angle between the force vector and the velocity vector and comparing the angle with a predefined threshold angle, and triggering the safety stop if the calculated angle is greater than the predefined threshold angle.
4. The method according to claim 3, wherein the predefined threshold angle is less than 90°.
5. The method according to claim 3, wherein the predefined threshold of claim 3 is greater than 90°.
6. The method according to any one of claims 3 to 5, wherein if the calculated angle is higher than the predefined threshold angle, then: Determine the duration since the calculated angle has been higher than the predefined angle, and compare the determined duration with the predefined duration; as well as If the determined duration is less than the predefined duration, the safety stop is not triggered; as well as If the determined duration is longer than the predefined duration, the safe stop is triggered.
7. The method according to any one of the preceding claims further comprises: The received velocity vector and the received force vector are transformed into their corresponding low-frequency and high-frequency components in the frequency domain. The low-frequency component of the velocity is compared with a low-frequency velocity threshold, and the low-frequency component of the force vector is compared with a low-frequency force threshold. If the low-frequency component of the velocity and / or the low-frequency component of the force exceeds a corresponding threshold, the safety stop is triggered. The high-frequency component of the velocity is compared with a high-frequency velocity threshold, and the high-frequency component of the force vector is compared with a high-frequency force threshold; If the high-frequency component of the velocity and / or the high-frequency component of the force exceeds a corresponding threshold, the safety stop is triggered.
8. The method according to any one of the preceding claims, Determining the safety result includes comparing the magnitude of the velocity vector with a predefined velocity threshold and comparing the magnitude of the force vector with a predefined force threshold. If the velocity vector is lower than the predefined velocity threshold, then the duration since the velocity vector fell below the predefined velocity threshold is determined, and the determined duration is compared with the predefined duration. Furthermore, if the determined duration is longer than the predefined duration and the force vector is higher than the predefined force threshold, the safety stop is triggered.
9. The method according to any one of the preceding claims, wherein guided teaching is based on admittance-based guided control.
10. The method according to any one of the preceding claims further includes providing artificially generated resistance to moving the robot.
11. The method according to any one of the preceding claims, wherein the method is implemented in the safety controller of the robot.
12. A data processing apparatus comprising means for performing the method according to any one of claims 1 to 12.
13. A computer program comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 12.
14. A computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 12.
15. A system comprising a robot and a data processing apparatus according to claim 12, the data processing apparatus being configured to perform the method according to any one of claims 1 to 11.