Detection of changes in contact between a robot arm and an object

By using force sensors and acceleration sensors to detect contact force and acceleration in the contact part of the robot arm, the accuracy and robustness of contact change detection in the prior art are solved, and efficient and economical contact change detection is achieved.

CN113874174BActive Publication Date: 2025-03-11UNIVERSAL ROBOT
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202080038267.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-05-29
Filing Date
2020-05-28
Publication Date
2025-03-11
Estimated Expiration
2040-05-28

AI Technical Summary

Technical Problem

The prior art is difficult to accurately detect contact changes between the contact portion of the robot arm and the external object, resulting in misdetection and programming complexity.

Method used

By combining a force sensor and an acceleration sensor, the contact force and partial acceleration of the contact portion of the robot arm are detected, indicating changes in the contact based on these signals.

Benefits of technology

Accurate, fast and robust detection of contact changes between the contact part of the robot arm and the object is achieved, reducing the error detection rate and simplifying the programming of the robot arm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113874174B_ABST
    Figure CN113874174B_ABST
Patent Text Reader

Abstract

The present invention provides a method for detecting a change in contact between a contact portion of a robot arm and an object, comprising obtaining a contact force provided at the contact portion of the robot arm by sensing a force provided to a portion of the robot arm; and obtaining a partial acceleration 5 of the contact portion of the robot arm by sensing an acceleration of at least a portion of the robot arm, and then, indicating whether a change in contact between the contact portion of the robot arm and the object has occurred based on the obtained contact force and the obtained contact portion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot arm comprising a plurality of robot joints connecting a robot base and a robot tool flange, wherein a robot controller is configured to control the robot arm and detect a change in contact between a contact portion of the robot arm and an external object. In addition, the present invention relates to a method of indicating a change in contact between a contact portion of the robot arm and an external object. Background Art

[0002] A robot arm comprising a plurality of robot joints and links, wherein a motor can move parts of the robot arm relative to each other, is known in the field of robotics. Typically, the robot arm comprises: a robot base, which serves as a mounting base for the robot arm; and a robot tool flange, wherein various tools can be attached to the robot tool flange. The robot controller is configured to control the robot joints to move the robot tool flange relative to the base. For example, in order to instruct the robot arm to perform a plurality of work instructions. The robot joints can be rotational robot joints configured to rotate parts of the robot arm relative to each other, prismatic joints configured to translate parts of the robot arm relative to each other, and / or any other kind of robot joints configured to move parts of the robot arm relative to each other.

[0003] Typically, a robot controller is configured to control robot joints based on a dynamic model of a robot arm, wherein the dynamic model defines the relationship between the forces acting on the robot arm and the resulting acceleration of the robot arm. Typically, the dynamic model includes a kinematic model of the robot arm, knowledge about the inertia of the robot arm, and other parameters that affect the movement of the robot arm. The kinematic model defines the relationship between different parts of the robot arm and may include information about the robot arm (such as the length, hardness, stiffness and size of the joints and links), and may be described, for example, by Denavit-Hartenberg parameters, etc. The dynamic model allows the controller to determine which torques the joint motors will provide in order, for example, to move the robot joints at a specified speed, acceleration, or to keep the robot arm in a static pose.

[0004] Typically, various end effectors may be attached to the robot tool flange, such as grippers, vacuum grippers, magnetic grippers, screwdrivers, welding equipment, dispensing systems, vision systems, etc. The robot arm needs to be programmed by a user or a robot integrator that defines various instructions for the robot arm, such as predefined movement patterns and work instructions, such as grip, wait, release, screwing instructions. The instructions may be based on various sensors or input signals that typically provide a trigger signal for stopping or starting a given instruction. The trigger signal may be provided by various indicators, such as a safety curtain, a vision system, a position indicator, etc.

[0005] Alessandro De Luca, Alin Albu-Schaffer, Sami Haddadin and Gerd Hirzinger; "Collision Detection and Safe Reaction with the DLR-III Lightweight Manipulator Arm", Proceedings of the 2006 IEEE / RSJ; International Conference on Intelligent Robots and Systems; October 9-15, 2006; Beijing, China; DOI: 10.1109 / IROS.2006.282053 discloses a collision detection method that uses only proprioceptive robot sensors and also provides directional information for safe robot reaction after a collision. The method was first developed for a rigid robot arm and then extended to the case of a robot with elastic joints, proposing different reaction strategies. The detection method is based on the change in momentum of the robot arm obtained based on the dynamic model, velocity and position of the robot arm. This method is slow and inaccurate and is only suitable for safe reactions.

[0006] It is also known to use force / torque sensors for such input signals, for example in order to instruct the robot to provide a predefined force / torque to an object being carried by the robot arm. Additionally, force / torque sensors may be used to provide a signal indicating when a part of the robot arm is in contact with an external object, such detection being primarily used to indicate a dangerous situation and to bring the robot arm into a safe state in order to prevent an accident. In some cases, the robot arm may be instructed to perform an action when the detected force / torque exceeds a desired threshold, for example due to the fact that the robot arm is in contact with an object. JP2018155555 discloses a mass measuring device for calculating the mass of an article from a force and an acceleration acting on the article, the mass measuring device comprising: a force sensor for outputting a value corresponding to the force acting on the article when the article is moved by a robot arm; an acceleration sensor for outputting a value corresponding to the acceleration acting on the article when the article is moved by the robot arm; an operation control unit for controlling the operation of the robot arm; and a stop determination unit for determining that a stop condition is established when an output value of the force sensor exceeds a predetermined reference force measurement value or when an output value of the acceleration sensor exceeds a predetermined reference acceleration measurement value. When the stop condition is determined to be established, the operation control unit stops the operation of the robot arm. The force / torque and acceleration sensors are sensitive and relatively high thresholds need to be set to ensure that contact has actually occurred. Therefore, it is difficult to accurately detect when the part of the robot arm is in contact with an external object based on the force / torque or acceleration. Setting the force / torque and acceleration tolerances low results in many falsely detected contacts, since the robot arm generates forces / torques and accelerations during motion and / or vibrations, which may result in false positives if the required tolerances are set too low. Therefore, contact detection may only be used to a limited extent as a trigger for program instructions, and therefore contact detection-based programming of robot arms has not been implemented.

[0007] US2016 / 0031086 A1 discloses a mobile collaborative robot, which includes: a force sensor, which is arranged on a robot support located on a bracket; a robot information acquisition unit, which takes robot information including posture information of the robot body and load information of the load acting on the robot; a force calculation unit, which calculates the external force acting on the robot support based on the robot information; and a judgment unit, when the difference between the external force detected by the force sensor and the external force calculated by the force calculation unit is higher than a predetermined value or when the difference between the change in the detected external force and the change in the calculated external force is higher than a predetermined value, the judgment unit judges that the mobile collaborative robot has made contact with a person. In one embodiment, the acceleration sensor is arranged on the bracket and detects the acceleration of the bracket when the bracket moves. In another embodiment, the acceleration sensor is arranged on the robot support and detects the vibration of the robot support. In these two embodiments, the correction unit corrects the external force F detected by the force sensor based on the acceleration detected by the acceleration sensor. Summary of the invention

[0008] The object of the present invention is to solve the above limitations of the prior art or other problems of the prior art, such as providing a robust and reliable indication of a change in contact between a part of a robot arm and an external object. This is achieved by a method for detecting a change in contact between a contact part of a robot arm and an object, the method obtaining a contact force provided at the contact part of the robot arm by sensing a force provided to a part of the robot arm; and obtaining a partial acceleration of the contact part of the robot arm by sensing the acceleration of the part of the robot arm, and then, based on both the obtained contact force and the obtained acceleration of the contact part of the robot arm, indicating whether a change in contact between the contact part of the robot arm and the object has occurred. The dependent claims describe possible embodiments according to the present invention. The advantages and beneficial effects of the present invention are described in the specific embodiments of the present invention. In addition, this is achieved by providing a robot arm, which is configured to perform a method of indicating a change in contact between a part of the robot arm and an object. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 shows a robot arm according to the present invention;

[0010] Figure 2 A simplified block diagram of a robot arm is shown;

[0011] Figure 3a-Figure 3i and Figure 4a-Figure 4iA simplified model of the output side of a robot tool joint of a robot arm is shown and the output side is shown in various usage scenarios;

[0012] Figure 5-Figure 10 Various embodiments of methods of controlling a robotic arm are shown, including methods of detecting a change in contact between a contact portion of the robotic arm and an object; and

[0013] Fig.11 A method of controlling a robot arm is shown, including three methods of detecting a change in contact between a contact portion of the robot arm and an object. DETAILED DESCRIPTION

[0014] The present invention has been described in view of the exemplary embodiments intended only to illustrate the principles of the invention. The skilled person will be able to provide several embodiments within the scope of the claims. Throughout the specification, the reference numerals of similar elements providing similar effects have the same last two digits. In addition, it should be understood that in the case where an embodiment includes multiple identical features, only some of the features may be marked by reference numerals.

[0015] Figure 1 A robot arm 101 is shown comprising a plurality of robot joints 103a, 103b, 103c, 103d, 103e, 103f connecting a robot base 105 and a robot tool flange 107. The base joint 103a is configured to rotate the robot arm around a base axis 111a (shown as a short dashed line), as indicated by the rotation arrow 113a; the shoulder joint 103b is configured to rotate the robot arm around a shoulder axis 111b (shown as a cross indicating the axis), as indicated by the rotation arrow 113b; the elbow joint 103c is configured to rotate the robot arm around an elbow axis 111c (shown as a cross indicating the axis), as indicated by the rotation arrow 113c, the first wrist joint 103d is configured to rotate the robot arm around a first wrist axis 111d (shown as a cross indicating the axis), as indicated by the rotation arrow 113d, and the second wrist joint 103e is configured to rotate the robot arm around a second wrist axis 111e (shown as a short dashed line), as indicated by the rotation arrow 113e. The robot joint 103f is a tool joint comprising a robot tool flange 107 which is rotatable about a tool axis 111f (shown in dashed lines) as indicated by the rotation arrow 113f. Thus, the robot arm shown is a six-axis robot arm having six degrees of freedom, however, it should be noted that the present invention may be provided in a robot arm comprising fewer or more robot joint tool flanges and / or other types of robot joints such as prismatic robot joints.

[0016] In this embodiment, each of the robot joints is provided as a rotary robot joint, the rotary robot joint comprising an output flange rotatable relative to the robot joint, and the output flange is connected to an adjacent robot joint directly or via an arm portion known in the art. The robot joint comprises a joint motor, which is configured to rotate the output flange, for example via a transmission or directly connected to a motor shaft. In other embodiments, at least one of the robot joints may be provided as a prismatic robot joint, the prismatic robot joint comprises an output flange translatable relative to the robot joint by the robot joint motor, and the output flange is connected to an adjacent robot joint directly or via an arm portion known in the art.

[0017] In addition, the robot joint comprises at least one joint sensor, which provides a sensor signal indicating at least one of the following parameters: the position of the output flange, the position of the motor shaft of the joint motor, the motor current of the joint motor, the external force attempting to rotate the output flange or the motor shaft, the travel distance of the output flange, the travel distance of the motor shaft, wherein the position of the output flange in the rotary robot joint can be indicated as an angular position and the position in the prismatic joint can be indicated as a Cartesian position. For example, the angular position of the output flange can be indicated by an output encoder such as an optical encoder, a magnetic encoder, which can indicate the angular position of the output flange relative to the robot joint. Similarly, the angular position of the joint motor shaft can be provided by an input encoder such as an optical encoder, a magnetic encoder, which can indicate the angular position of the motor shaft relative to the robot joint. It should be noted that both an output encoder indicating the angular position of the output flange and an input encoder indicating the angular position of the motor shaft can be provided, which in an embodiment where a transmission device is provided makes it possible to determine the relationship between the input side and the output side of the transmission device. The joint sensor can also be provided as a current sensor indicating the current through the joint motor, and thus the joint sensor is used to obtain the torque provided by the motor. For example, in conjunction with a multi-phase motor, a plurality of current sensors may be provided to obtain the current through each phase of the multi-phase motor.

[0018] The force sensor 109 is arranged at the robot tool joint 103f and is configured to sense the force applied to the robot tool flange 107. The force sensor 109 provides a force signal indicative of the force provided at the tool flange. In the illustrated embodiment, the force sensor is integrated into the robot tool flange and is configured to indicate the force applied to the robot tool flange relative to a reference point 110 of the robot tool flange. Figure 1 In the example, the reference point 110 coincides with the origin of the tool flange coordinate system, which defines three coordinate axes: x 凸缘 ,y 凸缘 、z 凸缘In the illustrated embodiment, the origin of the robot tool flange coordinate system has been arranged on the tool flange axis 111f, wherein one axis (z 凸缘 ) is parallel to the tool flange axis and is located at the outer surface of the robot tool. However, the force sensor may indicate the force applied to the robot tool flange relative to any point that can be connected to the robot tool flange coordinate system. In one embodiment, the sensor may be provided as a six-axis force-torque sensor, which is configured to indicate forces along three perpendicular axes and torques around three perpendicular axes. For example, the force-torque sensor may be provided as any force-torque sensor capable of indicating forces and torques relative to a reference point, such as any force-torque sensor disclosed by WO2014 / 110682A1, US4763531, US2015204742. However, it should be understood that the force sensor associated with the present invention does not necessarily need to be able to sense the torque applied to the tool sensor.

