A robot throwing state identification and control method, device, equipment and medium

By using acceleration sensors in the throwing robot to calculate the duration of take-off and landing and automatically controlling the power protection circuit, the problem of abnormality or damage caused by motor impact during landing of the throwing robot is solved, achieving autonomous protection and extending the life of the robot.

CN116859808BActive Publication Date: 2025-09-19FUJIAN XINNUO ROBOT AUTOMATION CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310948823.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-31
Publication Date
2025-09-19
Estimated Expiration
2043-07-31

AI Technical Summary

Technical Problem

The impact on the motor of the thrown robot when it lands may cause the robot to malfunction or be damaged, affecting its normal operation.

Method used

The acceleration sensor collects the acceleration value of the throwing robot in real time, calculates the duration of flight and landing, and automatically controls the power protection circuit to cut off or connect the motor power supply when the preset threshold is reached to achieve autonomous protection.

Benefits of technology

It effectively reduces the damage to the robot's motor and other circuits caused by the impact of throwing, increases the robot's service life, and ensures automatic identification and protection of the robot during the throwing process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116859808B_ABST
    Figure CN116859808B_ABST
Patent Text Reader

Abstract

The present invention provides a method, device, equipment, and medium for identifying and controlling the throwing state of a robot. The method includes obtaining an acceleration value of the throwing robot collected by an acceleration sensor; calculating the throwing robot's flight duration and landing duration based on the obtained acceleration value; when the flight duration is greater than or equal to a preset first threshold, controlling a power supply protection circuit to cut off power to the throwing robot's motor, causing the throwing robot to enter a protection state; and when the landing duration is greater than or equal to a preset second threshold, controlling the power supply protection circuit to connect power to the throwing robot's motor, causing the throwing robot to exit the protection state. The present invention has the advantages of being able to intelligently identify the throwing state of the throwing robot and control the throwing robot to perform autonomous protection, thereby reducing the impact of the throwing shock on the throwing robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot control technology, and in particular to a method, device, equipment and medium for identifying and controlling a robot's throwing state. Background Art

[0002] A throwing robot is a typical micro-ground mobile robot. It is small in size and light in weight, can be easily carried by a single soldier, and has high concealment and penetration. It has broad application prospects in target identification, tracking and attack.

[0003] In actual use, the motor of a throwing robot is subjected to a significant impact at the moment of landing, which may cause the robot to malfunction or be damaged, thus affecting its normal operation. In order to reduce the impact of the throwing shock on the throwing robot, it is urgent to provide a solution that can intelligently identify the throwing state of the throwing robot during operation and control the throwing robot to provide autonomous protection. Summary of the Invention

[0004] The technical problem to be solved by the present invention is to provide a method, device, equipment and medium for identifying and controlling the throwing state of a robot, which can intelligently identify the throwing state of the throwing robot during operation and control the throwing robot to perform autonomous protection, thereby reducing the impact of the throwing impact on the throwing robot.

[0005] In a first aspect, the present invention provides a method for identifying and controlling a robot's throwing state, the method comprising the following steps:

[0006] Step S1, obtaining the acceleration value of the throwing robot collected by the acceleration sensor;

[0007] Step S2: Calculate the duration of the flight and landing of the throwing robot based on the acquired acceleration value; when the duration of the flight is greater than or equal to a preset first threshold, control the power protection circuit to cut off the power supply to the motor of the throwing robot, so that the throwing robot enters a protection state; when the duration of the landing is greater than or equal to a preset second threshold, control the power protection circuit to turn on the power supply to the motor of the throwing robot, so that the throwing robot exits the protection state.

[0008] Furthermore, the step S2 specifically includes:

[0009] Step S21: Determine whether the throwing robot is currently in a protection state. If not, proceed to step S22; if in a protection state, proceed to step S25.

[0010] Step S22: Determine whether the currently acquired acceleration value is less than or equal to a first preset value. If so, increase the duration of the flight and proceed to step S23. If greater than the first preset value, proceed to step S24.

[0011] Step S23: Determine whether the flight duration is greater than or equal to a preset first threshold. If so, control the power protection circuit to cut off power to the motor of the throwing robot, placing the throwing robot in a protection state, and simultaneously reset the flight duration and landing duration. If less than the preset first threshold, return to step S1.

[0012] Step S24: Continue to determine whether the currently acquired acceleration value is greater than or equal to a second preset value, and if the second preset value is greater than the first preset value, reduce the flight duration and return to step S1; if it is less than the second preset value, directly return to step S1;

[0013] Step S25: Determine whether the currently acquired acceleration value is greater than or equal to a third preset value, where the third preset value is greater than the second preset value. If so, increase the landing duration and proceed to step S26; if less than the third preset value, proceed to step S27.

[0014] Step S26: Determine whether the landing duration is greater than or equal to a preset second threshold. If so, control the power protection circuit to turn on power to the motor of the throwing robot, causing the throwing robot to exit the protection state and simultaneously reset the flight duration and landing duration. If less than the preset second threshold, return to step S1.

[0015] Step S27: Continue to determine whether the currently acquired acceleration value is less than or equal to a fourth preset value, where the fourth preset value is less than the third preset value and greater than the second preset value. If so, reduce the landing duration and return to step S1. If so, directly return to step S1.

[0016] Furthermore, the first preset value is 2 m / s2, the second preset value is 4 m / s2, the third preset value is 9 m / s2, and the fourth preset value is 6 m / s2.

[0017] Furthermore, the first threshold is 16ms-20ms, and the second threshold is 450ms-550ms.

[0018] Furthermore, the step S1 specifically includes:

[0019] The acceleration data of the throwing robot is collected in real time through the acceleration sensor, and the acceleration data is stored in the cache;

