A method and device for determining a collision position, a readable storage medium, and a robot

By obtaining the collision sensor signal and motion trajectory of the cleaning robot, the preferred collision position is selected, which solves the problem that the cleaning robot cannot accurately mark the collision position and reduces the probability of re-collision.

CN116100543BActive Publication Date: 2025-08-05UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211729209.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2025-08-05
Estimated Expiration
2042-12-30

AI Technical Summary

Technical Problem

Existing cleaning robots cannot accurately mark the collision position, resulting in a high probability of re-collision.

Method used

By obtaining the collision trigger signal generated by the collision sensor of the robot, at least two candidate collision positions are determined, the motion trajectory of the robot after the collision is obtained, and the preferred collision position is selected according to the motion trajectory.

Benefits of technology

Improves the accuracy of collision position marking and reduces the probability of the robot colliding again at the same position.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116100543B_ABST
    Figure CN116100543B_ABST
Patent Text Reader

Abstract

The present application belongs to the field of robotics technology, and in particular relates to a method, device, computer-readable storage medium, and robot for determining a collision position. The method comprises: obtaining a collision trigger signal generated by a collision sensor of the robot; determining at least two candidate collision positions based on the collision trigger signal; obtaining the motion trajectory of the robot after the collision; screening each candidate collision position based on the motion trajectory to obtain a preferred collision position after screening. Through the present application, when a robot collides during movement, the collision position can be accurately marked by the collision signal generated by the robot's collision sensor, reducing the probability of the robot colliding again at the same position.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of robotics technology, and in particular relates to a collision position determination method, device, computer-readable storage medium, and robot. Background Art

[0002] With the continuous development of robotics technology, cleaning robots can make intelligent plans based on the surrounding environment. Therefore, many families choose to use cleaning robots to clean their house. However, the collision sensors used by current cleaning robots only serve as a trigger signal, and the robots can only distinguish between left collisions, right collisions and front collisions, which makes it impossible for the robots to accurately calculate the collision position for marking. Summary of the Invention

[0003] In view of this, embodiments of the present application provide a collision position determination method, apparatus, computer-readable storage medium, and robot to solve the problem of inaccurate collision position marking in the prior art.

[0004] A first aspect of an embodiment of the present application provides a method for determining a collision position, which may include:

[0005] Obtain the collision trigger signal generated by the robot's collision sensor;

[0006] determining at least two candidate collision locations according to the collision trigger signal;

[0007] Obtaining a motion trajectory of the robot after the collision;

[0008] The candidate collision positions are screened according to the motion trajectory to obtain a screened optimal collision position.

[0009] In a specific implementation of the first aspect, obtaining the motion trajectory of the robot after the collision includes:

[0010] After the collision, controlling the robot to move backward and adjusting the direction of travel of the robot;

[0011] Controlling the robot to move in the adjusted direction of travel and calculating the movement distance of the robot;

[0012] When the movement distance of the robot reaches a preset distance threshold, the movement trajectory of the robot after the collision is obtained.

[0013] In a specific implementation of the first aspect, adjusting the moving direction of the robot includes:

[0014] If the collision trigger signal is a left collision signal, adjusting the moving direction of the robot to the right;

[0015] If the collision trigger signal is a right collision signal, adjusting the moving direction of the robot to the left;

[0016] If the collision trigger signal is a front collision signal, the moving direction of the robot is adjusted leftward or rightward.

[0017] In a specific implementation of the first aspect, screening the candidate collision positions according to the motion trajectory to obtain the screened preferred collision position includes:

[0018] Determining a motion coverage area of the robot according to the motion trajectory;

[0019] The candidate collision positions are screened according to the motion coverage area to obtain a screened preferred collision position.

[0020] In a specific implementation of the first aspect, determining the movement coverage area of the robot according to the movement trajectory includes:

[0021] Taking the motion trajectory as the central axis of the motion coverage area;

[0022] The central axis is extended to both sides by a preset extension distance to obtain the motion coverage area; wherein the extension distance is the radius of the robot.

[0023] In a specific implementation of the first aspect, screening candidate collision positions according to the motion coverage area to obtain a screened preferred collision position includes:

[0024] Determining whether each candidate collision position is located in the motion coverage area;

