Collision detection method and apparatus for humanoid robot
By differentiating the resultant force at the end of the humanoid robot arm and performing frequency domain analysis, the collision detection process is simplified, the detection sensitivity and accuracy are improved, misoperation is reduced, and the system reliability is enhanced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-28
- Publication Date
- 2026-04-17
AI Technical Summary
In existing technologies, collision detection methods at the end of humanoid robot arms are complex and require recalculation of zero-point values, which affects the accuracy and efficiency of screening tasks.
By acquiring the resultant force at the end of the robotic arm collected by the force sensor, the rate of change of the resultant force is obtained by differentiation, and low-pass filtering is performed based on a preset frequency threshold. The collision detection result is determined by frequency domain analysis, which simplifies the algorithm process.
It improves the sensitivity and accuracy of collision detection, reduces the possibility of misoperation, and enhances the overall performance and reliability of the system.
Smart Images

Figure CN121157111B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of humanoid robot technology, and more particularly to a collision detection method and device for humanoid robots. Background Technology
[0002] When performing a task of selecting target objects (such as removing sesame seeds from millet), humanoid robots need to detect when the scraper at the end of the robotic arm comes into contact with the surface of the millet.
[0003] In related technologies, a six-dimensional force sensor can be installed at the end of a robotic arm. By calibrating the six-dimensional force sensor using algorithms to eliminate zero-point drift, external forces can be detected.
[0004] However, in the process of realizing this application, the inventors discovered that the prior art has at least the following problems: the existing methods have complex algorithms and require recalculation of zero-point values, which affects the accuracy and efficiency of screening. Summary of the Invention
[0005] This application provides a collision detection method and device for humanoid robots to simplify calculations and improve the accuracy and efficiency of screening.
[0006] In a first aspect, embodiments of this application provide a collision detection method for a humanoid robot, applied to a humanoid robot, wherein a force sensor is provided at the end of the robot's robotic arm, and the method includes:
[0007] During the operation, the resultant force at the end of the robotic arm collected by the force sensor is obtained;
[0008] By differentiating the resultant force over time, the first rate of change of the resultant force in the time domain is obtained;
[0009] Based on a preset frequency threshold, the first force change rate data is low-pass filtered to obtain the second force change rate data of the resultant force in the time domain; the preset frequency threshold is determined by converting historical force change rate data into frequency domain data; the historical force change rate data is obtained by differentiating the resultant force in time during a collision-prone operation.
[0010] The collision detection result is determined based on the second force change rate data and the preset threshold.
[0011] In one possible design, acquiring the resultant force at the end of the robotic arm collected by the force sensor includes:
[0012] The force components sensed by the force sensor in the three coordinate axes of the Cartesian coordinate system are obtained respectively.
[0013] Based on the force components, determine the corresponding resultant force.
[0014] In one possible design, the step of differentiating the resultant force over time to obtain the first rate of change of the resultant force in the time domain includes:
[0015] The resultant force is subjected to noise filtering to obtain the filtered resultant force.
[0016] The time derivative of the filtered resultant force is obtained to obtain the first rate of change of the resultant force in the time domain.
[0017] In one possible design, determining the collision detection result based on the second force change rate data and a preset threshold includes:
[0018] If the absolute value of the second force change rate data is greater than the preset threshold, a collision is determined to have occurred, and an alarm signal is generated.
[0019] In one possible design, the end effector of the robotic arm is provided with a scraper; the alarm signal is used to indicate that the scraper is in contact with the target object; the method further includes:
[0020] The alarm signal is sent to the remote operation device;
[0021] The remotely operated device receives a motion control signal generated in response to receiving the alarm signal, and controls the scraper to push the target object away according to the motion control signal.
[0022] In one possible design, the method further includes:
[0023] During the first historical operation, the first historical resultant force at the end of the robotic arm collected by the force sensor is acquired; the first historical operation includes multiple collisions;
[0024] Differentiate the first historical resultant force over time to obtain the first historical force change rate data in the time domain;
[0025] The first historical force change rate data is converted from the time domain to the frequency domain to obtain the first frequency domain data;
[0026] The preset frequency threshold is determined based on the first frequency domain data.
[0027] In one possible design, the method further includes:
[0028] During the second historical operation, the second historical resultant force at the end of the robotic arm, collected by the force sensor, is acquired; no collision occurs during the second historical operation.
[0029] Differentiate the second historical resultant force over time to obtain the rate of change of the second historical force in the time domain;
[0030] The second historical force change rate data is converted from the time domain to the frequency domain to obtain the second frequency domain data;
[0031] Determining the preset frequency threshold based on the first frequency domain data includes:
[0032] Compare the first frequency domain data and the second frequency domain data;
[0033] The preset frequency threshold is determined based on the comparison results.
[0034] In one possible design, the method further includes:
[0035] During the third historical operation, the third historical resultant force at the end of the robotic arm, collected by the force sensor, is acquired; the third historical operation includes multiple collisions.
[0036] Differentiate the third historical resultant force over time to obtain the rate of change of the third historical resultant force in the time domain;
[0037] Based on the preset frequency threshold, the third historical force change rate data is low-pass filtered to obtain the fourth historical force change rate data of the third historical resultant force in the time domain.
[0038] The preset threshold is determined based on the fourth historical force change rate data.
[0039] In one possible design, during the operation, the generation of the resultant force satisfies the following condition:
[0040] The robotic arm end effector is controlled to move at a Cartesian position determined based on the Cartesian coordinate system, while maintaining the Cartesian posture. The movement speed of the robotic arm end effector is less than a preset speed threshold.
[0041] Secondly, embodiments of this application provide a collision detection device for a humanoid robot, comprising:
[0042] The acquisition module is used to acquire the resultant force at the end of the robotic arm collected by the force sensor during the operation.
[0043] The differentiation module is used to differentiate the resultant force over time to obtain the first rate of change of the resultant force in the time domain.
[0044] The filtering module is used to perform low-pass filtering on the first force change rate data based on a preset frequency threshold to obtain the second force change rate data of the resultant force in the time domain; the preset frequency threshold is determined by converting historical force change rate data into data in the frequency domain; the historical force change rate data is obtained by differentiating the resultant force in time during the operation process where there is a collision.
[0045] The determination module is used to determine the collision detection result based on the second force change rate data and a preset threshold.
[0046] Thirdly, embodiments of this application provide a collision detection device for a humanoid robot, comprising: at least one processor and a memory;
[0047] The memory stores computer-executed instructions;
[0048] The at least one processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the method described in the first aspect above and various possible designs of the first aspect.
[0049] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the method described in the first aspect and various possible designs of the first aspect.
[0050] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the method described in the first aspect above and various possible designs of the first aspect.
[0051] This embodiment provides a collision detection method and device for humanoid robots. The method includes acquiring the resultant force of the robotic arm's end effector collected by a force sensor; differentiating the resultant force over time to obtain a first force change rate data in the time domain; performing low-pass filtering on the first force change rate data based on a preset frequency threshold to obtain a second force change rate data in the time domain. The preset frequency threshold is determined by converting historical force change rate data into frequency domain data. The historical force change rate data is obtained by differentiating the resultant force over time during collision-prone operations; and determining the collision detection result based on the second force change rate data and the preset threshold. The collision detection method provided in this embodiment obtains the resultant force change rate by differentiating the resultant force and performs low-pass filtering based on a preset frequency threshold determined by frequency domain conversion, enabling rapid identification of minor collisions at the robotic arm's end effector. This method effectively filters out high-frequency noise that affects judgment while retaining the low-frequency portion of the resultant force change rate, thus accurately judging collision events based on the preset threshold. The calculation process is simple and efficient, significantly improving the detection sensitivity when a scraper contacts the surface of a target object (such as millet). This not only improves the efficiency and accuracy of target object screening, but also reduces the possibility of misoperation, enhancing the overall performance and reliability of the system. Attached Figure Description
[0052] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0053] Figure 1 A schematic diagram illustrating an application scenario of the collision detection method for humanoid robots provided in this application embodiment;
[0054] Figure 2 A flowchart illustrating the collision detection method for humanoid robots provided in this application embodiment. Figure 1 ;
[0055] Figure 3 A schematic diagram of the fluctuation of force components along the three coordinate axes provided in the embodiments of this application;
[0056] Figure 4 A schematic diagram illustrating the fluctuation of the resultant force in the presence of collision, provided for an embodiment of this application;
[0057] Figure 5 A schematic diagram illustrating the fluctuation of the resultant force without collision, provided in an embodiment of this application.
[0058] Figure 6 A flowchart illustrating the collision detection method for humanoid robots provided in this application embodiment. Figure 2 ;
[0059] Figure 7aA time-domain schematic diagram of the first historical force change rate data of the first historical resultant force with collision provided in an embodiment of this application;
[0060] Figure 7b This is a frequency domain diagram of the first frequency domain data of the first historical resultant force with collision provided in an embodiment of this application;
[0061] Figure 8a A time-domain schematic diagram of the rate of change of the second historical resultant force in the absence of collision, provided in an embodiment of this application.
[0062] Figure 8b A frequency domain diagram of the second frequency domain data of the second historical resultant force without collision provided in the embodiments of this application;
[0063] Figure 9a A time-domain schematic diagram of the rate of change of the fourth historical force of the third historical resultant force with collision provided in an embodiment of this application;
[0064] Figure 9b A frequency domain schematic diagram of the fourth historical force frequency of the third historical resultant force with collision provided in the embodiments of this application;
[0065] Figure 10 A schematic diagram of the structure of a collision detection device for a humanoid robot provided in an embodiment of this application;
[0066] Figure 11 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application.
[0067] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0068] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0069] It should be noted that the collision detection method and equipment for humanoid robots provided in this application can be used in the field of humanoid robot technology, or in any field other than the field of humanoid robot technology. The application field of the collision detection method and equipment for humanoid robots provided in this application is not limited.
[0070] In tasks involving impurity removal (i.e., target object screening) using remotely controlled robots based on teleoperation, it is necessary to pick out impurities (such as sesame seeds) from the target object millet and filter out the pure ones.
[0071] Specifically, a six-dimensional force sensor can be mounted at the end of the robotic arm, and a scraper can be connected to the end of the six-dimensional force sensor. During operation, such as... Figure 1 As shown, the operator wears a virtual reality (VR) device, which allows them to remotely control a scraper to break up accumulated millet. Then, a vacuum cleaner is used to remove sesame seeds mixed in with the millet from the larger spread. However, because the monocular camera used by the humanoid robot to acquire images at the end effector during remote operation cannot provide depth information, the operator cannot accurately control whether the scraper makes contact with the millet surface (soft contact surface) based on the images received from the humanoid robot in the VR device. Improper operation can lead to the scraper scraping too much millet, or even colliding with the table and damaging the six-dimensional force sensor at the end effector. Therefore, collision detection of the soft contact surface of the robotic arm's end effector is necessary.
[0072] In related technologies, a six-dimensional force sensor installed at the end effector of a robotic arm can be calibrated using algorithms to eliminate the zero-point drift of the sensor itself and the gravity of the end effector, thereby obtaining the external force acting on the end tool. By developing a calibration algorithm for the six-dimensional force sensor, the external force acting on the end tool can be calculated relatively accurately, enabling collision detection. However, while the algorithm for calibrating the six-dimensional force sensor can obtain the external force / torque relatively accurately, the algorithm itself is quite complex, and in many scenarios, the zero-point value of the six-dimensional force sensor needs to be recalculated. This is especially true in scenarios where only the occurrence of a collision needs to be determined, and the precise estimation of the collision force is not required; in such cases, this approach becomes quite complex and not very user-friendly.
[0073] To address the aforementioned technical problems, the inventors of this application discovered that directly observing the resultant force or its derivative obtained from a six-dimensional force sensor cannot determine whether a collision has occurred. However, by converting the resultant force to the frequency domain, especially its derivative, the frequency characteristics of the collision signal can be identified. This allows for the filtering out of collision-irrelevant signals, retaining only the portion containing the collision signal, thus enabling accurate detection of the collision. Based on this, this application provides a collision detection method. When the scraper contacts the surface of the millet (soft contact surface), the method uses force change rate data obtained after filtering based on a preset frequency threshold determined in the frequency domain. The method then detects the portion of the force change rate data exceeding the preset threshold, quickly identifying a slight collision between the scraper and the millet surface. This alerts the operator that the scraper has made contact with the millet surface (soft contact surface), allowing for minor adjustments by the operator before scraping the millet. This process eliminates the need for calibration of the six-dimensional force sensor, significantly reducing algorithm development time and computational load.
[0074] Figure 1 This is a schematic diagram illustrating an application scenario of the collision detection method for humanoid robots provided in an embodiment of this application. For example... Figure 1 As shown, the VR device is connected to the controller of the humanoid robot. The humanoid robot uses a monocular camera to capture images of the work scene (images at the end of the robotic arm) and sends the images to the VR device. The VR device presents the relevant images to the operator and generates control signals in response to the operator's gesture commands, which are then sent to the humanoid robot. The humanoid robot controls the robotic arm module to move based on these control signals.
[0075] In the specific implementation process, during the operator's remote control via VR device, the humanoid robot moves the end effector of its robotic arm towards the surface of the millet seed. The resultant force at the end effector is collected by a force sensor. The resultant force is differentiated over time to obtain the first rate of change of force in the time domain. Based on a preset frequency threshold, the first rate of change of force is low-pass filtered to obtain the second rate of change of force in the time domain. The preset frequency threshold is determined by converting historical rate of change of force data into frequency domain data. The historical rate of change of force data is obtained by differentiating the resultant force over time during collision-prone operations. Based on the second rate of change of force data and the preset threshold, the collision detection result is determined. The collision detection method provided in this application, by differentiating the resultant force to obtain the rate of change of force and performing low-pass filtering based on a preset frequency threshold determined by frequency domain conversion, can achieve rapid identification of minor collisions at the end effector of the robotic arm. This method effectively filters out high-frequency noise that affects the judgment, retaining the low-frequency portion of the rate of change of force, thereby accurately judging collision events based on the preset threshold. The calculation process is simple and efficient, significantly improving the detection sensitivity when the scraper contacts the surface of the target object (such as millet seed). This not only improves the efficiency and accuracy of target object screening, but also reduces the possibility of misoperation, enhancing the overall performance and reliability of the system.
[0076] It should be noted that, Figure 1 The schematic diagram shown is merely an example. The collision detection method and scenario for humanoid robots described in this application are intended to more clearly illustrate the technical solutions of this application and do not constitute a limitation on the technical solutions provided in this application. As those skilled in the art will know, with the evolution of the system and the emergence of new business scenarios, the technical solutions provided in this application are also applicable to similar technical problems.
[0077] The technical solutions of this application will be described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0078] Figure 2 A flowchart illustrating the collision detection method for humanoid robots provided in this application embodiment. Figure 1 This method is applied to humanoid robots, where force sensors are installed at the end of the robot's robotic arm, such as... Figure 2 As shown, the method includes:
[0079] 201. During the operation, the resultant force at the end of the robotic arm is acquired by the force sensor.
[0080] The executing entity in this embodiment can be a humanoid robot.
[0081] Specifically, in the operation of a humanoid robot, taking the task of picking sesame seeds from millet through teleoperation as an example, the end effector of the humanoid robot's robotic arm is equipped with a force sensor (such as a six-dimensional force sensor). The operator moves the robotic arm in a Cartesian coordinate system, moving it to the surface of the millet and making contact with it (collision). During this process, the force output of the six-dimensional force sensor in the x, y, and z axes of the Cartesian coordinate system is as follows: Figure 3 As shown, the robotic arm went through a process of moving from a stationary state to a moving state and back to a stationary state within 18 seconds. During the movement, the scraper touched the surface of the millet. However, according to... Figure 3 The force-time curves shown do not reveal any significant changes due to the collision, making it impossible for the operator to determine whether there was contact with the millet surface.
[0082] In some embodiments, acquiring the resultant force at the end of the robotic arm collected by the force sensor may include: acquiring the force components sensed by the force sensor along the three coordinate axes in a Cartesian coordinate system; and determining the corresponding resultant force based on the force components. The collision detection method provided in this embodiment, by installing a force sensor at the end of the robotic arm, enables precise force sensing and real-time feedback of the robotic arm during operation. By acquiring the force components of the force sensor along the three coordinate axes in a Cartesian coordinate system and calculating the resultant force, the operator can more accurately determine whether the robotic arm is in contact with a target object. This not only improves the accuracy and safety of operation but also enhances the system's adaptability in complex environments, ensuring high efficiency and reliability in delicate operational tasks.
[0083] Specifically, the resultant force can be determined based on the force components in the three directions according to expression (1), and the curve of the resultant force is shown in the figure below. Figure 4 As shown.
[0084] (1)
[0085] Where F is the resultant force, F x F is the force component on the x-axis. y F is the force component on the y-axis. z The force component is on the z-axis.
[0086] 202. Take the derivative of the resultant force over time to obtain the first rate of change of the resultant force in the time domain.
[0087] Specifically, such as Figure 4 As shown, the scraper comes into contact with the surface of the millet (soft contact surface) during the operation. Figure 5 The robotic arm has only two states: stationary and moving. Figure 4 and Figure 5In comparison, no obvious force interaction was observed between the scraper and the Xiaomi surface. The force-time curve showed almost no difference regardless of whether the robotic arm's end effector interacted with the external environment. Therefore, the force-time curve alone cannot determine whether the end effector interacted with the external environment (i.e., a collision occurred). A shift to the frequency domain is necessary to determine the pattern of collision signals, allowing for the filtering of irrelevant signals and highlighting the characteristics of collision signals in the time domain for effective collision identification. Furthermore, considering the drift in the output force value of the six-dimensional force sensor, directly relying on the resultant force for collision detection would require processing this drift every time, which is cumbersome. Therefore, differentiating the resultant force can be used to avoid the influence of the force drift from the six-dimensional force sensor. Moreover, the sensitivity of the force change rate data obtained after differentiating the resultant force is higher than that of the resultant force itself, contributing to improved accuracy in collision detection results.
[0088] In some embodiments, obtaining the first rate of change of the resultant force in the time domain by differentiating the resultant force over time can include: filtering noise from the resultant force to obtain a filtered resultant force; and differentiating the filtered resultant force over time to obtain the first rate of change of the resultant force in the time domain. The collision detection method provided in this embodiment, by filtering noise from the resultant force and differentiating it over time, can achieve high precision and high sensitivity in collision detection of a robotic arm. This method effectively eliminates the influence of force drift in the output of a six-dimensional force sensor, simplifying the force drift processing. The obtained rate of change of force data is more sensitive than directly using the resultant force, enabling more accurate detection of subtle collision events. This not only improves the accuracy of collision detection but also enhances the system's rapid response capability in dynamic environments, ensuring operational safety and reliability.
[0089] 203. Based on a preset frequency threshold, the first force change rate data is low-pass filtered to obtain the second force change rate data of the resultant force in the time domain; the preset frequency threshold is determined by converting historical force change rate data into frequency domain data; the historical force change rate data is obtained by differentiating the resultant force in time during operation in which collisions occur.
[0090] Specifically, the frequency characteristics of the collision signal at the time of generation can be determined in the frequency domain in advance. For example, it can be concluded that the frequency of the collision signal is usually less than 15Hz, so a threshold greater than or equal to 15Hz can be determined as the preset frequency threshold (e.g., 18Hz). Then, based on the preset frequency threshold, the first force change rate data is low-pass filtered to filter out signals unrelated to the collision and retain only the frequency band where the collision signal exists.
[0091] 204. Determine the collision detection result based on the second force change rate data and the preset threshold.
[0092] Specifically, after obtaining the remaining second force change rate data after filtering, the second force change rate data can be compared with a preset threshold, and then based on the comparison result, a collision can be detected.
[0093] In some embodiments, determining the collision detection result based on the second force change rate data and a preset threshold may include: if the absolute value of the second force change rate data is greater than the preset threshold, then a collision is determined to have occurred, and an alarm signal is generated. The collision detection method provided in this embodiment, by comparing the second force change rate data with a preset threshold, enables rapid and accurate detection of robotic arm collision events. If the absolute value of the second force change rate data exceeds the preset threshold, a collision is determined to have occurred and an alarm signal is generated, providing a simple and effective mechanism to identify potential collision risks. This process not only improves the sensitivity and accuracy of detection.
[0094] In some embodiments, a scraper is provided at the end of the robotic arm; an alarm signal is used to indicate that the scraper is in contact with the target object; the method may further include: sending the alarm signal to a teleoperation device; receiving a motion control signal generated by the teleoperation device in response to receiving the alarm signal, and controlling the scraper to push the target object away according to the motion control signal. The collision detection method provided in this embodiment, during the process of a humanoid robot performing a task of screening a target object (e.g., picking out sesame seeds from millet), enables real-time monitoring and feedback of the contact state of the target object by setting a scraper at the end of the robotic arm and generating an alarm signal using a collision detection method. The alarm signal is used to indicate that the scraper is in contact with the target object (e.g., millet), and the signal is sent to the teleoperation device. This mechanism allows the operator to promptly obtain the contact state and guide the robotic arm to perform the pushing operation through the generated motion control signal. This not only improves the accuracy and efficiency of the screening task but also reduces the possibility of misoperation, ensuring precise handling of the target object in complex tasks and improving the overall performance and reliability of the humanoid robot in fine operations.
[0095] In some embodiments, the generation of the resultant force during the operation satisfies the following conditions:
[0096] The robotic arm's end effector is controlled to move at a Cartesian position determined by a Cartesian coordinate system while maintaining its Cartesian orientation. The movement speed of the robotic arm's end effector is less than a preset speed threshold.
[0097] Specifically, the robotic arm has two coordinate systems: a Cartesian coordinate system and a joint coordinate system.
[0098] The Cartesian coordinate system is a three-dimensional rectangular coordinate system used to describe the position and orientation of a robot's end effector. The base coordinate system is established on the robot arm's base. In the Cartesian coordinate system, three coordinate axes (usually the X, Y, and Z axes) define the robot's position (Cartesian position), and three rotational axes (usually rotations about the X, Y, and Z axes) define the robot's orientation (Cartesian orientation). Through the combination of these coordinate and rotational axes, the robot's position and orientation in three-dimensional space can be accurately described.
[0099] Joint coordinate system: This is a coordinate system defined based on the position and range of motion of the robot's joints, established at each joint. In the joint coordinate system, changes in the robot's position and orientation are determined by controlling the angles of each joint. By controlling the movement of each joint, we can achieve various positions and orientations of the robot in space.
[0100] Certain physical constraints are required when using the algorithm. During the operation, the robotic arm's end effector can move freely only within the Cartesian position, and the tool's Cartesian posture can be locked; otherwise, false alarms may be triggered. For the scenario of scraping millet, only the tool's movement within the Cartesian position is needed, without requiring a change in Cartesian posture; therefore, the algorithm is suitable for this scenario. Furthermore, the robotic arm's end effector speed can be maintained at a low to medium speed, such as ≤2 m / s, during algorithm usage. Meeting these conditions gives this collision method a significant advantage in scenarios where the tool collides with a soft contact surface.
[0101] The collision detection method for humanoid robots provided in this embodiment obtains the rate of change of the resultant force by differentiating the resultant force and performs low-pass filtering based on a preset frequency threshold determined by frequency domain transformation, enabling rapid identification of minor collisions at the end effector of the robotic arm. This method effectively filters out high-frequency noise that affects the judgment while retaining the rate of change of the resultant force in the low-frequency part, thus accurately judging collision events based on the preset threshold. The calculation process is simple and efficient, significantly improving the detection sensitivity when the scraper comes into contact with the surface of the target object (such as millet). This not only improves the efficiency and accuracy of target object screening but also reduces the possibility of misoperation, enhancing the overall performance and reliability of the system.
[0102] Figure 6 A flowchart illustrating the collision detection method for humanoid robots provided in this application embodiment. Figure 2 .like Figure 6 As shown, the method includes:
[0103] 601. Determine the preset frequency threshold and preset threshold based on historical force change rate data.
[0104] Specifically, during the experimental phase (i.e., during historical operations), relevant patterns can be found based on the collected historical data to determine the preset frequency threshold and preset threshold.
[0105] There are several ways to determine the two thresholds. In one feasible approach, to ensure accuracy, a distributed approach can be used. This involves determining the preset frequency threshold through at least one experiment, and then determining the preset threshold again through at least one more experiment. In another feasible approach, to improve efficiency and consistency, both the preset frequency threshold and the preset threshold can be determined within the same experimental process, based on the historical combined force generated during that process.
[0106] In some embodiments, determining a preset frequency threshold may include: acquiring a first historical resultant force at the end of the robotic arm collected by a force sensor during a first historical operation; the first historical operation includes multiple collisions; differentiating the first historical resultant force over time to obtain first historical force change rate data in the time domain; converting the first historical force change rate data from the time domain to the frequency domain to obtain first frequency domain data; and determining the preset frequency threshold based on the first frequency domain data. The collision detection method provided in this embodiment, by acquiring the first historical resultant force at the end of the robotic arm collected by a force sensor during a first historical operation and performing time derivative calculation and frequency domain conversion, can accurately determine the preset frequency threshold. This method utilizes multiple collision data to ensure that the frequency threshold reflects the force change characteristics in the real operating environment, enhancing detection sensitivity. Frequency domain analysis effectively filters high-frequency noise, retains key signals, and improves detection accuracy. Simultaneously, it reduces reliance on real-time experiments, improving experimental efficiency and system adaptability.
[0107] In some embodiments, to further ensure the accuracy of the preset frequency threshold, a comparison group can be set up for determination. Specifically, during the second historical operation, the second historical resultant force of the robotic arm end effector collected by the force sensor can be acquired; no collision occurs during the second historical operation; the derivative of the second historical resultant force in time is obtained to obtain the second historical force change rate data in the time domain; the second historical force change rate data is converted from the time domain to the frequency domain to obtain second frequency domain data; the preset frequency threshold is determined based on the first frequency domain data, which may include: comparing the first frequency domain data and the second frequency domain data; and determining the preset frequency threshold based on the comparison result. The detection method provided in this embodiment can achieve accurate determination of the preset frequency threshold by acquiring historical resultant force data under collision-free and collision-affected conditions in the comparison group and performing frequency domain comparison. This method can effectively distinguish collision signals from background noise by comparing the first and second frequency domain data, thereby improving the sensitivity and accuracy of detection.
[0108] Specifically, the resultant force data for multiple collisions can be determined in one experimental process (i.e., the historical operation process), and the resultant force data for no collisions can be determined in another experimental process. The goal is to ensure that the motion trajectory of the humanoid robot's end effector, excluding collisions, is similar in both experiments to guarantee the reliability of the comparison. In this embodiment, by ensuring the similarity of the robot's motion trajectory in both experiments and maintaining consistency in other conditions besides collisions, the reliability of the comparison results is enhanced. This method not only optimizes the frequency threshold setting but also improves the stability and consistency of the system under different operating environments.
[0109] For example, multiple collisions can be designed during the first historical operation to obtain the first historical resultant force. During the second historical operation, no collisions are performed to obtain the second historical resultant force. Taking the first historical resultant force as an example, it can then be filtered using a low-pass filter (e.g., a first-order Butterworth filter) to reduce noise interference in the output signal of the six-dimensional force sensor. Secondly, the time derivative of the filtered first historical resultant force is calculated to obtain the first historical force change rate data, such as... Figure 7a As shown. Similarly, we obtain as follows. Figure 8a The data shown are the second historical rate of change corresponding to the second historical resultant force. (Comparison) Figure 7a and Figure 8a The curve shows that, for both cases of collision with the Xiaomi surface and cases of collision with or without collision, the rate of change of the resultant force over time in the time domain does not reflect whether a collision occurred during the motion.
[0110] Continuing with the example of the first historical resultant force, the rate of change of the first historical force in the time domain is transformed to the frequency domain using the Fast Fourier Transform (FFT), resulting in the following: Figure 8a Similarly, the second historical force change rate in the time domain can be transformed into the frequency domain from the first frequency domain data shown, to obtain the following: Figure 8b The second frequency domain data is shown. Compare. Figure 7b and Figure 8b It can be seen that when the scraper at the end of the robotic arm is in contact with the surface of the millet, the amplitude of some frequencies in the frequency range below 20Hz is significantly higher than in the scenario where there is no contact with the surface of the millet.
[0111] like Figure 7bAs shown, peak 1 is located at (2.70125, 0.124418), peak 2 at (9.26454, 0.168455), and peak 3 at (15.6072, 0.242704). It can be seen that the frequencies corresponding to the time derivative of the force generated by the collision are mostly less than 20Hz, and mostly below 16Hz. To extract the collision signal, a low-pass filter (e.g., a first-order Butterworth low-pass filter) can be set to 18Hz to filter the first frequency domain data, thus extracting the collision signal.
[0112] In some embodiments, the design of a first-order Butterworth filter can be as follows:
[0113] (2)
[0114] (3)
[0115] From the s-domain to the z-domain, we can obtain:
[0116] (4)
[0117] Among them, let , , .
[0118] Therefore, we get
[0119] (5)
[0120] (6)
[0121] Therefore, we can obtain:
[0122] (7)
[0123] In the specific implementation process, adjustments can be made. The value is used to set the filter's cutoff frequency: for example, it can be set to... Set to 18Hz. This is the filtered value.
[0124] In some embodiments, the method may further include: acquiring a third historical resultant force at the end of the robotic arm collected by a force sensor during a third historical operation; the third historical operation includes multiple collisions; differentiating the third historical resultant force over time to obtain the third historical force change rate data in the time domain; performing low-pass filtering on the third historical force change rate data based on a preset frequency threshold to obtain a fourth historical force change rate data in the time domain; and determining a preset threshold based on the fourth historical force change rate data. The collision detection method provided in this embodiment, by acquiring historical resultant force data under multiple collision conditions during a third historical operation and performing time derivative calculation and low-pass filtering, can accurately determine the preset threshold. This method utilizes a preset frequency threshold to perform low-pass filtering on the third historical force change rate data, effectively removing high-frequency noise and retaining key low-frequency information, thus improving data clarity and reliability. By analyzing the fourth historical force change rate data, collision characteristics can be accurately identified, thereby optimizing the setting of the preset threshold. This method not only improves the sensitivity and accuracy of collision detection but also enhances the adaptability and stability of the system under different operating environments.
[0125] For example, during the actual movement of the robotic arm, the end effector collided with the surface of the millet six times. Figure 9a As shown, preset thresholds can be set, including upper and lower boundaries, which are 0.7 N / s and -0.7 N / s respectively. From Figure 9a The process clearly shows six collisions. Furthermore, during the fourth collision, the tool struck the Xiaomi surface (a soft contact surface) more forcefully. Therefore, by differentiating the resultant force output from the six-dimensional force sensor over time, the frequency of collisions can be determined. By then eliminating other signals during the motion process, the collision signals can be effectively identified. Figure 9b As shown, after filtering based on a preset frequency threshold, high-frequency signals can be filtered out, which is beneficial for identifying collision signals.
[0126] It should be noted that the preset frequency threshold and preset threshold are related to the hardware parameters of the humanoid robot and the force sensor. Therefore, for the same set of equipment (the combination of humanoid robot and force sensor), the preset frequency threshold and preset threshold only need to be calibrated once, and no further calibration is required.
[0127] 602. During the operation, the resultant force at the end of the robotic arm is acquired by the force sensor.
[0128] 603. Take the derivative of the resultant force over time to obtain the first rate of change of the resultant force in the time domain.
[0129] 604. Based on a preset frequency threshold, the first force change rate data is low-pass filtered to obtain the second force change rate data of the resultant force in the time domain; the preset frequency threshold is determined by converting historical force change rate data into frequency domain data; the historical force change rate data is obtained by differentiating the resultant force in time during operation in which collisions occur.
[0130] 605. Determine the collision detection result based on the second force change rate data and the preset threshold.
[0131] Steps 602 to 605 in this embodiment are similar to steps 201 to 204 in the above embodiment, and will not be repeated here.
[0132] The collision detection method for humanoid robots provided in this embodiment achieves accurate detection and real-time feedback of collision events at the end effector of the robotic arm by determining a preset frequency threshold based on historical force change rate data. The method acquires the resultant force collected by the force sensor and calculates its time derivative, then uses low-pass filtering to remove high-frequency noise while retaining key low-frequency information, thus improving detection sensitivity. The collision detection result is quickly determined by comparing the second force change rate data with the preset threshold. This method simplifies the signal processing flow, improves the efficiency and accuracy of target object selection, and ensures the reliability and safety of the system during dynamic operation.
[0133] Compared to related technologies that use six-dimensional force sensor calibration to detect collisions, this embodiment uses a method based on the derivative of force with respect to time to convert to the frequency domain for signal elimination, which can more easily identify whether the end effector of the robotic arm collides with the contact surface. In this embodiment, the derivative of force with respect to time is analyzed using FFT transform to find the frequency at which the collision occurs. Then, other signals during the motion process are eliminated. After setting the collision parameter threshold, the collision between the scraper and the millet surface can be detected. The robot can directly use this collision detection function each time it is powered on without adjusting any parameters. Furthermore, this method is not affected by the zero-point drift of the six-dimensional force sensor. Once the collision threshold is set, no further processing is required after each power-on. Common methods that use six-dimensional force sensors for force detection not only require developing relatively complex calibration algorithms, but also the zero-point value of the six-dimensional force changes according to environmental conditions such as temperature, humidity, and pressure. Each use requires recalibrating the parameters using the calibration algorithm, making the entire process relatively cumbersome. Therefore, the method provided in this application embodiment is more convenient, simpler, and more versatile than the method of using a six-dimensional force sensor for calibration to sense externally applied forces.
[0134] Figure 10 This is a schematic diagram of the structure of a collision detection device for a humanoid robot provided in an embodiment of this application. Figure 10As shown, the collision detection device 100 for humanoid robots includes: an acquisition module 1001, a differentiation module 1002, a filtering module 1003, and a determination module 1004.
[0135] The acquisition module 1001 is used to acquire the resultant force at the end of the robotic arm collected by the force sensor during operation.
[0136] The derivative module 1002 is used to differentiate the resultant force over time to obtain the first rate of change of the resultant force in the time domain.
[0137] The filtering module 1003 is used to perform low-pass filtering on the first force change rate data based on a preset frequency threshold to obtain the second force change rate data of the resultant force in the time domain. The preset frequency threshold is determined by converting the historical force change rate data into data in the frequency domain. The historical force change rate data is obtained by differentiating the resultant force in time during the operation process where there is a collision.
[0138] The determination module 1004 is used to determine the collision detection result based on the second force change rate data and the preset threshold.
[0139] The collision detection device for humanoid robots provided in this application embodiment obtains the rate of change of the resultant force by differentiating the resultant force and performs low-pass filtering based on a preset frequency threshold determined by frequency domain transformation, enabling rapid identification of minor collisions at the end effector of the robotic arm. This method effectively filters out high-frequency noise that affects the judgment while retaining the rate of change of the resultant force in the low-frequency part, thus accurately judging collision events based on the preset threshold. The calculation process is simple and efficient, significantly improving the detection sensitivity when the scraper comes into contact with the surface of the target object (such as millet). This not only improves the efficiency and accuracy of target object screening but also reduces the possibility of misoperation, enhancing the overall performance and reliability of the system.
[0140] In some embodiments, the acquisition module 1001 is specifically used to: acquire the force components sensed by the force sensor in the three coordinate axis directions of the Cartesian coordinate system; and determine the corresponding resultant force based on the force components.
[0141] In some embodiments, the differentiation module 1002 is specifically used to: filter out noise from the resultant force to obtain the filtered resultant force; and differentiate the filtered resultant force in time to obtain the first force change rate data of the resultant force in the time domain.
[0142] In some embodiments, the determining module 1004 is specifically used to: if the absolute value of the second force change rate data is greater than a preset threshold, determine that a collision has occurred and generate an alarm signal.
[0143] In some embodiments, a scraper is provided at the end of the robotic arm; an alarm signal is used to indicate that the scraper is in contact with the target object; the determination module 1004 is further used to:
[0144] Send the alarm signal to the remote control device;
[0145] The receiving remote-operated device responds to the motion control signal generated by the received alarm signal, and controls the scraper to push the target object away according to the motion control signal.
[0146] In some embodiments, the determining module 1004 is further configured to: acquire a first historical resultant force at the end of the robotic arm collected by a force sensor during a first historical operation; the first historical operation includes multiple collisions; differentiate the first historical resultant force in time to obtain first historical force change rate data in the time domain; convert the first historical force change rate data from the time domain to the frequency domain to obtain first frequency domain data; and determine a preset frequency threshold based on the first frequency domain data.
[0147] In some embodiments, the determining module 1004 is further configured to: acquire the second historical resultant force at the end of the robotic arm collected by the force sensor during the second historical operation; ensure that there is no collision during the second historical operation; differentiate the second historical resultant force in time to obtain the second historical force change rate data in the time domain; convert the second historical force change rate data from the time domain to the frequency domain to obtain the second frequency domain data; compare the first frequency domain data and the second frequency domain data; and determine a preset frequency threshold based on the comparison result.
[0148] In some embodiments, the determining module 1004 is further configured to: acquire the third historical resultant force of the robotic arm end effector collected by the force sensor during the third historical operation; the third historical operation includes multiple collisions; differentiate the third historical resultant force in time to obtain the third historical force change rate data in the time domain; perform low-pass filtering on the third historical force change rate data based on a preset frequency threshold to obtain the fourth historical force change rate data in the time domain; and determine the preset threshold based on the fourth historical force change rate data.
[0149] In some embodiments, the generation of the resultant force satisfies the following conditions: the end effector of the control robot moves at a Cartesian position determined based on the Cartesian coordinate system while maintaining the Cartesian orientation, and the movement speed of the end effector is less than a preset speed threshold.
[0150] The collision detection device for humanoid robots provided in this application embodiment can be used to execute the above-described method embodiment. Its implementation principle and technical effect are similar, and will not be repeated here.
[0151] Figure 11 A schematic diagram of the structure of the electronic device provided in this application. Figure 11As shown, the electronic device 110 provided in this embodiment includes at least one processor 1101 and a memory 1102. Optionally, the electronic device 110 further includes a communication component 1103. The processor 1101, the memory 1102, and the communication component 1103 are connected via a bus.
[0152] In a specific implementation, at least one processor 1101 executes computer execution instructions stored in memory 1102, causing at least one processor 1101 to perform the above-described method.
[0153] The specific implementation process of processor 1101 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0154] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0155] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0156] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0157] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0158] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.
[0159] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0160] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0161] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0162] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0163] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0164] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0165] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0166] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A collision detection method for a humanoid robot, characterized by, Applied to humanoid robots, wherein a force sensor is provided at the end of the robotic arm of the humanoid robot, the method includes: During the operation, the resultant force at the end of the robotic arm collected by the force sensor is obtained; By differentiating the resultant force over time, the first rate of change of the resultant force in the time domain is obtained; Based on a preset frequency threshold, the first force change rate data is low-pass filtered to obtain the second force change rate data of the resultant force in the time domain; the preset frequency threshold is determined by converting historical force change rate data into frequency domain data; the historical force change rate data is obtained by differentiating the resultant force in time during a collision-prone operation. The collision detection result is determined based on the second force change rate data and the preset threshold. The method for determining the preset frequency threshold includes: During the first historical operation, the first historical resultant force at the end of the robotic arm collected by the force sensor is acquired; the first historical operation includes multiple collisions; Differentiate the first historical resultant force over time to obtain the first historical force change rate data in the time domain; The first historical force change rate data is converted from the time domain to the frequency domain to obtain the first frequency domain data; The preset frequency threshold is determined based on the first frequency domain data; By acquiring historical resultant force data under collision-free and collision-affected conditions from the comparison group, and performing frequency domain comparison, the preset frequency threshold is determined.
2. The method of claim 1, wherein, The process of acquiring the resultant force at the end of the robotic arm collected by the force sensor includes: The force components sensed by the force sensor in the three coordinate axes of the Cartesian coordinate system are obtained respectively. Based on the force components, determine the corresponding resultant force.
3. The method according to claim 1, characterized in that, The step of differentiating the resultant force over time to obtain the first rate of change of the resultant force in the time domain includes: The resultant force is subjected to noise filtering to obtain the filtered resultant force. The time derivative of the filtered resultant force is obtained to obtain the first rate of change of the resultant force in the time domain.
4. The method according to claim 1, characterized in that, The step of determining the collision detection result based on the second force change rate data and the preset threshold includes: If the absolute value of the second force change rate data is greater than the preset threshold, a collision is determined to have occurred, and an alarm signal is generated.
5. The method according to claim 4, characterized in that, The robotic arm is equipped with a scraper at its end; the alarm signal is used to indicate that the scraper is in contact with the target object; the method further includes: The alarm signal is sent to the remote operation device; The remotely operated device receives a motion control signal generated in response to receiving the alarm signal, and controls the scraper to push the target object away according to the motion control signal.
6. The method according to claim 1, characterized in that, The method further includes: During the second historical operation, the second historical resultant force at the end of the robotic arm, collected by the force sensor, is acquired; no collision occurs during the second historical operation. Differentiate the second historical resultant force over time to obtain the rate of change of the second historical force in the time domain; The second historical force change rate data is converted from the time domain to the frequency domain to obtain the second frequency domain data; Determining the preset frequency threshold based on the first frequency domain data includes: Compare the first frequency domain data and the second frequency domain data; The preset frequency threshold is determined based on the comparison results.
7. The method according to claim 1, characterized in that, The method further includes: During the third historical operation, the third historical resultant force at the end of the robotic arm, collected by the force sensor, is acquired; the third historical operation includes multiple collisions. Differentiate the third historical resultant force over time to obtain the rate of change of the third historical resultant force in the time domain; Based on the preset frequency threshold, the third historical force change rate data is low-pass filtered to obtain the fourth historical force change rate data of the third historical resultant force in the time domain. The preset threshold is determined based on the fourth historical force change rate data.
8. The method according to any one of claims 1-7, characterized in that, During the operation, the generation of the resultant force satisfies the following condition: The robotic arm end effector is controlled to move at a Cartesian position determined based on the Cartesian coordinate system, while maintaining the Cartesian posture. The movement speed of the robotic arm end effector is less than a preset speed threshold.
9. A collision detection device for a humanoid robot, characterized in that, include: At least one processor and memory; The memory stores computer-executed instructions; The at least one processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the collision detection method for a humanoid robot as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Interactive mechanical arm control method based on tactile feedback analysis
CN118990510A
Optimization method and system for graphite sagger compression molding process
CN120171098A
Battery pack collision detection system
CN120621058A