[0020] The cache is scanned according to a preset interval time, and acceleration data is retrieved from the cache; the retrieved acceleration data is subjected to a first-order low-pass filter, and the filtered acceleration data is subjected to an absolute value calculation to obtain an acceleration value.

[0021] Furthermore, the acceleration sensor is an IMU sensor.

[0022] In a second aspect, the present invention provides a device for identifying and controlling a robot's throwing state, the device comprising an acceleration acquisition module and a state control module;

[0023] The acceleration acquisition module is used to obtain the acceleration value of the throwing robot collected by the acceleration sensor;

[0024] The state control module is used to calculate the flying duration and landing duration of the throwing robot based on the acquired acceleration value; when the flying duration is greater than or equal to a preset first threshold, the power protection circuit is controlled to cut off the power supply to the motor of the throwing robot, so that the throwing robot enters a protection state; when the landing duration is greater than or equal to a preset second threshold, the power protection circuit is controlled to connect the power supply to the motor of the throwing robot, so that the throwing robot exits the protection state.

[0025] Furthermore, the state control module specifically includes a first judgment unit, a second judgment unit, a third judgment unit, a fourth judgment unit, a fifth judgment unit, a sixth judgment unit and a seventh judgment unit;

[0026] The first judgment unit is used to judge whether the throwing robot is currently in a protection state. If it is not in the protection state, it enters the second judgment unit; if it is in the protection state, it enters the fifth judgment unit;

[0027] The second judgment unit is configured to judge whether the currently acquired acceleration value is less than or equal to a first preset value, and if so, to increase the flight duration and enter the third judgment unit; if greater than the first preset value, to enter the fourth judgment unit;

[0028] The third judgment unit is configured to judge whether the flight duration is greater than or equal to a preset first threshold; if so, control the power protection circuit to cut off power to the motor of the throwing robot, causing the throwing robot to enter a protection state, and simultaneously reset the flight duration and landing duration; if less than the preset first threshold, return to the acceleration acquisition module;

[0029] the fourth determination unit is configured to continue determining whether the currently acquired acceleration value is greater than or equal to a second preset value, the second preset value being greater than the first preset value; if so, reducing the flight duration and returning to the acceleration acquisition module; and if less than the second preset value, directly returning to the acceleration acquisition module;

[0030] The fifth judgment unit is configured to judge whether the currently acquired acceleration value is greater than or equal to a third preset value, the third preset value being greater than the second preset value; if so, increase the landing duration and enter the sixth judgment unit; if less than the third preset value, enter the seventh judgment unit;

[0031] The sixth judgment unit is configured to judge whether the landing duration is greater than or equal to a preset second threshold; if so, control the power protection circuit to switch on power to the motor of the throwing robot, causing the throwing robot to exit the protection state and simultaneously reset the flight duration and landing duration; if less than the preset second threshold, return to the acceleration acquisition module;

[0032] The seventh determination unit is configured to continue determining whether the currently acquired acceleration value is less than or equal to a fourth preset value, where the fourth preset value is less than the third preset value and greater than the second preset value; if the value is less than or equal to the fourth preset value, reduce the landing duration and return to the acceleration acquisition module; and if the value is greater than the fourth preset value, directly return to the acceleration acquisition module.

[0033] In a third aspect, the present invention provides an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method described in the first aspect when executing the program.

[0034] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, which implements the method described in the first aspect when the program is executed by a processor.

[0035] One or more technical solutions provided in the embodiments of the present invention have at least the following technical effects or advantages:

[0036] By acquiring the acceleration value of the throwing robot collected by the acceleration sensor, and calculating the flying duration and landing duration of the throwing robot based on the acquired acceleration value, when the flying duration is greater than or equal to a preset first threshold, the throwing robot is automatically controlled to enter a protection state; when the landing duration is greater than or equal to a preset second threshold, the throwing robot is automatically controlled to exit the protection state; therefore, by adopting the technical solution of the present invention, it is possible to well realize intelligent recognition of the throwing state of the throwing robot during operation, and control the throwing robot to perform autonomous protection in the flying state and control the throwing robot to automatically exit protection in the landing state, so that the reverse electromotive force generated by the motor on the throwing robot can be reduced during the entire throwing impact process to cause adverse effects on other circuits and external devices, thereby reducing the possibility of abnormalities or damage to the throwing robot during the throwing impact process, which helps to improve the service life of the throwing robot; at the same time, the entire throwing state identification process and protection control process are automatically completed without manual intervention, suitable for application in various application scenarios, and can quickly and accurately perform throwing state identification and autonomous protection control.

[0037] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are specifically listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0039] Figure 1 It is a block diagram of the structural principle of the entire hardware system in the present invention;

[0040] Figure 2 is a specific circuit diagram of the power protection circuit in the present invention;

[0041] Figure 3 This is a flowchart of an execution method for identifying and controlling a robot throwing state in a first embodiment of the present invention;

[0042] Figure 4 A schematic diagram of the throwing robot of the present invention bouncing back into the air during the throwing and landing process;

[0043] Figure 5 This is a schematic structural diagram of a device for identifying and controlling a robot's throwing state in a second embodiment of the present invention;

[0044] Figure 6 This is a schematic structural diagram of an electronic device in a third embodiment of the present invention;

[0045] Figure 7Schematic diagram of the structure of the medium in the fourth embodiment of the present invention. DETAILED DESCRIPTION

[0046] The embodiments of the present application provide a method, device, equipment and medium for identifying and controlling the throwing status of a robot, so as to solve the problem that the motor of the existing throwing robot is subjected to a great impact at the moment of landing, which may cause the throwing robot to malfunction or be damaged, thereby affecting the normal operation of the throwing robot. Compared with the existing technology, the throwing status of the throwing robot during operation can be intelligently identified, and the throwing robot can be controlled to perform autonomous protection, thereby reducing the impact of the throwing impact on the throwing robot.