[0025] If the first several candidate collision positions on the left side are located in the motion coverage area, the first candidate collision position on the left side that is not located in the motion coverage area is selected as the preferred collision position;

[0026] If the first several candidate collision positions on the right side are located in the motion coverage area, the first candidate collision position on the right side that is not located in the motion coverage area is screened as the preferred collision position.

[0027] In a specific implementation of the first aspect, determining at least two candidate collision positions according to the collision trigger signal includes:

[0028] If the collision trigger signal is a left collision signal, determining at least two candidate collision positions in the left area of the robot;

[0029] If the collision trigger signal is a right collision signal, determining at least two candidate collision positions in the right area of the robot;

[0030] If the collision trigger signal is a front collision signal, at least two candidate collision positions are determined in the front area of the robot.

[0031] A second aspect of an embodiment of the present application provides a collision position determination device, which may include:

[0032] A signal acquisition module is used to obtain a collision trigger signal generated by a collision sensor of the robot;

[0033] a determination module, configured to determine at least two candidate collision locations according to the collision trigger signal;

[0034] A trajectory acquisition module, used to obtain the motion trajectory of the robot after the collision;

[0035] The screening module is used to screen each candidate collision position according to the motion trajectory to obtain a screened preferred collision position.

[0036] In a specific implementation of the second aspect, the trajectory acquisition module includes:

[0037] An adjustment submodule, configured to control the robot to retreat and adjust the direction of travel of the robot after a collision;

[0038] A motion submodule, configured to control the robot to move in the adjusted direction of travel and calculate the movement distance of the robot;

[0039] The acquisition submodule is used to acquire the motion trajectory of the robot after the collision when the motion distance of the robot reaches a preset distance threshold.

[0040] In a specific implementation of the second aspect, the adjustment submodule includes:

[0041] a rightward adjustment unit, configured to adjust the traveling direction of the robot to the right if the collision trigger signal is a left collision signal;

[0042] a leftward adjustment unit, configured to adjust the robot's travel direction to the left if the collision trigger signal is a right collision signal;

[0043] An adjustment unit is used to adjust the moving direction of the robot to the left or right if the collision trigger signal is a front collision signal.

[0044] In a specific implementation of the second aspect, the screening module includes:

[0045] An area determination submodule, configured to determine a motion coverage area of the robot according to the motion trajectory;

[0046] The position screening submodule is used to screen each candidate collision position according to the motion coverage area to obtain a screened preferred collision position.

[0047] In a specific implementation of the second aspect, the region determination submodule includes:

[0048] a central axis determining unit, configured to use the motion trajectory as the central axis of the motion coverage area;

[0049] The coverage area determination unit is used to extend the central axis to both sides by a preset extension distance to obtain the motion coverage area; wherein the extension distance is the radius of the robot.

[0050] In a specific implementation of the second aspect, the location screening submodule includes:

[0051] a judging unit, configured to judge whether each candidate collision position is located in the motion coverage area;

[0052] a left-side screening unit, configured to screen the first candidate collision position on the left that is not located in the motion coverage area as a preferred collision position if the first several candidate collision positions on the left are located in the motion coverage area;

[0053] The right side screening unit is configured to screen the first candidate collision position on the right side that is not located in the motion coverage area as a preferred collision position if the first several candidate collision positions on the right side are located in the motion coverage area.

[0054] In a specific implementation of the second aspect, the determining module includes:

[0055] a left collision determination submodule, configured to determine at least two candidate collision positions in a left area of the robot if the collision trigger signal is a left collision signal;

[0056] a right collision determination submodule, configured to determine at least two candidate collision positions in the right area of the robot if the collision trigger signal is a right collision signal;

[0057] The front collision determination submodule is configured to determine at least two candidate collision positions in the front area of the robot if the collision trigger signal is a front collision signal.

[0058] A third aspect of the embodiments of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned collision position determination methods are implemented.

[0059] A fourth aspect of an embodiment of the present application provides a robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above-mentioned collision position determination methods when executing the computer program.

[0060] A fifth aspect of the embodiments of the present application provides a computer program product. When the computer program product runs on a robot, it enables the robot to perform the steps of any one of the above-mentioned collision position determination methods.