[0019] The acceleration sensor 115 is arranged at the robot tool joint 103f and is configured to sense the acceleration of the robot tool joint 103f and / or the acceleration of the robot tool flange 107. The sensor 109 provides an acceleration signal indicating the acceleration force of the acceleration of the robot tool joint 103f and / or the acceleration of the robot tool flange 107. In the illustrated embodiment, the acceleration sensor is integrated into the robot tool joint and is configured to indicate the acceleration of the robot tool joint relative to the reference point 110 of the robot tool flange. However, the acceleration sensor may indicate the acceleration of the robot tool joint relative to any point that may be connected to the robot tool flange coordinate system. The acceleration sensor may be provided as any accelerometer capable of indicating the acceleration of an object. The acceleration sensor may be provided, for example, as an IMU (Inertial Measurement Unit) capable of indicating both the linear acceleration and the rotational acceleration of an object.

[0020] The robotic arm includes at least one robotic controller 102 configured to control the robotic joints by controlling the motor torque provided by the joint motors based on a dynamic model of the robotic arm, a gravity work direction 112, and joint sensor signals. The robotic controller 102 may be provided as a computer including an interface device 104 that enables a user to control and program the robotic arm. The controller may be provided as Figure 1The interface device may be provided as an external device as shown, as a device integrated into the robot arm, or as a combination thereof. The interface device may be provided, for example, as a teach pendant known in the field of industrial robots, which may communicate with the controller via a wired or wireless communication protocol. The interface device may, for example, include a display 106 and a plurality of input devices 108, such as buttons, sliders, touch pads, joysticks, trackballs, gesture recognition devices, keyboards, etc. The display may be provided as a touch screen that acts as both a display and an input device.

[0021] Figure 2 Shows Figure 1 103a, 103b and 103f have been shown in structural form, and for the sake of simplicity of the drawing, the robot joints 103c, 103d, 103e have been omitted. In addition, the robot joints are shown as separate elements; however, it should be understood that they are Figure 1 The robot joint includes output flanges 216a, 216b, 216f and joint motors 217a, 217b, 217f, wherein the output flanges 216a, 216b, 216f are rotatable relative to the robot joint, and the joint motors 217a, 217b, 217f are configured to rotate the output flanges via output shafts 218a, 218b, 218f. In this embodiment, the output flange 216f of the tool joint 103f includes the tool flange 107. At least one joint sensor 219a, 219b, 219f provides sensor signals 222a, 222b, 222f, which indicate at least one joint sensor parameter J of the corresponding joint. 传感器,a , J 传感器,b , J 传感器,f . The joint sensor parameters indicate at least one posture parameter, which indicates the position and orientation of the output flange relative to the robot joint, and the position and orientation are in the form of: the angular position of the output flange, the angular position of the shaft of the joint motor, and the motor current of the joint motor. For example, the angular position of the output flange can be indicated by an output encoder such as an optical encoder or a magnetic encoder, which can indicate the angular position of the output flange relative to the robot joint. Similarly, the angular position of the joint motor shaft can be provided by an input encoder such as an optical encoder or a magnetic encoder, which can indicate the angular position of the motor shaft relative to the robot joint.

[0022] The robot controller 102 includes a processor 220 and a memory 221, and is configured to control the joint motors of the robot joints by providing motor control signals 223a, 223b, 223f to the joint motors. The motor control signals 223a, 223b, 223f indicate the motor torque T that each joint motor should provide to the output flange. 马达,a 、T马达,b and T 马达,f , and the robot controller is configured to determine the motor torque based on a dynamic model of the robot arm known in the prior art. The dynamic model allows the controller to calculate the torque that the joint motor should provide to each of the joint motors in order for the robot arm to perform the desired movement. The dynamic model of the robot arm may be stored in the memory 221 and may be based on the joint sensor parameters J 传感器,a , J 传感器,b , J 传感器,f For example, the joint motors may be provided in the form of multi-phase electric motors, and the robot controller may be configured to adjust the motor torque provided by the joint motors by adjusting the current through the phases of the multi-phase electric motors, as is known in the art of motor regulation.

[0023] The robot tool joint 103f includes a force sensor 109 that provides a force signal 224 indicative of the force provided to the tool flange. For example, the force signal may be indicated as a force vector in the robot tool flange coordinate system:

[0024] Equation 1

[0025] in is along x 凸缘 The indicated force of the axis, It is along y 凸缘 The indicated force on the axis, and It is along z 凸缘 The indicated force on the axis.

[0026] In embodiments where the force sensor is provided as a combined force-torque sensor, the force-torque sensor may also additionally provide a torque signal indicative of the torque provided to the tool flange, for example as a separate signal (not shown) or as part of the force signal. The torque may be indicated as a torque vector in the robot tool flange coordinate system:

[0027] Equation 2

[0028] in is around x 凸缘 The indicated torque of the axis, is around y 凸缘 The indicated torque of the axis, and It is around z 凸缘 The indicated torque of the axis.

[0029] The robot tool joint 103f includes an acceleration sensor 115 that provides an acceleration signal 225 indicative of the acceleration of the output flange 216f. For example, the acceleration signal may indicate an acceleration vector in the robot tool flange coordinate system:

[0030] Equation 3

[0031] in is along x 凸缘 The sensed acceleration of the axis, It is along y 凸缘 the sensed acceleration of the axis, and It is along z 凸缘 The sensed acceleration of an axis.

[0032] In embodiments where the acceleration sensor is provided as a combined accelerometer / gyroscope (e.g., an IMU), the acceleration sensor may additionally provide an angular acceleration signal indicative of the angular acceleration of the output flange relative to the robot tool flange coordinate system, e.g., as a separate signal (not shown) or as part of the acceleration signal. The angular acceleration signal may indicate the acceleration vector in the robot tool flange coordinate system

[0033] Equation 4

[0034] in is around x 凸缘 Angular acceleration of the axis, is around y 凸缘 The angular acceleration of the axis, and It is around z 凸缘 Angular acceleration of the axis.

[0035] The force sensor and acceleration sensor of the robot arm are shown to be arranged at the robot tool joint 103f; however, it should be understood that the force sensor and acceleration sensor may be arranged at any part of the robot arm, as long as the two sensors respectively make it possible to obtain force and acceleration at or near the contact part of the robot arm. In addition, more than one set of force sensors and acceleration sensors may be provided at different parts of the robot arm, for example, in order to detect changes in contact at various positions of the robot arm.

[0036] The controller 116 is configured to indicate a change in whether contact has occurred between the contact portion of the robot arm and the object based on both the contact force provided at the contact portion of the robot arm and the partial acceleration of the contact portion. The contact portion may be any point, area, or portion of the robot arm that contacts or becomes in contact with the object. The object may be any object that can be in physical contact with the contact portion, and may be, for example, an external object or an internal object, such as another part of the robot arm. The change in contact between the contact portion and the object may be any kind of change indicating a change in the way the contact portion and the object physically interact, such as a change in contact that occurs when the contact portion and the object make physical contact, when the contact portion and the object separate, when the physical interaction between the contact portion and the object changes, or when any other change in the physical interaction between the contact portion and the object occurs. The contact force may be any kind of force provided at the contact portion of the robot arm, such as an internal force provided by the robot arm, an external force provided by one or more external objects, and / or a combination of internal and external forces. The contact force may be obtained by sensing the force provided to a portion of the robot arm by, for example, the following force sensors: a force sensor configured to sense the contact force directly at the contact portion; a force sensor configured to sense the force at a portion of the robot arm including the contact portion; a force sensor configured to sense the force provided to any portion of the robot arm, wherein the controller is configured to obtain the contact force at the contact portion based on a dynamic model of the robot arm, and the contact force may also be obtained by sensing other parameters of the robot arm such as the position of the joint axis and / or the motor current, etc. The partial acceleration of the contact portion indicates the acceleration of the contact portion in a reference frame or relative to a reference point. The partial acceleration can be obtained by sensing the acceleration of a part of the robot arm by, for example, the following acceleration sensors: an acceleration sensor configured to sense the acceleration of the contact part directly at the contact part; an acceleration sensor configured to sense the acceleration of a part of the robot arm including the contact part; an acceleration sensor configured to sense the acceleration of any part of the robot arm, wherein the controller is configured to obtain the acceleration of the contact part based on a dynamic model of the robot arm. The partial acceleration can also be obtained by sensing other parameters of the robot arm such as the position of the joint axis and / or the motor current.

[0037] Detecting a change in contact between a contact portion of a robot arm and an object based on both a contact force and a partial acceleration signal makes it possible to provide a very accurate, very fast and very robust detection of a change in contact between a contact portion of a robot arm and an object. This is achieved due to the fact that a simple and fast change in the contact detection method based on a force signal and an acceleration signal to determine whether a change in contact between a robot arm and an object has occurred can be implemented into the controller. Therefore, the controller can determine in very few steps whether a change in contact has occurred, whereby the controller can indicate the final change in contact very quickly. In addition, using a contact change detection based on both a force sensor and an acceleration sensor makes it possible to provide a very robust change in contact detection while avoiding false indications of a change in contact. This is achieved due to the fact that force sensors and acceleration sensors are sensitive to different kinds of false changes in contact and therefore contact change detection based on both force sensors and acceleration sensors ensures detection of many false indications of a change in contact with reduced. Therefore, contact-based programming of a robot arm can be provided, wherein the program of the robot arm is designed to react to a detected change in contact, such as moving until a change in contact has occurred and then changing the direction of the movement, activating / deactivating the end effector, moving back to the position where the first change in contact was detected.

[0038] exist Figure 1-Figure 2 In the illustrated robotic arm, the controller may be configured to indicate a change in contact between the contact portion and the object based on both the acceleration signal and the force signal provided by the force sensor and the acceleration sensor.

[0039] Figure 3a-Figure 3i and Figure 4a-Figure 4i Used to illustrate how the controller can detect and indicate whether a change in contact between a contact portion of a robot arm and an object occurs based on contact force and partial acceleration. The figure shows a simplified model of the output side 314 of a robot tool joint, wherein the output side of the robot tool joint includes an output flange 216f rotatable via an output shaft 218f, a robot tool flange 107, an acceleration sensor 115 / 415, and a force sensor 109. Figure 3a-Figure 3i In the illustrated embodiment, the acceleration sensor 115 is arranged at the output flange and is configured to sense the acceleration of the output flange of the robot tool joint and Figure 4a-Figure 4i In the illustrated embodiment, the acceleration sensor 415 is arranged at the tool flange and is configured to measure the acceleration of the robot tool flange. Figure 3a-Figure 3i and Figure 4a-Figure 4i, the positive direction of movement is defined as from left to right and is shown by arrow 326. Thus, when the output side moves at a positive velocity, the output side will perform a movement in the direction from left to right. Similarly, the acceleration of the output side of the robot tool joint corresponds to an increase in velocity in the direction of movement 326. The deceleration corresponds to a decrease in velocity in the direction of movement 326, and the deceleration corresponds to a negative acceleration in the direction of movement 326.

[0040] Typically, a force sensor is provided as a device that can sense a manipulation of an object caused by a force. The manipulation of the object can be in the form of a mechanical deformation, a relative movement, a change in an electromagnetic or magnetic field, etc., for example, and the force sensor is then configured to register the manipulation and can be based on a strain gauge, a capacitive sensor, a magnetic sensor, an optical sensor, for example, wherein the sensor signal depends on the external force.

[0041] exist Figure 1 - In the embodiment shown in FIG. 4 , the force sensor is configured to sense the force that manipulates the relationship between the output flange 216f and the tool flange 107. Thus, the force torque sensor will sense the combined force provided to the output flange 216f and / or the tool flange 107. For example, the force sensor senses the force by sensing the displacement between the output flange 216f and the robot tool flange 107, where the relative displacement caused by the force is shown by the double arrows 327a-327i. Thus, in the example shown, the force sensor is configured to sense the contact force provided to the tool flange, and the tool flange includes the contact portion.

[0042] exist Figure 3a-Figure 3i and Figure 4a-Figure 4i In the example of FIG, the principle of the present invention is shown in a direction perpendicular to gravity, and only the force perpendicular to gravity is discussed. However, it should be understood that the output flange applies an anti-gravity force (not shown) to the output side of the robot tool joint to maintain the position of the robot tool joint at the same level relative to the ground.

[0043] Figure 3a and Figure 4aThe output side 314 of the robot tool joint is shown in a situation where the robot tool joint is accelerating so as to move the output side in a positive direction 326. The robot tool joint may be moved by moving any one of the previous robot joints of the robot arm or a combination thereof. During acceleration of the robot tool joint, the output shaft 218f transmits an acceleration force 328 to the output flange in the positive direction 326. The acceleration force will be transmitted to the tool flange 107 via the force sensor and accelerate the tool flange. However, due to the inertia of the tool flange, a displacement between the output flange and the tool flange will occur due to the acceleration force 328 applied to the output flange. In this case, the displacement 327a results in a smaller distance between the output flange and the tool flange, resulting in the fact that the force sensor senses a positive contact force (shown by the positive sign within the force sensor 109). Figure 3a In , the acceleration sensor 115 is attached to the output flange 216f and will accelerate along with the output flange and sense a positive partial acceleration 329 in a positive direction 326 (shown by the positive sign within the acceleration sensor 115). Figure 4a , the accelerometer 415 is attached to the tool flange and will accelerate along with the tool flange and sense a positive acceleration 429 in the positive direction 326 (shown by the positive sign within the accelerometer 415). It should be noted that the accelerometer 415 will sense the positive partial acceleration 429 after the accelerometer 115 will sense the positive partial acceleration 329 because the tool flange will begin its acceleration after the output flange due to the displacement between the output flange and the tool flange. However, in most cases, due to the small displacement of the tool flange and the output flange and the relatively stiff force sensor, the initial difference in the acceleration of the output flange and the tool flange is very small, so the force causing the acceleration will be transmitted across the force sensor relatively quickly.