[0047] The technical solution in the embodiments of the present application has the following overall idea: utilizing the characteristic that the acceleration of the IMU sensor decreases in the free fall state, an IMU sensor is added to the throwing robot, and the IMU sensor is used to collect the acceleration data of the throwing robot in real time during operation; the MCU of the throwing robot calculates the flying duration and landing duration of the throwing robot based on the collected acceleration data, and controls the throwing robot to perform autonomous protection switching based on the flying duration and landing duration.

[0048] Before that, we first introduce the hardware system that this application needs to use, such as Figure 1 As shown, the entire hardware system includes an acceleration sensor (i.e., an IMU sensor), a microprocessor (i.e., an MCU), a power protection circuit, and a motor provided on the throwing robot. The acceleration sensor and the microprocessor communicate via a serial port, the microprocessor is connected to the power protection circuit, and the power protection circuit is connected to the motor; wherein:

[0049] The throwing robot is defined with a direction. In the technical solution of the present application, the forward direction of the throwing robot is defined as the Y axis, the vertical direction is defined as the Z axis, and the lateral direction is defined as the X axis.

[0050] The acceleration sensor is responsible for collecting the acceleration data of the throwing robot in the walking process and the throwing state in real time, and transmitting the acceleration data to the microprocessor through the serial port for processing; the acceleration sensor is designed according to the direction defined by the throwing robot. The sensor circuit and the fixing method with the throwing robot are designed; the acceleration sensor and the microprocessor are connected.

[0051] The microprocessor has the characteristics of low power consumption, small size, and high integration, which is conducive to the miniaturization and intelligentization of the control system. In specific implementation, the microprocessor can be integrated with the control processor of the throwing robot itself. The microprocessor is mainly responsible for parsing, processing, and analyzing the acceleration data transmitted by the acceleration sensor, and controlling the power protection circuit. Each frame of data transmitted between the acceleration sensor and the microprocessor includes the acceleration components of the X, Y, and Z axes. The communication frequency is 50Hz to improve the response speed.

[0052] like Figure 2 As shown, the power protection circuit includes a driving transistor Q20, a Pmos transistor Q18, an Nmos transistor Q24 and an Nmos driver chip U15. The control terminal DCbusEn of the MCU is connected to the driving transistor Q20, and the driving transistor Q20 is connected to the Pmos transistor Q18. The Pmos transistor Q18 and the Nmos driver chip U15 are both connected to the Nmos transistor Q24. When the power protection circuit is working, when the control terminal DCbusEn of the MCU is at a low level, the Nmos transistor Q24 and the Pmos transistor Q18 are turned off at the same time. At this time, the back electromotive force generated by the motor on the throwing robot will not be transmitted to the power battery VCC_BAT, thereby reducing the adverse effects of the back electromotive force generated by the motor on the throwing robot on other circuits and external devices during the throwing impact.

[0053] Example 1

[0054] This embodiment provides a preferred embodiment of a method for identifying and controlling a robot's throwing state, such as Figure 3 As shown, the method includes the following steps:

[0055] Step S1: Acquire the acceleration value of the throwing robot collected by the acceleration sensor. Since, in the specific implementation of the present invention, the acceleration sensor collects the acceleration data of the throwing robot in real time during the entire operation process of the throwing robot, the MCU of the throwing robot continuously acquires the acceleration value of the throwing robot collected by the acceleration sensor, and executes step S2 once each time the acceleration value of the throwing robot is acquired.

[0056] Step S2: Calculate the duration of the flight and landing of the throwing robot based on the acquired acceleration value; when the duration of the flight is greater than or equal to a preset first threshold, it indicates that the throwing robot is currently in the throwing state, and control the power protection circuit to cut off the power supply to the motor of the throwing robot, so that the throwing robot enters the protection state. That is, in a specific implementation, when the duration of the flight is greater than or equal to the preset first threshold, the control terminal DCbusEn of the MCU outputs a low level to the power protection circuit, and the NMOS transistor Q24 and the PMOS transistor Q18 in the power protection circuit are simultaneously turned off, thereby cutting off the power supply to the motor of the throwing robot. At this time, the motor of the throwing robot is in a relaxed state, and the reverse electromotive force generated by the motor on the throwing robot is not transmitted to the power battery VCC_BAT;

[0057] When the landing duration is greater than or equal to the preset second threshold, it indicates that the throwing robot is currently in the landing state, and the power protection circuit is controlled to turn on the power supply to the motor of the throwing robot, so that the throwing robot exits the protection state. That is, in a specific implementation, when the landing duration is greater than or equal to the preset second threshold, the control end DCbusEn of the MCU outputs a high level to the power protection circuit, so that the power protection circuit resumes the power supply to the motor of the throwing robot.

[0058] The present invention obtains the acceleration value of the throwing robot collected by the acceleration sensor, and calculates the throwing robot's flight duration and landing duration based on the obtained acceleration value. When the flight duration is greater than or equal to a preset first threshold, the throwing robot is automatically controlled to enter a protection state; when the landing duration is greater than or equal to a preset second threshold, the throwing robot is automatically controlled to exit the protection state. Therefore, by adopting the technical solution of the present invention, it is possible to well realize intelligent recognition of the throwing state of the throwing robot during operation, control the throwing robot to perform autonomous protection in the throwing flight state, and control the throwing robot to automatically exit protection in the landing state. This can reduce the adverse effects of the reverse electromotive force generated by the motor on other circuits and external devices during the entire throwing impact process, thereby reducing the possibility of abnormalities or damage to the throwing robot during the throwing impact process, and helping to increase the service life of the throwing robot. At the same time, the entire throwing state identification process and protection control process are completed automatically without manual intervention, suitable for application in various application scenarios, and can quickly and accurately perform throwing state identification and autonomous protection control.

