A collision detection method, apparatus, device and system

By using robot formations for collaborative transportation, and employing obstacle shielding areas and 'wheel-level' collision detection, the problem of individual robots being unable to handle extremely heavy or heterogeneous materials has been solved, achieving safe and efficient material handling.

CN118876058BActive Publication Date: 2025-11-07HANGZHOU HIKROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410987930.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-22
Publication Date
2025-11-07
Estimated Expiration
2044-07-22

AI Technical Summary

Technical Problem

When a single robot is handling extremely heavy or heterogeneous materials, it is difficult to complete the task due to limitations in load capacity and collision detection capabilities.

Method used

By using robot formations for collaborative transportation, obstacle information is filtered through obstacle shielding areas, and a 'wheel-level' collision detection method is adopted to detect the safe zone of each robot in real time, preventing robots from identifying each other as obstacles.

Benefits of technology

It improves the safety and smoothness of robot formations when handling extra-heavy or heterogeneous materials, and multiple robots work together to complete tasks, thereby improving the overall handling capacity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118876058B_ABST
    Figure CN118876058B_ABST
Patent Text Reader

Abstract

The application provides a collision detection method, device, equipment and system, the method comprises the following steps: collecting sensor data of each robot in a robot formation, detecting a set of obstacles in the advancing direction of the robot formation based on the sensor data of each robot; obtaining an obstacle shielding area and an obstacle non-shielding area; wherein the obstacle shielding area is an internal area of the robot formation, and the obstacle non-shielding area is an area other than the obstacle shielding area; filtering the obstacles in the obstacle shielding area from the set of obstacles, and performing collision detection based on the obstacles in the obstacle non-shielding area in the set of obstacles. Through the scheme, the safety and fluency of the robot formation when performing a task can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, and in particular to a collision detection method, device, equipment and system. BACKGROUND

[0002] In recent years, various types of robots (such as autonomous mobile robots, etc.) have developed rapidly in technology and market. A robot is a machine device that automatically performs work, and is a machine that realizes various functions by relying on its own power and control ability. The robot can accept human command, can run a pre-programmed program, and can also act according to a strategy formulated by artificial intelligence. For example, a user uses a manual remote controller to control the robot to perform related operations. The manual remote controller issues an operation command to the robot in a wireless manner, and the robot executes the operation specified by the operation command to complete the related function after receiving the operation command.

[0003] With the rapid development of robot technology, robots are increasingly used in logistics, warehousing, factory production and other aspects. In these scenarios, it may be necessary to transport heavy or heterogeneous materials by robots. However, due to factors such as load capacity and collision detection, a single robot often does not have the ability to complete such tasks. SUMMARY

[0004] The present application provides a collision detection method. There are at least two robots in a robot formation, and the at least two robots move synchronously after forming a formation. The method comprises:

[0005] The sensor data of each robot in the robot formation is aggregated, and a set of obstacles in the advancing direction of the robot formation is detected based on the sensor data of each robot;

[0006] Obstacle shielding areas and obstacle non-shielding areas are obtained. The obstacle shielding areas are internal areas for the robot formation, and the obstacle non-shielding areas are other areas except the obstacle shielding areas. The obstacle shielding areas include the full contour area of all objects in the robot formation, and the full contour area is the minimum circumscribed rectangle that envelopes all objects in the robot formation. Alternatively, the obstacle shielding areas include the contour sub-area of each object in the robot formation, and for each object, the contour sub-area of the object is the minimum circumscribed rectangle that envelopes the object;

[0007] Obstacles in the obstacle shielding areas are filtered from the set of obstacles, and collision detection is performed based on obstacles in the obstacle non-shielding areas in the set of obstacles.

[0008] The application provides a collision detection device, at least two robots exist in a robot formation, and the at least two robots synchronously move after forming the formation, and the device comprises:

[0009] a processing module, configured to aggregate sensor data of each robot in the robot formation, detect a set of obstacles in a forward direction of the robot formation based on the sensor data of each robot;

[0010] an acquisition module, configured to acquire an obstacle shielding area and an obstacle non-shielding area; the obstacle shielding area is an internal area for the robot formation, and the obstacle non-shielding area is an area other than the obstacle shielding area; the obstacle shielding area comprises a full contour area of all objects in the robot formation, and the full contour area is a minimum circumscribed rectangle enveloping all objects in the robot formation; or the obstacle shielding area comprises a partial contour area of each object in the robot formation, and for each object, the partial contour area of the object is a minimum circumscribed rectangle enveloping the object;

[0011] a detection module, configured to filter obstacles in the obstacle shielding area from the set of obstacles, and perform collision detection based on obstacles in the obstacle non-shielding area in the set of obstacles.

[0012] The application provides an electronic device, comprising a processor and a machine readable storage medium, the machine readable storage medium stores machine executable instructions capable of being executed by the processor; the processor is configured to execute the machine executable instructions to implement the collision detection method of the above examples of the application.

[0013] The application provides a collision detection system, comprising a master robot and at least one slave robot, the master robot and all slave robots form a robot formation, and the master robot and all slave robots in the robot formation synchronously move; wherein:

[0014] a slave robot, configured to collect sensor data and send the sensor data to the master robot;

[0015] the master robot, configured to collect sensor data of the master robot, aggregate sensor data of each robot in the robot formation, detect a set of obstacles in a forward direction of the robot formation based on the sensor data of each robot, acquire an obstacle shielding area and an obstacle non-shielding area, filter obstacles in the obstacle shielding area from the set of obstacles, and perform collision detection based on obstacles in the obstacle non-shielding area in the set of obstacles;

[0016] The obstacle shielding region is an internal region for the robot formation, and the obstacle non-shielding region is other region except the obstacle shielding region.

[0017] The obstacle shielding region includes a contour full region of all objects in the robot formation, and the contour full region is a minimum circumscribed rectangle enveloping all objects in the robot formation; or the obstacle shielding region includes a contour partial region of each object in the robot formation, and for each object, the contour partial region of the object is a minimum circumscribed rectangle enveloping the object.

[0018] From the above technical solutions, in the embodiment of the present application, the robot formation (there are at least two robots in the robot formation) is used to transport the target shelf (such as the target shelf carrying special heavy or heterogeneous materials), so that the robot formation carries the special heavy or heterogeneous materials, and the carrying task is completed by the multiple robots in cooperation. The obstacle shielding region is used to filter the obstacle information in real time, so as to filter out redundant information and ensure that the robots in the robot formation do not identify each other as obstacles, thereby improving the safety in the business execution process. BRIEF DESCRIPTION OF DRAWINGS