[0044] Figure 3b and Figure 4b The output side 314 of the robot tool joint is shown in a situation where the robot tool joint is decelerating in order to reduce the speed of the output side (braking) while it is moving in the positive direction 326. In addition, it should be understood that deceleration can be applied in order to move the output side in a negative direction (opposite to arrow 329). The robot tool joint can be decelerated by moving any one of the previous robot joints of the robot arm or a combination thereof. During deceleration of the robot tool joint, the output shaft 218f transmits a deceleration force 330 to the output flange. This force will be transmitted to the tool flange 107 via the force sensor, and a displacement 327b between the output flange and the tool flange will occur due to the deceleration force 330. In this case, the displacement 327b causes a larger distance between the output flange and the tool flange, resulting in the fact that the force sensor senses a negative contact force (shown by the negative sign within the force sensor 109). Figure 3b, the acceleration sensor 115 will sense a negative partial acceleration 331 in the positive direction 326 (shown by the negative sign within the acceleration sensor 115). Figure 4b In the embodiment, the acceleration sensor 415 will also sense the negative acceleration 431 in the positive direction 326, and as combined with Figure 3a and Figure 4a As described above, acceleration sensor 415 will sense negative partial acceleration 431 after acceleration sensor 115 will sense negative partial acceleration 331 .

[0045] Figure 3c and Figure 4c The output side 314 of the robot tool joint is shown in the case where the robot tool joint makes contact with an object 332 during movement in a positive direction 326 at a constant speed. Ideally, when moving at a constant speed, no force needs to be applied to the output side of the robot tool joint, however, in order to overcome the friction and other resistance of the robot arm, a very small force (not shown) will be applied to the output flange via the output shaft 218f. This small force only causes a very small displacement of the output flange and the tool flange, and a very negligible force will be indicated by the force sensor before the contact between the object and the tool flange. Upon contact between the robot tool flange 107 and the object 332, a collision force 333 is applied to the robot tool flange. The collision force decelerates the robot tool flange 107, and due to the inertia of the output flange 216f (and the robot tool joint), a displacement between the output flange and the tool flange will occur due to the collision force 333. In this case, the displacement 327c causes a smaller distance between the output flange and the tool flange, resulting in the fact that the force sensor senses a positive contact force. Additionally, upon contact, the contact force increases compared to the contact force sensed prior to contact, as indicated by the upward arrow within force sensor 109. The impact force will be transmitted to output flange 216f via the force sensor and cause the output flange to decelerate. Figure 3c In , the acceleration sensor 115 will sense the negative partial acceleration 331 in the positive direction, as indicated by the negative sign within the acceleration sensor 115. Figure 4c , the acceleration sensor 415 will also sense the negative partial acceleration 431 in the positive direction 326. It should be noted that the acceleration sensor 115 will sense the negative partial acceleration 331 after the acceleration sensor 415 will sense the negative partial acceleration 431 because the output flange will begin its deceleration after the tool flange due to the displacement between the output flange and the tool flange. In addition, at the time of contact, the partial acceleration of the contacting portion is reduced compared to the partial acceleration before contact, as indicated by the downward arrow within the acceleration sensor 115, 415.

[0046] Figure 3d and Figure 4dThe output side 314 of the robot tool joint is shown when the robot tool joint is accelerating in a positive direction 326 and when the robot tool joint makes contact with an object 332 during acceleration. This may occur, for example, when the robot tool joint is accelerating and during acceleration encounters an object. Figure 3a and Figure 4a As shown, during acceleration, the output shaft 218f transmits an acceleration force 328 to the output flange. Prior to contact between the tool flange (contact portion) and the object, the force sensor will sense a positive contact force, as previously described. Upon contact, an impact force 333 is applied to the tool flange, and the force sensor will sense a larger positive contact force (indicated by the positive sign indicating the expected positive contact force and the upward pointing arrow showing the increase in contact force upon contact) due to the combined displacement of the output flange and the tool flange caused by the acceleration force 328 and the impact force 333, thereby causing the distance between the output flange and the tool flange to be even smaller. Figure 3d In the embodiment, the acceleration sensor 115 is attached to the output flange 218f and will accelerate with the output flange and will sense the positive partial acceleration 329 before contact, such as Figure 3a As described. Upon contact, the collision force 333 will be transmitted to the output flange 216f and cause a deceleration 331 of the output flange. The sensed partial acceleration at the time of collision depends on the relative magnitudes of the acceleration 329 and the deceleration 331. Therefore, the accelerometer will sense a smaller partial acceleration at the time of collision than before the collision (indicated by the downward arrow within the accelerometer icon); however, if the acceleration force 328 is greater than the collision force 333, the sensed partial acceleration will be positive; if the acceleration force 328 is less than the collision force, the sensed partial acceleration will be negative; and if the acceleration force and the collision force are equal, the sensed partial acceleration will be zero. Therefore, the sensed partial acceleration at the time of contact is unknown and is therefore indicated by a question mark within the acceleration icon. Figure 4b In FIG. 4 , an acceleration sensor 415 is attached to the tool flange and senses the partial acceleration due to the deceleration 431 caused by the impact force and the acceleration component 429 caused by the acceleration force. Figure 4d The acceleration sensor 415 in Figure 3d The acceleration sensor 115 in senses a similar partial acceleration.

[0047] Figure 3e and Figure 4eThe output side 314 of the robot tool joint is shown when the robot tool joint is being decelerated and when the robot tool joint makes contact with an object 332 during deceleration. This may occur, for example, when the robot tool joint is braking while moving in the positive direction 326 and during braking it hits the object; or when the robot tool joint is moving in the negative direction and accelerating and the object is moving in the same direction at a greater speed and thus hits the tool flange. Figure 3b and Figure 4b As shown, during deceleration, the output shaft 218f transmits a deceleration force 330 to the output flange. Prior to contact between the tool flange and the object, the force sensor will sense a negative force, as previously described. Upon contact, a collision force 333 is applied to the tool flange, and the contact force will increase (shown by the upward arrow within the force sensor icon) because the collision force causes a relative displacement of the tool flange toward the output flange. However, the absolute size of the contact force depends on the relative sizes of the deceleration force 330 and the collision force 333. Upon collision, if the collision force is greater than the deceleration force, the contact force sensed by the force sensor is a positive contact force, if the collision force is less than the deceleration force, the contact force is a negative contact force, and if the deceleration force and the collision force are equal, the contact force is zero. Figure 3e , the acceleration sensor 115 is attached to the output flange 216f and will decelerate along with the output flange and will sense a negative partial acceleration 331a prior to contact. Upon contact, the collision force 333 will be transmitted to the output flange 216f and cause a deceleration 331b. Both the negative acceleration caused by the deceleration force and the deceleration component caused by the collision force will provide a negative force and therefore, the sensed partial acceleration will be negative. Therefore, upon collision, the partial acceleration is reduced. Figure 4b In FIG. 4 , the acceleration sensor 415 is attached to the tool flange and senses the negative partial acceleration due to the negative acceleration 431a caused by the deceleration force and the deceleration component 431b caused by the collision force.

[0048] Figure 3f and Figure 4fThe output side 314 of the robot tool joint is shown in a case where the robot tool joint is stationary and in a case where an object 332 is in contact with the tool flange. This may occur, for example, in a case where the robot tool joint is arranged in a fixed position and in a case where an object hits the robot tool flange. While keeping the tool joint stationary, no force in a direction perpendicular to the gravity is applied to the output side of the robot tool joint. Upon contact between the robot tool flange 107 and the object 332, a collision force 333 is applied to the robot tool flange. The collision force decelerates the robot tool flange 107 and due to the inertia of the output flange 216f (and the robot tool joint), a displacement between the output flange and the tool flange will occur due to the collision force 333. In this case, the displacement 327f results in a smaller distance between the output flange and the tool flange, resulting in the fact that the force sensor senses a positive contact force and that the contact force increases at the time of contact compared to the contact force before the contact, as indicated by the upward arrow in the force sensor 109. The collision force will be transmitted to the output flange 216f via the force sensor and cause the output flange to decelerate. Therefore, in Figure 3f , the acceleration sensor 115 will sense the negative partial acceleration 331. It should be noted that the robot arm in the static condition is configured to maintain the robot tool joint in a fixed position, and therefore, upon contact, is configured to add a force (not shown) in the opposite direction in order to maintain the robot tool joint in a fixed position. Therefore, the acceleration sensor will only sense the negative partial acceleration for a short period of time. Figure 4b In the embodiment, the acceleration sensor 415 will also sense the negative acceleration 459 caused by the collision force 333.

[0049] Figure 3g and Figure 4gThe output side 314 of the robot tool joint is shown when the robot tool joint is stationary and when an object 332 is in contact with the tool flange and when the object and the tool flange are separated from each other when the contact changes. This may occur, for example, when the robot tool joint is arranged in a fixed position and when the object pushes the robot tool flange. In the stationary situation, the robot arm is configured to hold the robot tool joint in a fixed position. In order to hold the robot tool joint in a fixed position under the influence of an external force, the robot arm is configured to add a holding force 334 in a direction opposite to the external force. Before separation, the object will provide an object force 335 to the tool flange, and in order to hold the robot tool joint, the robot arm will provide an opposite holding force 334 to the output side of the robot tool joint via the output shaft 218f. Before separation between the tool flange and the object, the force 335 and the holding force 334 cancel each other, and therefore, the acceleration sensor will not sense part of the acceleration. Both the holding force and the object force cause the output flange and the tool flange to displace toward each other, and before separation, the force sensor 109 will sense a positive contact force. At separation, the object will move in the direction indicated by arrow 336, and there will be no contact between the robot tool flange and the object. Therefore, the object force 335 will be removed, and the displacement of the tool flange towards the output flange caused by the object force will be reduced, whereby the displacement 327g between the output flange and the tool flange becomes larger. Therefore, when the object is separated from the robot tool flange, the force sensor will sense a reduction in the contact force (indicated by the downward arrow). The removal of the object force causes the robot tool joint to accelerate due to the holding force, and the acceleration sensors 115 and 415 will sense increased positive partial accelerations 329 and 429, respectively. It should be noted that the robot arm in a stationary state is configured to maintain the robot tool joint in a fixed position, and therefore, at separation, the robot controller is configured to reduce the holding force in order to maintain the robot tool joint in a fixed position. Therefore, the acceleration sensor will sense the increased positive partial acceleration only for a short period of time.

[0050] Figure 3h and Figure 4h The output side 314 of the robot tool joint is shown as the robot arm tool joint moves an object 332 in a direction 336a and as the contact between the object and the tool flange changes during the movement. The robot arm is configured to move the robot tool joint in a direction 326 by activating actuators of previous robot joints. This may occur, for example, during an assembly task where the robot arm is configured to assemble various objects, such as by arranging the objects in a snap-fit ​​mounting, where force is required to push the objects to form a snap fit and resistance is reduced once the snap fit has been formed. Figure 3h and Figure 4h, such a task is shown as a simplified case where a tool flange pushes an object along a surface having a first surface area 337A and a second surface area 337B, the first surface area having a first friction characteristic and the second surface area having a second friction characteristic. A first friction force 338a needs to be overcome in order to move the object along the first surface area, and a second friction force 338b needs to be overcome in order to move the object along the second surface area. In one case, the robot arm can be configured to move the object along the first surface area and the second surface area at substantially the same speed by pushing the object. It should be noted that the friction forces act between the surface and the object, but are shown as acting on the robot tool flange because they need to be overcome by opposing forces provided by the robot tool joint. In order to overcome the friction forces and move the object along the surface, the robot arm is configured to provide a moving force 339 to the output side of the robot tool joint via the output shaft 218f. The moving force is greater than the friction force, and thus introduces a displacement between the output flange and the tool flange, and therefore, the force sensor will sense a positive contact force, as shown by the positive sign within the force sensor. As soon as the object moves from the first surface area to the second surface area, the friction force changes, which causes a change in the displacement between the output flange and the tool flange, and the force sensor indicates a change in the contact force. In addition, the change in friction force causes the fact that the total force acting on the output side of the robot tool joint changes, thereby causing a change in the acceleration of the robot tool joint, and the acceleration sensors 115 and 415 will also sense the change in acceleration.

[0051] In the illustrated embodiment, the first surface area 337a has a higher friction than the second surface area 337d, and therefore, when the object is moved at substantially the same speed, the friction force 338a is greater than the second friction force 338b. Therefore, when the object is pushed from the first surface area to the second surface area, the force sensor will sense a decrease in contact force, as indicated by the downward arrow within the force sensor 109. The acceleration sensor will sense an increase in partial acceleration as the acceleration of the robot tool flange will increase. Therefore, a change in contact between the robot tool flange and the object due to a decrease in drag on the object can be indicated based on the increase in partial acceleration and the decrease in contact force.