[0059] In a preferred embodiment of the present invention, step S2 specifically includes:

[0060] Step S21: Determine whether the throwing robot is currently in a protection state. If not, proceed to step S22; if in a protection state, proceed to step S25.

[0061] Step S22, determine whether the currently acquired acceleration value is less than or equal to a first preset value, which can be set according to actual conditions. If it is less than or equal to the first preset value, increase the air duration and proceed to step S23; if it is greater than the first preset value, proceed to step S24; because in specific implementation, when the throwing robot is in the throwing and flying state, the acceleration value of the throwing robot is very small, so by determining whether the currently acquired acceleration value is less than or equal to the first preset value, a preliminary judgment can be made as to whether the throwing robot is in the throwing and flying state; the air duration refers to the continuous time when the acceleration value is less than or equal to the first preset value, because the acceleration sensor collects acceleration data once every collection interval (the specific collection interval can be set according to actual needs, for example, the collection interval can be set to 2ms), so when the currently acquired acceleration value is less than or equal to the first preset value, it is necessary to increase the air duration by one collection interval to obtain a continuous time;

[0062] Step S23: Determine whether the flight duration is greater than or equal to a preset first threshold. If so, control the power protection circuit to cut off power to the motor of the throwing robot. That is, the MCU's control terminal DCbusEn outputs a low level to the power protection circuit, causing the NMOS transistor Q24 and the PMOS transistor Q18 in the power protection circuit to simultaneously turn off, thereby putting the throwing robot into a protection state and resetting the flight duration and landing duration. If less than the preset first threshold, return to step S1 to obtain the next acceleration value of the throwing robot collected by the acceleration sensor.

[0063] Step S24, continue to judge whether the currently acquired acceleration value is greater than or equal to the second preset value, and the second preset value is greater than the first preset value. If it is greater than or equal to the second preset value, reduce the duration of the flight, and return to step S1 to obtain the next acceleration value of the throwing robot collected by the acceleration sensor; if it is less than the second preset value, directly return to step S1 to obtain the next acceleration value of the throwing robot collected by the acceleration sensor; It should be noted that: in this step S24, when the duration of the flight is reduced to 0, if the currently acquired acceleration value is greater than or equal to the second preset value, the duration of the flight will no longer be reduced; because the throwing robot is in motion During the walking process, the throwing robot may jump up, and at this time, it will be in a vacant state for a short time. In this case, it is not necessary to enter the protection state. When the throwing robot jumps up briefly due to the influence of the terrain during the walking process, the acceleration value of the throwing robot will be greater than the first preset value. Therefore, the present invention further determines whether the currently acquired acceleration value is greater than or equal to the second preset value when the currently acquired acceleration value is greater than the first preset value, and reduces the vacant state duration when the currently acquired acceleration value is greater than or equal to the second preset value. This can avoid the throwing robot from being disturbed by the short jump during the walking process, thereby ensuring that the throwing robot will not be mistakenly switched to the protection state due to the short jump.

[0064] Step S25, determine whether the currently acquired acceleration value is greater than or equal to a third preset value, and the third preset value is greater than the second preset value. If it is greater than or equal to the third preset value, increase the landing duration and enter step S26; if it is less than the third preset value, enter step S27; because in the specific implementation, when the throwing robot is in the landing state, the acceleration value of the throwing robot is relatively large, so by determining whether the currently acquired acceleration value is greater than or equal to the third preset value, a preliminary judgment can be made on whether the throwing robot is in the landing state; the landing duration refers to the continuous time when the acceleration value is greater than or equal to the third preset value, because the acceleration sensor collects acceleration data once every collection interval (the specific collection interval can be set according to actual needs, for example, the collection interval can be set to 2ms). Therefore, when the currently acquired acceleration value is greater than or equal to the third preset value, the landing duration needs to be increased by one acquisition interval to obtain a continuous time. In addition, each acceleration sensor generally has a maximum acceleration detection value, which is recorded herein as a fifth preset value. For example, in a specific implementation, the fifth preset value may be 40 m / s2. The fifth preset value is greater than the third preset value. Therefore, when determining whether the currently acquired acceleration value is greater than or equal to the third preset value, it is also necessary to simultaneously determine whether the currently acquired acceleration value is less than the fifth preset value. If it is less than the fifth preset value, the landing duration is increased. If it is greater than or equal to the fifth preset value, it indicates that the detection range of the acceleration sensor is exceeded, which normally does not occur. If it occurs, it indicates that the acceleration sensor may be abnormal, and the entire determination process can be terminated at this time.

[0065] Step S26: Determine whether the landing duration is greater than or equal to a preset second threshold. If so, control the power protection circuit to turn on the power supply to the throwing robot's motor. That is, the MCU's control terminal DCbusEn outputs a high level to the power protection circuit, thereby causing the throwing robot to exit the protection state and simultaneously resetting the flight duration and landing duration. If less than the preset second threshold, return to step S1 to obtain the next acceleration value of the throwing robot collected by the acceleration sensor.

[0066] Step S27: Continue to determine whether the currently acquired acceleration value is less than or equal to a fourth preset value, the fourth preset value being less than the third preset value and greater than the second preset value. If it is less than or equal to the fourth preset value, reduce the landing duration and return to step S1 to obtain the next acceleration value of the throwing robot acquired by the acceleration sensor; if it is greater than the fourth preset value, directly return to step S1 to obtain the next acceleration value of the throwing robot acquired by the acceleration sensor. It should be noted that in step S27, when the landing duration is reduced to 0, if it is determined that the currently acquired acceleration value is less than or equal to the fourth preset value, the landing duration is no longer reduced. Figure 4 As shown, in a specific implementation, the throwing robot may rebound and become airborne again during the throwing and landing process. At this time, the throwing robot should remain in a protection state. Therefore, the present invention can avoid interference caused by the throwing robot rebounding again after landing by continuously determining whether the currently acquired acceleration value is less than or equal to the fourth preset value when the currently acquired acceleration value is less than the third preset value, and reducing the landing duration when the acceleration value is less than or equal to the fourth preset value, thereby ensuring that the throwing robot exits the protection state only after the landing is stable.