[0061] Compared with the prior art, the embodiments of the present application have the following advantages: the embodiments of the present application obtain a collision trigger signal generated by a collision sensor of the robot; determine at least two candidate collision locations based on the collision trigger signal; obtain the motion trajectory of the robot after the collision; and screen each candidate collision location based on the motion trajectory to obtain a selected preferred collision location. Through the present application, when a robot collides while moving, the collision signal generated by the robot's collision sensor can accurately mark the collision location, reducing the probability of the robot colliding again at the same location. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0063] Figure 1 This is a flow chart of an embodiment of a method for determining a collision position in an embodiment of the present application;

[0064] Figure 2 This is a schematic diagram of determining a candidate collision location in an embodiment of the present application;

[0065] Figure 3 A schematic flow chart for obtaining the robot's trajectory after a collision;

[0066] Figure 4 A schematic flow chart for screening candidate collision locations based on motion coverage areas to obtain a selected optimal collision location;

[0067] Figure 5 This is a schematic diagram of selecting a preferred collision position according to a motion trajectory in an embodiment of the present application;

[0068] Figure 6 This is a structural diagram of an embodiment of a device for determining a collision position in an embodiment of the present application;

[0069] Figure 7 This is a schematic block diagram of a robot in an embodiment of the present application. DETAILED DESCRIPTION

[0070] In order to make the purpose, features, and advantages of the invention of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described below are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0071] It will be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0072] It should also be understood that the terms used in this specification are for the purpose of describing specific embodiments only and are not intended to limit the present application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise.

[0073] It should be further understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

[0074] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.

[0075] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0076] The executor of the embodiment of the present application may be a robot, including but not limited to any one of a sweeping robot, a mopping robot, a window cleaning robot or a vacuuming robot, etc. The embodiment of the present application does not specifically limit the type of robot.

[0077] In existing technologies, robots can perform intelligent planning based on SLAM grid maps. They use their own line laser, collision, and infrared sensors to sense obstacles in the map and mark them on the grid map, thereby planning a path and avoiding collisions with obstacles. In this application, however, the robot's collision sensors alone can achieve more accurate marking of collision locations, improving the accuracy of subsequent navigation maps generated by the robot.

[0078] See also Figure 1 In an embodiment of the present application, a method for determining a collision position may include:

[0079] Step S101: Acquire a collision trigger signal generated by a collision sensor of the robot.

[0080] When the robot collides with an obstacle, the collision trigger signal generated by the collision sensor can be used to roughly determine the collision area of the robot. For example, if the left side of the robot generates a collision trigger signal, it can be determined that the collision occurred in the left area of the robot. If the front of the robot generates a collision trigger signal, it can be determined that the collision occurred in the front area of the robot. If the right side of the robot generates a collision trigger signal, it can be determined that the collision occurred in the right area of the robot. At this time, the specific location of the collision can be further determined based on the determined collision area.

[0081] Step S102: Determine at least two candidate collision positions according to the collision trigger signal.

[0082] If the collision trigger signal is a left collision signal, at least two candidate collision positions are determined in the left area of the robot. If the collision trigger signal is a right collision signal, at least two candidate collision positions are determined in the right area of the robot. If the collision trigger signal is a front collision signal, at least two candidate collision positions are determined in the front area of the robot.

[0083] In a specific implementation of the embodiment of the present application, after the collision area of the robot is determined according to the collision trigger signal, three candidate collision positions are determined in the collision area, such as Figure 2As shown, if the collision is a left collision, three candidate collision positions are determined at 30 degrees, 45 degrees, and 60 degrees to the left front of the robot and are marked as candidate collision position 3, candidate collision position 2, and candidate collision position 1, respectively. If the collision is a front collision, three candidate collision positions are determined at 15 degrees, 0 degrees (directly in front), and 15 degrees to the right front of the robot and are marked as candidate collision position 1, candidate collision position 2, and candidate collision position 3, respectively. If the collision is a right collision, three candidate collision positions are determined at 30 degrees, 45 degrees, and 60 degrees to the right front of the robot and are marked as candidate collision position 3, candidate collision position 2, and candidate collision position 1, respectively. In actual applications, more or fewer candidate collision positions can be determined in the collision area, and this embodiment of the application does not specifically limit this.

[0084] Step S103: Obtain the motion trajectory of the robot after the collision.

[0085] like Figure 3 The specific implementation process of step S103 is as follows:

[0086] Step S1031: After the collision, control the robot to move backward and adjust the direction of movement of the robot.

[0087] If the collision trigger signal is a left collision signal, the robot retreats and adjusts its direction to the right. If the collision trigger signal is a right collision signal, the robot retreats and adjusts its direction to the left. If the collision trigger signal is a front collision signal, the robot retreats and adjusts its direction to the left or right. The robot can adjust its direction by rotating, and the rotation angle can be 30 degrees, which is not specifically limited in this embodiment of the application.

[0088] In a specific implementation of an embodiment of the present application, the collision signal generated by the robot is a right collision signal, and the robot's moving mode is along the right edge. Therefore, after the collision, the robot will retreat and adjust the moving direction to the left, and continue to move along the edge. The specific moving mode adopted by the robot can be set according to actual conditions, and the embodiment of the present application does not make specific limitations on this.

[0089] Step S1032: Control the robot to move in the adjusted direction and calculate the movement distance of the robot.

[0090] After the robot adjusts its direction according to the collision area, it continues to move in that direction, and the movement distance after the robot adjusts its direction is calculated.

[0091] Step S1033: When the movement distance of the robot reaches a preset distance threshold, the movement trajectory of the robot after the collision is obtained.

[0092] In one specific implementation of the present embodiment, if the robot's post-collision movement distance reaches a preset distance threshold (30 cm in the present embodiment), the robot's post-collision movement trajectory is obtained. If the robot's post-collision movement distance does not reach the preset distance threshold, the robot continues to move along the adjusted direction of travel. If another collision occurs during movement, obtaining the robot's post-collision movement trajectory and subsequent steps are not performed. The specific value of the distance threshold can be set according to actual conditions and is not specifically limited in the present embodiment.

[0093] Step S104: Screen the candidate collision positions according to the motion trajectory to obtain a screened optimal collision position.

[0094] like Figure 4 The specific implementation process of step S104 is as follows:

[0095] Step S1041: Determine the movement coverage area of the robot according to the movement trajectory.

[0096] The robot's motion coverage area is determined by taking the robot's motion trajectory as the central axis and the robot's radius as the extension distance, and expanding to both sides of the central axis.

[0097] Step S1042: Screen candidate collision positions according to the motion coverage area to obtain a screened optimal collision position.

[0098] Determine whether each candidate collision position is located in the motion coverage area. If the first several candidate collision positions on the left are located in the motion coverage area, the first candidate collision position on the left that is not located in the motion coverage area is screened as the preferred collision position. If the first several candidate collision positions on the right are located in the motion coverage area, the first candidate collision position on the right that is not located in the motion coverage area is screened as the preferred collision position.

[0099] In a specific implementation of the embodiment of the present application, Figure 5 As shown, since the area where the robot collides in the embodiment of the present application is the right area, and its movement mode is along the right edge, after the collision occurs, the moving direction will be adjusted to the left and continue to move along the right edge. At this time, the robot's movement coverage path covers candidate collision position 3 and candidate collision position 2, so candidate collision position 1 is used as the preferred collision position. If the robot's movement coverage path only covers candidate collision position 3, since the robot's movement direction is along the right edge, only candidate collision position 2 needs to be used as the preferred collision position.

[0100] If the area where the robot collides is the left area and its movement mode is along the left edge, when the robot's movement coverage path covers candidate collision position 3 and candidate collision position 2, candidate collision position 1 is used as the preferred collision position. If the robot's movement coverage path covers candidate collision position 3, candidate collision position 2 is used as the preferred collision position.

[0101] If the area where the robot collides is the front area, the robot's movement mode can be the left edge or the right edge. If the robot's movement coverage path covers candidate collision position 1 and candidate collision position 2, candidate collision position 3 is used as the preferred collision position. If the robot's movement coverage path covers candidate collision position 2 and candidate collision position 3, candidate collision position 1 is used as the preferred collision position. If the robot's movement coverage path only covers candidate collision position 1, candidate collision position 2 is used as the preferred collision position. If the robot's movement coverage path only covers candidate collision position 3, candidate collision position 2 is used as the preferred collision position.

[0102] The robot may update the map according to the preferred collision location, so the robot may continue to execute this method until the map is completely updated or the movement in the map area is completed.