[0052] In another embodiment, the first surface area 337A has a lower friction force than the second surface area, and therefore, when the object is moved at substantially the same speed, the friction force 338A is lower than the second friction force. Therefore, when the object is pushed from the first surface area to the second surface area, the force sensor will sense an increase in the contact force, and the acceleration sensor will sense a decrease in the partial acceleration when the acceleration of the robot tool flange will slow down. Therefore, a change in the contact between the robot tool flange and the object due to an increase in the drag force on the object can be indicated based on the decrease in the partial acceleration of the contact portion and the increase in the contact force.

[0053] Figure 3i and Figure 4i The output side 314 of the robot tool joint is shown when the robot tool joint moves the object 332 in the direction 336b and when the contact between the object and the tool flange changes during the movement. The robot arm is configured to move the robot tool joint in the opposite direction 326 by activating the actuator of the previous robot joint. Figure 3h and Figure 4h By contrast, in this case, the object moves in a direction 336b opposite to 336a, and the first and second surface areas have been rearranged relative to each other. In this case, the first friction force 338c needs to be overcome in order to move the object along the first surface area, and the second friction force 338d needs to be overcome in order to move the object along the second surface area. In this case, the robot arm is configured to move the object along the first and second surface areas at substantially the same speed by pulling the object. It should be noted that the friction force acts between the surface and the object, but is shown as acting on the robot tool flange because they need to be overcome by the opposing forces provided by the robot tool joint. In order to overcome the friction force and move the object along the surface, the robot arm is configured to provide a moving force 339b to the output side of the robot tool joint via the output shaft 218f. The moving force 339b is greater than the friction force, and therefore introduces a displacement that causes an increase in the distance between the output flange and the tool flange. Therefore, the force sensor will sense a negative contact force, as shown by the negative sign within the force sensor. As soon as the object moves from the first surface area to the second surface area, the friction force changes, which causes a change in the displacement between the output flange and the tool flange, and the force sensor indicates a change in the contact force. In addition, the change in friction force causes the fact that the total force acting on the output side of the robot tool joint changes, thereby causing a change in the acceleration of the robot tool joint, and the acceleration sensors 115 and 415 will also sense the change in acceleration.

[0054] In the illustrated embodiment, the first surface area 337a has a higher friction than the second surface area 337d, and therefore, when the object is moved at substantially the same speed, the friction force 338c is greater than the second friction force 338d. Therefore, when the object is pulled from the first surface area to the second surface area, the force sensor will sense an increase in contact force, as indicated by the upward arrow within the force sensor 109. The acceleration sensor will sense a decrease in partial acceleration (an increase in deceleration) when the acceleration of the robot tool flange will decelerate. Therefore, a change in contact between the robot tool flange and the object due to a reduction in drag on the object can be indicated based on the decrease in partial acceleration of the contact portion and the increase in contact force.

[0055] In another embodiment, the first surface area 337a has a lower friction than the second surface area 337d, and therefore, when the object is moved at substantially the same speed, the friction force 338c is less than the second friction force 338d. Therefore, when the object is pulled from the first surface area to the second surface area, the force sensor will sense a decrease in contact force. The acceleration sensor will sense an increase in partial acceleration when the acceleration of the robot tool flange will increase. Therefore, a change in contact between the robot tool flange and the object due to an increase in drag on the object can be indicated based on the increase in partial acceleration of the contact portion and the decrease in contact force.

[0056] As combined Figure 3a-Figure 3i and Figure 4a-Figure 4i As shown and described, it can be indicated that a change in contact between the contact portion of the robotic arm and the object has occurred based on the force applied to the contact portion of the robotic arm and the partial acceleration of the contact portion of the robotic arm. Figure 3c and Figure 4c At constant speed as shown and at Figure 3f and Figure 4f At rest as shown, if a positive force is sensed in one direction and a negative acceleration is sensed in the same direction, the change in contact can be indicated as an incoming contact between the object and the contact portion. Figure 3d and Figure 4d During the acceleration period shown, if an increasing positive contact force and a decrease in the sensed acceleration are indicated by the force sensor and the acceleration sensor, respectively, the change in contact can be indicated as an incoming contact. Figure 3e and Figure 4e During the deceleration period shown, if increasing contact force and decreasing sensed negative acceleration are indicated by the force sensor and acceleration sensor, respectively, the change in contact can be indicated as an incoming contact. Figure 3g and Figure 4gAs shown, if a decreasing contact force is sensed in one direction and an increasing partial acceleration of the contact portion is sensed in the same direction, the change in contact can be indicated as a separation of the object and the contact portion. Figure 3g and Figure 4g As shown, if a decreasing contact force is sensed in one direction and an increasing partial acceleration of the contact portion is sensed in the same direction, the change in contact may be indicated as a separation of the object and the contact portion. Figure 3g-3h and Figure 4g-Figure 4h As shown, during movement of an object using a contact portion of a robot arm, if opposite changes in contact force and portion acceleration occur, a change in contact may be indicated.

[0057] In all cases, when the contact between the contact part of the robot and the object changes, an increase in the contact force and a decrease in the partial acceleration of the contact part occur in the same direction. In 3 dimensions, the force torque sensor can be configured to sense the direction of the contact force, and the accelerometer can be configured to sense the direction of the sensed acceleration. The robot controller can then be configured to obtain the partial acceleration along the direction of the contact force and compare the partial acceleration along the direction of the contact force, and indicate whether contact has occurred based on the partial acceleration along the direction of the contact force. Additionally or alternatively, the robot controller can be configured to obtain the contact force along the direction of the partial acceleration and compare the contact force along the direction of the partial acceleration, and indicate whether a change in contact has occurred based on the contact force along the direction of the partial acceleration.

[0058] The controller can be configured to Figure 5-Figure 11 The method described and illustrated (eg, by implementing the method as a plurality of instructions that instruct a controller to perform the steps of the method) indicates that a change in contact between a contact portion of a robot and an object has occurred.

[0059] Figure 5 A method for controlling a robot arm according to the present invention is shown, the method comprising a method for detecting a change in contact between a contact portion of the robot arm and an object. The method comprises: an initiating step 540; a step 550 of activating contact change detection; a step 560 of obtaining parameters related to the robot arm; a step 570 of indicating a change in contact; and a step 590 of performing an action when a change in contact is detected.

[0060] The initiation step 540 includes configuring the robot arm, such as setting the parameters necessary to control the robot arm, checking whether the necessary components of the robot arm are working, etc. Generally, the initiation step includes obtaining a dynamic model D of the robot arm. 机器人The steps of the controller and may be based on a priori knowledge KoR [Robot Knowledge] of the robot arm and robot joints, such as the size and weight of the robot joints and robot links; joint motor characteristics; information about the final payload attached to the robot arm, the orientation of the robot arm relative to gravity, and the friction characteristics of the robot arm and robot joints. The dynamic model of the robot arm may be defined and pre-stored in the memory of the controller, and in some embodiments, the user may be allowed to modify the dynamic model of the robot arm, for example, by providing payload information of the payload attached to the robot arm or defining the orientation of the robot arm relative to gravity.

[0061] The method comprises a step 550 of activating contact change detection. For example, the step of activating contact change detection may be integrated in a part of a program for controlling a robot arm, wherein during the program a method of detecting a change of contact between a contact portion of the robot arm and an object is activated, for example in order to perform various actions when a contact change is detected. The contact change detection may be manually activated by a user (e.g. a user activating the contact change detection during operation of the robot arm). The method of detecting a change of contact may be configured to run simultaneously with other parts of the robot program. In case the method of detecting a change of contact is activated, the method precedes the next step as indicated by the thumbs up icon, and if the contact change detection is not activated, the robot will not enter the contact change detection mode as indicated by the thumbs down icon. It should be noted that the step 550 of activating contact change detection does not need to be performed as a test as shown, since the contact change detection may be activated simply by running a program code that automatically performs the steps 560 of obtaining parameters and 570 of indicating a change of contact.

[0062] Once the contact change detection has been activated, a step 560 of obtaining parameters is performed. This step comprises obtaining the contact force F provided at the contact portion of the robot arm. 接触 Step 561 and obtaining the partial acceleration A of the contact part 部分 Step 562.

[0063] Get the contact force F 接触 Step 561 may be performed by, for example, sensing a force provided to a portion of the robotic arm using a force sensor configured to sense a force provided to any portion of the robotic arm, and wherein based on the sensed force F 传感器 To obtain the contact force F 接触. For example, in step 561, the contact force may be obtained by transferring the force sensed at any part of the robot arm into the contact force in the form of contact based on the dynamic model and / or kinematic model of the robot arm. This is possible because the parts of the robot arm are connected to each other and therefore the force is transferred between the parts of the robot arm, and the dynamic model and / or kinematic model may be used to define how the sensed force at any part of the robot arm may be transferred into the contact force applied to the contact part. In one embodiment, the contact force may be obtained based on the force sensed at the part of the robot arm including the contact part, because this simplifies the conversion of the sensed force into the contact force and thereby reduces the inaccuracy between the physical robot arm and the dynamic / kinematic model of the robot arm. In addition, the resulting delay caused by the physical characteristics of the robot arm in the time between the actual contact and the time when the force is sensed at another part of the robot arm may be reduced and / or avoided. The damping of the force when it is transferred through the parts of the robot arm may also be reduced and / or avoided. For example, the contact force F may be obtained by configuring the force sensor to sense the contact force F directly at the contact part. 接触 To sense the contact force directly at the contact part. Figure 1 As shown in FIG4 , the force sensor 109 is configured to sense the force applied to the tool flange, wherein the robot tool flange forms the contact portion. Alternatively or additionally, the contact force may also be obtained based on other parameters indicating the contact force at a portion of the robot arm, such as the position of the joint axis and / or the motor current. The sensed force F 传感器 and the obtained contact force F 接触 Both can be stored in the robot arm's memory.

[0064] Get the partial acceleration A of the contact part 部分 Step 562 may be performed by, for example, sensing the acceleration of at least a portion of the robot arm using an acceleration sensor configured to sense acceleration at any portion of the robot arm, and then determining the acceleration based on the sensed acceleration A. 传感器 To obtain the partial acceleration A 部分. For example, in step 562, the partial acceleration may be obtained by converting the acceleration sensed at any part of the robot arm into a partial acceleration at the contact part based on the dynamic model and / or kinematic model of the robot arm. This is possible because the parts of the robot arm are connected to each other and the acceleration of one part of the robot arm may be transferred to the acceleration of another part of the robot arm based on the dynamic model of the robot arm. In one embodiment, the partial acceleration may be obtained based on the acceleration sensed at the part of the robot arm including the contact part, because this simplifies the conversion of the sensed acceleration into the partial acceleration and thereby reduces the inaccuracy between the physical robot arm and the dynamic / kinematic model of the robot arm. In addition, the resulting delay caused by the physical characteristics of the robot arm in the time between the actual contact and the time when the acceleration is sensed at another part of the robot arm may be reduced and / or avoided. The damping of the acceleration when it is transmitted through the parts of the robot arm may also be reduced and / or avoided. For example, as Figure 1 -As shown in FIG. 4 , the acceleration sensor 115 is configured to sense the acceleration of the robot tool joint, which is accelerated substantially simultaneously with the robot tool flange forming the contact portion. For greater accuracy, the partial acceleration may be sensed directly at the contact portion by configuring the acceleration sensor to sense the partial acceleration directly at the contact portion. For example, the acceleration sensor 415 is configured to sense the acceleration of the robot tool joint forming the contact portion. Alternatively or additionally, the partial acceleration may also be obtained based on other parameters indicating the acceleration at a portion of the robot arm, such as the position of the joint axis and / or the motor current, etc. The sensed acceleration A 传感器 and the obtained partial acceleration A 部分 Both can be stored in the robot arm's memory.

[0065] The step 570 of indicating whether a change of contact between the contact portions of the robot arm has occurred is based on the contact force and the partial acceleration. The indication of the change of contact may be indicated in different ways, for example as a user indication to indicate to the user of the robot arm that a change of contact has occurred. Such a user indication may be in the form of a visual indication, an audio indication and / or a tactile indication, for example, so that the user can register the indication. However, it should also be understood that the indication does not necessarily need to be noticeable to the user of the robot arm, and the indication may be provided as an input to a controller controlling the robot arm. For example, as a trigger signal or indication parameter in a robot program that instructs the robot arm to perform certain actions / tasks based on the indication of the change of contact. The step 570 of indicating whether a change of contact between the contact portions of the robot arm has occurred includes a step 571 of comparing the contact force with a force threshold and a step 572 of comparing the partial acceleration with an acceleration threshold, and if both tests are positive, as indicated by a thumbs-up icon, a change of contact has occurred.