[0067] From the above, it can be seen that the present invention can effectively eliminate the influence of unstable states during flight and landing by calculating the flight duration and landing duration of the throwing robot, setting a first threshold for the flight duration for comparison, and setting a second threshold for the landing duration for comparison, thereby ensuring that the throwing robot can accurately and automatically enter the protection state and automatically exit the protection state after the landing is stable.

[0068] As a specific embodiment of the present invention, the first preset value is 2m / s2, the second preset value is 4m / s2, the third preset value is 9m / s2, and the fourth preset value is 6m / s2. It should be noted that the above first preset value, second preset value, third preset value, and fourth preset value are ultimately obtained through actual experimental testing. By adopting the above specific values, it is possible to accurately identify the specific state of the throwing robot, thereby better realizing autonomous protection control of the throwing robot.

[0069] As a specific embodiment of the present invention, the first threshold value is 16ms-20ms, and the second threshold value is 450ms-550ms. Since the throwing robot needs to ensure that it enters the protection state before landing during the specific throwing process, so that it can protect the throwing robot, the first threshold value needs to be set relatively small. The present invention can effectively ensure that the throwing robot enters the protection state before landing by setting the first threshold value to 16ms-20ms; at the same time, by setting the second threshold value to 450ms-550ms, it can effectively ensure that the throwing robot will exit the protection state only after a stable landing (that is, it will not bounce back into the air again). Preferably, the first threshold value is 18ms and the second threshold value is 500ms.

[0070] In a preferred embodiment of the present invention, step S1 specifically includes:

[0071] The acceleration data of the throwing robot is collected in real time through the acceleration sensor, and the acceleration data is stored in the cache;

[0072] The cache is scanned according to a preset interval, and acceleration data is retrieved from the cache. The preset interval can be set according to actual needs, and the acceleration data can be parsed according to the communication protocol; the retrieved acceleration data is processed by a first-order low-pass filter to ensure that the data changes are more real and reliable; at the same time, the absolute value of the filtered acceleration data is calculated to obtain the acceleration value. By performing absolute value calculation on the filtered acceleration data, it can be ensured that any posture of the throwing robot during the throwing process has an absolute acceleration value. The specific calculation formula is: Where x represents the acceleration component of the X axis, y represents the acceleration component of the Y axis, and z represents the acceleration component of the Z axis.

[0073] In a specific implementation, the present invention further includes, before executing step S1, starting the system, completing port configuration and serial port initialization, setting the serial port to 8 data bits, 1 stop bit, no check bit, and a baud rate of 115200.

[0074] As a specific implementation of the present invention, the acceleration sensor is an IMU sensor.

[0075] Based on the same inventive concept, this application also provides a device corresponding to the method in Example 1, see Example 2 for details.

[0076] Example 2

[0077] In this embodiment, a device for identifying and controlling the throwing state of a robot is provided. Figure 5 As shown, the device includes an acceleration acquisition module and a state control module;

[0078] The acceleration acquisition module is used to obtain the acceleration value of the throwing robot collected by the acceleration sensor. Since the acceleration sensor collects the acceleration data of the throwing robot in real time during the entire operation process of the throwing robot, the MCU of the throwing robot will continuously obtain the acceleration value of the throwing robot collected by the acceleration sensor, and the state control module will be executed once each time the acceleration value of the throwing robot is obtained.

[0079] The state control module is used to calculate the flying duration and landing duration of the throwing robot based on the acquired acceleration value; when the flying duration is greater than or equal to a preset first threshold, it indicates that the throwing robot is currently in the throwing flying state, and controls the power protection circuit to cut off the power supply to the throwing robot's motor, so that the throwing robot enters the protection state. That is, in a specific implementation, when the flying duration is greater than or equal to the preset first threshold, the MCU's control terminal DCbusEn outputs a low level to the power protection circuit, and the NMOS tube Q24 and the PMOS tube Q18 in the power protection circuit are simultaneously turned off, thereby cutting off the power supply to the throwing robot's motor. At this time, the throwing robot's motor is in a relaxed state, and the back electromotive force generated by the motor on the throwing robot will not be transmitted to the power battery VCC_BAT;

[0080] When the landing duration is greater than or equal to the preset second threshold, it indicates that the throwing robot is currently in the landing state, and the power protection circuit is controlled to turn on the power supply to the motor of the throwing robot, so that the throwing robot exits the protection state. That is, in a specific implementation, when the landing duration is greater than or equal to the preset second threshold, the control end DCbusEn of the MCU outputs a high level to the power protection circuit, so that the power protection circuit resumes the power supply to the motor of the throwing robot.

[0081] The present invention obtains the acceleration value of the throwing robot collected by the acceleration sensor, and calculates the throwing robot's flight duration and landing duration based on the obtained acceleration value. When the flight duration is greater than or equal to a preset first threshold, the throwing robot is automatically controlled to enter a protection state; when the landing duration is greater than or equal to a preset second threshold, the throwing robot is automatically controlled to exit the protection state. Therefore, by adopting the technical solution of the present invention, it is possible to well realize intelligent recognition of the throwing state of the throwing robot during operation, control the throwing robot to perform autonomous protection in the throwing flight state, and control the throwing robot to automatically exit protection in the landing state. This can reduce the adverse effects of the reverse electromotive force generated by the motor on other circuits and external devices during the entire throwing impact process, thereby reducing the possibility of abnormalities or damage to the throwing robot during the throwing impact process, and helping to increase the service life of the throwing robot. At the same time, the entire throwing state identification process and protection control process are completed automatically without manual intervention, suitable for application in various application scenarios, and can quickly and accurately perform throwing state identification and autonomous protection control.