[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed in the description of the embodiments of the present application or the prior art will be briefly introduced. Obviously, the drawings in the following description are only some embodiments described in the present application, and other drawings can also be obtained by those skilled in the art according to these drawings.

[0020] Figure 1 is a flowchart of the collision detection method in an embodiment of the present application;

[0021] Figure 2 is a flowchart of the collision detection method in an embodiment of the present application;

[0022] Figure 3 is a schematic diagram of the obstacle shielding region in an embodiment of the present application;

[0023] Figure 4 is a schematic diagram of the contour description in an embodiment of the present application;

[0024] Figure 5A is a schematic diagram of the obstacle shielding region in an embodiment of the present application;

[0025] Figure 5B is a schematic diagram of the detectable obstacle in an embodiment of the present application;

[0026] Figure 5Cis a schematic diagram of a detectable obstacle in an embodiment of the present application;

[0027] Figure 6 is a structural schematic diagram of a collision detection device in an embodiment of the present application;

[0028] Figure 7 is a hardware structure diagram of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION

[0029] The terminology used in the embodiments of the present application is merely for the purpose of describing particular embodiments and is not intended to be limiting of the present application. As used in the description of the embodiments and the appended claims, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It also will be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.

[0030] It should be understood that although the terms first, second, third, etc. can be used herein to describe various information, these terms are not intended to denote a particular order or hierarchy. These terms are used merely to distinguish one type of information from another. For example, a first information can be termed a second information, and similarly, a second information can be termed a first information, without departing from the scope of the present application. Furthermore, the word "if' can be interpreted to mean "when" or "upon" or "in response to determining" depending on the context.

[0031] The embodiments of the present application propose a collision detection method, which can form a robot formation, and there are at least two robots in the robot formation, and the at least two robots move synchronously after forming the formation. The at least two robots are used to transport a target shelf (the target shelf carries heavy or heterogeneous materials, of course, the target shelf can also carry other types of materials), or can not be used to transport the target shelf, but move empty. The method can be applied to an electronic device, which can be any robot in the robot formation (for example, the robot formation can include a master robot and at least one slave robot, the electronic device can be the master robot, and the electronic device can also be the slave robot), and the electronic device can also be a management device of the robot formation, and the type of the electronic device is not limited. See Figure 1 As shown in the figure, a flowchart of the collision detection method is shown, which can include the following steps:

[0032] In step 101, the sensor data of each robot in the robot formation is aggregated, and a set of obstacles in the advancing direction of the robot formation is detected based on the sensor data of each robot.

[0033] Step 102, obtaining an obstacle shielding area and an obstacle non-shielding area; wherein the obstacle shielding area is an internal area for the robot formation (of course, the obstacle shielding area can also include an area outside the robot formation, for example, if a new robot needs to join the robot formation, the area between the robot formation and the robot can also be regarded as the obstacle shielding area, of course, this is only an example of the obstacle shielding area, which is not limited); and the obstacle non-shielding area is an area other than the obstacle shielding area; wherein the obstacle shielding area can include a contour full area of all objects in the robot formation, and the contour full area is the minimum circumscribed rectangle that envelopes all objects in the robot formation; or the obstacle shielding area can include a contour partial area of each object in the robot formation, and for each object, the contour partial area of the object is the minimum circumscribed rectangle that envelopes the object.

[0034] Step 103, filtering the obstacles in the obstacle shielding area from the obstacle set, and performing collision detection based on the obstacles in the obstacle non-shielding area in the obstacle set.

[0035] For example, the collision detection based on the obstacles in the obstacle non-shielding area in the obstacle set can include but is not limited to: for each robot in the robot formation, obtaining the motion state of the robot; determining the safety area of the robot based on the motion state of the robot, wherein the safety area represents an area in which the robot can safely travel (i.e., the robot needs to ensure safety when traveling in the safety area, and once there is an obstacle in the safety area, the robot needs to stop traveling to avoid collision with the obstacle). Determine the initial collision detection result of the robot based on the safety area of the robot and the obstacle area of the obstacle, wherein the obstacle area is determined based on the minimum circumscribed rectangle of the obstacle (e.g., the minimum circumscribed rectangle of the obstacle as the obstacle area, or the minimum circumscribed rectangle of the obstacle is expanded by a certain range, and the expanded area is regarded as the obstacle area). Wherein the initial collision detection result indicates whether the robot collides with the obstacle or the robot does not collide with the obstacle.

[0036] Based on the initial collision detection result of each robot, the target collision detection result of the robot formation can be determined, which indicates whether the robot formation collides with the obstacle.

[0037] For example, obtaining the motion state of the robot can include, but is not limited to, obtaining linear velocity data and angular velocity data of the robot, determining the motion state of the robot based on the linear velocity data and the angular velocity data, wherein the motion state of the robot can be a rotating motion state or a moving motion state. If the linear velocity data indicates that the linear velocity is greater than a first threshold value (configured according to experience), and the angular velocity data indicates that the angular velocity is less than a second threshold value (configured according to experience), the motion state of the robot can be a moving motion state. If the linear velocity data indicates that the linear velocity is not greater than the first threshold value, and the angular velocity data indicates that the angular velocity is not less than the second threshold value, the motion state of the robot can be a rotating motion state.

[0038] In addition, if the linear velocity data indicates that the linear velocity is greater than the first threshold value, and the angular velocity data indicates that the angular velocity is greater than the second threshold value, the motion state of the robot can be a moving and rotating motion state, and the processing process of the moving and rotating motion state is not limited in the embodiment. If the linear velocity data indicates that the linear velocity is less than the first threshold value, and the angular velocity data indicates that the angular velocity is less than the second threshold value, the motion state of the robot can be a static state, and the processing process of the static state is not limited in the embodiment.

[0039] For example, determining the safety area of the robot based on the motion state of the robot can include, but is not limited to, if the motion state of the robot is a moving motion state, determining the minimum circumscribed rectangle of the robot, and determining the safety area of the robot based on the minimum circumscribed rectangle and the configured safety distance, i.e. expanding the safety distance (such as expanding the safety distance in 4 directions, or expanding the safety distance in part of the directions, such as only expanding the safety distance in the front direction, or expanding the safety distance in the front and rear directions, or only expanding the safety distance in the rear direction, which is not limited) based on the minimum circumscribed rectangle to obtain the safety area.

[0040] Alternatively, if the motion state of the robot is a rotating motion state, the distance between the center of the robot and each vertex of the robot is determined, and the maximum distance is selected from all distances. A candidate circular area is obtained, wherein the candidate circular area takes the center of the robot as the center, and the candidate circular area takes the maximum distance as the radius. The safety area of the robot is determined based on the candidate circular area and the configured safety distance, i.e. expanding the safety distance based on the candidate circular area (such as expanding the safety distance outside the radius) to obtain the safety area.

[0041] In a possible implementation, the limit capability of the robot can also be acquired, which can include but is not limited to at least one of the following: maximum linear speed, maximum linear acceleration, maximum linear deceleration, maximum angular speed, maximum angular speed acceleration, maximum angular speed deceleration. On this basis, the safety area of the robot can also be determined based on the motion state of the robot and the limit capability of the robot.

[0042] For example, if the motion state of the robot is a moving motion state, the minimum circumscribed rectangle of the robot is determined. The reference travel distance of the robot is determined based on the current speed of the robot and the maximum linear deceleration, and the reference travel distance represents the travel distance of the robot when the current speed is reduced to 0 based on the maximum linear deceleration. The safety area of the robot is determined based on the minimum circumscribed rectangle, the reference travel distance and the configured safety distance.

[0043] For example, the sum of the reference travel distance and the safety distance is calculated as the final safety distance. The final safety distance is expanded outside the minimum circumscribed rectangle (for example, the final safety distance is expanded outside in all directions, or the final safety distance is expanded outside in part of the directions, for example, only the front direction, or the front and rear directions), and the safety area is obtained.

[0044] For example, all objects in the robot formation include but are not limited to at least one of the following: all robots in the robot formation, target shelves carried by the robot formation, and materials carried on the target shelves.

[0045] For example, the contour full area can be a rectangular area composed of x max , x min , y max , y min ; wherein, may represent the x-coordinate of the nth point of the mth object in the robot formation, may represent the y-coordinate of the nth point of the mth object in the robot formation.

[0046] For example, the contour sub-area of the object i is a rectangular area composed of x max,i , x min,i , ymax,i , ymin,i ; wherein, x max,i = max(G i [P n (x)]), x min,i = min(G i [P n (x)], y max,i = max(Gi [P n (y)]), y min,i =min(G i [P n (y)]); where G i [P n [x] is used to represent the x-coordinate of the nth point of object i, G i [P n [y] is used to represent the y-coordinate of the nth point of object i.

[0047] For example, determining the initial collision detection result of a robot based on its safe zone and the obstacle zone of an obstacle may include, but is not limited to: if the safe zone and the obstacle zone overlap, the initial collision detection result indicates that the robot has collided with the obstacle; if the safe zone and the obstacle zone do not overlap, the initial collision detection result indicates that the robot has not collided with the obstacle. Determining the target collision detection result of a robot formation based on the initial collision detection result of each robot may include, but is not limited to: if the initial collision detection result of any robot indicates that the robot has collided with an obstacle, the target collision detection result indicates that the robot formation has collided with the obstacle; if the initial collision detection results of all robots indicate that the robot has not collided with the obstacle, the target collision detection result indicates that the robot formation has not collided with the obstacle.

[0048] As can be seen from the above technical solutions, in this embodiment, a robot formation (containing at least two robots) transports a target shelf (such as a shelf carrying extra-heavy or heterogeneous materials). This allows the robot formation to handle the extra-heavy or heterogeneous materials, with multiple robots collaboratively completing the handling task. When transporting the target shelf using the robot formation, collision detection is implemented at the individual robot level, achieving "wheel-level" collision detection capability. This allows for collision detection based on the motion state of each robot (such as stationary, rotating, or moving), improving the safety and smoothness of the robot formation during task execution. By filtering obstacle information in real-time through an obstacle shielding area, redundant information is removed, ensuring that robots within the formation do not identify each other as obstacles, thus enhancing the safety during business execution.

[0049] The collision detection method of this application embodiment will be described below in conjunction with specific application scenarios.

[0050] In some application scenarios, it can be necessary to transport heavy or heterogeneous materials by robots. However, due to factors such as load capacity and collision detection, a single robot often does not have the ability to complete such a task. In this case, a special model of robot that meets the business requirements can be customized to transport heavy or heterogeneous materials. From the perspectives of cost and benefit, this method has low cost-effectiveness and is not applicable.

[0051] To solve the above problems, multiple robots can be used to cooperatively execute the transportation task in a formation, that is, multiple robots cooperatively transport heavy or heterogeneous materials. The robot formation is a queue composed of at least two robots (two or more robots). The robot formation has a formation feature, and each robot in the robot formation moves synchronously and maintains the formation during the execution of the task. Based on this, the robot formation can be used to cooperatively transport heavy or heterogeneous materials, and of course, the robot formation can also be used to cooperatively transport any type of material, without any limitation on the type of the material.

[0052] In the robot formation, there is a master robot and at least one slave robot (the remaining robots other than the master robot are slave robots). The master robot is used to aggregate the perception, positioning, control, and other data of each robot, and to perform path planning, collision detection, and generation of formation motion control instructions based on these data. The slave robot is not used for decision-making operations such as path planning, collision detection, and issuance of formation motion control instructions. The slave robot is only used for operations such as perception data collection and motion control instruction execution.

[0053] During the execution of the task by the formation, the user sends a formation composition instruction to several robots, and these robots respond to the formation composition instruction and form a robot formation. After the robots form the robot formation, the user sends a task instruction, and the robot formation as a whole responds to the task instruction, that is, executes the task instruction. During the execution of the task instruction, the robot formation (such as multiple robots in the robot formation) can be used to cooperatively execute the transportation task, such as multiple robots in the robot formation cooperatively transporting materials.

[0054] When the robot formation cooperatively executes the transportation task, collision detection is also needed. Collision detection refers to detecting whether the safety area of the robot formation (such as multiple robots in the robot formation) interferes with the obstacle space during the movement of the robot formation. If so, it indicates that the robot formation collides with the obstacle, and the robot formation needs to slow down or even stop. If not, it indicates that the robot formation does not collide with the obstacle, and the robot formation can continue to travel while performing collision detection.

[0055] In a possible implementation, in order to achieve collision detection of the robot formation, a "vehicle body level" collision detection manner can be adopted, or a "wheel level" collision detection manner can be adopted.

[0056] For the "vehicle body level" collision detection manner, after at least two robots form a robot formation, a minimum circumscribed rectangular region of the robot formation can be determined, the minimum circumscribed rectangular region completely includes each robot in the robot formation, and the minimum circumscribed rectangular region serves as a safety region of the robot formation. If the safety region of the robot formation interferes with the obstacle space (that is, there is an overlapping region between the two), the collision detection result is that the robot formation collides with the obstacle, and the robot formation needs to slow down or even stop. If the safety region of the robot formation does not interfere with the obstacle space (that is, there is no overlapping region between the two), the collision detection result is that the robot formation does not collide with the obstacle, and the robot formation can continue to travel.

[0057] For the "wheel level" collision detection manner, after at least two robots form a robot formation, collision detection is performed with each robot as the minimum granularity, and collision detection can be performed according to the motion state (such as static, rotation, or movement) of each robot, that is, whether the safety region of each robot interferes with the obstacle space needs to be detected, and then the collision detection result of each robot is determined.

[0058] Taking vehicle driving as an example, the "vehicle body level" collision detection manner and the "wheel level" collision detection manner are introduced. In the process of driving a vehicle, a driver will always avoid collision between the vehicle and external objects, and only stays in avoiding collision of the vehicle body part. For example, when turning the steering wheel in place, there is a stone beside the wheel, for the "vehicle body level" collision detection manner, since the vehicle body part does not collide with the stone, collision cannot be detected. However, if the "wheel level" collision detection manner is adopted, since the vehicle wheel part collides with the stone, collision can be detected.

[0059] In summary, in the application scenario of the robot formation, each robot is like a "wheel" of the robot formation, and the "vehicle body level" collision detection manner cannot effectively detect collision, and therefore the "wheel level" collision detection manner can be adopted to detect whether the robot formation collides with the obstacle.

[0060] For the "wheel level" collision detection manner, a collision detection method is provided in the embodiment of the present application, which can be applied to an electronic device. The electronic device can be any robot (such as a master robot) in the robot formation, or can be a management device of the robot formation, and the type of the electronic device is not limited.

[0061] Referring toFigure 2 As shown in the figure, it is a flowchart of the collision detection method, which can include the following steps:

[0062] Step 201, the robots form a robot formation, and there are at least two robots in the robot formation, and the at least two robots are used to transport target shelves (the target shelves are used to carry heavy or heterogeneous materials, of course, the target shelves can also be used to carry other types of materials, which are not limited).

[0063] For example, the user sends a formation instruction to several robots (such as at least two robots), and the robots respond to the formation instruction and form a robot formation, and the process is not limited. Among them, the robot formation is a queue formed by at least two robots, the robot formation has a formation feature, and each robot in the robot formation moves synchronously and maintains the formation during the execution of the task.

[0064] For example, after the robots form the robot formation, the user sends a task instruction, and the robot formation as a whole responds to the task instruction, that is, executes the task instruction. During the execution of the task instruction, the robot formation (such as multiple robots in the robot formation) can be used to cooperatively execute the carrying task, such as multiple robots in the robot formation cooperatively carrying materials, and the material carrying process is not limited.

[0065] For example, during the process of multiple robots in the robot formation cooperatively carrying materials, collision detection needs to be performed on the robot formation, that is, whether the robot formation collides with an obstacle is detected. During the collision detection, a "wheel level" collision detection method can be used, see the following steps.

[0066] Step 202, for each robot in the robot formation, obtain the motion state of the robot.

[0067] For example, the motion state of the robot can be a rotating motion state or a moving motion state. The motion state of the robot can also be a static motion state. For the robot in the static motion state, since it is not necessary to detect whether the robot collides with an obstacle, for example, the motion state of the robot is a rotating motion state or a moving motion state, and the processing mode of the static motion state is not limited.

[0068] Exemplarily, after the robot formation is formed, the robot scheduling system or the robot scheduling platform can issue a task instruction to the robot formation (note that the task instruction is not issued to each robot in the robot formation individually). For example, a task instruction of moving in a 0-degree direction is issued to the robot formation, assuming that each robot in the robot formation faces a 90-degree direction, and thus, the task instruction needs to be executed after being rotated in place to 0 degrees, that is, the task of "moving in a 0-degree direction" is decomposed into rotating in place and moving, and it can be seen that the motion state of the robot cannot be obtained based on the task instruction.

[0069] On this basis, in the embodiment of the application, the linear velocity data and the angular velocity data of the robot can be obtained, and the motion state of the robot is determined based on the linear velocity data and the angular velocity data. For example, the robot can be deployed with a sensor for detecting linear velocity (such as a linear velocity sensor, which is used to measure linear motion velocity) and a sensor for detecting angular velocity (such as an angular velocity sensor, also known as a gyroscope, which is used to measure angular velocity), so that the linear velocity data of the robot (indicating the linear velocity of the robot) can be obtained through the linear velocity sensor, and the angular velocity data of the robot (indicating the angular velocity of the robot) can be obtained through the angular velocity sensor.

[0070] After obtaining the linear velocity data and the angular velocity data of the robot, if the linear velocity data indicates that the linear velocity is greater than a first threshold value (which can be configured according to experience), and the angular velocity data indicates that the angular velocity is less than a second threshold value (which can be configured according to experience), that is, the linear velocity is relatively large and the angular velocity is relatively small, it is determined that the motion state of the robot is a moving motion state, that is, the robot is moving in a straight line.

[0071] If the linear velocity data indicates that the linear velocity is not greater than the first threshold value, and the angular velocity data indicates that the angular velocity is not less than the second threshold value, that is, the linear velocity is relatively small and the angular velocity is relatively large, it is determined that the motion state of the robot is a rotating motion state, that is, the robot is rotating, such as rotating in place.

[0072] If the linear velocity data indicates that the linear velocity is not greater than the first threshold value, and the angular velocity data indicates that the angular velocity is less than the second threshold value, that is, the linear velocity is relatively small and the angular velocity is relatively small, it is determined that the motion state of the robot is a static motion state, and the processing mode of the robot in the static motion state is not limited.

[0073] As can be seen from the above, in the case that the task instruction cannot completely describe the motion state of each robot in the robot formation (i.e., the task instruction sent by the user is only for the whole robot formation, and the task instruction cannot be used to control each robot in the robot formation), the motion state of the robot can also be determined based on the linear velocity data and the angular velocity data of the robot, and then collision detection can be performed.

[0074] In step 203, for each robot in the robot formation, a safety area of the robot is determined based on the motion state (such as the rotational motion state or the moving motion state) of the robot, and the safety area represents an area in which the robot can safely travel, i.e., there should be no obstacles in the safety area.

[0075] For example, if the motion state of the robot is the moving motion state, a minimum circumscribed rectangle (also referred to as a minimum bounding rectangle, a minimum containing rectangle, or a minimum circumscribed rectangle) of the robot is determined, and the minimum circumscribed rectangle needs to completely include the robot. For example, the center of the minimum circumscribed rectangle is the center of the robot, the length of the minimum circumscribed rectangle is the maximum length of the robot, and the width of the minimum circumscribed rectangle is the maximum width of the robot. Of course, in addition to the minimum circumscribed rectangle, other shapes that completely include the robot can also be used, and the present application is not limited in this regard, and the minimum circumscribed rectangle of the robot is used as an example in the following description.

[0076] After the minimum circumscribed rectangle of the robot is obtained, the safety area of the robot can be determined based on the minimum circumscribed rectangle. For example, the minimum circumscribed rectangle can be directly used as the safety area of the robot. For another example, some areas can be expanded outside the minimum circumscribed rectangle, and the minimum circumscribed rectangle after the expansion can be used as the safety area of the robot, such as expanding x1 outside the upper side of the minimum circumscribed rectangle, expanding x2 outside the lower side of the minimum circumscribed rectangle, expanding x3 outside the left side of the minimum circumscribed rectangle, and expanding x4 outside the right side of the minimum circumscribed rectangle.

[0077] Of course, the above is only an example of determining the safety area of the robot based on the minimum circumscribed rectangle, and the present application is not limited in this regard, as long as the safety area of the robot can be obtained based on the minimum circumscribed rectangle.

[0078] As described above, if the motion state of the robot is the moving motion state, i.e., the robot travels along a straight line, the safety area of the robot can be determined based on the minimum circumscribed rectangle of the robot.

[0079] For example, if the motion state of the robot is a rotating motion state, the distances between the center of the robot and each vertex of the robot are determined, and the maximum distance is selected from all the distances. For example, the shape of the robot can be an irregular polygon or a regular polygon, and each vertex of the robot (i.e., each vertex of the irregular polygon or the regular polygon, and the corners of the polygon are vertices) can be determined. The determination method is not limited, as long as each vertex of the robot can be obtained. Then, the distances between the center of the robot and each vertex of the robot can be determined. Based on the distances between the center of the robot and each vertex of the robot, the maximum distance can be selected from the distances.

[0080] After obtaining the maximum distance, a candidate circular region can be obtained based on the maximum distance, the candidate circular region taking the center of the robot as the center of the circle, and the candidate circular region taking the maximum distance as the radius. For example, a circular region is generated as a candidate circular region, taking the center of the robot as the center of the circle and the maximum distance as the radius. Obviously, the candidate circular region can completely include the robot.

[0081] Of course, in addition to the candidate circular region, other shapes that can completely include the robot can also be used, and the determination method is not limited. In the subsequent process, the candidate circular region is taken as an example for description.

[0082] After obtaining the candidate circular region, the safety region of the robot can be determined based on the candidate circular region. For example, the candidate circular region can be taken as the safety region of the robot. For another example, some regions are expanded outside the candidate circular region, and the expanded candidate circular region is taken as the safety region of the robot, such as expanding the maximum distance by x5 to obtain a circular region with a radius of x5, and taking this circular region as the safety region of the robot. Of course, this is only an example of determining the safety region of the robot based on the candidate circular region, and the determination method is not limited, as long as the safety region of the robot can be obtained based on the candidate circular region.

[0083] In summary, if the motion state of the robot is a rotating motion state, i.e., the robot rotates in place, the safety region of the robot can be determined based on the candidate circular region.

[0084] At this point, step 203 is completed, and the safety region of each robot in the robot formation can be obtained.

[0085] In step 204, an obstacle shielding region and an obstacle non-shielding region are obtained. The obstacle shielding region is an internal region of the robot formation, and is not an obstacle. The obstacle non-shielding region is a region other than the obstacle shielding region, i.e., a region other than the internal region of the robot formation.

[0086] Exemplarily, when multiple robots cooperatively perform a task, it is necessary to handle the redundant part in the obstacle information, that is, it is necessary to make the robots in the robot formation not regard other robots in the robot formation as obstacles. For the redundancy problem in the obstacle information, the obstacle shielding area can be set.

[0087] For example, the obstacle shielding area can be set, and the function of the obstacle shielding area is to shield all obstacles contained in the obstacle shielding area and / or shield all obstacles in contact with the obstacle shielding area, that is, all objects (such as robots, shelves, materials, etc.) in the obstacle shielding area are ignored, that is, all objects (such as robots, shelves, materials, etc.) in the obstacle shielding area are not regarded as obstacles.

[0088] By setting the obstacle shielding area to solve the redundancy problem in the obstacle information, the number of robots in the robot formation is not limited, the team type of the robot formation is flexible, and various team types and business configurations of the robot formation are supported, that is, the redundancy problem in the obstacle information can be solved in these cases.

[0089] Exemplarily, two schemes for setting the obstacle shielding area are given in this embodiment:

[0090] Scheme A: The minimum circumscribed rectangle (referred to as the contour full area) enveloping each part (such as robots, shelves, materials, etc.) in the robot formation is taken as the obstacle shielding area. For example, the obstacle shielding area can include the contour full area of all objects in the robot formation, and the contour full area is the minimum circumscribed rectangle enveloping all objects in the robot formation. Wherein, all objects in the robot formation can include but are not limited to at least one of the following: all robots, target shelves (i.e. shelves transported by multiple robots in the robot formation), and materials (such as heavy or heterogeneous materials) carried on the target shelves.

[0091] Scheme B: The contour (referred to as the contour sub-area) of each part (such as robots, shelves, materials, etc.) in the robot formation is taken as the obstacle shielding area. For example, the obstacle shielding area can include the contour sub-area of each object in the robot formation, and for each object, the contour sub-area of the object is the minimum circumscribed rectangle enveloping the object. Wherein, all objects in the robot formation can include but are not limited to at least one of the following: all robots, target shelves, and materials carried on the target shelves.

[0092] For example, referring to Figure 3As shown, in the case of a back-together shelf (i.e., each robot in the robot formation carries the same target shelf), for scheme A (i.e., the formation full contour scheme), the obstacle shielding area (i.e., the contour full area) can be the minimum circumscribed rectangle that circumscribes the two robots in the robot formation and the back-together shelf (i.e., the target shelf).

[0093] Referring to Figure 3 As shown, in the case of a back-together shelf (i.e., each robot in the robot formation carries the same target shelf), for scheme A (i.e., the formation full contour scheme), the obstacle shielding area (i.e., the contour full area) can be the minimum circumscribed rectangle that circumscribes the two robots in the robot formation and the back-together shelf (i.e., the target shelf).

[0094] Referring to Figure 3 As shown, in the case of a back-together shelf (i.e., each robot in the robot formation carries the same target shelf), for scheme A (i.e., the formation full contour scheme), the obstacle shielding area (i.e., the contour full area) can be the minimum circumscribed rectangle that circumscribes the two robots in the robot formation and the back-together shelf (i.e., the target shelf).

[0095] For scheme B (i.e., the formation individual contour scheme), the obstacle shielding area can include four contour sub-areas. The first contour sub-area is the minimum circumscribed rectangle that circumscribes the first robot in the robot formation, the second contour sub-area is the minimum circumscribed rectangle that circumscribes the second robot in the robot formation, the third contour sub-area is the minimum circumscribed rectangle that circumscribes the back-together shelf carried by the first robot, and the fourth contour sub-area is the minimum circumscribed rectangle that circumscribes the back-together shelf carried by the second robot.

[0096] Of course, the above are only a few examples of scheme A and scheme B, and are not limited thereto.

[0097] In one possible implementation, for scheme A, the contour full area is the minimum circumscribed rectangle that circumscribes all objects in the robot formation, referring to Figure 4 As shown, a contour description diagram is shown, and the left side is an example of the contour full area. In the contour full area, the contour full area can be based on xmax x min y max y min The rectangular region formed by this. It can represent the x-coordinate of the nth point of the mth object within a robot formation (e.g., the x-coordinate of the nth point described by the mth contour). It can represent the y-coordinate of the nth point of the mth object within a robot formation (e.g., the y-coordinate of the nth point described by the mth contour).

[0098] For example, taking a connected shelf as an example, we can obtain the x-coordinates of each point of the first robot in the robot formation, the x-coordinates of each point of the second robot in the robot formation, and the x-coordinates of each point of the connected shelf. The maximum value of these x-coordinates can be used as X. max The minimum value of these x-coordinates is taken as x. min It can obtain the y-coordinates of each point in the first robot in the robot formation, the y-coordinates of each point in the second robot in the robot formation, and the y-coordinates of each point in the connected shelf. The maximum value of these y-coordinates can be used as the y-coordinate. max The minimum value of these y-coordinates is taken as y min .

[0099] For scheme B, for each object, the outline region of that object is the smallest bounding rectangle enclosing that object. See also Figure 4 The diagram shows a contour description, with an example of contour region division on the right. The contour region division of object i is based on x. max,i x min,i y max,i y min,i The rectangular region formed by x. max,i =max(G i [P n (x)]), x min,i =min(G i [P n (x)]), y max,i =max(G i [P n (y)]), y min,i =min(G i [P n (y)]). Among them, G i [P n [x] is used to represent the x-coordinate of the nth point of object i (e.g., the x-coordinate of the nth point described by the mth contour of object i), G i [P n(y)] represents the y coordinate of the nth point of object i (such as the y coordinate of the nth point of the mth contour description of object i). Wherein, each robot in the robot formation and all the polygon contour descriptions of the shelves carried by it are described as the same group.

[0100] For example, taking the back-connected shelf as an example, the x coordinates of each point of the first robot (such as object 1) in the robot formation and the y coordinates of each point of the first robot in the robot formation can be obtained. The maximum value of these x coordinates is taken as x max,i The minimum value of these x coordinates is taken as x min,i The maximum value of these y coordinates is taken as y max,i The minimum value of these y coordinates is taken as y min,i In this way, the x max,i , x min,i , y max,i , y min,i can be used to form the first contour sub-area, and the first contour sub-area is the minimum circumscribed rectangle that envelopes the first robot in the robot formation.

[0101] The x coordinates of each point of the second robot (such as object 2) in the robot formation and the y coordinates of each point of the second robot can be obtained. The maximum value of these x coordinates is taken as x max,i The minimum value of these x coordinates is taken as x min,i The maximum value of these y coordinates is taken as y max,i The minimum value of these y coordinates is taken as y min,i In this way, the x max,i , x min,i , y max,i , y min,i can be used to form the second contour sub-area, and the second contour sub-area is the minimum circumscribed rectangle that envelopes the second robot in the robot formation.

[0102] The x coordinates of each point of the connected shelf (such as object 3) and the y coordinates of each point of the connected shelf can be obtained. The maximum value of these x coordinates is taken as x max,i The minimum value of these x coordinates is taken as x min,i The maximum value of these y coordinates is taken as y max,i The minimum value of these y coordinates is taken as y min,i In this way, the x max,i , x min,i , y max,i , y min,iThe third contour sub-region is composed of the third contour region, and the third contour region can be a minimum circumscribed rectangle of the connected body shelf. Thus, the first contour sub-region, the second contour sub-region, and the third contour sub-region can be combined to form the obstacle shielding region.

[0103] Exemplarily, taking a robot formation including two robots and an obstacle shielding region being a contour total region (a minimum circumscribed rectangle of all objects) as an example, the specific effect of the obstacle shielding region is introduced.

[0104] Referring to Figure 5A Fig. 6 shows a schematic diagram of the obstacle shielding region, and it is assumed that the robot formation moves towards the left wall. For the right robot in the robot formation, the obstacle is detected based on the sensor data, such as a quadrilateral contour description of the obstacle fitted based on the sensor data, not a circular fitting. The schematic diagram of the obstacle that can be detected by the robot can be seen in Fig. 7. If no processing is performed, the left robot in the robot formation will be identified as an obstacle, and it is determined that the left robot is located on the travel route, thereby interrupting the moving task. Figure 5B

[0105] If the contour total region is taken as the obstacle shielding region for processing, the schematic diagram of the obstacle obtained after processing can be seen in Fig. 8. Obviously, the left robot in the robot formation is filtered out (i.e., the left robot is not an obstacle), there is no obstacle on the travel route, and the moving task can continue to be performed. Figure 5C

[0106] In summary, for each robot in the robot formation, the obstacle shielding region can be obtained by using scheme A or scheme B, and other regions except the obstacle shielding region can be taken as the obstacle non-shielding region, that is, each robot can obtain the obstacle shielding region and the obstacle non-shielding region.

[0107] In step 205, the sensor data of each robot in the robot formation is summarized, and a set of obstacles in the advancing direction of the robot formation is detected based on the sensor data of each robot. The obstacles in the obstacle shielding region are filtered from the set of obstacles, and the obstacles in the obstacle non-shielding region are obtained.

[0108] Exemplarily, for each robot in the robot formation, the robot can collect sensor data, which can represent obstacle information of the surrounding scene, such as radar data, and the content of the sensor data is not limited. Based on this, the sensor data of each robot in the robot formation can be summarized, and then a set of obstacles in the advancing direction of the robot formation is detected based on the sensor data of each robot. The set of obstacles can include at least one obstacle.

[0109] ​​For example, after obtaining the set of obstacles, the obstacles in the obstacle shielding area can be filtered from the set of obstacles, and the obstacles in the obstacle non-shielding area can be retained. In this way, only the obstacles in the obstacle non-shielding area can be identified as obstacles, and the objects in the obstacle shielding area (such as other robots in the robot formation) are not identified as obstacles, so that the redundant part (i.e., the false obstacle) in the set of obstacles can be removed, and the false obstacle identification result can be avoided.

[0110] For example, for the obstacles in the obstacle non-shielding area, the obstacle area of the obstacle can be determined. For example, the area where the obstacle is located is taken as the obstacle area (for example, the minimum circumscribed rectangle of the obstacle is taken as the obstacle area), or the area where the obstacle is located (i.e., the minimum circumscribed rectangle) is expanded, and the expanded area is taken as the obstacle area of the obstacle, and the like, which are not limited.

[0111] In step 206, for each robot in the robot formation, an initial collision detection result of the robot is determined based on the safety area of the robot and the obstacle area of the obstacle in the non-shielding area. The initial collision detection result indicates that the robot collides with the obstacle or does not collide with the obstacle.

[0112] For example, if there is an overlapping area between the safety area of the robot and the obstacle area of the obstacle, it is determined that the initial collision detection result of the robot indicates that the robot collides with the obstacle. Alternatively, if there is no overlapping area between the safety area of the robot and the obstacle area of the obstacle, it is determined that the initial collision detection result of the robot indicates that the robot does not collide with the obstacle.

[0113] In step 207, a target collision detection result of the robot formation is determined based on the initial collision detection result of each robot in the robot formation. The target collision detection result indicates whether the robot formation collides with the obstacle, i.e., the robot formation collides with the obstacle or does not collide with the obstacle.

[0114] For example, if the initial collision detection result of any robot indicates that the robot collides with the obstacle, it is determined that the target collision detection result indicates that the robot formation collides with the obstacle. Alternatively, if the initial collision detection result of all robots indicates that the robot does not collide with the obstacle, it is determined that the target collision detection result indicates that the robot formation does not collide with the obstacle.

[0115] For example, if the target collision detection result indicates that the robot formation collides with the obstacle, the robot formation can be controlled to slow down or even stop, or the driving path of the robot formation can be re-planned to avoid the obstacle, and the like, which are not limited to the control mode of the robot formation.

[0116] From the above technical solutions, in the embodiments of the present application, the target shelf can be transported by the robot formation, so that the robot formation can carry heavy or heterogeneous materials, and the carrying task can be completed by multiple robots in cooperation. When the target shelf is transported by the robot formation, collision detection is realized with each robot as the minimum granularity, "wheel level" collision detection capability is realized, the linear velocity and angular velocity of each robot can be detected, the motion state of the robot is determined based on the linear velocity and angular velocity, and then collision detection is performed according to the motion state of each robot, thereby improving the safety and fluency of the robot formation when performing the task. The obstacle shielding area is used to filter obstacle information in real time, so as to filter out redundant information and ensure that the robots in the robot formation will not recognize each other as obstacles, thereby improving the safety during the business execution process.

[0117] Based on the same application concept as the above method, the embodiments of the present application propose a collision detection device, there are at least two robots in the robot formation, and the at least two robots move synchronously after forming the formation, as shown in Figure 6 , which is a structural schematic diagram of the collision detection device. The device can include:

[0118] The processing module 61 is configured to aggregate the sensor data of each robot in the robot formation, and detect a set of obstacles in the advancing direction of the robot formation based on the sensor data of each robot;

[0119] The acquisition module 62 is configured to acquire an obstacle shielding area and an obstacle non-shielding area. The obstacle shielding area is for the internal area of the robot formation, and the obstacle non-shielding area is other areas except the obstacle shielding area. The obstacle shielding area includes a full contour area of all objects in the robot formation, and the full contour area is the minimum circumscribed rectangle that envelopes all objects in the robot formation. Alternatively, the obstacle shielding area includes a divided contour area of each object in the robot formation, and for each object, the divided contour area of the object is the minimum circumscribed rectangle that envelopes the object;

[0120] The detection module 63 is configured to filter the obstacles in the obstacle shielding area from the set of obstacles, and perform collision detection based on the obstacles in the obstacle non-shielding area in the set of obstacles.

[0121] For example, all objects in the robot formation include at least one of the following: all robots in the robot formation, the target shelf carried by the robot formation, and the materials carried on the target shelf; the full contour area is based on x max , x min , y max , ymin a rectangular region consisting of x x-coordinate of the nth point of the mth object in the robot formation, y-coordinate of the nth point of the mth object in the robot formation; the contour region of object i is based on x max,i , x min,i , y max,i , y min,i a rectangular region consisting of x max,i =max(G i [P n (x)], x min,i =min(G i [P n (x)], y max,i =max(G i [P n (y)], y min,i =min(G i [P n (y)]; G i [P n (x)] represents the x-coordinate of the nth point of object i, and G i [P n (y)] represents the y-coordinate of the nth point of object i.

[0122] For example, when the detection module 63 performs collision detection based on the obstacles in the non-screening region of the obstacle set, it specifically performs the following steps: for each robot in the robot formation, the motion state of the robot is obtained; based on the motion state of the robot, the safety region of the robot is determined, wherein the safety region represents the region in which the robot can safely travel; based on the safety region of the robot and the obstacle region of the obstacle, the initial collision detection result of the robot is determined, wherein the obstacle region is determined based on the minimum circumscribed rectangle of the obstacle, and the initial collision detection result indicates whether the robot collides with the obstacle or not; based on the initial collision detection result of each robot, the target collision detection result of the robot formation is determined, and the target collision detection result indicates whether the robot formation collides with the obstacle.

[0123] Illustratively, the detection module 63 is specifically configured to acquire the motion state of the robot by acquiring linear velocity data and angular velocity data of the robot, and determining the motion state of the robot based on the linear velocity data and the angular velocity data, wherein the motion state of the robot is a rotating motion state or a moving motion state, and wherein the motion state of the robot is the moving motion state if the linear velocity data indicates that the linear velocity is greater than a first threshold value and the angular velocity data indicates that the angular velocity is less than a second threshold value, and the motion state of the robot is the rotating motion state if the linear velocity data indicates that the linear velocity is not greater than the first threshold value and the angular velocity data indicates that the angular velocity is not less than the second threshold value.

[0124] Illustratively, the detection module 63 is specifically configured to determine the safety area of the robot based on the motion state of the robot by determining a minimum circumscribed rectangle of the robot if the motion state of the robot is the moving motion state, and determining the safety area of the robot based on the minimum circumscribed rectangle and a configured safety distance, or determining distances between the center of the robot and each vertex of the robot, and selecting a maximum distance from all the distances if the motion state of the robot is the rotating motion state, and acquiring a candidate circular area with the center of the robot as the center and the maximum distance as the radius, and determining the safety area of the robot based on the candidate circular area and the configured safety distance.

[0125] Illustratively, the detection module 63 is specifically configured to determine the initial collision detection result of the robot based on the safety area of the robot and the obstacle area of the obstacle by determining that the initial collision detection result indicates that the robot collides with the obstacle if the safety area and the obstacle area have an overlapping area, and determining that the initial collision detection result indicates that the robot does not collide with the obstacle if the safety area and the obstacle area do not have an overlapping area.

[0126] Illustratively, the detection module 63 is specifically configured to determine the target collision detection result of the robot formation based on the initial collision detection result of each robot by determining that the target collision detection result indicates that the robot formation collides with the obstacle if the initial collision detection result of any robot indicates that the robot collides with the obstacle, and determining that the target collision detection result indicates that the robot formation does not collide with the obstacle if the initial collision detection result of all the robots indicates that the robot does not collide with the obstacle.

[0127] Based on the same application concept as the above method, an electronic device is provided in the embodiments of the present application, as shown in Figure 7As shown, the electronic device can include a processor 71 and a machine readable storage medium 72, the machine readable storage medium 72 stores machine executable instructions capable of being executed by the processor 71; the processor 71 is configured to execute the machine executable instructions to implement the collision detection method disclosed in the above examples of the present application.

[0128] Based on the same application concept as the above method, the embodiments of the present application further provide a machine readable storage medium, the machine readable storage medium stores a plurality of computer instructions, the computer instructions are executed by a processor to implement the collision detection method disclosed in the above examples of the present application.

[0129] Wherein, the machine readable storage medium can be any electronic, magnetic, optical or other physical storage device, can contain or store information, such as executable instructions, data, etc. For example, the machine readable storage medium can be: RAM (Radom Access Memory, Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard drive), solid state disk, any type of storage disk (such as optical disk, dvd, etc.), or similar storage medium, or combination thereof.

[0130] Based on the same application concept as the above method, the embodiments of the present application further provide a collision detection system, the collision detection system includes a master robot and at least one slave robot, the master robot and all slave robots form a robot formation, and the master robot and all slave robots in the robot formation move synchronously; wherein: the slave robot is configured to collect sensor data and send the sensor data to the master robot; the master robot is configured to collect sensor data of the master robot, aggregate sensor data of each robot in the robot formation, detect a set of obstacles in the advancing direction of the robot formation based on the sensor data of each robot, obtain an obstacle shielding area and an obstacle non-shielding area, filter the obstacles in the obstacle shielding area from the set of obstacles, and perform collision detection based on the obstacles in the obstacle non-shielding area in the set of obstacles.

[0131] Wherein, the obstacle shielding area is for the internal area of the robot formation, and the obstacle non-shielding area is for other areas except the obstacle shielding area.

[0132] Wherein, the obstacle shielding area includes a full contour area of all objects in the robot formation, and the full contour area is the minimum circumscribed rectangle that envelopes all objects in the robot formation; or, the obstacle shielding area includes a partial contour area of each object in the robot formation, and for each object, the partial contour area of the object is the minimum circumscribed rectangle that envelopes the object.

[0133] The systems, apparatuses, modules or units disclosed in the above embodiments can be implemented by a computer or an entity, or by a product with certain functions. A typical implementation device is a computer, and the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0134] For the convenience of description, the above apparatuses are described in various units by function respectively. Of course, the functions of the units can be implemented in one or more software and / or hardware in the implementation of the present application.

[0135] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0136] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of the flows 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 apparatus to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing apparatus produce a device implemented in accordance with the flowcharts and / or block diagrams. Figure 1 The device that implements the function specified in one flow or multiple flows and / or blocks. Figure 1 The device that implements the function specified in one flow or multiple flows and / or blocks.

[0137] Moreover, these computer program instructions can also be stored in a computer readable storage medium capable of directing the computer or other programmable data processing apparatus to work in a specific manner, so that the instructions stored in the computer readable storage medium produce a product including an instruction device, which implements the flowcharts and / or block diagrams. Figure 1 The device that implements the function specified in one flow or multiple flows and / or blocks. Figure 1 The device that implements the function specified in one flow or multiple flows and / or blocks.

[0138] These computer program instructions can also be loaded into computer or other programmable data processing devices, so that a series of operation steps are performed on the computer or other programmable data processing devices to generate computer-implemented processes, thus the instructions executed on the computer or other programmable data processing devices provide processes for implementing the functions specified in the flowchart Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.

[0139] The above only describes the embodiments of the present application and is not intended to limit the present application. The present application can have various modifications and changes for those skilled in the art. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application shall be included in the scope of claims of the present application.

Claims

1. A collision detection method characterized by, The robot formation includes at least two robots, and the at least two robots move synchronously after forming the formation, and the method comprises: collecting sensor data of each robot in the robot formation, detecting a set of obstacles in a forward direction of the robot formation based on the sensor data of each robot; obtaining an obstacle shielding area and an obstacle non-shielding area; wherein the obstacle shielding area is an internal area for the robot formation, and the obstacle non-shielding area is an area other than the obstacle shielding area; wherein the obstacle shielding area includes a full contour area of all objects in the robot formation, and the full contour area is a minimum circumscribed rectangle that envelopes all objects in the robot formation; or the obstacle shielding area includes a partial contour area of each object in the robot formation, and for each object, the partial contour area of the object is a minimum circumscribed rectangle that envelopes the object; filtering obstacles in the obstacle shielding area from the set of obstacles, and performing collision detection based on obstacles in the obstacle non-shielding area in the set of obstacles.

2. The method of claim 1, wherein, All objects in the robot formation include at least one of the following: all robots in the robot formation, a target shelf carried by the robot formation, and materials carried on the target shelf; The contour full region is a rectangular region composed of x max , x min , y max , y min ​ wherein, denotes an x-coordinate of the n-th point of the m-th object within the robot formation, denotes a y-coordinate of the n-th point of the m-th object within the robot formation; The profile section of object i is based on x max,i , x min,i , y max,i , y min,i consisting of a rectangular region; wherein x max,i = max(G i [P n (x)]), x min,i = min(G i [P n (x)]), y max,i = max(G i [P n (y)]), y min,i = min(G i [P n (y)]) ; wherein G i [P n (x)] represents the x coordinate of the n-th point of the object i, G i [P n (y)] represents the y coordinate of the n-th point of the object i.

3. The method of claim 1, wherein, The collision detection based on obstacles in the obstacle non-shielding area in the set of obstacles comprises: for each robot in the robot formation, obtaining a motion state of the robot; determining a safety area of the robot based on the motion state of the robot, wherein the safety area represents an area in which the robot can safely travel; determining an initial collision detection result of the robot based on the safety area of the robot and an obstacle area of the obstacle, wherein the obstacle area is determined based on a minimum circumscribed rectangle of the obstacle, and the initial collision detection result indicates whether the robot collides with the obstacle or not; determining a target collision detection result of the robot formation based on the initial collision detection result of each robot, wherein the target collision detection result indicates whether the robot formation collides with the obstacle.

4. The method of claim 3, wherein: the obtaining of the motion state of the robot comprises: obtaining linear velocity data and angular velocity data of the robot; determining the motion state of the robot based on the linear velocity data and the angular velocity data; wherein the motion state of the robot is a rotating motion state or a moving motion state; wherein if the linear velocity data indicates that the linear velocity is greater than a first threshold value, and the angular velocity data indicates that the angular velocity is less than a second threshold value, then the motion state of the robot is the moving motion state; if the linear velocity data indicates that the linear velocity is not greater than the first threshold value, and the angular velocity data indicates that the angular velocity is not less than the second threshold value, then the motion state of the robot is the rotating motion state.

5. The method of claim 3, wherein: the determining of the safety area of the robot based on the motion state of the robot comprises: If the motion state of the robot is a moving motion state, a minimum circumscribed rectangle of the robot is determined, and a safety area of the robot is determined based on the minimum circumscribed rectangle and a configured safety distance; Or, if the motion state of the robot is a rotating motion state, distances between a center of the robot and each vertex of the robot are determined, and a maximum distance is selected from all distances; A candidate circular area is obtained, wherein the candidate circular area takes the center of the robot as a center, and the candidate circular area takes the maximum distance as a radius; A safety area of the robot is determined based on the candidate circular area and a configured safety distance.

6. The method of claim 3, wherein The initial collision detection result of each robot is determined based on the safety area of the robot and the obstacle area of the obstacle, including: if the safety area and the obstacle area have an overlapping area, it is determined that the initial collision detection result indicates that the robot collides with the obstacle; if the safety area and the obstacle area do not have an overlapping area, it is determined that the initial collision detection result indicates that the robot does not collide with the obstacle; The target collision detection result of the robot formation is determined based on the initial collision detection result of each robot, including: if the initial collision detection result of any robot indicates that the robot collides with the obstacle, it is determined that the target collision detection result indicates that the robot formation collides with the obstacle; if the initial collision detection results of all robots indicate that the robots do not collide with the obstacle, it is determined that the target collision detection result indicates that the robot formation does not collide with the obstacle.

7. A collision detection apparatus characterized by comprising: There are at least two robots in the robot formation, and the at least two robots synchronously move after forming the formation, and the device comprises: A processing module is configured to aggregate sensor data of each robot in the robot formation, and detect a set of obstacles in a forward direction of the robot formation based on the sensor data of each robot; An obtaining module is configured to obtain an obstacle shielding area and an obstacle non-shielding area; the obstacle shielding area is for an internal area of the robot formation, and the obstacle non-shielding area is an area other than the obstacle shielding area; the obstacle shielding area includes a full contour area of all objects in the robot formation, and the full contour area is a minimum circumscribed rectangle that envelopes all objects in the robot formation; or the obstacle shielding area includes a partial contour area of each object in the robot formation, and for each object, the partial contour area of the object is a minimum circumscribed rectangle that envelopes the object; A detection module is configured to filter obstacles in the obstacle shielding area from the set of obstacles, and perform collision detection based on obstacles in the obstacle non-shielding area in the set of obstacles.

8. The device of claim 7, wherein wherein All objects in the robot formation include at least one of the following: all robots in the robot formation, a target shelf carried by the robot formation, and materials carried on the target shelf; the contour full region is a rectangular region composed of x max , x min , y max , and y min ; wherein, represents an x coordinate of an nth point of an mth object in the robot formation, represents a y coordinate of the nth point of the mth object in the robot formation; the contour sub-region of the object i is a rectangular region composed of x max,i , x min,i , y max,i , and y min,i ; wherein, x max,i =max(G i [P n (x)]), x min,i =min(G i [P n (x)]), y max,i =max(G i [P n (y)], and y min,i =min(G i [P n (y)]; G i [P n (x)] represents an x coordinate of the nth point of the object i, and G i [P n (y)] represents a y coordinate of the nth point of the object i. The detection module is specifically configured to: for each robot in the robot formation, acquire a motion state of the robot; determine a safety area of the robot based on the motion state of the robot, wherein the safety area represents an area in which the robot can safely travel; determine an initial collision detection result of the robot based on the safety area of the robot and an obstacle area of the obstacle, wherein the obstacle area is determined based on a minimum circumscribed rectangle of the obstacle, and the initial collision detection result indicates whether the robot collides with the obstacle or not; and determine a target collision detection result of the robot formation based on the initial collision detection result of each robot, wherein the target collision detection result indicates whether the robot formation collides with the obstacle or not. The detection module is specifically configured to: acquire linear velocity data and angular velocity data of the robot; and determine the motion state of the robot based on the linear velocity data and the angular velocity data, wherein the motion state of the robot is a rotating motion state or a moving motion state; if the linear velocity data indicates that a linear velocity is greater than a first threshold value and the angular velocity data indicates that an angular velocity is less than a second threshold value, the motion state of the robot is a moving motion state; and if the linear velocity data indicates that a linear velocity is not greater than a first threshold value and the angular velocity data indicates that an angular velocity is not less than a second threshold value, the motion state of the robot is a rotating motion state. The detection module is specifically configured to: if the motion state of the robot is a moving motion state, determine a minimum circumscribed rectangle of the robot, and determine the safety area of the robot based on the minimum circumscribed rectangle and a configured safety distance; or if the motion state of the robot is a rotating motion state, determine distances between a center of the robot and each vertex of the robot, and select a maximum distance from all the distances; acquire a candidate circular area, wherein the candidate circular area takes the center of the robot as a center and takes the maximum distance as a radius; and determine the safety area of the robot based on the candidate circular area and the configured safety distance. The detection module is specifically configured to: if the safety area and the obstacle area have an overlapping area, determine that the initial collision detection result indicates that the robot collides with the obstacle; or if the safety area and the obstacle area do not have an overlapping area, determine that the initial collision detection result indicates that the robot does not collide with the obstacle. The detection module determines the target collision detection result of the robot formation based on the initial collision detection result of each robot, specifically: if the initial collision detection result of any robot indicates that the robot collides with the obstacle, it is determined that the target collision detection result indicates that the robot formation collides with the obstacle; if the initial collision detection results of all robots indicate that the robots do not collide with the obstacle, it is determined that the target collision detection result indicates that the robot formation does not collide with the obstacle.

9. An electronic device, comprising: Comprise: A processor and a machine readable storage medium, the machine readable storage medium stores machine executable instructions capable of being executed by the processor; The processor is used to execute the machine executable instructions to realize the method of any one of claims 1-6.

10. A collision detection system characterized by, The collision detection system comprises a master robot and at least one slave robot, the master robot and all slave robots constitute a robot formation, and the master robot and all slave robots in the robot formation move synchronously; wherein: The slave robot is used to collect sensor data and send the sensor data to the master robot; The master robot is used to collect sensor data of the master robot, aggregate sensor data of each robot in the robot formation, detect a set of obstacles in the advancing direction of the robot formation based on the sensor data of each robot, obtain an obstacle shielding area and an obstacle non-shielding area, filter obstacles in the obstacle shielding area from the set of obstacles, and perform collision detection based on obstacles in the obstacle non-shielding area in the set of obstacles; Wherein, the obstacle shielding area is an internal area for the robot formation, and the obstacle non-shielding area is other areas except the obstacle shielding area; Wherein, the obstacle shielding area comprises a full contour area of all objects in the robot formation, and the full contour area is a minimum circumscribed rectangle that envelopes all objects in the robot formation; or the obstacle shielding area comprises a divided contour area of each object in the robot formation, and for each object, the divided contour area of the object is a minimum circumscribed rectangle that envelopes the object.

Citation Information

Patent Citations

  • Obstacle avoidance method and device for mobile robot, robot and storage medium

    CN112171675A

  • Anti-collision control system and control method thereof, processor and aerial work platform

    CN115947276A