Robot collision detection method, electronic device, and storage medium
By detecting the voltage difference and rate of change at the three-phase motor terminals, the problem of the robot's inability to identify obstacles in a timely manner during movement was solved, achieving accurate collision detection and improving the robot's operational safety and work efficiency.
Patent Information
- Application Number
- CN202310814364.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-30
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2043-06-30
AI Technical Summary
Robots may fail to identify obstacles in a timely and accurate manner during movement, leading to collisions, structural damage, or even harm to life, and reducing work efficiency.
By detecting the voltage at the forward-conducting phase terminals of the three-phase motor, calculating the voltage difference and/or the rate of change of the voltage difference over time, it can be determined whether the robot has collided.
It enables timely and accurate collision detection of robots during movement, improving operational safety and work efficiency.
Smart Images

Figure CN116690578B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to a robot collision detection method, electronic device, and storage medium. Background Technology
[0002] With the continuous development of intelligent technology, various mobile intelligent robots are increasingly appearing in our lives. During their movement, robots inevitably encounter stationary or non-stationary objects, hindering their movement along predetermined trajectories. If a robot cannot accurately and quickly identify obstacles and take timely obstacle avoidance actions, it may experience continuous and high-intensity collisions, damaging its structure and reducing its working efficiency. Furthermore, if a robot comes into contact with small animals or humans, it may cause harm. Therefore, to improve the operational safety and working efficiency of mobile intelligent robots, timely and accurate detection of collisions during movement is a crucial research issue. Summary of the Invention
[0003] The purpose of this invention is to provide a robot collision detection method, electronic device, and storage medium that can detect in a timely and accurate manner whether a robot has collided during movement, thereby improving the robot's operational safety and work efficiency.
[0004] To address the aforementioned technical problems, embodiments of the present invention provide a robot collision detection method, comprising:
[0005] The terminal voltage of the forward-conducting phase of the motor used to control the robot's movements is detected to obtain the measured value of the terminal voltage;
[0006] The voltage difference is obtained by subtracting the measured value of the terminal voltage from the given value of the forward-conducting phase of the motor when the robot has not collided.
[0007] Whether the robot has collided is determined based on the magnitude of the voltage difference and / or the rate of change of the voltage difference over time.
[0008] The greater the voltage difference, the greater the probability of the robot colliding; the greater the rate of change of the voltage difference over time, the greater the probability of the robot colliding.
[0009] Embodiments of the present invention also provide an electronic device, comprising:
[0010] At least one processor; and,
[0011] A memory communicatively connected to the at least one processor; wherein,
[0012] The memory stores instructions that can be executed by the at least one processor, which enables the at least one processor to perform the robot collision detection method as described above.
[0013] Embodiments of the present invention also provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the robot collision detection method as described above.
[0014] Compared to existing technologies, this invention calculates the voltage difference by comparing the measured voltage of the forward-conducting phase of the motor controlling the robot's movement with the given voltage when the robot is not colliding. The magnitude of this voltage difference and / or its rate of change over time are used to determine whether a collision has occurred. When the robot encounters an obstacle, the load on the robot motor increases dramatically, causing a voltage drop in the input voltage of the motor's conducting phase. Therefore, a larger calculated voltage difference indicates a higher probability of a collision, and a higher rate of change of the voltage difference over time also indicates a higher probability of a collision. This method enables timely and accurate detection of collisions during robot operation, improving both operational safety and work efficiency. Attached Figure Description
[0015] Figure 1 This is a detailed flowchart of the robot collision detection method according to an embodiment of the present invention. Figure 1 ;
[0016] Figure 2 This is a three-phase electrical timing diagram according to an embodiment of the present invention;
[0017] Figure 3 This is a detailed flowchart of the robot collision detection method according to an embodiment of the present invention. Figure 2 ;
[0018] Figure 4 This is a timing diagram of the terminal voltage according to an embodiment of the present invention;
[0019] Figure 5 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present invention. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the various embodiments of the present invention will be described in detail below with reference to the accompanying drawings. However, those skilled in the art will understand that many technical details have been presented in the various embodiments of the present invention to enable the reader to better understand this application. However, the technical solutions claimed in this application can be implemented even without these technical details and various changes and modifications based on the following embodiments.
[0021] One embodiment of the present invention relates to a robot collision detection method, such as... Figure 1 As shown, the robot collision detection method provided in this embodiment, taking the robot using a three-phase motor as an example, includes the following steps.
[0022] Step 101: Detect the terminal voltage of the forward-conducting phase of the three-phase motor used to control the robot's movements, and obtain the measured value of the terminal voltage.
[0023] Specifically, a three-phase motor is a type of electric motor that generates a rotating magnetic field when three-phase alternating current is applied to the three-phase stator windings (each phase differing by 120 electrical degrees). This rotating magnetic field cuts the rotor windings, thereby inducing current in the rotor windings (the rotor windings are closed circuits). The current-carrying rotor conductors generate electromagnetic force under the action of the stator rotating magnetic field, thus forming an electromagnetic torque on the motor shaft, driving the motor to rotate, and the direction of motor rotation is the same as the direction of the rotating magnetic field.
[0024] The three-phase windings of a generator are referred to as phase A, phase B, and phase C, or simply phase A, phase B, and phase C. During the operation of a three-phase motor, at any given moment, there is only one phase that is the forward conducting phase, and during one electrical cycle (360°) of the motor's rotation, the electrical angles traversed by phases A, B, and C as the forward conducting phases are the same. For example... Figure 2 As shown, the forward conducting phase from 0° to 30° is phase B; the forward conducting phase from 30° to 150° is phase A; the forward conducting phase from 150° to 270° is phase C; and the forward conducting phase from 270° to 360° is phase B. Terminal voltage is the voltage difference between a certain input phase of the motor and ground. When the motor's load changes, the terminal voltage also changes.
[0025] Specifically, the robot in this embodiment refers to a mobile robot that performs various complex movements driven by a three-phase motor, including but not limited to sweeping robots and lawnmower robots. This application does not impose any specific limitations on this. By detecting the terminal voltage of the forward-conducting phase of the three-phase motor used to control the robot's movements, the measured value of the terminal voltage of the forward-conducting phase of the three-phase motor during robot operation can be obtained.
[0026] Step 102: The voltage difference is obtained by subtracting the measured value of the terminal voltage from the given value of the forward-conducting phase of the three-phase motor when the robot has not collided with it.
[0027] Specifically, when the robot is not involved in a collision, the three-phase motor drives the robot normally, and the terminal voltage remains unchanged; the measured value of the terminal voltage is the same as the given value. If the robot is involved in a collision, the operating load of the robot motor will change, leading to a change in the measured value of the robot's terminal voltage. Therefore, by subtracting the measured value of the terminal voltage of the forward-conducting phase of the three-phase motor from the given value when the robot is not involved in a collision, the voltage difference can be obtained. This voltage difference reflects the robot's operating status.
[0028] Step 103: Determine whether the robot has collided based on the magnitude of the voltage difference and / or the rate of change of the voltage difference over time.
[0029] The greater the voltage difference, the greater the probability of the robot colliding; the greater the rate of change of the voltage difference over time, the greater the probability of the robot colliding.
[0030] Specifically, when a robot touches an obstacle, the operating load of the robot motor increases sharply. As the load increases, the voltage at the terminals of the conducting phase of the input motor drops, resulting in a voltage difference between the given and measured voltage values. Therefore, the magnitude of the voltage difference and / or the rate of change of the voltage difference over time can reflect whether the robot has collided. The larger the voltage difference, the greater the probability of the robot colliding. Similarly, the greater the rate of change of the voltage difference over time, the greater the probability of the robot colliding.
[0031] Compared with existing technologies, this embodiment detects the measured terminal voltage of the forward-conducting phase of the three-phase motor controlling the robot's movement and compares it with the given terminal voltage when the robot has not collided. The voltage difference is calculated, and the magnitude and / or rate of change of the voltage difference over time are used to determine whether a collision has occurred. When the robot touches an obstacle, the operating load on the robot motor increases sharply, and the terminal voltage of the input motor's conducting phase drops due to the increased load. Therefore, the larger the calculated voltage difference, the greater the probability of a collision; the greater the rate of change of the voltage difference over time, the greater the probability of a collision. This method enables timely and accurate detection of collisions during robot operation, improving both operational safety and work efficiency.
[0032] Another embodiment of the present invention relates to a robot collision detection method. This embodiment is an improvement on the foregoing embodiment, the improvement being that the steps of the foregoing embodiment are refined and supplemented. For example... Figure 3As shown, the robot collision detection method provided in this embodiment includes the following steps.
[0033] Step 201: Real-time detection of the terminal voltage of the forward-conducting phase of the three-phase motor used to control the robot's movements, and extraction of the measured terminal voltage values at the last two commutation moments within each commutation cycle, constructing a sequence of measured terminal voltage values that change over time.
[0034] The continuous forward conduction period of each forward conduction phase is one commutation cycle.
[0035] Specifically, the switching from one energized state to another is called the "commutation" moment. In each control cycle, only two phase windings are in the conducting state, while the third phase winding is suspended. Commutation control is performed every 60° electrical angle change in the motor rotor position. Commutation causes the rotor to rotate to the next position, changing every 60°. Six commutation steps complete one electrical cycle for the motor. Within one electrical cycle, the continuous forward conducting period of each forward-conducting phase constitutes one commutation cycle. For example... Figure 2 As shown, at 30°, the motor's energizing state changes to AC energized; at 90°, the energizing state changes from AC to AB energized; and at [time missing], the energizing state changes from AB energized to CB energized. That is, within the commutation cycle of phase A, there are three commutation moments: 30°, 90°, and 150°. Phase A is the forward conducting phase within the electrical angle range of 30°-150°, and 30°-150° constitutes one "commutation cycle" for phase A. Similarly, 0°-30° and 300°-360° are the "commutation cycles" for phase B, respectively; and 150°-270° constitutes one "commutation cycle" for phase C.
[0036] Specifically, the terminal voltage of the forward-conducting phase of the three-phase motor used to control the robot's movements is detected in real time. Since the measured terminal voltage at the first commutation moment in each commutation cycle is always the same as the given terminal voltage value, the measured terminal voltage values at the last two commutation moments in each commutation cycle are extracted to construct a sequence of measured terminal voltage values that change over time. Figure 4 As shown, the measured values of the terminal voltage at commutation time 2 and commutation time 3 are extracted, and a sequence of measured terminal voltage values changing with time is constructed.
[0037] Step 202: Subtract the measured voltage value sequence from the given value of the terminal voltage of the forward conducting phase of the three-phase motor when the robot has not collided with it to obtain the voltage difference sequence that changes over time.
[0038] Specifically, the voltage difference ΔV is obtained by subtracting the measured terminal voltage from the given terminal voltage of the forward-conducting phase of the three-phase motor when the robot has not collided with it. By performing this process on the sequence of measured terminal voltage values, a sequence of voltage difference values that varies with time can be obtained.
[0039] Step 203: Determine whether the robot has collided based on the magnitude of each voltage difference in the voltage difference sequence and / or the rate of change of the voltage difference over time in the voltage difference sequence.
[0040] Specifically, when a robot encounters an obstacle, the operating load on the robot's motors increases dramatically. This increased load causes a voltage drop in the input voltage of the motor's conducting phase, resulting in a voltage difference between the given and measured voltage values. Therefore, the magnitude of this voltage difference and / or the rate of change of the voltage difference over time can reflect whether a collision has occurred. After obtaining the voltage difference sequence, the magnitude of each voltage difference and / or the rate of change of the voltage difference over time can be determined. A larger voltage difference indicates a higher probability of a collision, and similarly, a higher rate of change of the voltage difference over time also increases the probability of a collision.
[0041] In one example, determining whether a robot has collided is based on the magnitude of each voltage difference in the voltage difference sequence, including:
[0042] When there is a voltage difference in the voltage difference sequence that is greater than a preset first threshold, it is determined that the robot has collided at the time corresponding to that voltage difference.
[0043] Specifically, voltage differences may occur during normal robot operation. For example, when a weeding robot is weeding, dense grass may obstruct its movement, increasing the load on the robot's motors compared to when it moves without obstacles. This results in a voltage difference between the given and measured voltage values at the robot's terminals. Although a voltage difference exists, the robot has not "collided." Therefore, the presence of a voltage difference between the given and measured voltage values does not necessarily indicate a collision. Thus, this embodiment sets a first threshold. When determining whether a collision has occurred based on the magnitude of each voltage difference in the voltage difference sequence, it is determined whether all voltage differences in the sequence exceed the first threshold. If any voltage difference in the sequence exceeds the first threshold, the robot is deemed to have collided at the moment corresponding to that voltage difference.
[0044] In another example, determining whether a robot has collided based on the rate of change of the voltage difference over time in the voltage difference sequence can include the following methods.
[0045] Option 1:
[0046] Extract the first voltage difference value corresponding to the second commutation moment in each commutation cycle from the voltage difference value sequence, construct a first voltage difference value sequence that changes over time, and determine the first slope of the first voltage difference value sequence on each first voltage difference value as it changes over time; when there is a first voltage difference value in the first voltage difference value sequence with a first slope greater than a preset second threshold, it is determined that the robot has collided at the moment corresponding to the first voltage difference value; and / or, when there are multiple first voltage difference values in the first voltage difference value sequence with a first slope greater than the preset second threshold and a slope increasing trend over time, it is determined that the robot has collided within the time period corresponding to the multiple adjacent first voltage difference values;
[0047] The second threshold is greater than 0.
[0048] Specifically, each commutation cycle refers to the commutation cycle corresponding to the same forward conducting phase. The first voltage difference value corresponding to the second commutation moment within each commutation cycle is extracted from the voltage difference sequence. Thus, each first voltage difference value in the resulting first voltage difference sequence has an equal time interval, thereby constructing a first voltage difference sequence that varies with time. Based on the first voltage difference sequence, the first slope of the first voltage difference sequence at each first voltage difference value is determined, i.e., the first slope corresponding to each first voltage difference point is determined. In this process, the first slope can be calculated as follows: for each first voltage difference value in the first voltage difference sequence, multiple adjacent first voltage differences are selected; a linear fit is performed on the multiple first voltage differences, and the slope of the line obtained by solving the first derivative of the fit is taken as the first slope corresponding to that first voltage difference value.
[0049] Specifically, the first slope can reflect the changing trend of the corresponding first voltage difference. When there is a first voltage difference in the first voltage difference sequence with a first slope greater than a preset second threshold, it proves that the first voltage difference corresponding to the first slope has an increasing trend beyond the normal range, and it is determined that the robot collides at the time corresponding to the first voltage difference; and / or, when there are multiple adjacent first voltage differences in the first voltage difference sequence with a first slope greater than the preset second threshold and a slope increasing trend over time, that is, the growth rate between adjacent first voltage differences gradually increases and the first voltage difference becomes larger and larger, it is determined that the robot collides within the time period corresponding to the multiple adjacent first voltage differences.
[0050] Option 2:
[0051] Extract the second voltage difference value corresponding to the third commutation moment in each commutation cycle from the voltage difference value sequence, construct a second voltage difference value sequence that changes with time, and determine the second slope of the second voltage difference value sequence on each second voltage difference value as the second voltage difference value sequence changes with time; when there is a second voltage difference value in the second voltage difference value sequence with a second slope greater than a preset third threshold, it is determined that the robot has collided at the moment corresponding to the second voltage difference value; and / or, when there are multiple second voltage difference values in the second voltage difference value sequence with a second slope greater than the preset third threshold and a slope increasing trend with time, it is determined that the robot has collided within the time period corresponding to the multiple second voltage difference values;
[0052] Among them, the third threshold is greater than 0.
[0053] Specifically, each commutation cycle refers to the commutation cycle corresponding to the same forward conducting phase. The second voltage difference value corresponding to the third commutation moment within each commutation cycle is extracted from the voltage difference sequence. This results in equal time intervals between each second voltage difference value in the obtained second voltage difference sequence, thus constructing a time-varying second voltage difference sequence. Based on the second voltage difference sequence, the second slope of the second voltage difference sequence at each second voltage difference value is determined as the second voltage difference sequence changes over time, i.e., the second slope corresponding to each second voltage difference point is determined. Specifically, the calculation method for the second slope can be as follows: for each second voltage difference value in the second voltage difference sequence, multiple adjacent second voltage differences are selected; a linear fit is performed on the multiple second voltage differences, and the slope of the line obtained by solving the first derivative of the fit is taken as the second slope corresponding to that second voltage difference value.
[0054] Specifically, the second slope can reflect the changing trend of the corresponding second voltage difference. When there is a second voltage difference in the second voltage difference sequence with a second slope greater than a preset third threshold, it proves that the second voltage difference corresponding to the second slope has an increasing trend beyond the normal range, and it is determined that the robot collides at the time corresponding to the second voltage difference; and / or, when there are multiple adjacent second voltage differences in the second voltage difference sequence with a second slope greater than a preset second threshold and a slope increasing trend over time, that is, the growth rate between adjacent second voltage differences gradually increases and the second voltage difference becomes larger and larger, it is determined that the robot collides within the time period corresponding to the multiple adjacent second voltage differences.
[0055] Option 3:
[0056] In the voltage difference sequence, the average of two voltage differences within each commutation cycle is taken as the third voltage difference, thus constructing a third voltage difference sequence that varies with time. The third slope of the third voltage difference sequence at each third voltage difference is determined as the third voltage difference sequence changes with time. The third voltage difference is the midpoint between the commutation times corresponding to the two voltage differences. When there is a third voltage difference in the third voltage difference sequence with a third slope greater than a preset fourth threshold, it is determined that the robot has collided at the time corresponding to that third voltage difference. And / or, when there are multiple adjacent third voltage differences in the third voltage difference sequence with a third slope greater than the preset fourth threshold and a slope increasing with time, it is determined that the robot has collided within the time period corresponding to these multiple third voltage differences.
[0057] Among them, the fourth threshold is greater than 0.
[0058] Specifically, each commutation cycle is the commutation cycle corresponding to the same forward conducting phase. The average of the two voltage differences within each commutation cycle is taken as the third voltage difference, constructing a time-varying sequence of third voltage differences. In this sequence, the time corresponding to each third voltage difference is uniformly the midpoint between the two differences in the commutation cycle, with equal time intervals. Based on the second voltage difference sequence, the third slope of the third voltage difference sequence at each third voltage difference is determined, i.e., the third slope corresponding to each third voltage difference point is determined. Specifically, the calculation method for the third slope can be as follows: for each third voltage difference in the sequence, select multiple adjacent third voltage differences; perform linear fitting on the multiple third voltage differences, and use the slope of the line obtained by solving the first derivative of the fitting as the third slope corresponding to that third voltage difference.
[0059] Specifically, the third slope can reflect the changing trend of the corresponding third voltage difference. When there is a third voltage difference in the third voltage difference sequence with a third slope greater than the preset fourth threshold, it proves that the third voltage difference corresponding to the third slope has an increasing trend beyond the normal range, and it is determined that the robot collides at the time corresponding to the third voltage difference; and / or, when there are multiple adjacent third voltage differences in the third voltage difference sequence with a third slope greater than the preset fourth threshold and a slope increasing trend over time, that is, the growth rate between adjacent third voltage differences gradually increases and the third voltage difference becomes larger and larger, it is determined that the robot collides within the time period corresponding to the multiple adjacent third voltage differences.
[0060] Compared with related technologies, this implementation method constructs a voltage difference sequence and determines whether the robot has collided based on the magnitude of each voltage difference and / or multiple schemes of the rate of change of the voltage difference over time in the voltage difference sequence. This allows for a more reasonable identification of normal working obstacles and collision scenarios, and quickly determines whether the robot has collided during movement or work, thereby further improving the robot's operational safety and work efficiency.
[0061] Another embodiment of the present invention relates to an electronic device, such as... Figure 5 As shown, it includes at least one processor 202; and a memory 201 communicatively connected to at least one processor 202; wherein the memory 201 stores instructions executable by at least one processor 202, the instructions being executed by at least one processor 202 to enable at least one processor 202 to execute any of the above method embodiments.
[0062] The memory 201 and processor 202 are connected via a bus, which can include any number of interconnecting buses and bridges. The bus connects various circuits of one or more processors 202 and memory 201 together. The bus can also connect various other circuits, such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. A bus interface provides an interface between the bus and the transceiver. The transceiver can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by processor 202 is transmitted over a wireless medium via an antenna, which further receives data and transmits it to processor 202.
[0063] Processor 202 is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. Memory 201 can be used to store data used by processor 202 during operation.
[0064] Another embodiment of the present invention relates to a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements any of the above-described method embodiments.
[0065] That is, those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program instructing related hardware. This program is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0066] Those skilled in the art will understand that the above embodiments are specific examples of implementing the present invention, and in practical applications, various changes in form and detail may be made without departing from the spirit and scope of the present invention.
Claims
1. A robot collision detection method, characterized in that, include: The detection of the terminal voltage of the forward-conducting phase of the motor used to control the robot's movement, and the acquisition of the measured terminal voltage value, includes: real-time detection of the terminal voltage of the forward-conducting phase of the motor used to control the robot's movement, and extraction of the measured terminal voltage value at the last two commutation moments within each commutation cycle, constructing a time-varying sequence of measured terminal voltage values; wherein, the continuous forward-conducting period of each forward-conducting phase is one commutation cycle; The voltage difference is obtained by subtracting the measured terminal voltage from the given terminal voltage of the forward-conducting phase of the motor when the robot has not collided, including obtaining a time-varying voltage difference sequence from the sequence of the given terminal voltage of the forward-conducting phase of the motor when the robot has not collided. Determining whether the robot has collided based on the magnitude of the voltage difference and / or the rate of change of the voltage difference over time includes: determining whether the robot has collided based on the magnitude of each voltage difference in the voltage difference sequence and / or the rate of change of the voltage difference over time in the voltage difference sequence; The greater the voltage difference, the greater the probability of the robot colliding; the greater the rate of change of the voltage difference over time, the greater the probability of the robot colliding.
2. The method according to claim 1, characterized in that, The step of determining whether the robot has collided based on the magnitude of each voltage difference in the voltage difference sequence includes: When there is a voltage difference greater than a preset first threshold in the voltage difference sequence, it is determined that the robot has collided at the time corresponding to that voltage difference.
3. The method according to claim 1, characterized in that, The step of determining whether the robot has collided based on the rate of change of the voltage difference over time in the voltage difference sequence includes: Extract the first voltage difference value corresponding to the second commutation time in each commutation cycle from the voltage difference value sequence, construct a first voltage difference value sequence that changes with time, and determine the first slope of the first voltage difference value sequence on each first voltage difference value as the first voltage difference value sequence changes with time. When there is a first voltage difference in the first voltage difference sequence whose slope is greater than a preset second threshold, it is determined that the robot has collided at the moment corresponding to the first voltage difference. And / or, If there are multiple adjacent first voltage differences in the first voltage difference sequence with a slope greater than a preset second threshold and a slope increasing over time, it is determined that the robot collides within the time period corresponding to the multiple first voltage differences. The second threshold is greater than 0.
4. The method according to claim 1, characterized in that, The step of determining whether the robot has collided based on the rate of change of the voltage difference over time in the voltage difference sequence includes: Extract the second voltage difference value corresponding to the third commutation moment in each commutation cycle from the voltage difference value sequence, construct a second voltage difference value sequence that changes with time, and determine the second slope of the second voltage difference value sequence on each second voltage difference value as the second voltage difference value sequence changes with time. When there is a second voltage difference in the second voltage difference sequence whose slope is greater than a preset third threshold, it is determined that the robot has collided at the moment corresponding to the second voltage difference. And / or, If there are multiple adjacent second voltage differences in the second voltage difference sequence with a second slope greater than a preset third threshold and a slope increasing over time, it is determined that the robot collides within the time period corresponding to the multiple second voltage differences. The third threshold is greater than 0.
5. The method according to claim 1, characterized in that, The step of determining whether the robot has collided based on the rate of change of the voltage difference over time in the voltage difference sequence includes: In the voltage difference sequence, the average value of the two voltage differences in each commutation cycle is taken as the third voltage difference, and a third voltage difference sequence that varies with time is constructed. The third slope of the third voltage difference sequence at each third voltage difference is determined as the third voltage difference sequence varies with time. The third voltage difference is the midpoint of the commutation time corresponding to the two voltage differences. When there is a third voltage difference in the third voltage difference sequence with a third slope greater than a preset fourth threshold, it is determined that the robot has collided at the time corresponding to the third voltage difference. And / or, When there are multiple adjacent third voltage differences in the third voltage difference sequence where the third slope is greater than a preset fourth threshold and the slope increases over time, it is determined that the robot collides within the time period corresponding to these multiple third voltage differences. The fourth threshold is greater than 0.
6. The method according to claim 3, characterized in that, Determining the first slope of the first voltage difference sequence as a function of time includes: For each first voltage difference in the first voltage difference sequence, select multiple first voltage differences that are adjacent to the first voltage difference before and after it. A linear fit is performed on the plurality of first voltage differences, and the slope of the fitted straight line is taken as the first slope corresponding to the first voltage difference.
7. The method according to claim 4, characterized in that, Determining the second slope of the second voltage difference sequence over time includes: For each second voltage difference in the second voltage difference sequence, select multiple second voltage differences that are adjacent to the second voltage difference before and after it. A linear fit is performed on the plurality of second voltage differences, and the slope of the fitted straight line is used as the second slope corresponding to the second voltage difference.
8. An electronic device, characterized in that, include: At least one processor; And a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the robot collision detection method as described in any one of claims 1 to 7.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the robot collision detection method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Novel sensorless robot collision detection method and novel sensorless robot collision detection system
CN113681567A
Self-propelled device and collision detection method thereof
WO2022199250A1