[0066] The contact force F 接触 With force threshold F 阈值 A comparison step 571 is performed, wherein the force threshold has been predetermined and stored, for example, in a memory. Figure 3c , Figure 3f , Figure 4c and Figure 4fAs discussed, a positive contact force occurs when a change in contact between the contact portion of the robot and the object occurs at a constant speed or when the contact portion of the robot is stationary. If the contact force is less than the force threshold, the step of comparing the contact force to the force threshold is configured to abandon (indicated by a thumbs-down icon) the step 570 of indicating a change in contact, because this indicates that a change in contact has not yet occurred. Conversely, if the contact force is greater than the force threshold, the step of comparing the contact force to the force threshold is configured to continue (indicated by a thumbs-up icon) to the next step of the step 570 of indicating a change in contact, because this indicates that a change in contact may have occurred. In an ideal case where the force sensor senses a very accurate contact force, the force threshold may be set to zero, because a positive contact force indicates a possible change in contact between the contact portion of the robot arm and the object. However, the known contact force may be inaccurate due to noise and / or inaccuracies of the force sensor. Therefore, in some cases, it may be beneficial to assign a value to the force threshold in order to overcome the ultimate inaccuracy of the contact force that may cause a false positive. Therefore, the contact force needs to be positive and greater than the force threshold for the method to proceed further. Thus, the force threshold may be set based on knowledge of the type of force sensor and / or the conditions under which the robot arm is operating. In one embodiment, the force threshold may be obtained based on the mass of the payload attached to the contact portion of the robot arm and the acceleration of the contact portion of the robot arm. Before a change in contact occurs, the force sensor is expected to indicate a force corresponding to a multiple of the acceleration and the mass of the payload, so the force threshold may be set to a multiple of the acceleration of the contact portion of the robot and the mass of the payload at the contact portion of the robot, with an additional force tolerance. When the contact changes, the contact force increases, and when the contact force is greater than the force threshold obtained based on the acceleration and the mass of the payload, the change in contact may have occurred. The mass of the payload is provided as a control parameter for controlling the robot arm, such as the mass of the payload obtained by a user inputting via a user interface via any known or future method of obtaining the mass of the payload of the robot arm. The acceleration may be obtained using an acceleration sensor, may be obtained using a dynamic model of the robot arm, or may be obtained based on an indicated acceleration provided by a user or a robot program.

[0067] In the illustrated embodiment, step 570 includes converting the partial acceleration A 部分 With acceleration threshold A 阈值 The comparison step 572 is performed, wherein the acceleration threshold value has been predetermined and stored, for example, in a memory. Figure 3c , Figure 3f and Figure 4c As discussed, at a constant speed or at rest, the acceleration sensor will sense a negative acceleration when a change in contact occurs between the contact part of the robot and the object. Therefore, when the contact changes, the partial acceleration A部分 Will be negative. If the partial acceleration is greater than the acceleration threshold, the step of comparing the partial acceleration to the acceleration threshold is configured to abandon (indicated by a thumbs down icon) the step 570 of indicating a change in contact, because this indicates that a change in contact has not yet occurred. Conversely, if the partial acceleration is less than the acceleration threshold, the step of comparing the partial acceleration to the acceleration threshold is configured to continue (indicated by a thumbs up icon) to the next step, because this indicates that a change in contact has already occurred. In an ideal case where the partial acceleration is accurate, the acceleration threshold may be set to zero, because a negative partial acceleration difference indicates a possible change in contact between the contact portion of the robot arm and the object. However, it is known that the partial acceleration may be inaccurate due to noise and / or inaccuracies of the acceleration sensor. Therefore, in some cases, it may be beneficial to assign a value to the acceleration threshold in order to overcome the ultimate inaccuracy of the partial acceleration that may cause false positives. Therefore, the partial acceleration needs to be less than the acceleration threshold in order for the method to proceed further. The acceleration threshold may be obtained based on the dynamic model of the robot arm and / or the expected acceleration of the indication of the contact portion of the robot arm as provided by the user and / or the robot program.

[0068] The contact force F 接触 With force threshold F 阈值 Step 571 of comparing and converting the partial acceleration A 部分 With acceleration threshold A 阈值 The order in which the comparison is performed in step 572 is not important, and the two steps can be performed in any order, as both conditions need to be met to ensure that a change in contact has occurred. It should also be understood that this step can be integrated into a single step where a logic function evaluates both requirements.

[0069] The method may also include an optional step 585 (shown in dashed lines) of confirming a change in contact by ensuring that the change in contact indicated by the previous positive comparison step is caused by an actual change in contact and not by a false positive (e.g., due to noise or other interference). The change in contact may be confirmed, for example, by repeating the steps of obtaining the parameters and performing the comparison several times, since the test is typically positive some time after the initial change in contact has occurred. Thus, the step of confirming a change in contact may include setting the confirmation counter C to 0. i and the confirmation counter threshold C 阈值 A comparison step 586 is performed, in which the counter C is confirmed. i indicates the number of instances where a change in contact has been indicated based on the contact force and the partial acceleration, and the confirmation counter threshold indicates the desired number of instances where a change in contact needs to have been detected in order to confirm the change in contact. iIf the confirmation counter C is less than the confirmation counter threshold, the step of indicating the change of contact is restarted, and in step 587, the confirmation counter is incremented by 1 before restarting the step of indicating the change of contact 570. It should be noted that step 587 can also be performed after the confirmation counter C is set to i The step 586 of comparing with the confirmation counter threshold value may be arranged before. In addition, if the comparison steps 571, 572 indicate that the change in contact is negative, a step 588 of resetting the confirmation counter may be performed; this may be done, for example, by setting the confirmation counter to zero. The confirmation counter threshold value may, for example, indicate the number of instances where a change in contact has been indicated, or may indicate a percentage of a predetermined number of instances where a change in contact may have occurred.

[0070] If the contact force is greater than a (positive) force threshold and the partial acceleration is less than a (negative) acceleration threshold, a change in contact may be indicated. In the illustrated embodiment, the indication results in step 590 of performing an action when a change in contact is detected. The action performed in step 590 may be any action, for example:

[0071] • Stopping the robotic arm; e.g., instantly, within a predetermined distance and time, at a predetermined position, etc.

[0072] - Moving a portion of the robot arm in a predetermined movement pattern; for example, by changing the direction of movement, moving in a predetermined direction, rotating a portion of the robot, rotating a contact portion, etc.

[0073] · providing a predetermined force by a portion of the robot arm,

[0074] Activate a robotic tool that is connected to a part of the robotic arm; for example, grip with a gripper, screw with a screwdriver, weld with a welder, etc.

[0075] Deactivate a robot tool connected to a part of the robot arm; for example, release a gripper, stop screwing with a screwdriver, stop welding with a welder, etc.

[0076] • Perform a predetermined task; for example, provide user instructions, wait until additional changes in contact are detected, wait for another trigger signal, etc.

[0077] For example, step 590 may optionally include step 550 of activating contact change detection to perform an additional change of contact. It should be understood that the actions of step 590 may be changed to achieve different results or to perform different actions when the next change of contact is detected. This allows multiple different actions to be performed based on contact change detection, and thereby enables programming of the robotic arm based on contact change detection.

[0078] Figure 6A flow chart of a method of controlling a robot arm according to the present invention is shown, the method comprising another embodiment of a method of detecting a change in contact between a contact portion of the robot arm and an object. The method is similar to Figure 5 The method described, and similar steps and elements have been obtained with Figure 5 The same reference numerals are used in the drawings and will not be described further. It should be noted that the optional step 585 of confirming the change of contact is not included in the Figure 6 However, it should be understood that this step can also be performed as part of the method.

[0079] In this embodiment, the step 660 of obtaining parameters includes a step 663 of storing the contact force in a force memory buffer 664, wherein the force memory buffer includes a number n of past contact forces F 接触,t-n In one embodiment, the forces may be sensed at regular time intervals, and in such an embodiment, n will indicate the number of time intervals between the current contact force and the first of the previous contact forces in the force memory buffer. The steps 561 of sensing the forces and 663 of storing the contact forces in the force memory buffer may be performed continuously during operation of the robot arm, for example as separate processes. Thus, the force memory buffer 664 includes a number of past contact forces, and the number n of past contact forces may be set based on the desired number of past contact forces for data evaluation, the available memory of the robot arm controller, or any other desired characteristic of the force memory buffer.

[0080] In this embodiment, the step 660 of obtaining parameters includes a step 665 of storing the partial accelerations in an acceleration memory buffer 666, wherein the acceleration memory buffer includes a number m of past partial accelerations A. 部分,t-m In one embodiment, the acceleration may be sensed at regular time intervals, and in such an embodiment, m will indicate the number of time intervals between the current partial acceleration and the first partial acceleration in the acceleration memory buffer. The steps 562 of sensing the acceleration and 665 of storing the partial accelerations in the acceleration memory buffer may be performed continuously during operation of the robot arm, for example as separate processes. Thus, the acceleration memory buffer 666 includes a number of past partial accelerations, and the number m of past partial accelerations may be set based on the desired number of past partial accelerations for data evaluation, the available memory of the robot arm controller, or any other desired characteristic of the acceleration memory buffer.

[0081] In this embodiment, step 670 of indicating a change in contact includes obtaining a force difference ΔF between at least two contact forces obtained at different time points. 接触 Step 673. This can be accomplished, for example, by applying the latest contact force F接触,t Subtract the previous contact force F sensed before the latest contact force 接触,t-i To achieve this. The previous contact force F 接触,t-i Can be obtained, for example, from force storage buffer 664 .

[0082] Therefore, the force difference can be obtained as follows:

[0083] Equation 5 ΔF 接触 =F 接触 , tF 接触,t-i

[0084] Then, the force difference ΔF 接触 May be stored in memory for later use, as described below.

[0085] In the embodiment shown, the step 670 of indicating a change in contact includes a step 674 of obtaining an acceleration difference between at least two partial accelerations obtained at different points in time. This can be done, for example, by calculating the difference between the most recent partial acceleration A and the most recent partial acceleration A. 部分,t Subtract the previous partial acceleration A sensed before the latest partial acceleration 部分,t-j To achieve this. The previous part of the acceleration A 部分,t Can be obtained, for example, from force storage buffer 664 .

[0086] Therefore, the acceleration difference can be obtained as follows:

[0087] Equation 6 ΔA 部分 =A 部分,t -A 部分 , tj

[0088] Then, the acceleration difference ΔA 部分 May be stored in memory for later use, as described below.

[0089] In the illustrated embodiment, step 670 includes converting the force difference ΔF 接触 With force threshold F 阈值 A comparison step 671 is performed, wherein the force threshold has been predetermined and stored, for example, in a memory. Figure 3a-Figure 3i and Figure 4a-Figure 4i As discussed, when a change in contact occurs between the contact part of the robot and the object, an increase in the contact force occurs. Therefore, if the latest contact force F is obtained when the contact changes, 接触,t And obtain the previous contact force F before the contact changes 接触,t-i , then when the contact changes, the force difference ΔF 接触Will be positive when a change in contact occurs. If the force difference is less than the force threshold, the step of comparing the force difference to the force threshold is configured to abandon (indicated by the thumbs down icon) step 670 of indicating a change in contact, because this indicates that a change in contact has not yet occurred. Conversely, if the force difference is greater than the force threshold, the step of comparing the force difference to the force threshold is configured to continue (indicated by the thumbs up icon) to the next step of step 670 of indicating a change in contact, because this indicates that a change in contact has already occurred. In an ideal case where the contact force is accurate, the force threshold may be set to zero, because a positive contact force difference indicates a possible change in contact between the contact portion of the robot arm and the object. However, known contact forces may be inaccurate due to noise and / or inaccuracies in the force sensor. Therefore, in some cases, it may be beneficial to assign a value to the force threshold in order to overcome the ultimate inaccuracy of the contact force that may cause false positives. Therefore, the force difference needs to be positive and greater than the force threshold for the method to proceed further.

[0090] In the illustrated embodiment, step 670 includes converting the acceleration difference ΔA 部分 With acceleration threshold A 阈值 The comparison step 672 is performed, wherein the acceleration threshold value has been predetermined and stored, for example, in a memory. Figure 3a-Figure 3i and Figure 4a-Figure 4i As discussed, when a change in contact occurs between the contact part of the robot and the object, a decrease in partial acceleration occurs. Therefore, if the latest partial acceleration A is obtained when the contact changes, 部分,t And obtain the previous partial acceleration A before the contact change 部分,t-j , then when the contact changes, the acceleration difference ΔA 部分 It will be negative when a change in contact occurs. If the acceleration difference is greater than the acceleration threshold, the step of comparing the acceleration difference to the acceleration threshold is configured to abandon (indicated by the thumbs down icon) step 670 of indicating a change in contact, because this indicates that a change in contact has not yet occurred. Conversely, if the acceleration difference is less than the acceleration threshold, the step of comparing the acceleration difference to the acceleration threshold is configured to continue (indicated by the thumbs up icon) to the next step of step 670 of indicating a change in contact, because this indicates that a change in contact has occurred. In the ideal case where the partial acceleration is accurate, the acceleration threshold can be set to zero, because a negative partial acceleration difference indicates a possible change in contact between the contact portion of the robot arm and the object. However, it is known that partial acceleration may be inaccurate due to noise and / or inaccuracies in the acceleration sensor. Therefore, in some cases, it may be beneficial to assign a value to the acceleration threshold in order to overcome the ultimate inaccuracy of the partial acceleration that may cause false positives. Therefore, the acceleration difference needs to be positive and greater than the acceleration threshold in order for the method to proceed further.