[0082] In a preferred embodiment of the present invention, the state control module specifically includes a first judgment unit, a second judgment unit, a third judgment unit, a fourth judgment unit, a fifth judgment unit, a sixth judgment unit and a seventh judgment unit;

[0083] The first judgment unit is used to judge whether the throwing robot is currently in a protection state. If it is not in the protection state, it enters the second judgment unit; if it is in the protection state, it enters the fifth judgment unit;

[0084] The second judgment unit is used to judge whether the currently acquired acceleration value is less than or equal to a first preset value, and the first preset value can be set according to actual conditions. If it is less than or equal to the first preset value, the air duration is increased and the process enters the third judgment unit; if it is greater than the first preset value, the process enters the fourth judgment unit. Since, in a specific implementation, when the throwing robot is in the throwing and flying state, the acceleration value of the throwing robot is very small, a preliminary judgment can be made as to whether the throwing robot is in the throwing and flying state by judging whether the currently acquired acceleration value is less than or equal to the first preset value. The air duration refers to the continuous time when the acceleration value is less than or equal to the first preset value, because the acceleration sensor collects acceleration data once every collection interval (the specific collection interval can be set according to actual needs, for example, the collection interval can be set to 2ms). Therefore, when the currently acquired acceleration value is less than or equal to the first preset value, the air duration needs to be increased by one collection interval to obtain a continuous time.

[0085] The third judgment unit is configured to judge whether the flight duration is greater than or equal to a preset first threshold. If so, the control unit controls the power protection circuit to cut off the power supply to the motor of the throwing robot. Specifically, the control terminal DCbusEn of the MCU outputs a low level to the power protection circuit, thereby simultaneously turning off the NMOS transistor Q24 and the PMOS transistor Q18 in the power protection circuit, thereby putting the throwing robot into a protection state and resetting the flight duration and landing duration. If the flight duration is less than the preset first threshold, the control unit returns to the acceleration acquisition module to obtain the next acceleration value of the throwing robot collected by the acceleration sensor.

[0086] The fourth judgment unit is used to continue to judge whether the currently acquired acceleration value is greater than or equal to a second preset value, and the second preset value is greater than the first preset value. If it is greater than or equal to the second preset value, the flight duration is reduced, and the acceleration acquisition module is returned to obtain the next acceleration value of the throwing robot collected by the acceleration sensor; if it is less than the second preset value, the acceleration acquisition module is directly returned to obtain the next acceleration value of the throwing robot collected by the acceleration sensor; it should be noted that: in the fourth judgment unit, when the flight duration is reduced to 0, if the currently acquired acceleration value is greater than or equal to the second preset value, the flight duration is no longer reduced; The throwing robot may jump during walking, and at this time the throwing robot will be in a vacant state for a short time. In this case, it does not need to enter the protection state. Moreover, when the throwing robot jumps briefly due to the influence of the terrain during walking, the acceleration value of the throwing robot will be greater than the first preset value. Therefore, the present invention further determines whether the currently acquired acceleration value is greater than or equal to the second preset value when the currently acquired acceleration value is greater than the first preset value, and reduces the vacant state duration when the currently acquired acceleration value is greater than or equal to the second preset value. This can avoid interference caused by the short jump of the throwing robot during walking, thereby ensuring that the throwing robot will not mistakenly switch to the protection state due to the short jump.

[0087] The fifth judgment unit is used to judge whether the currently acquired acceleration value is greater than or equal to a third preset value, and the third preset value is greater than the second preset value. If it is greater than or equal to the third preset value, the landing duration is increased and the sixth judgment unit is entered; if it is less than the third preset value, the seventh judgment unit is entered; because in the specific implementation, when the throwing robot is in the landing state, the acceleration value of the throwing robot is relatively large, so by judging whether the currently acquired acceleration value is greater than or equal to the third preset value, a preliminary judgment can be made on whether the throwing robot is in the landing state; the landing duration refers to the continuous time when the acceleration value is greater than or equal to the third preset value, because the acceleration sensor will collect data every time an acquisition interval time (the specific acquisition interval time can be set according to actual needs, for example, the acquisition interval time can be set to 2ms) Acceleration data is obtained once. Therefore, when the currently acquired acceleration value is greater than or equal to the third preset value, the landing duration needs to be increased by one acquisition interval to obtain a continuous time. In addition, each acceleration sensor generally has a maximum acceleration detection value, which is recorded here as a fifth preset value. For example, in a specific implementation, the fifth preset value may be 40 m / s2. The fifth preset value is greater than the third preset value. Therefore, when determining whether the currently acquired acceleration value is greater than or equal to the third preset value, it is also necessary to simultaneously determine whether the currently acquired acceleration value is less than the fifth preset value. If it is less than the fifth preset value, the landing duration is increased. If it is greater than or equal to the fifth preset value, it indicates that the detection range of the acceleration sensor is exceeded. This situation should not normally occur. If it occurs, it indicates that the acceleration sensor may be abnormal, and the entire determination process can be terminated at this time.

[0088] The sixth judgment unit is configured to judge whether the landing duration is greater than or equal to a preset second threshold; if so, control the power protection circuit to turn on the power supply to the motor of the throwing robot, i.e., the control terminal DCbusEn of the MCU outputs a high level to the power protection circuit, thereby causing the throwing robot to exit the protection state and simultaneously reset the flight duration and landing duration; if less than the preset second threshold, return to the acceleration acquisition module to obtain the next acceleration value of the throwing robot collected by the acceleration sensor;

