Method, robot, computer equipment and medium for determining effectiveness of acting force
By analyzing the change amplitude, duration and value of the end-of-action force of the robot, combined with sliding mean filtering, the effectiveness of the action force is determined and invalid, the problem of action force identification in human-computer interaction is solved, and safety and reliability are improved.
Patent Information
- Application Number
- CN202310093867.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-02
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2043-02-02
AI Technical Summary
During human-computer interaction, the robot and the operator may have contact, making it difficult to distinguish whether the force applied at the end is the effective force required in the surgical task or is ineffective, resulting in potential safety risks.
By obtaining the current force and based on its change amplitude, duration and value, using mean and slope analysis, combined with sliding mean filtering, the effectiveness of the force is determined and the invalid force is set to zero.
Effectively identify and eliminate the ineffective force generated by misoperation, improve the safety and reliability of robot operations, and reduce the risks in human-computer collaboration.
Smart Images

Figure CN116252299B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics, and in particular to a method for determining the effectiveness of an action force, a robot, a computer device, and a medium. Background Art
[0002] During human-machine interaction, robots and operators are usually in the same workspace, and contact between the two is inevitable, causing unnecessary harm.
[0003] For example, when a surgical robot is working normally, the operator needs to manually apply force to the end to achieve a certain movement effect. However, in some cases, it is impossible to distinguish whether the force applied by the end is the force required for the surgical task, or the force not required for the surgical task caused by the operator or other situations. Summary of the Invention
[0004] One purpose of the present application is to propose a method for determining the effectiveness of a force, a robot, a computer device, and a medium, which can determine the effectiveness of the force applied to the end of the robot.
[0005] According to an embodiment of the first aspect of the present application, a method for determining the effectiveness of a force is provided, the method comprising: obtaining a current force sensed within a current time period; determining the effectiveness of the current force based on the amplitude of change of the current force, and / or based on the duration of action of the current force, and / or based on the force value of the current force; in response to the current force being a valid force, performing an action based on the valid force, and in response to the current force being an invalid force, setting the invalid force to zero.
[0006] In some embodiments, determining the effectiveness of the current force based on the change amplitude of the current force includes: determining the slope and / or mean of the current force in the current time period, and determining the effectiveness of the current force based on the slope and / or mean.
[0007] In some embodiments, determining the effectiveness of the current force based on the mean includes: obtaining the mean corresponding to the previous force in the previous time period, and determining a preset range interval based on the mean in the previous time period; in response to the current force value being within the preset range interval, determining that the current force is an effective force.
[0008] In some embodiments, determining the effectiveness of the current force based on the mean includes: in response to the current force value being outside a preset range, determining the force action duration of the current force; in response to the force action duration of the current force being less than a preset duration, determining that the current force is an invalid force; in response to the force action duration of the current force being greater than or equal to a preset duration, determining that the current force is a valid force.
[0009] In some embodiments, determining the slope of the current force in the current time period includes: determining the slope of the current force in the current time period based on a linear fit of the current force at multiple moments spaced apart in the current time period.
[0010] In some embodiments, determining the effectiveness of the current force based on the slope includes: obtaining the slope corresponding to the previous force in the previous time period, and determining a slope threshold range based on the maximum and minimum values of the slope in the previous time period; in response to the slope of the current time period being within the slope threshold range, determining that the current force is a valid force.
[0011] In some embodiments, determining the effectiveness of the current force based on the slope includes: in response to the current force slope being outside a slope threshold range, determining the force action duration of the current force; in response to the force action duration of the current force being less than a preset duration, determining that the current force is an invalid force; in response to the force action duration of the current force being greater than or equal to a preset duration, determining that the current force is a valid force.
[0012] In some embodiments, the method further includes: obtaining an intersection of the effective force determined based on the slope and the effective force determined based on the mean; and determining the force in the intersection as the final effective force.
[0013] In some embodiments, determining the validity of the current force based on the duration of action of the current force includes: determining that the force is an invalid force in response to the duration of action being less than a preset time threshold.
[0014] In some embodiments, determining the validity of the current force based on the force value of the current force includes: in response to the force value being not within the preset range, determining that the force is an invalid force.
[0015] In some embodiments, after acquiring the sensed current force, the method further includes: filtering the measured current force to obtain the filtered current force, and determining the validity of the filtered current force.
[0016] The present application also provides a robot, comprising: a robot body; a force sensor, the force sensor being mounted on a flange at the end of the robot body and being used to measure the force acting on the end of the robot; an operating tool, the operating tool being mounted at the end of the force sensor and being used to perform surgical operations; and a processor, the processor performing the force validity determination method of any of the above-mentioned embodiments on the force measured by the force sensor as force measurement data, to obtain the validity of the force acting on the operating tool.
[0017] In some embodiments, the robot comprises a collaborative jaw reconstruction robot.
[0018] The present application also provides a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method for determining the effectiveness of the force in any one of the above embodiments.
[0019] The present application also provides a computer-readable storage medium having a computer program or instruction stored thereon, which, when executed by a processor, implements the steps of the method for determining the effectiveness of the force in any of the above-mentioned embodiments.
[0020] The present application also provides a computer program product, including a computer program or instructions, which, when executed by a processor, implements the steps of the method for determining the effectiveness of the force in any of the above embodiments.
[0021] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become obvious from the description below, or will be learned through practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:
[0023] Figure 1 1 is a flow chart of a method for determining the effectiveness of an action force provided in one embodiment of the present application;
[0024] Figure 2 is a flowchart of determining the validity of the current force based on the mean value according to one embodiment of the present application;
[0025] Figure 3 is a schematic diagram of a flow chart of determining the validity of the current force based on the slope according to an embodiment of the present application;
[0026] Figure 4is a flow chart of a method for determining the effectiveness of an action force provided in another embodiment of the present application;
[0027] Figure 5 It is a structural diagram of a device for determining the effectiveness of a force according to an embodiment of the present application. DETAILED DESCRIPTION
[0028] In order to more clearly understand the above-mentioned objects, features and advantages of the present invention, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present invention and the features therein can be combined with each other without conflict.
[0029] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Therefore, the scope of protection of the present invention is not limited to the specific embodiments disclosed below.
[0030] The method for determining the effectiveness of the force provided in the present application can be applied to a robot. The robot can be a surgical robot, such as a collaborative mandibular reconstruction robot. The robot includes a robot body; a force sensor, which is mounted on a flange at the end of the robot body and is used to measure the force acting on the end of the robot; an operating tool, which is mounted on the end of the force sensor and is used to perform surgical operations; and a processor, which evaluates and determines the effectiveness of the force measured by the force sensor as force measurement data to obtain the effectiveness of the force acting on the operating tool.
[0031] In one embodiment, Figure 1 FIG. 1 is a flow chart of a method for determining the effectiveness of an action force provided in one embodiment, comprising the following steps:
[0032] Step 102: Obtain the current force sensed in the current time period.
[0033] In some embodiments, the sensor may be pre-configured to sense the applied force.
[0034] The current time period is a time range, which can be a period of time before or after the current moment.
[0035] In actual operation, the current force applied during the current time period can be obtained through the sensor. The current force is a continuous force, and the magnitude of the force can change during the current time period.
[0036] By evaluating the effectiveness of the force applied over a period of time, it is possible to determine whether the force applied in the current period is the effective force required in actual business operations.
[0037] Step 104 : determining the effectiveness of the current force based on the change amplitude of the current force, and / or based on the duration of action of the current force, and / or based on the force value of the current force.
[0038] In some embodiments, the magnitude of the change in the current force sensed by the sensor is determined by comparing it with the previous force sensed in the previous time period. The effectiveness of the current force is determined based on the magnitude of the change in the current force. For example, if the magnitude of the change in the current force is larger than the effective force in the previous time period, the current force may be a force generated by an erroneous operation. Conversely, if the magnitude of the change in the current force is smaller than the effective force in the previous time period, the current force may be an effective force for controlling the movement of the robot.
[0039] In some embodiments, the effectiveness of the current force can also be determined by detecting the duration of the current force. For example, if the duration of the current force is short, then the current force may be a force generated by an erroneous operation and may be an ineffective force. Conversely, if the duration of the current force is long, or the duration meets the duration required for business operations, then the current force may be an effective force for controlling the movement of the robot.
[0040] In some embodiments, the validity of the current force can also be determined based on the force value of the current force. For example, if the force value of the current force exceeds the value required for normal business operations, then the current force may be an invalid force. Conversely, if the value of the current force is within the normal force value range, then the current force may be a valid force.
[0041] In some embodiments, multiple parameters such as the change amplitude of the current force, the duration of action, the force value, etc. can also be comprehensively evaluated, and the effectiveness of the current force can be comprehensively evaluated through a combination of one or more of the multiple parameters. This can make the effectiveness evaluation of the current force more accurate and reasonable.
[0042] In the above embodiment, by performing a multi-dimensional evaluation and judgment on the sensed current force to determine the effectiveness of the current force, the erroneous operation caused by the invalid force generated by the erroneous operation is greatly reduced or avoided, thereby improving the safety of the operation.
[0043] Step 106 : In response to the current action force being an effective action force, executing an action based on the effective action force; in response to the current action force being an ineffective action force, setting the ineffective action force to zero.
[0044] Effective forces are those required for actual operations, while ineffective forces are those not required for actual operations. For example, effective forces can be the forces used to instruct the robot to perform a target motion. Ineffective forces can be the forces caused by misoperation. When an ineffective force is detected, it is reset to zero, and the robot does not perform the target motion corresponding to the effective force.
[0045] In some embodiments, when the sensor senses a current force, it determines whether the current force is a valid force. If the sensor determines that the current force is a valid force, the robot responds with movement. If the sensor senses an invalid force, the invalid force may be an accidental touch of the robot by a user performing a surgical operation with the surgical robot, and the robot does not respond with movement.
[0046] It can be understood that a force sensor is configured at the end of the robot to sense the force acting on the end of the robot.
[0047] In the above embodiment, by proposing an external force detection method based on human-machine collaboration, the robot can distinguish whether the force applied at its end is an effective external force required for normal operation. If it is an effective force, the robot responds normally. If it is determined to be an invalid force caused by an accidental touch, the robot does not respond, thereby ensuring the safety of human-machine collaboration and reducing the risk of use.
[0048] In some embodiments, determining the effectiveness of the current force based on the change amplitude of the current force includes: determining the average value corresponding to the previous forces in the previous time period, and determining the effectiveness of the current force based on the average value.
[0049] The previous time period refers to the period before the current time period, and is earlier than the current time period. The previous forces detected in the previous time period are obtained, and the corresponding mean values of the previous forces are calculated. Based on the comparison between the current force sensed in the current time period and the mean values calculated in the previous time period, the validity of the current force sensed in the current time period is determined.
[0050] For example, in actual operation, the average effective force of the robot during a period of time after it is turned on and when no ineffective force exists can be calculated and used as a comparison object for the force in subsequent time periods.
[0051] In the above embodiment, by analyzing the effective force data applied to the robot end, the average effective force applied to the robot end in the previous time period is determined. The force sensed in the subsequent time period is then compared with the average effective force of the previous time period to evaluate whether the current force matches the previous effective force, thereby determining the effectiveness of the current force. By rationally utilizing the effective force of the previous time period to evaluate the effectiveness of the current force, the evaluation of the effectiveness of the current force is more reasonable and effective.
[0052] In some embodiments, determining the effectiveness of the current force based on the mean includes: obtaining the mean corresponding to the previous force in the previous time period, and determining a preset range interval based on the mean in the previous time period; in response to the current force value being within the preset range interval, determining that the current force is an effective force.
[0053] For example, multiple previous forces corresponding to multiple intervals in a previous time period can be obtained, and an average value can be calculated based on the multiple previous forces. A preset range interval can be determined based on the average value, and then the preset range interval can be used to determine the effectiveness of the current force.
[0054] In some embodiments, the maximum and minimum effective forces sensed during the previous sampling period can be calculated, and the difference between the maximum and minimum values can be calculated, with the difference being used as the preset range. Alternatively, a preset multiple of the difference between the maximum and minimum forces sensed during the previous sampling period can be used as the preset range. For example, the preset multiple can be 3 or another multiple. For example, if the mean is denoted as mean and the offset is denoted as the offset, then the preset range can be expressed as (mean-3*offset, mean+3*offset).
[0055] When evaluating the effectiveness of the current force, the current force can be compared with a preset range to obtain a validity determination result of the current force. For example, if the sampled value sensed in the subsequent time is within the preset range, it is considered that no invalid force (for example, a force caused by an erroneous operation) has been applied, that is, the sensed force at this time is a valid force.
[0056] like Figure 2As shown, in some embodiments, determining the effectiveness of the current force based on the mean includes: step 202, in response to the current force value being outside a preset range, determining the force action duration of the current force; step 204, in response to the force action duration of the current force being less than a preset duration, determining that the current force is an invalid force; step 206, in response to the force action duration of the current force being greater than or equal to a preset duration, determining that the current force is a valid force.
[0057] In some embodiments, when it is determined that the value of the current force is outside a preset range, there is a possibility that the current force is an invalid force. At this time, in order to further evaluate the effectiveness of the current force, the duration of the current force can be further obtained.
[0058] For example, during normal operation, the operator's applied force to the end point lasts for a relatively long time, so a force with a short duration is more likely to be considered an erroneous force. In some embodiments, the actual sampling frequency of the force sensor can be combined, such as 200Hz. Forces with a duration of less than 1s can be considered invalid, indicating an erroneous force. This means that the force should not actually exist and can be reset to zero.
[0059] In the above embodiment, by judging the numerical range of the sensed current force (sampled force), the results of whether the current force is effective can be obtained based on the mean value.
[0060] In some embodiments, determining the effectiveness of the current force based on the change amplitude of the current force includes: determining the slope of the current force in a current time period, and determining the effectiveness of the current force based on the slope.
[0061] In some embodiments, the effective force usually changes slowly, and the ineffective force (for example, the force generated by erroneous operation) generally produces a large force change in a short period of time. Therefore, in some embodiments, the effectiveness of the current force can be determined by calculating the slope of the current force.
[0062] In some embodiments, determining the slope of the current force in the current time period includes: determining the slope of the current force in the current time period based on a linear fit of the current force at multiple moments spaced apart in the current time period.
[0063] In some embodiments, the current force sensed within the current time period is obtained, the current forces corresponding to multiple time points are extracted from the continuous current forces according to certain rules, and linear fitting is performed based on the current forces corresponding to multiple time points. The slope corresponding to the current force in the current time period is obtained based on the linear fitting result.
[0064] In some embodiments, determining the effectiveness of the current force based on the slope includes: obtaining the slope corresponding to the previous force in the previous time period, and determining a slope threshold range based on the maximum and minimum values of the slope in the previous time period; in response to the slope of the current time period being within the slope threshold range, determining that the current force is a valid force.
[0065] For example, five sampling points may be obtained for a linear fit, a slope may be calculated, and then a method similar to a sliding average may be used to calculate all slopes of all collected force sequences, and the validity of the current sensed force may be determined based on the calculated slope.
[0066] In some embodiments, multiple valid previous forces corresponding to multiple interval moments in a previous time period can be obtained, and a slope can be calculated based on the multiple previous forces. A slope threshold range can be determined based on the slope, and then the slope threshold range can be used to determine the effectiveness of the current force.
[0067] In some embodiments, the maximum and minimum slopes of the effective forces sensed during the previous sampling period can be calculated, and the difference between the maximum and minimum values can be calculated, with the difference being used as the slope threshold range. Alternatively, a preset multiple of the difference between the maximum and minimum values of the forces sensed during the previous sampling period can be used as the slope threshold range. For example, the preset multiple can be 2 or another multiple. For example, if the mean is denoted as mean and the offset is denoted as the offset, then the slope threshold range can be expressed as (k_mean - 2*k_offset, k_mean + 2*k_offset).
[0068] When evaluating the effectiveness of the current force, the current force can be compared with the set slope threshold range to obtain the effectiveness determination result of the current force. For example, if the sampled value sensed in the subsequent time is within the slope threshold range, it is considered that no additional invalid force has been applied, that is, the sensed force at this time is effective.
[0069] In some embodiments, the slope threshold range is calculated using the effective force obtained in the previous time period. For example, the slope average of the effective force during a period of robot power-on can be obtained, as this period is generally considered to be free of any ineffective force. The obtained slope average is then used as a comparison target for the sensed force in the subsequent time period.
[0070] like Figure 3 As shown, in some embodiments, determining the effectiveness of the current force based on the slope includes:
[0071] Step 302: In response to the current force slope being outside a slope threshold range, determining a force application duration of the current force;
[0072] Step 304: In response to the force action duration of the current force being less than a preset time duration, determining that the current force is an invalid force;
[0073] Step 306: In response to the force action duration of the current force being greater than or equal to a preset duration, determine that the current force is an effective force.
[0074] In some embodiments, when it is determined that the slope of the current force is outside the slope threshold range, there is a possibility that the current force is an invalid force. At this time, in order to further evaluate the effectiveness of the current force, the duration of the current force can be further obtained.
[0075] For example, during normal operation, the operator's applied force on the end point lasts for a relatively long time, so a short-duration force is more likely to be considered an invalid force due to an erroneous operation. In some embodiments, the actual sampling frequency of the force sensor can be combined, such as 200Hz. Forces lasting less than 1 second can be considered invalid forces due to an erroneous operation, meaning they should not actually exist, and can be set to zero.
[0076] In the above embodiment, by judging the slope interval of the value of the currently sensed current force (sampled force), the result of whether the current force is effective can be obtained based on the slope.
[0077] In the above embodiment, the effectiveness of the current force is evaluated by combining the slope of the current force and the action time. A force that exists for a long time is considered to be the actual force to be applied, while a short-term force is considered to be an error force.
[0078] In some embodiments, the method further includes: obtaining an intersection of the effective force determined based on the slope and the effective force determined based on the mean; and determining the force in the intersection as the final effective force.
[0079] In some embodiments, the mean and slope of the current force can be calculated to determine whether the current force is an effective force. To further improve the accuracy of the current force effectiveness assessment, in some embodiments, the effective force determined by the slope method and the effective force determined by the mean method can be comprehensively evaluated again to obtain a final effective force determination result with higher accuracy. For example, the slope method will generate a set of effective force sequences, and the mean method will also generate a set of effective force sequences. The intersection of the effective sequences generated by the mean method and the effective sequences generated by the slope method is used as the final effective force sequence.
[0080] For example, the effectiveness of the current force can be evaluated by the slope and mean methods respectively, and then the force that is evaluated as effective by both the slope and mean methods can be determined as the effective force. The effective force evaluated by only one of the methods (mean or slope) will not be regarded as the final effective force.
[0081] In the above embodiment, by using mean judgment in combination with slope judgment, a set of sequences of real effective forces can be obtained respectively, and then the intersection of the two effective force sequences can be obtained to achieve an accurate judgment on the effectiveness of the current force.
[0082] In some embodiments, determining the validity of the current force based on the duration of action of the current force includes: determining that the force is an invalid force in response to the duration of action being less than a preset time threshold.
[0083] In the above embodiment, the effectiveness of the current force is determined by determining the duration of the current force, which is a simple and effective method. Ineffective forces whose duration does not meet the requirements can be detected most quickly and efficiently. When used as one step in the force effectiveness assessment, the duration of the force can quickly determine the effectiveness of the force, making the force effectiveness assessment more accurate and reasonable.
[0084] It can be understood that in some embodiments, the effectiveness of the current force can be evaluated directly by the duration of the current force, or the duration of the current force can be combined with other evaluation conditions to achieve the effectiveness evaluation of the current force.
[0085] In some embodiments, determining the validity of the current force based on the force value of the current force includes: in response to the force value being not within the preset range, determining that the force is an invalid force.
[0086] In the above embodiment, the effectiveness of the current applied force is determined by determining whether the current applied force value is within a preset range. This method is simple and effective. Invalid applied forces whose current applied force value range clearly does not conform to business logic can be detected with the fastest efficiency. Furthermore, as one step in the force effectiveness assessment, determining the force value allows for rapid determination of the force's effectiveness, making the assessment more accurate and reasonable.
[0087] It can be understood that in some embodiments, the effectiveness of the current force can be evaluated directly by the value of the current force, or the value of the current force can be combined with other evaluation conditions to achieve the effectiveness evaluation of the current force.
[0088] In the above embodiment, through the external force identification algorithm based on the force sensor, the method can set the value of a static moment (for example, a moment in a previous time period) as a reference value (slope reference value / mean reference value), and compare the value at the current moment with the reference value to determine whether there is an effective force on the end.
[0089] By combining the characteristics of the forces applied during actual operation, we add a time-length constraint to the sensed force sequence, identifying short-term contact as an accidental touch during operation. This method identifies invalid force sequences caused by accidental touches and resets the invalid forces to zero. This allows us to clearly identify whether the robot end-user is actually applying effective force, preventing the robot from making unplanned movements due to accidental touches during operation, which could pose a threat to the operator and the operating environment.
[0090] In some embodiments, the force sensor must be zeroed and gravity compensated in advance to ensure that the value measured by the sensor is the actual external force value acting on the end of the robot. The effectiveness is then evaluated using the sliding average method and the slope method respectively.
[0091] In some embodiments, after acquiring the sensed current force, the method further includes: filtering the measured current force to obtain the filtered current force, and determining the validity of the filtered current force.
[0092] For example, a sliding average filter is applied to the current force value collected by the force sensor to remove noise generated by motor vibration during the acquisition process. In the above embodiment, considering that sliding average filtering effectively suppresses periodic interference, provides high smoothness, and is suitable for high-frequency oscillation systems, the sliding average filter removes noise data from the current force data while retaining valid data on the current force, providing data support for subsequent accurate assessment of the effectiveness of the current force.
[0093] In some embodiments, the sliding average filter algorithm treats the continuous sampling data as a queue of fixed length N. Newly sensed data is inserted at the end of the queue and the data at the head of the queue is deleted. Let the input be x and the output be y, then the following formula can be obtained:
[0094]
[0095] In some embodiments, the present application provides a robot comprising: a robot body; a force sensor, the force sensor being mounted on a flange at the end of the robot body for measuring the force acting on the end of the robot; an operating tool, the operating tool being mounted at the end of the force sensor for performing surgical operations; and a processor, the processor performing a force measurement method as described in any of the above embodiments on the force measured by the force sensor as force measurement data to determine the effectiveness of the current force.
[0096] In the above embodiment, an algorithm for detecting external forces at the robot end is provided. For example, the robot can be a six-degree-of-freedom robot, and the force sensor can be a six-dimensional force / torque sensor. The number of force sensors can be one or more. An operating tool is also included, which can be a tool holder consisting of a surgical tool. The force sensor is mounted on a flange at the robot end, and the tool holder is mounted at the sensor end. The force measurement data currently collected by the sensor is analyzed to determine whether the applied force is effective.
[0097] During human-machine interaction, robots and operators are often in the same workspace, making contact inevitable, potentially causing harm. The primary solution to this problem is for the robot to detect collisions and take appropriate safety measures. The most established method for robot safety collision detection is to use sensors to detect collision forces. However, when collaborative mandibular reconstruction surgery robots operate normally, the operator must manually apply force to the end effect. Therefore, based on practical considerations, an algorithm is needed to distinguish between external force required for the task and force generated by operator error.
[0098] like Figure 4 FIG. 1 is a flow chart of a method for determining the effectiveness of an applied force provided in another embodiment of the present application. The method includes:
[0099] Step 401: Sliding mean filtering. Specifically, the current applied force is collected by sensors at the robot's end, and a sliding mean filtering operation is performed on the force value collected by the force sensor. This sliding mean filtering removes noise generated by motor vibration during the acquisition process. Sliding mean filtering effectively suppresses periodic interference, provides high smoothness, and is suitable for high-frequency oscillation systems.
[0100] Step 402: Obtain static data. Calculate the average value or slope of the force (effective force) for a period of time after the robot is powered on and no ineffective force exists.
[0101] Step 403: Mean value determination. The calculated mean value is used as a comparison target for the forces collected later. Specifically, the threshold value (preset range interval) can be set to 3 times the difference between the maximum and minimum forces within this sampling period.
[0102] Step 503, slope judgment. In some embodiments, when an effective force needs to be applied, the effective force usually changes slowly, and in general, a false touch generally involves a large change in force within a short period of time. Therefore, using the slope of the sampling force as a distinguishing method can also distinguish to a certain extent whether a false touch has occurred. For example, every five sampling points can be grouped together, and a linear fit can be performed on the sequence to obtain the slope of the fitting result. A method similar to the sliding average is used to slide and calculate all the slopes of all the collected force sequences. Similar to the mean, the mean slope of the robot is calculated for a period of time. During this period, it is usually assumed that there is no invalid force, and the obtained slope is used as the comparison object later. Specifically, the maximum and minimum values in the above-mentioned sequence calculated can be found, and twice the difference between the two (k_mean-2*k_offset, k_mean+2*k_offset) is used as the slope threshold range for slope judgment.
[0103] Step 404: Determine whether an ineffective force is present. If the subsequent sampled values are within a preset range, it is assumed that no additional ineffective force is applied, i.e., no ineffective force exists, and the force at this time is considered effective. Otherwise, an ineffective force is determined to exist, and the ineffective force is reset to zero.
[0104] Step 504: Determine whether an invalid force exists. If the subsequent sampled value is within the slope threshold, then no invalid force exists and the force at that time is considered to be valid. Otherwise, an invalid force exists and the invalid force is set to zero.
[0105] Step 405: Determine the duration of the applied force. If the force value is outside the preset range, the duration of the applied force is determined. During normal operation, the duration of the applied force applied by the operator to the end point is relatively long, so a force with a short duration is considered an accidental touch force.
[0106] Step 505: Determine the duration of the applied force. If the force value is outside the slope threshold range, the duration of the applied force is determined. During normal operation, the duration of the applied force applied by the operator to the end point is relatively long, so a force with a short duration is considered an accidental touch force.
[0107] Step 406 determines whether the applied force lasts for more than 1 second (using 1 second as an example). Considering the actual sampling frequency of the force sensor, which is defined as 200 Hz, a force lasting less than 1 second can be considered a false touch, meaning it is an invalid force that does not actually exist. In this case, an invalid force is determined to exist and the invalid force is set to zero.
[0108] Step 506: Determine whether the applied force exceeds 1 second (using 1 second as an example). Considering the actual sampling frequency of the force sensor, which is defined as 200 Hz, a force applied for less than 1 second can be considered a false touch, meaning it is an invalid force that does not actually exist. In this case, an invalid force is determined to exist and the invalid force is set to zero.
[0109] Step 407: Obtain sequence 1. If it is determined that the applied force lasts for more than 1 second, the applied force is regarded as the effective applied force to form sequence 1.
[0110] Step 507: Obtain sequence 2. If it is determined that the applied force lasts for more than 1 second, the applied force is regarded as the effective applied force to form sequence 2.
[0111] Step 408: Intersection. Using the mean value, we can determine a sequence 1 consisting of real effective forces. Using the slope method, we can also generate a sequence 2 consisting of effective forces. The intersection of sequence 1 and sequence 2 is the effective force sequence. By finding the intersection of the two sequences, we can accurately determine the effective forces.
[0112] Step 409: Determine whether there is an effective force within the time period. Based on the fact that the force obtained by the intersection is an effective force, it is determined that there is an effective force within the time period.
[0113] In one embodiment, Figure 5 As shown, a device for determining the effectiveness of an applied force is provided. The device can be a software module or a hardware module, or a combination of the two to form a part of a computer device. The device specifically includes:
[0114] The acquisition module 502 is used to acquire the current force sensed in the current time period.
[0115] The determination module 504 is configured to determine the effectiveness of the current force based on the change amplitude of the current force, and / or based on the duration of action of the current force, and / or based on the force value of the current force.
[0116] The determination module 506 is configured to, in response to the current force being a valid force, perform an action based on the valid force, and in response to the current force being an invalid force, determine that the current force is a force of erroneous operation.
[0117] The specific definition of the force validity determination device can be found in the definition of the force validity determination method above and will not be repeated here. The various modules in the above-mentioned force validity determination device can be implemented in whole or in part through software, hardware, or a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each of the above modules.
[0118] In one embodiment, a computer device is further provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in the above method embodiments when executing the computer program.
[0119] In one embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above-mentioned method embodiments when executed by a processor.
[0120] In one embodiment, a computer program product is further provided. The computer program product includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.
[0121] It should be understood that although Figure 1-4 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 1-4At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The order of execution of these steps or stages is not necessarily one by one, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
[0122] It should also be understood that the first, second, third, fourth and various numerical numbers involved in this document are only distinctions made for the convenience of description and are not intended to limit the scope of this application.
[0123] It should be understood that the term "and / or" in this document simply describes a relationship between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the related objects are in an "or" relationship.
[0124] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meanings as those commonly understood by those skilled in the art to which this application belongs. In the event of any inconsistency, the meanings described in this specification or derived from the contents described in this specification shall prevail.
[0125] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing related hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods.
[0126] It should be understood that the processor mentioned in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.
[0127] It should also be understood that the memory mentioned in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DR RAM).
[0128] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, the memory (storage module) is integrated into the processor.
[0129] It should be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory. The technical features of the above embodiments can be combined in any manner. To simplify the description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there are no contradictions in the combination of these technical features, they should be considered to be within the scope of this specification.
[0130] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make various modifications and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application. Therefore, the scope of protection of the present patent application shall be determined by the appended claims.
Claims
1. A method for determining the effectiveness of an action force, characterized in that: The method comprises: Get the current force sensed in the current time period; Determining the effectiveness of the current force based on a change in the current force, and / or based on an acting duration of the current force, and / or based on a force value of the current force; In response to the current action force being an effective action force, performing an action based on the effective action force; and in response to the current action force being an ineffective action force, setting the ineffective action force to zero; in, The determining the validity of the current acting force based on the change amplitude of the current acting force includes: Determine the slope and / or mean of the current force in the current time period, and determine the validity of the current force based on the slope and / or mean; wherein, The determining the validity of the current force based on the mean value includes: In response to the current force value being outside a preset range, determining a force action duration of the current force; In response to the force action duration of the current action force being less than a preset time duration, determining that the current action force is an invalid action force; In response to the force action duration of the current action force being greater than or equal to a preset range, determining the current action force as an effective action force; and The determining the validity of the current force based on the slope includes: In response to the current force slope being outside a slope threshold range, determining a force application duration of the current force; In response to the force action duration of the current action force being less than a preset time duration, determining that the current action force is an invalid action force; In response to the force action duration of the current action force being greater than or equal to the preset time duration, the current action force is determined to be an effective action force.
2. The method according to claim 1, characterized in that The determining the validity of the current force based on the mean value includes: Obtaining an average value corresponding to a previous force in a previous time period, and determining a preset range interval based on the average value in the previous time period; In response to the current force value being within a preset range, the current force is determined to be an effective force.
3. The method according to claim 1, characterized in that Determining the slope of the current force in the current time period includes: Based on a linear fit of the current force at a plurality of time intervals within the current time period, a slope of the current force within the current time period is determined.
4. The method according to claim 1, wherein The determining the validity of the current force based on the slope includes: Obtaining a slope corresponding to a previous force in a previous time period, and determining a slope threshold range based on a maximum value and a minimum value of the slope in the previous time period; In response to the slope of the current time period being within the slope threshold range, the current force is determined to be an effective force.
5. The method according to claim 1, characterized in that The method further comprises: Obtaining an intersection of the effective force determined based on the slope and the effective force determined based on the mean; The force in the intersection is determined as the final effective force.
6. The method according to any one of claims 1 to 5, characterized in that The determining the validity of the current force based on the duration of the current force includes: In response to the action duration being less than a preset time threshold, the current action force is determined to be an invalid action force.
7. The method according to any one of claims 1 to 5, characterized in that The determining the validity of the current force based on the force value of the current force includes: In response to the force value being outside a preset range, the current force is determined to be an invalid force.
8. The method according to any one of claims 1 to 5, characterized in that After acquiring the sensed current force, the method further includes: The current acting force is filtered to obtain the filtered current acting force, and the validity of the filtered current acting force is determined.
9. A robot, characterized in that: include: Robot body; A force sensor is mounted on a flange at the end of the robot body and is used to measure the force acting on the end of the robot; an operating tool, mounted on a distal end of the force sensor and used for performing a surgical operation; A processor is provided for performing a force validity determination method according to any one of claims 1 to 8 on the force measured by the force sensor as force measurement data to obtain the validity of the force applied to the operating tool.
10. The robot according to claim 9, characterized in that The robot includes a collaborative jaw reconstruction robot.
11. A computer device comprising a memory, a processor, and a computer program stored in the memory, wherein: The processor executes the computer program to implement the steps of the method for determining the effectiveness of the force according to any one of claims 1 to 8.
12. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed by a processor, the steps of the method for determining the effectiveness of the force described in any one of claims 1 to 8 are implemented.
13. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the method for determining the effectiveness of the force described in any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Collision detecting method and device for industrial robot, electronic equipment and medium
CN110053043A
Controller of robot and control method
CN110154018A