[0091] The force difference ΔF 接触 With force threshold F 阈值 Step 671 of comparing and converting the acceleration difference ΔA 部分 With acceleration threshold A 阈值 The order in which the comparison is performed in step 672 is not important, and the two steps can be performed in any order, as both conditions need to be met to ensure that a change in contact has occurred. It should also be understood that the steps can be integrated into a single step where a logic function evaluates both requirements.

[0092] The method may also include an optional step 685 (shown in dashed lines) of confirming the change in contact by ensuring that the change in contact indicated by the previous positive comparison step is caused by an actual change in contact and not by a false positive (e.g., due to noise or other interference). In this embodiment, the step 685 of confirming the change in contact is performed based on the number of past contact forces stored in the force memory buffer and the number of past partial accelerations stored in the acceleration memory buffer. This can be accomplished, for example, by repeating steps 673, 674, 671, and 672, wherein the force difference obtained in step 673 and the acceleration difference obtained in step 674 are performed based on a different set of past contact forces and past partial accelerations that can be obtained, for example, from the force memory buffer and the acceleration memory buffer. In the illustrated embodiment, the step 685 of confirming the change in contact may include setting the confirmation counter C i and the confirmation counter threshold C 阈值 The comparison step 586 is as described above. As long as the counter C is confirmed i If the confirmation counter threshold is less than the confirmation counter threshold, in step 587, the confirmation counter is incremented by 1, and in step 689, the set of past contact forces and past partial accelerations is changed so that steps 673 and 674 will be performed based on a different set of contact forces and partial accelerations. For example, the set of past contact forces and past partial accelerations can be changed by updating a timer counter t indicating which contact forces and partial accelerations of the force memory buffer and acceleration memory buffer are used in steps 673 and 674. In this embodiment, in step 689, the timer counter t is decremented by 1, resulting in the fact that steps 673 and 764 will be performed based on a set of past contact forces and past accelerations that have been obtained at an earlier time interval in time. The confirmation counter threshold will then define the number of time intervals earlier in time that have indicated a change in contact before a change in contact is indicated in step 670. If the comparison steps 571, 572 indicate that the change in contact is negative, a step 588 of resetting the confirmation counter can be performed at the beginning of step 670; this can be done, for example, by setting the confirmation counter to zero.

[0093] Figure 7A flow chart of a method of controlling a robot arm according to the present invention is shown, the method comprising another embodiment of a method of detecting a change in contact between a contact portion of the robot arm and an object. The method is similar to Figure 5 and Figure 6 The method described, and similar steps and elements have been obtained with Figure 5 and Figure 6 It should be noted that the optional step 585 and / or step 686 of confirming the change of contact are not included in the Figure 7 However, it should be understood that these steps may also be performed as part of the method.

[0094] In this embodiment, step 770 of indicating a change in contact includes obtaining a relationship FA between the contact force and the partial acceleration 关系 Step 775. This can be achieved, for example, by applying the force difference ΔF 接触 and acceleration difference ΔA 部分 The force-acceleration relationship FA can be obtained as follows 关系 :

[0095] Equation 7 FA 关系 =ΔF 接触 / ΔA 部分

[0096] In the illustrated embodiment, step 770 includes converting the relationship between contact force and segment acceleration FA 关系 Force-acceleration relationship threshold FA 阈值 A comparison step 776 is performed, wherein the force-acceleration relationship threshold has been predetermined and stored, for example, in a memory. Figure 3a-Figure 3i and Figure 4a-Figure 4i As discussed, when a change in contact occurs between the contact part of the robot and the object, an increase in contact force and a decrease in partial acceleration occur. Therefore, when the contact changes, the force-acceleration relationship FA obtained by equation 7 is 关系Will be negative. If the force-acceleration relationship is greater than the force-acceleration relationship threshold, step 776 of comparing the force-acceleration relationship to the force-acceleration relationship threshold is configured to abandon (indicated by the thumbs-down icon) step 770 of indicating a change in contact, because this indicates that a change in contact has not yet occurred. Conversely, if the force-acceleration relationship is less than the force-acceleration relationship threshold, step 776 of comparing the force-acceleration relationship to the force-acceleration relationship threshold is configured to continue (indicated by the thumbs-up icon) step 770 of indicating a change in contact, because this indicates that a change in contact has already occurred. In an ideal case where the contact force and partial acceleration are accurate, the force-acceleration relationship threshold can be set to zero, because a negative force-acceleration relationship indicates a change in contact between the contact portion of the robot arm and the object. However, it is known that both the contact force and partial acceleration may be inaccurate due to noise and / or sensor inaccuracies; therefore, in some cases, it is beneficial to assign a value to the force-acceleration relationship threshold that takes into account the ultimate inaccuracies of the contact force and partial acceleration.

[0097] A second force-acceleration relationship threshold value may also be defined, indicating a value relative to which the obtained force-acceleration relationship needs to be greater to indicate a change in contact. This makes it possible to avoid false positive identifications in cases where a small acceleration difference has been obtained and in cases where the signs of the obtained force difference and acceleration difference are different, since such false positive identifications may cause a large negative force-acceleration relationship without an actual change in contact. Therefore, providing a second force-acceleration relationship threshold value may exclude such false positive identifications.

[0098] It should be noted that the relationship F between the contact force and the partial acceleration can alternatively be obtained by dividing the acceleration difference ΔA by 部分 Divide by the force difference ΔF 接触 to obtain, and in such an embodiment, the force-acceleration relationship will also be negative when the contact changes.

[0099] In addition, Figure 5 In the embodiment shown, the relationship between the contact force and the partial acceleration FA can be introduced 关系 Step 775; for example, by changing the contact force F 接触 With partial acceleration A 部分 Divide the parts, and the force-acceleration relationship FA can be obtained as follows 关系 :

[0100] Equation 8 FA 关系 =F 接触 / A 部分

[0101] In addition, the relationship between the contact force and the partial acceleration FA 关系 Force-acceleration relationship threshold FA阈值 The comparison step 776 may also be combined with Figure 5 In the embodiment shown. Therefore, when the contact changes, the force-acceleration relationship FA obtained by equation 8 关系 will be negative, and step 776 of comparing the force-acceleration relationship to the force-acceleration relationship threshold value can be configured to abandon (indicated by a thumbs-down icon) step 770 of indicating a change in contact if the force-acceleration relationship is greater than the force-acceleration relationship threshold value, otherwise continue (indicated by a thumbs-up icon) to the next step of step 770 of indicating a change in contact. Thus, the relationship FA between the contact force and the partial acceleration is obtained. 关系 Step 775 and the relationship between the contact force and the part acceleration FA 关系 Force-acceleration relationship threshold FA 阈值 The comparison step 776 may be replaced by the contact force F 接触 With force threshold F 阈值 Step 571 of comparing and converting the partial acceleration A 部分 With acceleration threshold A 阈值 A comparison step 572 is performed. It should be understood that in addition to step 571 and step 572, in one embodiment, a step 776 may also be provided so that all conditions need to be met to indicate a change in contact.

[0102] Figure 8 A flow chart of a method of controlling a robot arm according to the present invention is shown, the method comprising another embodiment of a method of detecting a change in contact between a contact portion of the robot arm and an object. The method is similar to Figure 5-Figure 7 The method shown, and similar steps have been obtained with Figure 5-Figure 7 It should be noted that the optional step 585 and / or step 686 of confirming the change of contact are not included in the Figure 8 However, it should be understood that this step can also be performed as part of the method.

[0103] In this embodiment, the step 870 of indicating a change in contact is based on a plurality of contact forces sensed at different points in time. This allows for more robust contact change detection, since changes in contact force due to, for example, changing temperature, operating conditions, etc., can be reduced. In the illustrated embodiment, the step 870 of indicating a change in contact includes obtaining a statistical force value F based on the plurality of contact forces. 统计 Step 877. As shown in the figure, the statistical force value F 统计It can be obtained, for example, based on the number of past contact forces stored in the force memory buffer. In the illustrated embodiment, the statistical force value is obtained as the average of n past contact forces stored in the force memory buffer. However, it should be understood that the statistical force value can be obtained as any value based on a plurality of contact forces, such as an average value, mean, median, mode, variability, range, variance, (standard) deviation, frequency distribution, etc. The force difference obtained in step 873 can then be calculated based on the statistical force value F by using the following equation: 统计 To get:

[0104] Equation 9 ΔF 接触 =F 接触,t -F 统计

[0105] where F 接触,t is the force sensed at time t, and F 统计 is the average of past contact forces stored in the force memory buffer. Thus, the force difference indicates the difference between the latest contact force and the average of past contact forces stored in the memory buffer.

[0106] In step 671, the force difference is compared to a force threshold as previously described, and if the force difference is greater than the force threshold, the method continues. In this embodiment, the force threshold is set to a value greater than zero in order to avoid that small increases in the contact force compared to the statistical force value cause a positive test result in step 671. The force threshold may be obtained, for example, based on the statistical force value, such as dynamically during operation of the robot arm. This allows the force threshold to be adjusted over time, for example to compensate for changing temperature, operating conditions, etc. of the robot. For example, the force threshold may be obtained based on a mean of past contact forces and a variance of past contact forces, so that the force threshold may be adjusted over time and thereby avoid false positive detections due to drift of the force sensor.

[0107] Similarly, the step 870 of indicating a change in contact is based on a plurality of partial accelerations sensed at different points in time. This allows for a more robust detection of a change in contact, since changes in partial accelerations due to, for example, changing temperature, operating conditions, etc., can be reduced. In the illustrated embodiment, the step 870 of indicating a change in contact includes obtaining a statistical acceleration value A based on the plurality of partial accelerations. 统计 Step 878. Acceleration value A 统计The acceleration difference obtained in step 874 can then be obtained based on the number of past partial accelerations stored in the acceleration memory buffer. In the illustrated embodiment, the statistical acceleration value is obtained as the average of n past partial accelerations stored in the acceleration memory buffer. However, it should be understood that the statistical acceleration value can be obtained as any value based on a plurality of partial accelerations, such as an average value, mean, median, mode, variability, range, variance, (standard) deviation, frequency distribution, etc. The acceleration difference obtained in step 874 can then be obtained based on the statistical force value A by using the following equation: 统计 To get:

[0108] Equation 10 ΔA 部分t =A 部分,t -A 统计

[0109] Among them A 部分,t is the acceleration sensed at time t, and A 统计 is the average value of the past partial accelerations stored in the force memory buffer. Thus, the acceleration difference indicates the difference between the latest partial acceleration and the average value of the past partial accelerations stored in the memory buffer.

[0110] In step 672, the acceleration difference is compared to an acceleration threshold as previously described, and if the acceleration difference is less than the acceleration threshold, the method continues. In this embodiment, the acceleration threshold is set to a value greater than zero in order to avoid that a small decrease in acceleration compared to the statistical acceleration value causes a positive test result in step 672. The acceleration threshold can be obtained, for example, based on the statistical acceleration value, such as dynamically during operation of the robot. This allows the acceleration threshold to be adjusted over time, for example to compensate for changing temperatures, operating conditions, etc. of the robot. For example, the acceleration threshold can be obtained based on the mean and variance of past partial accelerations so that the acceleration threshold can be adjusted over time and thereby avoid false positive detections due to drift of the acceleration sensor.

[0111] It should be noted that obtaining Figure 7 The step 775 of obtaining the illustrated force-acceleration relationship may be based on statistical force values ​​and / or statistical acceleration values, and the force-acceleration threshold may be based on statistical force values ​​and / or statistical acceleration values.

[0112] Fig. 9 A flow chart of a method of controlling a robot arm according to the present invention is shown, the method comprising another embodiment of a method of detecting a change in contact between a contact portion of the robot arm and an object. The method is similar to Figure 5-Figure 8 The method shown, and similar steps have been obtained with Figure 5-Figure 8It should be noted that the optional step 585 and / or step 686 of confirming the change of contact are not included in the Fig. 9 However, it should be understood that these steps may also be performed as part of the method.

[0113] In this embodiment, a statistical force value F is obtained based on multiple contact forces. 统计 Step 977 includes obtaining a first statistical force value F based on the first set of past contact forces. 统计,1 Step 979 and obtaining a second statistical force value F based on the second set of past contact forces 统计,2 Step 980, wherein the first set of past contact forces and the second set of past contact forces are different. The first set of past contact forces and the second set of contact forces are different meaning that at least one of the two sets of contact forces includes past contact forces that do not form part of the other set of contact forces. Thus, the statistical force values ​​F are obtained based on different statistical bases. 统计,1 and the second statistical force value F 统计,2 In the illustrated embodiment, the first set of past contact forces includes a first number p of contact forces in the force storage buffer, and the second set of past contact forces includes a last number q of contact forces in the force storage buffer. Thus, the first set of past contact forces includes contact forces F 接触,t To F 接触,t-p , and therefore, the second set of past contact forces includes the contact force F 接触,t-(n-q) To F 接触,t-n In the case where n=p+q and p=q, the first set of past contact forces includes the first half of the force memory buffer and the second set of past contact forces includes the second half of the force memory buffer. As previously described, the first statistical force value and the second statistical force value may be obtained as any value based on the respective sets of contact forces, such as an average, mean, median, mode, variability, range, variance, (standard) deviation, frequency distribution, etc.