[0089] The seventh judgment unit is used to continue to judge whether the currently acquired acceleration value is less than or equal to a fourth preset value, and the fourth preset value is less than the third preset value and greater than the second preset value. If it is less than or equal to the fourth preset value, the landing duration is reduced, and the acceleration acquisition module is returned to obtain the next acceleration value of the throwing robot collected by the acceleration sensor; if it is greater than the fourth preset value, the acceleration acquisition module is directly returned to obtain the next acceleration value of the throwing robot collected by the acceleration sensor; it should be noted that: in the seventh judgment unit, when the landing duration is reduced to 0, if it is determined that the currently acquired acceleration value is less than or equal to the fourth preset value, the landing duration is no longer reduced; if Figure 4 As shown, in a specific implementation, the throwing robot may rebound and become airborne again during the throwing and landing process. At this time, the throwing robot should remain in a protection state. Therefore, the present invention can avoid interference caused by the throwing robot rebounding again after landing by continuously determining whether the currently acquired acceleration value is less than or equal to the fourth preset value when the currently acquired acceleration value is less than the third preset value, and reducing the landing duration when the acceleration value is less than or equal to the fourth preset value, thereby ensuring that the throwing robot exits the protection state only after the landing is stable.

[0090] From the above, it can be seen that the present invention can effectively eliminate the influence of unstable states during flight and landing by calculating the flight duration and landing duration of the throwing robot, setting a first threshold for the flight duration for comparison, and setting a second threshold for the landing duration for comparison, thereby ensuring that the throwing robot can accurately and automatically enter the protection state and automatically exit the protection state after the landing is stable.

[0091] As a specific embodiment of the present invention, the first preset value is 2m / s2, the second preset value is 4m / s2, the third preset value is 9m / s2, and the fourth preset value is 6m / s2. It should be noted that the above first preset value, second preset value, third preset value, and fourth preset value are ultimately obtained through actual experimental testing. By adopting the above specific values, it is possible to accurately identify the specific state of the throwing robot, thereby better realizing autonomous protection control of the throwing robot.

[0092] As a specific embodiment of the present invention, the first threshold value is 16ms-20ms, and the second threshold value is 450ms-550ms. Since the throwing robot needs to ensure that it enters the protection state before landing during the specific throwing process, so that it can protect the throwing robot, the first threshold value needs to be set relatively small. The present invention can effectively ensure that the throwing robot enters the protection state before landing by setting the first threshold value to 16ms-20ms; at the same time, by setting the second threshold value to 450ms-550ms, it can effectively ensure that the throwing robot will exit the protection state only after a stable landing (that is, it will not bounce back into the air again). Preferably, the first threshold value is 18ms and the second threshold value is 500ms.

[0093] In a preferred embodiment of the present invention, the acceleration acquisition module is specifically:

[0094] The acceleration data of the throwing robot is collected in real time through the acceleration sensor, and the acceleration data is stored in the cache;

[0095] The cache is scanned according to a preset interval, and acceleration data is retrieved from the cache. The preset interval can be set according to actual needs, and the acceleration data can be parsed according to the communication protocol; the retrieved acceleration data is processed by a first-order low-pass filter to ensure that the data changes are more real and reliable; at the same time, the absolute value of the filtered acceleration data is calculated to obtain the acceleration value. By performing absolute value calculation on the filtered acceleration data, it can be ensured that any posture of the throwing robot during the throwing process has an absolute acceleration value. The specific calculation formula is: Where x represents the acceleration component of the X axis, y represents the acceleration component of the Y axis, and z represents the acceleration component of the Z axis.

[0096] In a specific implementation, the present invention further includes, before executing the acceleration acquisition module: starting the system, completing port configuration and serial port initialization, setting the serial port to 8 data bits, 1 stop bit, no check bit, and a baud rate of 115200.

[0097] As a specific implementation of the present invention, the acceleration sensor is an IMU sensor.

[0098] Based on the same inventive concept, this application provides an electronic device embodiment corresponding to the first embodiment, see the third embodiment for details.

[0099] Example 3

[0100] This embodiment provides an electronic device, such as Figure 6As shown, it includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, any implementation method in the first embodiment can be implemented.

[0101] Since the electronic device described in this embodiment is the device used to implement the method in Example 1 of this application, based on the method described in Example 1 of this application, those skilled in the art will be able to understand the specific implementation of the electronic device of this embodiment and its various variations. Therefore, how the electronic device implements the method in the embodiment of this application will not be described in detail here. As long as the device used by those skilled in the art to implement the method in the embodiment of this application falls within the scope of protection to be provided by this application.

[0102] Based on the same inventive concept, this application provides a storage medium corresponding to Example 1, see Example 4 for details.

[0103] Example 4

[0104] This embodiment provides a computer-readable storage medium, such as Figure 7 As shown, a computer program is stored thereon, and when the computer program is executed by a processor, any implementation method in Example 1 can be implemented.

[0105] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, apparatus, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0106] The present invention is described with reference to flowcharts and / or block diagrams of methods, apparatuses, and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0107] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0108] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0109] Although the specific embodiments of the present invention are described above, those skilled in the art should understand that the specific embodiments described are merely illustrative and are not intended to limit the scope of the present invention. Equivalent modifications and changes made by those skilled in the art in accordance with the spirit of the present invention should be included within the scope of protection of the claims of the present invention.

Claims