[0103] In summary, the embodiments of the present application obtain a collision trigger signal generated by a collision sensor of the robot; determine at least two candidate collision locations based on the collision trigger signal; obtain the motion trajectory of the robot after the collision; and screen each candidate collision location based on the motion trajectory to obtain a selected preferred collision location. Through this application, when the robot collides while moving, the collision signal generated by the robot's collision sensor can accurately mark the collision location, reducing the probability of the robot colliding again at the same location.

[0104] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0105] Corresponding to the collision position determination method described in the above embodiment, Figure 6 A structural diagram of an embodiment of a collision position determination device provided in an embodiment of the present application is shown.

[0106] In this embodiment, a collision position determination device may include:

[0107] A signal acquisition module 601 is used to acquire a collision trigger signal generated by a collision sensor of the robot;

[0108] a determination module 602, configured to determine at least two candidate collision locations according to the collision trigger signal;

[0109] The trajectory acquisition module 603 is used to obtain the motion trajectory of the robot after the collision;

[0110] The screening module 604 is configured to screen candidate collision positions according to the motion trajectory to obtain a screened optimal collision position.

[0111] In a specific implementation of the embodiment of the present application, the trajectory acquisition module includes:

[0112] An adjustment submodule, configured to control the robot to retreat and adjust the direction of travel of the robot after a collision;

[0113] A motion submodule, configured to control the robot to move in the adjusted direction of travel and calculate the movement distance of the robot;

[0114] The acquisition submodule is used to acquire the motion trajectory of the robot after the collision when the motion distance of the robot reaches a preset distance threshold.

[0115] In a specific implementation of the embodiment of the present application, the adjustment submodule includes:

[0116] a rightward adjustment unit, configured to adjust the traveling direction of the robot to the right if the collision trigger signal is a left collision signal;

[0117] a leftward adjustment unit, configured to adjust the robot's travel direction to the left if the collision trigger signal is a right collision signal;

[0118] An adjustment unit is used to adjust the moving direction of the robot to the left or right if the collision trigger signal is a front collision signal.

[0119] In a specific implementation of the embodiment of the present application, the screening module includes:

[0120] An area determination submodule, configured to determine a motion coverage area of the robot according to the motion trajectory;

[0121] The position screening submodule is used to screen each candidate collision position according to the motion coverage area to obtain a screened preferred collision position.

[0122] In a specific implementation of the embodiment of the present application, the region determination submodule includes:

[0123] a central axis determining unit, configured to use the motion trajectory as the central axis of the motion coverage area;

[0124] The coverage area determination unit is used to extend the central axis to both sides by a preset extension distance to obtain the motion coverage area; wherein the extension distance is the radius of the robot.

[0125] In a specific implementation of the embodiment of the present application, the location screening submodule includes:

[0126] a judging unit, configured to judge whether each candidate collision position is located in the motion coverage area;

[0127] a left-side screening unit, configured to screen the first candidate collision position on the left that is not located in the motion coverage area as a preferred collision position if the first several candidate collision positions on the left are located in the motion coverage area;

[0128] The right side screening unit is configured to screen the first candidate collision position on the right side that is not located in the motion coverage area as a preferred collision position if the first several candidate collision positions on the right side are located in the motion coverage area.

[0129] In a specific implementation of the embodiment of the present application, the determining module includes:

[0130] a left collision determination submodule, configured to determine at least two candidate collision positions in a left area of the robot if the collision trigger signal is a left collision signal;

[0131] a right collision determination submodule, configured to determine at least two candidate collision positions in the right area of the robot if the collision trigger signal is a right collision signal;

[0132] The front collision determination submodule is configured to determine at least two candidate collision positions in the front area of the robot if the collision trigger signal is a front collision signal.

[0133] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, modules and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0134] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0135] Figure 7 A schematic block diagram of a robot provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.

[0136] like Figure 7As shown, the robot 7 of this embodiment includes: a processor 70, a memory 71, and a computer program 72 stored in the memory 71 and executable on the processor 70. When the processor 70 executes the computer program 72, the steps in the above-mentioned embodiments of the method for determining a collision position are implemented, for example Figure 1 Alternatively, when the processor 70 executes the computer program 72, the functions of the modules / units in the above-mentioned device embodiments are realized, for example, Figure 6 Functions of modules 601 to 604 are shown.