[0114] In this embodiment, step 970 of indicating a change in contact includes obtaining a statistical force test value F based on the first statistical force value and the second statistical force value. 统计,测试 In step 981, for example, a statistical force test value may be obtained as a relationship between a first statistical force value and a second statistical force value, a difference between the first statistical force value and the second statistical force value, a sum / product of the first statistical force value and the second statistical force value, or any value obtained based on the first statistical force value and the second statistical force value.

[0115] In this embodiment, the step 978 of obtaining a statistical acceleration value based on a plurality of partial accelerations includes obtaining a first statistical acceleration value A based on a first set of past partial accelerations. 统计,1 Step 982 and obtaining a second statistical acceleration value A based on the second set of past partial accelerations统计,2 Step 983, wherein the first set of past partial accelerations and the second set of past partial accelerations are different. The first set of past partial accelerations and the second set of past partial accelerations being different means that at least one of the two sets of partial accelerations includes past partial accelerations that do not form part of the other set of partial accelerations. Thus, the statistical acceleration values ​​A are obtained based on different statistical bases. 统计,1 and the second statistical acceleration value A 统计,2 In the illustrated embodiment, the first set of past partial accelerations comprises a first number p of partial accelerations in the acceleration memory buffer, and the second set of past partial accelerations comprises a last number q of partial accelerations in the acceleration memory buffer. Thus, the first set of past partial accelerations comprises partial accelerations A 部分,t To A 部分,t-p , and thus the second set of past partial accelerations includes partial acceleration A 部分,t-(m-q) To A 部分,t-m In the case where m=p+q and p=q, the first set of past partial accelerations comprises the first half of the acceleration memory buffer, and the second set of past partial accelerations comprises the second half of the acceleration memory buffer. As previously described, the first statistical acceleration value and the second statistical acceleration value may be obtained as any value based on the respective sets of corresponding partial accelerations, such as an average value, mean, median, mode, variability, range, variance, (standard) deviation, frequency distribution, etc.

[0116] In this embodiment, step 970 of indicating a change in contact includes obtaining a statistical acceleration test value A based on the first statistical acceleration value and the second statistical acceleration value. 统计,测试 In step 984, for example, a statistical acceleration test value may be obtained as a relationship between a first statistical acceleration value and a second statistical acceleration value, a difference between the first statistical acceleration value and the second statistical acceleration value, a sum / product of the first statistical acceleration value and the second statistical acceleration value, or any value obtained based on the first statistical acceleration value and the second statistical acceleration value.

[0117] The method consists in obtaining the statistical force-acceleration relationship FA 关系,统计 Step 975 and the statistical force-acceleration relationship FA 关系,统计 Force-acceleration relationship threshold FA 阈值 Step 976 of comparison. Statistical force-acceleration relationship FA 关系,统计 The statistical power test value F can be used, for example, to 统计,测试 With the statistical acceleration test value A 统计,测试 The force-acceleration relationship FA can be obtained as follows 关系,统计 :

[0118] Equation 11 FA 关系,统计 =F统计,测试 / A 统计,测试

[0119] The force-acceleration relationship threshold may be predetermined or dynamically determined during operation of the robot arm. This allows obtaining statistical force test values ​​and statistical acceleration values ​​based on their historical evolution, and in step 976, the historical values ​​may be compared with the thresholds, so that a more robust contact change may be detected. This is useful in the case where the robot arm moves slowly, because in this case, the increase in contact force and the decrease in partial acceleration due to the change in contact occur slowly and may not result in a sufficient increase in contact force and a sufficient decrease in partial acceleration at the time t used as a parameter in the contact change detection method described previously. Therefore, using different statistical force values ​​and different statistical acceleration values ​​allows detection of changes in contact during slow movement of the robot arm.

[0120] For example, in one embodiment, the first statistical force value and the second statistical force value may be obtained as the average of a first set of past contact forces and a second set of past contact forces, respectively, wherein at least a portion of the past contact forces in the first set of past contact forces and a portion of the second set of past contact forces are sensed at different time points. Thus, the first statistical force value may be obtained as the average of the first number p of contact forces in the force memory buffer:

[0121] Equation 12

[0122] And the second statistical force value can be obtained as the mean of the last number q of contact forces in the force storage buffer:

[0123] Equation 13

[0124] where F 接触,i is the i-th contact force in the force storage buffer, and n is the number of contact forces in the force storage buffer.

[0125] In addition, a first statistical acceleration value may be obtained as an average of a first number p of partial accelerations in the acceleration memory buffer:

[0126] Equation 14

[0127] And the second statistical acceleration value can be obtained as the average of the last number q of partial accelerations in the acceleration memory buffer:

[0128] Equation 15

[0129] Among them A 部分,iis the ith partial acceleration in the acceleration memory buffer, and m is the number of partial accelerations in the acceleration memory buffer.

[0130] The statistical force test value may then be obtained as the difference between the first statistical force value and the second statistical force value:

[0131] Equation 16 F 统计,测试 =F 统计,1 -F 统计,2

[0132] And then, the statistical acceleration test value may be obtained as the difference between the first statistical acceleration value and the second statistical acceleration value:

[0133] Equation 17 A 统计,测试 =A 统计,1 -A 统计,2

[0134] As combined Figure 3a-Figure 3i and Figure 4a-Figure 4i As discussed, when a change in contact between the contact portion of the robot arm and the object occurs, an increase in contact force and a decrease in partial acceleration occur, and in combination with the slow movement of the robot arm, the increase in force and the decrease in acceleration occur slowly. The slow change in contact can be compared to a gripping situation in which the robot arm grips an object, where the force increases, and where the robot arm decelerates over time. Therefore, when the contact changes slowly, the force-acceleration relationship FA obtained based on the second statistical force value and the second statistical acceleration value by equation 11 is 关系,统计 will be negative, and FA 阈值 The threshold can be set to zero to indicate a slow change in contact. In addition, once gripping begins, the statistical acceleration value will approach zero because the contacting part of the robot arm remains in the same position, resulting in a huge (infinite) FA 关系,统计 value, and then, the second FA 阈值 Can be set to indicate the FA 关系,统计 The upper limit threshold for clamping when this value is exceeded.

[0135] If the statistical force-acceleration relationship is greater than the force-acceleration relationship threshold, step 976 of comparing the statistical force-acceleration relationship to the force-acceleration relationship threshold is configured to abandon (indicated by the thumbs-down icon) step 970 of indicating a change in contact, because this indicates that a change in contact has not yet occurred. Conversely, if the statistical force-acceleration relationship is less than the force-acceleration relationship threshold, step 976 of comparing the statistical force-acceleration relationship to the force-acceleration relationship threshold is configured to continue (indicated by the thumbs-up icon) step 970 of indicating a change in contact, because this indicates that a change in contact has already occurred.

[0136] Additionally, an additional step (not shown) of comparing the statistical force-acceleration relationship to a force-acceleration relationship threshold may be configured to indicate that a clamping condition has occurred if the statistical force-acceleration relationship is greater than a second force-acceleration relationship threshold.

[0137] Fig.10 A flow chart of a method of controlling a robot arm according to the present invention is shown, the method comprising another embodiment of a method of detecting a change in contact between a contact portion of the robot arm and an object. The method is similar to Figure 5-Figure 9 The method shown, and similar steps have been obtained with Figure 5-Figure 9 It should be noted that the optional step 585 and / or step 686 of confirming the change of contact are not included in the Fig.10 However, it should be understood that these steps may also be performed as part of the method.

[0138] In this embodiment, step 1070 of indicating a change in contact includes applying the statistical force value F obtained in step 979 to the 统计,t Step 1091 of storing in a statistical force value memory buffer 1092, wherein the statistical force value memory buffer includes past statistical force values ​​F of a quantity v 统计,t-v The statistical force memory buffer may also include different kinds of values, for example, both the mean and the deviation of the contact forces of the same number may be stored in the statistical force value memory buffer. In this embodiment, the statistical force test value F is obtained. 统计,测试 Step 981 of may be based on at least two statistical force values ​​among the statistical force values ​​in the statistical force value memory buffer.

[0139] Similarly, step 1070 of indicating a change in contact may include converting the statistical acceleration value A 统计 Step 1093 of storing in a statistical acceleration value memory buffer 1094, wherein the statistical acceleration value memory buffer includes a number w of past statistical acceleration values ​​A 统计,t-w The statistical acceleration memory buffer may also include different kinds of values, for example, both the mean and the deviation of the same number of contact forces may be stored in the statistical acceleration value memory buffer. In this embodiment, the statistical acceleration test value A is obtained. 统计,测试 The step of determining the statistical acceleration value may be based on at least two of the statistical acceleration values ​​in the statistical acceleration value memory buffer.

[0140] Storing the statistical force values ​​and / or statistical acceleration values ​​in a buffer allows for performing contact change detection based on a large number of statistical values ​​obtained based on different sets of sensed values, where these values ​​have been sensed at different points in time. Thus, changes in the statistical values ​​over time can be used to determine whether a change in contact has occurred. In addition, storing the statistical values ​​in a buffer allows for obtaining the values ​​directly from the buffer, rather than calculating the statistical values ​​again.

[0141] Fig.11 A flow chart of a method of controlling a robot arm according to the present invention is shown, the method comprising another embodiment of a method of detecting a change in contact between a contact portion of the robot arm and an object. The method is similar to Figure 5-Figure 10 The method shown, and similar steps have been obtained with Figure 5-Figure 10 , and will not be described further. In this embodiment, the step 1170 of indicating a change in contact between the contact portion of the robot arm and the object comprises at least two different methods of indicating a change in contact between the robot arm and the object, wherein at least one of these methods is based on a contact force and a partial acceleration at the contact portion of the robot arm. This makes it possible to provide different kinds of methods of detecting a change in contact between the contact portion of the robot arm and the object, which can increase the robustness of the contact change detection and ensure correct contact change detection in various operating modes of the robot arm. The at least two different methods of detecting a change in contact can be performed independently of each other, and if one of the methods indicates a change in contact, a change in contact can be indicated. Additionally or alternatively, at least some of the at least two different methods of detecting a change in contact can be related to each other, such that both methods need to indicate a change in contact in order to indicate a change in contact.

[0142] In the illustrated embodiment, step 1170 includes steps 770, 870, and 1070 indicating a change in contact, such as Figure 7 , Figure 8 and Fig.10 Steps 770, 870 and 1070 are performed after step 660 of obtaining parameters and are performed independently of each other. In this embodiment, if at least one of steps 770, 870 and 1070 indicates that a change in contact has occurred, a change in contact is indicated.

[0143] Step 770 includes combining Figure 7 Steps 673, 674, 775 and 776 are described above. In addition, step 770 includes setting the confirmation counter C i,h and the confirmation counter threshold C 阈值,h A comparison step 786 is performed, in which the counter C is confirmed. i,hThe number of instances in which a change of contact has been indicated is indicated based on steps 673, 674, 775, and 776, and a confirmation counter is incremented each time a change of contact has been indicated. 阈值,h The indication of the expected number of instances of a change in contact that need to have been detected in order to confirm a change in contact. In this embodiment, the confirmation threshold counter is two, resulting in the fact that two presumed changes in contact need to be indicated before a change in contact is indicated at step 770. Step 770 indicates that the change in contact has occurred rapidly because the step of indicating a change in contact is based on three sets of contact forces and partial accelerations. First, the relationship FA obtained based on the first set of contact forces and the second set of contact forces and partial accelerations 关系 Exceeding the force-acceleration relationship threshold FA 阈值 Secondly, the relationship FA is obtained based on the second and third contact forces and partial acceleration. 关系 Exceeding the force-acceleration relationship threshold FA 阈值 FA 阈值 is set at a sufficiently high level to provide robust contact change detection and avoid false positives due to, for example, sensing noise. Thus, step 770 provides a robust and fast method for indicating when a hard change of contact between a contact part of the robot and an object occurs, where the contact force increases quickly and at a rate greater than the tolerance of the force sensor, and where the part acceleration decreases quickly and at a rate greater than the tolerance of the acceleration sensor.