1. A method for identifying and controlling a robot's throwing state, characterized in that: The method comprises the following steps: Step S1, obtaining the acceleration value of the throwing robot collected by the acceleration sensor; Step S2: Calculate the flying duration and landing duration of the throwing robot according to the acquired acceleration value; When the duration of the flight is greater than or equal to a preset first threshold, the power protection circuit is controlled to cut off the power supply to the motor of the throwing robot, so that the throwing robot enters a protection state; when the duration of the landing is greater than or equal to a preset second threshold, the power protection circuit is controlled to turn on the power supply to the motor of the throwing robot, so that the throwing robot exits the protection state; The step S2 specifically includes: Step S21: Determine whether the throwing robot is currently in a protection state. If not, proceed to step S22; if in a protection state, proceed to step S25. Step S22: Determine whether the currently acquired acceleration value is less than or equal to a first preset value. If so, increase the duration of the flight and proceed to step S23. If greater than the first preset value, proceed to step S24. Step S23: Determine whether the flight duration is greater than or equal to a preset first threshold. If so, control the power protection circuit to cut off power to the motor of the throwing robot, placing the throwing robot in a protection state, and simultaneously reset the flight duration and landing duration. If less than the preset first threshold, return to step S1. Step S24: Continue to determine whether the currently acquired acceleration value is greater than or equal to a second preset value, and if the second preset value is greater than the first preset value, reduce the flight duration and return to step S1; if it is less than the second preset value, directly return to step S1; Step S25: Determine whether the currently acquired acceleration value is greater than or equal to a third preset value, where the third preset value is greater than the second preset value. If so, increase the landing duration and proceed to step S26; if less than the third preset value, proceed to step S27. Step S26: Determine whether the landing duration is greater than or equal to a preset second threshold. If so, control the power protection circuit to turn on power to the motor of the throwing robot, causing the throwing robot to exit the protection state and simultaneously reset the flight duration and landing duration. If less than the preset second threshold, return to step S1. Step S27: Continue to determine whether the currently acquired acceleration value is less than or equal to a fourth preset value, where the fourth preset value is less than the third preset value and greater than the second preset value. If so, reduce the landing duration and return to step S1. If so, directly return to step S1.

2. The method for identifying and controlling a robot's throwing state according to claim 1, wherein: The first preset value is 2m / s2, the second preset value is 4m / s2, and the third preset value is 9m / s 2 , the fourth preset value is 6m / s 2 .

3. The method for identifying and controlling a robot's throwing state according to claim 1, wherein: The first threshold is 16ms-20ms, and the second threshold is 450ms-550ms.

4. The method for identifying and controlling a robot's throwing state according to claim 1, wherein: The step S1 specifically includes: The acceleration data of the throwing robot is collected in real time through the acceleration sensor, and the acceleration data is stored in the cache; The cache is scanned according to a preset interval time, and acceleration data is retrieved from the cache; the retrieved acceleration data is subjected to a first-order low-pass filter, and the filtered acceleration data is subjected to an absolute value calculation to obtain an acceleration value.

5. The method for identifying and controlling a robot's throwing state according to claim 1, characterized in that: The acceleration sensor is an IMU sensor.

6. A robot throwing state identification and control device, characterized by: The device includes an acceleration acquisition module and a state control module; The acceleration acquisition module is used to obtain the acceleration value of the throwing robot collected by the acceleration sensor; The state control module is used to calculate the flying duration and landing duration of the throwing robot according to the acquired acceleration value; When the duration of the flight is greater than or equal to a preset first threshold, the power protection circuit is controlled to cut off the power supply to the motor of the throwing robot, so that the throwing robot enters a protection state; when the duration of the landing is greater than or equal to a preset second threshold, the power protection circuit is controlled to turn on the power supply to the motor of the throwing robot, so that the throwing robot exits the protection state; The state control module specifically includes a first judgment unit, a second judgment unit, a third judgment unit, a fourth judgment unit, a fifth judgment unit, a sixth judgment unit and a seventh judgment unit; The first judgment unit is used to judge whether the throwing robot is currently in a protection state, and if not, enter the second judgment unit; If it is in the protection state, then enter the fifth judgment unit; the second determining unit is configured to determine whether the currently acquired acceleration value is less than or equal to a first preset value, and if so, to increase the duration of the flight and enter the third determining unit; If it is greater than the first preset value, entering the fourth judgment unit; The third determination unit is configured to determine whether the flight duration is greater than or equal to a preset first threshold, and if so, control a power protection circuit to cut off power to a motor of the throwing robot, causing the throwing robot to enter a protection state, and simultaneously reset the flight duration and landing duration; If it is less than a preset first threshold, returning to the acceleration acquisition module; the fourth determining unit being configured to continue determining whether the currently acquired acceleration value is greater than or equal to a second preset value, the second preset value being greater than the first preset value; if so, reducing the flight duration and returning to the acceleration acquiring module; If it is less than the second preset value, directly return to the acceleration acquisition module; The fifth judgment unit is configured to judge whether the currently acquired acceleration value is greater than or equal to a third preset value, the third preset value being greater than the second preset value; if so, increase the landing duration and enter the sixth judgment unit; If it is less than the third preset value, entering the seventh judgment unit; The sixth judgment unit is configured to judge whether the landing duration is greater than or equal to a preset second threshold; if so, control the power protection circuit to switch on power to the motor of the throwing robot, causing the throwing robot to exit the protection state and simultaneously reset the flight duration and landing duration; if less than the preset second threshold, return to the acceleration acquisition module; the seventh determination unit is configured to continue determining whether the currently acquired acceleration value is less than or equal to a fourth preset value, the fourth preset value being less than the third preset value and greater than the second preset value; if the value is less than or equal to the fourth preset value, then reducing the landing duration and returning to the acceleration acquisition module; If it is greater than the fourth preset value, the process directly returns to the acceleration acquisition module.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the method according to any one of claims 1 to 5 is implemented.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Electric vehicle flying protection method, equipment and device, and storage medium

    CN111572366A

  • Throwing robot unlocking control method and system

    CN111589025A