[0137] For example, the computer program 72 may be divided into one or more modules / units, which are stored in the memory 71 and executed by the processor 70 to implement the present application. The one or more modules / units may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program 72 in the robot 7.

[0138] Those skilled in the art will understand that Figure 7 It is only an example of the robot 7 and does not constitute a limitation of the robot 7. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot 7 may also include input and output devices, network access devices, buses, etc.

[0139] The processor 70 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0140] The memory 71 can be an internal storage unit of the robot 7, such as the robot 7's hard drive or memory. Alternatively, the memory 71 can be an external storage device of the robot 7, such as a plug-in hard drive, a Smart Media Card (SMC), a Secure Digital (SD) card, a flash memory card, etc. Furthermore, the memory 71 can include both the robot 7's internal storage unit and an external storage device. The memory 71 is used to store the computer program and other programs and data required by the robot 7. The memory 71 can also be used to temporarily store data that has been output or is about to be output.

[0141] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0142] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0143] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0144] In the embodiments provided in this application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0145] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0146] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0147] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the process in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media do not include electric carrier signals and telecommunication signals.

[0148] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the scope of protection of the present application.

Claims

1. A method for determining a collision position, characterized in that: include: Obtain the collision trigger signal generated by the robot's collision sensor; determining at least two candidate collision locations according to the collision trigger signal; Obtaining a motion trajectory of the robot after the collision; Determine the motion coverage area of the robot according to the motion trajectory; and determine whether each candidate collision position is located in the motion coverage area; If the first several candidate collision positions on the left are located in the motion coverage area, the first candidate collision position on the left that is not located in the motion coverage area is screened as the preferred collision position; if the first several candidate collision positions on the right are located in the motion coverage area, the first candidate collision position on the right that is not located in the motion coverage area is screened as the preferred collision position.

2. The method for determining a collision position according to claim 1, wherein: The obtaining of the motion trajectory of the robot after the collision includes: After the collision, controlling the robot to move backward and adjusting the direction of travel of the robot; Controlling the robot to move in the adjusted direction of travel and calculating the movement distance of the robot; When the movement distance of the robot reaches a preset distance threshold, the movement trajectory of the robot after the collision is obtained.

3. The method for determining a collision position according to claim 2, wherein: The adjusting the traveling direction of the robot comprises: If the collision trigger signal is a left collision signal, adjusting the moving direction of the robot to the right; If the collision trigger signal is a right collision signal, adjusting the moving direction of the robot to the left; If the collision trigger signal is a front collision signal, the moving direction of the robot is adjusted leftward or rightward.

4. The method for determining a collision position according to claim 1, wherein: The determining of the movement coverage area of the robot according to the movement trajectory includes: Taking the motion trajectory as the central axis of the motion coverage area; The central axis is extended to both sides by a preset extension distance to obtain the motion coverage area; wherein the extension distance is the radius of the robot.

5. The method for determining a collision position according to any one of claims 1 to 4, characterized in that: The determining of at least two candidate collision positions according to the collision trigger signal includes: If the collision trigger signal is a left collision signal, determining at least two candidate collision positions in the left area of the robot; If the collision trigger signal is a right collision signal, determining at least two candidate collision positions in the right area of the robot; If the collision trigger signal is a front collision signal, at least two candidate collision positions are determined in the front area of the robot.

6. A collision position determination device, characterized in that: include: A signal acquisition module is used to obtain a collision trigger signal generated by a collision sensor of the robot; a determination module, configured to determine at least two candidate collision locations according to the collision trigger signal; A trajectory acquisition module, used to obtain the motion trajectory of the robot after the collision; A screening module is configured to determine a motion coverage area of the robot according to the motion trajectory; and to determine whether each candidate collision position is located in the motion coverage area; If the first several candidate collision positions on the left are located in the motion coverage area, the first candidate collision position on the left that is not located in the motion coverage area is screened as the preferred collision position; if the first several candidate collision positions on the right are located in the motion coverage area, the first candidate collision position on the right that is not located in the motion coverage area is screened as the preferred collision position.

7. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the collision position determination method according to any one of claims 1 to 5 are implemented.

8. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the collision position determination method according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Collision processing method and device, sweeping equipment and computer readable storage medium

    CN111568310A

  • Robot anti-collision method and device, storage medium and robot

    CN112372638A