[0144] Step 870 includes combining Figure 8 Steps 877, 673, 878, 674, 671 and 672 are described. In addition, step 870 includes setting the confirmation counter C i,s and the confirmation counter threshold C 阈值,s A comparison step 887 is performed, in which the counter C is confirmed. i,s The number of instances in which a change of contact has been indicated is indicated based on steps 877, 673, 878, 674, 671, and 672, and a confirmation counter is incremented each time a change of contact has been indicated. Confirmation Counter Threshold C 阈值,sThe indication is a desired number of instances in which a change in contact needs to have been detected in order to confirm a change in contact. In this embodiment, the confirmation threshold counter is four, resulting in the fact that four presumable changes in contact need to be indicated before a change in contact is indicated in step 870. However, it should be understood that the confirmation threshold counter can be any number, depending on the desired robustness and how quickly a change in contact should be indicated. In one embodiment, the confirmation threshold counter can be set in an interval between 3-10 presumable indicated changes in contact. Step 870 indicates that since the step of indicating a change in contact is based on the last five sets of contact forces and partial accelerations, the change in contact has occurred relatively quickly, however, since the change in contact is based on statistical force values ​​F obtained based on past contact forces and past partial accelerations, respectively. 统计 And the statistical acceleration value A 统计 To indicate that step 870 requires that the force storage buffer and the acceleration storage buffer have been filled. Figure 8 As mentioned above, the force difference ΔF 接触 Need to be greater than the force threshold F 阈值 , and in one embodiment, the force threshold may be set as the upper limit of the confidence interval of the previous contact force. Similarly, the acceleration difference ΔA 部分 Need to be less than the acceleration threshold A 阈值 , and in one embodiment, the acceleration threshold may be set as the lower limit of the confidence interval of the previous partial acceleration. The confidence interval may be set based on the desired robustness level and reaction time of the contact change detection method. This allows for providing a method that does not indicate a change in contact at step 770 (e.g., because the FA 关系 No more than FA 阈值 This can be used, for example, when the robot arm moves at moderate speed and / or the change in contact with the soft object only causes FA 关系 Thus, step 870 provides a robust and fast method for indicating when a soft change in contact between a contact part of the robot and an object occurs, where the contact force increases quickly and at a rate close to the tolerance of the force sensor, and where the part acceleration decreases quickly and at a rate close to the tolerance of the acceleration sensor.

[0145] Step 1170 includes combining Fig. 9 and Fig.10 Steps 979, 1091, 981, 982, 1093, 984, 975 and 976 are described. In addition, step 1070 includes setting the confirmation counter C i,c and the confirmation counter threshold C 阈值,c A comparison step 1086 is performed, in which the counter C is confirmed. i,cThe number of instances in which a change of contact has been indicated is indicated based on steps 979, 1091, 981, 982, 1093, 984, 975, and 976, and a confirmation counter is incremented each time a change of contact has been indicated. Confirmation Counter Threshold C 阈值,c Indicates the expected number of instances of a change in contact that need to have been detected in order to confirm the change in contact. In this embodiment, the confirmation threshold counter is 20, resulting in the fact that 20 presumable changes in contact need to be indicated before a change in contact is indicated at step 1070. Step 1070 indicates that since the step of indicating a change in contact is based on the last 20 sets of contact forces and partial accelerations, the change in contact has occurred relatively slowly and requires that the force memory buffer, the acceleration memory buffer, the statistical force value buffer, and the statistical acceleration value buffer have been filled. As combined Fig. 9 and Fig.10 As described, if the statistical force-acceleration relationship is less than the statistical force-acceleration relationship threshold, a change in contact is indicated. This allows a method of detecting a change in contact to be provided without indicating a change in contact in steps 770 and 870. For example, this may occur in the case where the robot arm moves at a slow speed and / or makes contact with an object, causing only a small and slow change in the contact force and partial acceleration. This may, for example, cause a clamping between the robot arm and the object. Thus, step 1070 provides a robust method for indicating when a change in clamping of the contact between the contact portion of the robot and the object occurs.

[0146] In another embodiment, the method comprises a step of obtaining a contact change threshold value (not shown) indicating a sensitivity level of the step indicating a change of contact. This makes it possible to adjust the sensitivity of the step indicating a change of contact, for example based on a user input, wherein the user indicates the sensitivity level that the step indicating a change of contact should have. For example, the user may set a change in a contact sensitivity parameter using a user interface of the robot arm, wherein a low contact sensitivity parameter change indicates that the step indicating a change of contact requires a clear and robust change of contact in order to indicate that a change of contact between the contact portion of the robot arm and the object has occurred; however, a low contact sensitivity change also generally results in a slower contact change detection. Conversely, a high sensitivity parameter indicates that the step indicating a change of contact indicates even a slight change of contact between the contact portion of the robot arm and the object; however, a high contact sensitivity change may result in false positives. The contact change threshold value may also be obtained based on an operating mode of the robot arm, for example, in an operating mode where contact change detection is critical for the robot to operate correctly, the contact change threshold value may be set high, and in an operating mode where the robot arm only needs to react when a clear and robust change of contact occurs, the contact change threshold value may be set low. The contact change threshold may also be obtained, for example, based on operating parameters of the robot arm, wherein the operating parameters indicate various parameters related to the operation of the robot arm and may be related to the entire robot or parts of the robot, for example, a target moving speed indicating a moving speed at which a part of the robot arm should move, a target acceleration indicating an acceleration at which a part of the robot arm should move, a target force that a part of the robot arm should provide, a target torque that a part of the robot arm should provide, a target position indicating a position of a part of the robot arm, a joint angle indicating a joint angle of at least one of the robot joints, a joint distance indicating an angular distance of the robot joints, a torque provided by a robot joint and / or a joint motor, a motor current controlling a joint motor, etc. Figure 5-Figure 8 In the illustrated embodiment, the contact change threshold may be used, for example, to define a force threshold, an acceleration threshold, and / or a force-acceleration threshold.

[0147] In another embodiment, the step of obtaining parameters comprises the step of obtaining at least one posture parameter indicating at least one of a position and an orientation of at least a portion of the robot arm. The posture parameter may, for example, indicate a position and / or orientation of an output side of a robot joint, a position and / or orientation of a robot tool flange, or any other portion of the robot arm. The position and / or orientation may, for example, be indicated relative to a reference point such as a robot base. The posture parameter may, for example, be obtained based on position encoders sensing positions of different portions of the robot arm; for example, the position encoder may be configured to sense an angular position of an output flange of a rotary robot joint and / or a Cartesian position of an output flange of a prismatic robot joint, such as Figure 1 and Figure 2 Alternatively, the posture parameters may be obtained based on a robot program configured to control the robot arm, for example, the robot program may include a trajectory plan indicating the posture parameters. Obtaining the posture parameters makes it possible to obtain the posture of the robot arm when contact between the contact part and the object has been indicated. This makes it possible to control the robot arm using the posture of the robot arm obtained at the time of contact, for example the robot arm may move to the posture of the robot arm at the time of contact and / or move relative to the posture of the robot arm.

[0148] The step of obtaining parameters may also include the step of storing at least one posture parameter in a posture memory buffer, wherein the posture memory buffer includes a number n of past posture parameters. In one embodiment, the posture parameters may be sensed at regular time intervals, and in such an embodiment, the posture parameter will indicate the number of time intervals between the current posture parameter and the first of the previous posture parameters in the posture memory buffer. The steps of obtaining posture parameters and storing posture parameters in the posture memory buffer may be performed continuously during operation of the robot arm, for example as separate processes. Thus, the posture memory buffer includes a number of past posture parameters, and the number n of past posture parameters may be set based on the required number of past posture parameters for data evaluation, the available memory of the robot arm controller, or any other desired characteristic of the posture memory buffer.

[0149] Brief Description of Figure Numbers

[0150]

[0151]

Claims

1. A method for detecting a change in contact between a contact portion of a robot arm and an object, wherein the robot arm comprises a robot base, a robot tool flange, and a plurality of robot joints connecting the robot base and the robot tool flange, wherein the contact portion is formed at a portion of the robot arm, the method comprising the following steps: obtaining a contact force provided at the contact portion of the robotic arm by sensing a force provided to a portion of the robotic arm; obtaining a partial acceleration of the contact portion of the robot arm by sensing an acceleration of the portion of the robot arm including the contact portion; indicating whether a change in contact between the contact portion of the robot arm and the object has occurred based on both the contact force and the portion acceleration, wherein the step of indicating whether the change in contact between the contact portion of the robot arm and the object has occurred comprises the following steps: obtaining a direction of the contact force relative to the contact portion of the robot arm; obtaining a direction of acceleration of the portion of the contact portion of the robot arm; comparing the direction of the contact force relative to the contact portion of the robotic arm with the direction of the partial acceleration of the robotic arm; and The change in contact between the contact portion of the robotic arm and the object is indicated to have occurred based on the direction of the contact force and the direction of the partial acceleration being substantially opposite to each other.

2. The method according to claim 1, wherein the step of indicating whether the change in contact between the contact portion and the object has occurred comprises the following steps: If the contact force is greater than a force threshold and the portion acceleration is less than an acceleration threshold, then it is indicated that the change in contact between the contact portion and the object has occurred. 3 . The method of claim 2 , wherein at least one of the force threshold and the acceleration threshold is obtained based on a mass of a payload attached to the contact portion of the robotic arm.

4. The method according to claim 1, wherein: said step of obtaining said contact forces comprises obtaining at least two different contact forces by sensing said forces provided to said portion of said robotic arm at different points in time; The step of obtaining the partial acceleration comprises obtaining at least two different partial accelerations by sensing the acceleration of the portion of the robot arm including the contact portion at two different points in time; and wherein The step of indicating whether a change in contact between the contact portion and the object has occurred comprises the following steps: obtaining a contact force difference between the at least two different contact forces; obtaining a partial acceleration difference between the at least two different partial accelerations; and wherein The step of indicating whether the change in contact between the contact portion and the object has occurred includes indicating that the change in contact between the contact portion and the object has occurred if the contact force difference is greater than a contact force difference threshold and the partial acceleration difference is less than a partial acceleration difference threshold.

5. The method according to claim 1, wherein: said step of obtaining said contact forces comprises obtaining at least two different contact forces by sensing said forces provided to said portion of said robotic arm at different points in time; The step of obtaining the partial acceleration comprises obtaining at least two different partial accelerations by sensing the acceleration of the portion of the robot arm including the contact portion at two different points in time; and wherein The step of indicating whether a change in contact between the contact portion and the object has occurred comprises the following steps: obtaining a contact force difference between the at least two different contact forces; obtaining a partial acceleration difference between the at least two different partial accelerations; determining a relationship between the contact force difference and the partial acceleration difference; If the determined relationship between the contact force difference and the portion acceleration difference exceeds a threshold relationship value between the contact force difference and the portion acceleration difference, then it is indicated that the change in contact between the contact portion and the object has occurred. The method of claim 5 , wherein the threshold relationship value is obtained based on a mass of a payload attached to the contact portion of the robotic arm.

7. The method of any one of claims 1-6, wherein the change in contact is a collision.

8. The method according to any one of claims 1 to 6, wherein the method comprises the following steps: storing the contact force in a memory; as well as The partial acceleration is stored in memory The following steps: obtaining the contact force; obtaining the partial acceleration; storing the contact force; as well as Store the partial acceleration This is repeated multiple times so that multiple samples of the contact force and multiple samples of the partial acceleration are stored in the memory.

9. The method of claim 8, wherein the step of indicating whether the change in contact between the contact portion and the object has occurred is based on the plurality of samples of the contact force and the plurality of samples of the portion acceleration.

10. The method of claim 8, wherein at least one of a force threshold, an acceleration threshold, and a threshold relationship value is obtained based on the plurality of samples of the contact force and the plurality of samples of the partial acceleration.

11. The method of claim 9, wherein at least one of a force threshold, an acceleration threshold, and a threshold relationship value is obtained based on the plurality of samples of the contact force and the plurality of samples of the partial acceleration.

12. The method according to any one of claims 1 to 6, wherein the method comprises the following steps: At least one posture parameter is obtained, the at least one posture parameter indicating at least one of a position of at least a portion of the robotic arm and an orientation of at least a portion of the robotic arm.

13. The method according to any one of claims 1-6, wherein the step of obtaining the contact force provided at the contact portion of the robot arm comprises the step of sensing the contact force directly at the contact portion of the robot arm.

14. A robot system comprising: a robot arm comprising a robot base, a robot tool flange, and a plurality of robot joints connecting the robot base and the robot tool flange; a robot controller configured to control the robot arm; wherein the robot controller is configured to detect a change in contact between a contact portion of the robot arm and an object by performing a method according to any one of claims 1-11, and wherein the contact portion forms a part of the robot arm.

15. The robot system according to claim 14, wherein the robot system comprises: a force sensor configured to sense a force at a portion of the robotic arm; an acceleration sensor configured to sense acceleration at the contact portion of the robot arm; The robot controller is configured as follows: obtaining the contact force provided at the contact portion of the robot arm based on the force sensed by the force sensor; The partial acceleration of the contact portion of the robot arm is obtained based on the acceleration sensed by the acceleration sensor. 16 . The robot system according to claim 15 , wherein the force sensor is arranged at the contact portion of the robot arm, and the acceleration sensor is arranged at the contact portion of the robot arm.

17. The robot system according to any one of claims 14 to 16, wherein the robot system comprises: at least one position sensor configured to sense at least one posture parameter indicative of at least one of a position of at least a portion of the robotic arm and an orientation of at least a portion of the robotic arm; wherein the robot controller is configured to obtain the posture parameter when indicating the change in contact between the contact portion and the object.

18. The robotic system according to any one of claims 14-16, wherein the robotic controller is configured to control the robotic arm by performing at least one action upon indicating the change in contact between the contact portion and the object.

19. The robotic system of claim 18, wherein the action performed upon the indication of a change in contact comprises at least one of: stopping the robotic arm; moving a portion of the robotic arm in a predetermined movement pattern; providing a predetermined force by the robotic arm; activating a robotic tool coupled to a portion of the robotic arm; deactivating a robotic tool coupled to a portion of the robotic arm; as well as Perform predetermined tasks.

Citation Information

Patent Citations

  • Force moment sensor

    US20150204742A1

  • Force-torque sensor

    US4763531A

  • Force / torque sensor, apparatus and method for robot teaching and operation

    WO2014110682A1

  • Mass measurement device

    JP2018155555A

  • Mobile collaborative robot

    US20160031086A1