Embodied robot movement control method, device, embodied robot and medium

Through the embodied robot travel control method, the occlusion point cloud detection and path re-planning are used to solve the problem of multiple collisions between robots and obstacles, and the traffic efficiency and safety are improved.

CN119806159BActive Publication Date: 2025-08-22WOCAO TECH (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510280170.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-11
Publication Date
2025-08-22
Estimated Expiration
2045-03-11

AI Technical Summary

Technical Problem

When performing long-distance navigation tasks, existing robots are prone to multiple collisions with obstacles, resulting in low traffic efficiency or inability to complete tasks.

Method used

Embodied robot travel control method is adopted to detect obstruction point clouds of obstacles, re-plan the path when soft collision conditions are met, and try to have a real collision with obstacles to confirm passability, and update the cost map to optimize the path.

Benefits of technology

The number of collisions with obstacles is reduced and the passage efficiency is improved. Especially when facing long obstacles with transverse blocking, it can pass quickly, improving the safety performance and passage efficiency of the robot.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119806159B_ABST
    Figure CN119806159B_ABST
Patent Text Reader

Abstract

The present application relates to the field of robotics, and in particular to a method, device, embodied robot, and medium for controlling the movement of an embodied robot. The method comprises: responding to a task instruction and controlling the embodied robot to move along a planned path; replanning the path upon detecting a current obstacle and satisfying a soft collision condition; if the replanned new path intersects with any historically marked occlusion point cloud, controlling the embodied robot to move along the new path and attempting a real collision with the marked obstacle corresponding to the occlusion point cloud to confirm whether the robot can pass. Therefore, the present application can effectively solve the problem of excessive collisions with obstacles during operation, resulting in low travel efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics, and in particular to a method and device for controlling movement of an embodied robot, an embodied robot, and a medium. Background Art

[0002] Existing robots often face long-distance navigation tasks when performing work tasks, such as returning to a charging point for charging, navigating to a distant target area for cleaning, etc.

[0003] Due to the overall complexity of the home environment and the variety of obstacles, such as pets and toys, the robot may experience multiple unnecessary collisions while performing a task, or even collide with the same dynamic obstacle multiple times. This can lead to excessive collisions, low navigation efficiency, or even failure to complete the task. Summary of the Invention

[0004] In view of this, the embodiments of the present application provide an embodied robot movement control method, device, embodied robot and medium, which can effectively solve the problem of excessive collisions with obstacles during the robot's operation, resulting in low travel efficiency.

[0005] In a first aspect, an embodiment of the present application provides a method for controlling movement of an embodied robot, comprising:

[0006] Responding to task instructions, controlling the embodied robot to move along a planned path;

[0007] When a current obstacle is detected and the soft collision condition is met, the occlusion point cloud corresponding to the current obstacle is marked and the path is replanned;

[0008] If the re-planned new path intersects with any historically marked occlusion point cloud, the embodied robot is controlled to move along the new path and attempt to actually collide with the marked obstacle corresponding to the occlusion point cloud to confirm whether it is passable.

[0009] In some embodiments, it further includes:

[0010] If the real collision occurs and the embodied robot successfully passes through the blocked point cloud area, the embodied robot is controlled to continue moving along the new path.

[0011] In some embodiments, it further includes:

[0012] If the real collision does not occur, the embodied robot is controlled to continue moving along the new path, and the marked obstacle is determined to be moved out of the occluded point cloud area.

[0013] In some embodiments, it further includes:

[0014] If the real collision occurs and the embodied robot does not pass through the blocked point cloud area, the path is replanned according to the cost map to attempt to pass; wherein the cost map includes the collision cost determined according to the marked obstacle where the real collision occurred.

[0015] In some embodiments, if the real collision occurs, the method further includes: updating the corresponding collision cost in the cost map according to the marked obstacle where the real collision occurs, and the updated collision cost is higher than a preset threshold.

[0016] In some embodiments, the further re-planning of the path according to the cost map includes:

[0017] During the calculation process of the additional re-planned path, if it is calculated that the collision costs of all the additionally planned soft collision paths do not meet the pass conditions, the task is determined to have failed and the task is terminated; wherein, the soft collision path is a path that intersects with the marked occlusion point cloud area; the collision cost does not meet the pass conditions if the collision cost is higher than a preset threshold.

[0018] In some embodiments, marking the occlusion point cloud corresponding to the current obstacle and replanning the path further includes:

[0019] If it is detected again that there are other obstacles on the current new path and the soft collision condition is met, the path replanning operation is performed again, and the occlusion point cloud corresponding to the other detected obstacles is marked until it is determined that all replanned paths meet the soft collision condition.

[0020] In some embodiments, satisfying the soft collision condition includes:

[0021] When the distance between the embodied robot and the currently detected occlusion point cloud of the obstacle is less than a preset distance, and the lateral size of the occlusion point cloud is not less than a preset lateral avoidance length, it is determined that the soft collision condition is met.

[0022] In a second aspect, an embodiment of the present application provides a motion control device for an embodied robot, comprising:

[0023] A movement control module, configured to respond to task instructions and control the embodied robot to move along a planned path;

[0024] A path replanning module is used to mark the occlusion point cloud corresponding to the current obstacle and replan the path when the current obstacle is detected and the soft collision condition is met;

[0025] The collision execution module is used to control the embodied robot to move along the new path if the re-planned new path intersects with any historically marked occlusion point cloud, and to attempt to actually collide with the marked obstacle corresponding to the occlusion point cloud to confirm whether it can pass.

[0026] In a third aspect, an embodiment of the present application provides an embodied robot, comprising a processor and a memory, wherein the memory stores a computer program, and the processor is used to execute the computer program to implement an embodied robot movement control method provided in the first aspect of the present application.

[0027] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program. When the computer program is executed on a processor, it implements an embodied robot movement control method provided in accordance with the first aspect of the present application.

[0028] The embodiments of the present application have the following beneficial effects:

[0029] This application controls the embodied robot to move along the planned path by responding to task instructions; when the current obstacle is detected and the soft collision condition is met, the occlusion point cloud corresponding to the current obstacle is marked and the path is re-planned; if the re-planned new path intersects with any historically marked occlusion point cloud, the embodied robot is controlled to move along the new path and attempts to have a real collision with the marked obstacle corresponding to the occlusion point cloud to confirm whether it can pass. This application is provided with a soft collision detection mechanism, which can reduce the number of collisions with obstacles. Moreover, when the re-planned new path in this application intersects with any historically marked occlusion point cloud, it attempts to have a real collision with the marked obstacle corresponding to the occlusion point cloud in order to attempt to pass. For example, when the marked obstacle is removed, or the active obstacle leaves on its own, or the marked obstacle is a lightweight obstacle (such as a foam box, etc.), this operation may enable the embodied robot to quickly pass through the area where the obstacle is located, thereby improving the passage efficiency and reducing the number of collisions. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.

[0031] Figure 1 The figure shows a structural schematic diagram of an embodied robot proposed in an embodiment of the present application;

[0032] Figure 2A flow chart showing a method for controlling movement of an embodied robot according to an embodiment of the present application is shown;

[0033] Figure 3 A flowchart showing an attempt to pass through the embodied robot movement control method according to an embodiment of the present application is shown;

[0034] Figure 4-1 A flowchart of the first part of the embodied robot movement control method according to an embodiment of the present application is shown;

[0035] Figure 4-2 The second part of the flow chart of the embodied robot movement control method according to an embodiment of the present application is shown;

[0036] Figure 5 A diagram showing a first working scenario of the embodied robot in the embodied robot movement control method according to an embodiment of the present application is shown;

[0037] Figure 6 A diagram showing a second working scenario of the embodied robot in the embodied robot movement control method according to an embodiment of the present application is shown;

[0038] Figure 7 A diagram showing a third working scenario of the embodied robot in the embodied robot movement control method according to an embodiment of the present application is shown;

[0039] Figure 8 A structural schematic diagram of the embodied robot movement control device according to an embodiment of the present application is shown.

[0040] Description of main component symbols:

[0041] 10-embodied robot; 11-processor; 12-memory; 13-perception unit; 14-actuator; 810-travel control module; 820-path replanning module; 830-collision execution module. DETAILED DESCRIPTION

[0042] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments.

[0043] The components of the embodiments of the present application generally described and illustrated in the drawings herein may be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the claimed application, but rather merely represents selected embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative effort are within the scope of protection of the present application.

[0044] Hereinafter, the terms "including", "having" and their cognates used in various embodiments of the present application are intended only to indicate specific features, numbers, steps, operations, elements, components or combinations of the aforementioned items, and should not be understood as excluding the existence of one or more other features, numbers, steps, operations, elements, components or combinations of the aforementioned items or adding the possibility of one or more features, numbers, steps, operations, elements, components or combinations of the aforementioned items. In addition, the terms "first", "second", "third" and the like are only used to distinguish descriptions and should not be understood as indicating or implying relative importance.

[0045] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by those skilled in the art to which the various embodiments of the present application belong. The terms (such as those defined in generally used dictionaries) will be interpreted as having the same meaning as in the context of the relevant technical field and will not be interpreted as having an idealized meaning or an overly formal meaning unless clearly defined in the various embodiments of the present application.

[0046] The following describes some embodiments of the present application in detail with reference to the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments may be combined with each other.

[0047] When performing long-distance navigation tasks, an embodied robot will perform avoidance maneuvers for obstacles (both dynamic and static) in the workspace. However, existing technologies have limited lateral avoidance coverage, resulting in situations where the local obstacle avoidance algorithm cannot completely avoid the obstacle or even blocks the path. Furthermore, existing technologies also encounter the same obstacle too many times, reducing navigation efficiency. Therefore, this application provides an embodied robot motion control method, apparatus, embodied robot, and medium.

[0048] An embodied robot in this application refers to a robot with a physical body (entity) that achieves intelligent behavior through real-time perception, interaction, and action with the real environment. Its core concept stems from the theory of embodied intelligence, which states that intelligence not only relies on algorithms and data processing but also requires learning and evolution through dynamic interaction between the body and the environment. The physical entity refers to an embodied robot that has a real body (such as a robotic arm, mobile chassis, sensors, etc.) and can act in the physical world like a human or animal (such as walking, grasping, and avoiding obstacles). Furthermore, it can perceive the environment in real time through sensors such as vision, touch, hearing, and force perception, and adjust its behavior based on feedback.

[0049] Figure 1 Shown is a structural schematic diagram of the embodied robot 10 proposed in an embodiment of the present application.

[0050] Exemplarily, the embodied robot 10 includes a processor 11, a memory 12, a perception unit 13 and an actuator 14, wherein the perception unit 13 is used to detect environmental information of the embodied robot 10; the actuator 14 is used to perform corresponding actions; the memory 12 stores a computer program, and the processor 11 runs the computer program to make the embodied robot 10 move according to the embodied robot 10 movement control method of the following embodiment.

[0051] The processor 11 may be an integrated circuit chip with signal processing capabilities. The processor 11 may be a general-purpose processor, including at least one of a central processing unit (CPU), a graphics processing unit (GPU), a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor may be a microprocessor or any conventional processor, and may implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this application.

[0052] The memory 12 may be, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc. The memory 12 is used to store a computer program, and the processor 11 may execute the computer program accordingly after receiving an execution instruction.

[0053] The perception unit 13 includes a detection sensor. The detection sensor is primarily used to detect obstacles in the path of the embodied robot 10. For example, for a sweeping robot, its detection sensor includes a laser radar. The laser radar scans the environment around the path to generate an occlusion point cloud. The area occupied by the obstacle is determined based on the occlusion point cloud, which helps the embodied robot 10 avoid the obstacle. In some embodiments, the detection sensor may also include an infrared sensor, a camera, etc.

[0054] It should be understood that the embodied robot 10 described above may include, but is not limited to, a sweeping robot (also known as a cleaning robot), a sweeping robot-driven mopping robot (i.e., a sweeping and mopping robot), a food delivery robot, an autonomous carrying robot, a companion robot, a service robot, and the like. It is understood that the various robots listed above are not limited in form; for example, they may be wheeled robots, bipedal humanoid robots, or multi-legged robots.

[0055] This application introduces a local obstacle map and soft collisions. Based on the triggering conditions of soft collisions, the path is replanned according to a global map (e.g., a base cost map). This process also considers the point cloud features of the currently detected obstacles to generate a more optimal path that completely avoids the obstacles. This application can reduce unnecessary collisions between the embodied robot 10 and various obstacles during operation, reduce the number of collisions with the same dynamic obstacle, improve the safety performance of the embodied robot 10, and increase travel efficiency. To improve the travel efficiency of the embodied robot 10, particularly to increase the efficiency of circumventing obstacles with longer lateral obstructions, this application also provides an embodied robot motion control method.

[0056] The following describes the embodied robot movement control method in conjunction with some specific embodiments.

[0057] Figure 2 A flow chart of the embodied robot movement control method according to an embodiment of the present application is shown. Exemplarily, the embodied robot movement control method includes the following steps:

[0058] S110 , responding to the task instruction, controlling the embodied robot 10 to move along the planned path.

[0059] The task instructions may be sent by an external object (such as a user) to the embodied robot 10 via a terminal device (such as a mobile phone, tablet, smart speaker, etc.) or a button on the embodied robot 10.

[0060] The embodied robots 10 of the present application include, but are not limited to, sweeping robots, service robots, and humanoid robots. Different embodied robots 10 often have different task instructions. For example, if the embodied robot 10 is a sweeping robot, the task instructions may include, but are not limited to, performing long-distance area cleaning tasks, recharging tasks, and wall cleaning tasks.

[0061] After receiving the task instruction, the embodied robot 10 is controlled to move along the path planned according to the global map (e.g., the basic cost map). A pathfinding algorithm is used to plan a path, wherein the present application does not limit the type of pathfinding algorithm used. It is understandable that there are no obstacles on the path planned based on the global map (eg, the base cost map).

[0062] It should be understood that the basic cost map in the embodiment of the application is a cost map determined based on a grid map obtained by first scanning the workspace of the embodied robot 10. The grid map includes objects such as fixed obstacles and fixed walls.

[0063] Costmaps build on the foundation of grid maps by introducing the concept of cost. Each grid cell not only indicates whether it is occupied by an obstacle, but also the cost required to move from that location to that grid cell. The cost can be a weighted sum of multiple factors, such as distance, obstacle density, and difficulty of travel.

[0064] Costmaps are used in path planning algorithms to find the path with the lowest total cost, also known as the least-cost path.

[0065] A raster map is a data structure that discretizes the current physical workspace into a regular grid of cells. Each grid cell represents a local area within the environment. Raster maps can represent environmental information in various ways, such as occupancy probability maps and height maps. Raster maps are typically used to represent static information about the environment, such as terrain and building locations.

[0066] S120: When a current obstacle is detected and a soft collision condition is met, the occlusion point cloud corresponding to the current obstacle is marked and the path is replanned.

[0067] Exemplarily, after receiving a task instruction, the embodied robot 10 responds to the task instruction. First, the embodied robot 10 uses detection sensors to obtain information about the environment in which the embodied robot 10 is currently located. For example, a robot vacuum cleaner uses its own laser radar to collect point cloud data of obstacles in the environment.

[0068] Exemplarily, satisfying the soft collision condition includes:

[0069] When the distance between the embodied robot 10 and the currently detected occlusion point cloud of the obstacle is less than a preset distance, and the lateral size of the occlusion point cloud is not less than a preset lateral avoidance length, it is determined that the soft collision condition is met.

[0070] Exemplarily, the embodied robot 10 detects point cloud occlusion through the lidar, and the local obstacle avoidance algorithm cannot completely avoid the temporary obstacle with a wide lateral coverage distance. Then, the current path of travel is interrupted by the temporary obstacle, and the direct distance between the embodied robot 10 and the active temporary obstacle is less than 3 cm. The soft collision condition is met and a soft collision is triggered.

[0071] When replanning the path, there are no obstacles blocking the travel on the planned new path. Later, an obstacle is detected on the planned path and the soft collision condition is met, which means that a temporary obstacle has appeared on the path, such as a moving obstacle, such as a large pet, temporarily stored items, etc.

[0072] In other words, if the soft collision condition is met, a temporary obstacle has appeared on the current path, and the obstacle is too large to be avoided immediately using the local obstacle avoidance algorithm. As a result, the embodied robot 10 is very close to the obstacle. The preset distance can be 3 cm, which is not limited in this application. A soft collision occurs when the embodied robot 10 is close to the current obstacle but has not yet actually collided with it.

[0073] If the temporary obstacle is very short, the embodied robot's 10 local obstacle avoidance algorithm will be able to avoid it, preventing the distance between the embodied robot 10 and the obstacle from falling below L_MIN (the preset distance). If the obstacle is very wide and long, the local obstacle avoidance algorithm will not be able to completely avoid it immediately, causing the robot to move closer to the obstacle, causing the distance to fall below L_MIN, which will trigger a soft collision.

[0074] Exemplarily, marking the occlusion point cloud corresponding to the detected current obstacle includes:

[0075] Obtain the occlusion point cloud within the preset area with the embodied robot 10 as the center; map the occlusion point cloud and save it to the grid map to obtain a local obstacle map, and mark the area occupied by the current obstacle in the local obstacle map. In this task, if a new obstacle is detected again in the future, the corresponding occlusion point cloud will also be mapped and saved to the local obstacle map, and the corresponding area of ​​each obstacle in the grid map will be obtained by superposition.

[0076] For example, a rectangle with a side length of 1 meter is defined around the embodied robot 10. The point cloud data within this rectangle is mapped to a grid map to obtain a local obstacle map. The point cloud data within this rectangle includes point cloud data of obstacles. Specifically, a lidar (LiDAR) is used to detect surrounding obstacles. The LiDAR returns point cloud data within the rectangle, with each point representing a location on an obstacle, thereby describing the location and size of the obstacle. The collected point cloud data is converted into points in a coordinate system, typically the local coordinate system of the embodied robot 10. The point cloud data is converted from the local coordinate system to the global coordinate system. This means adjusting the point cloud data read by the LiDAR based on the position and orientation of the embodied robot 10 to map it to the grid map. For each point cloud data point, the corresponding grid is found based on its coordinates and marked as "occupied." Generally, if a point falls within a grid, the grid is marked as "occupied," thus obtaining a local obstacle map. During the execution of the same task, each detected obstacle is added to the local obstacle map after a soft collision is triggered.

[0077] The local obstacle map primarily identifies the locations of fixed or movable obstacles within the current workspace. It can be generated based on a grid map by marking which grid cells are occupied by obstacles. All obstacle data on the local obstacle map in this application does not affect the path cost. The local obstacle map is a point cloud map added during soft collisions and is used only to estimate the potential for obstacles at that location.

[0078] Furthermore, when replanning the path in step S120, the occlusion point cloud of the currently detected obstacle is also considered to bypass the obstacle with a large horizontal size when replanning the path. Exemplarily, the occlusion point cloud corresponding to the current obstacle is mapped to the cost map to obtain a temporary cost map. The path is planned using a preset path finding algorithm based on the temporary cost map. For example, the preset path finding algorithm is Pathfinding algorithm. This temporary costmap is used only for the current re-path planning. In other words, the occlusion point cloud of the currently detected obstacles is taken into account when re-planning the path to generate a more optimal path that completely avoids the current obstacles.

[0079] S130: If the re-planned new path intersects with any historically marked occlusion point cloud, the embodied robot 10 is controlled to move along the new path and attempt to actually collide with the marked obstacle corresponding to the occlusion point cloud to confirm whether it is passable.

[0080] In other words, in order to reach the destination, soft collisions are ignored, and a re-planned new path is selected to pass through the area mapped on the raster map by the occlusion point cloud of any historical marker. That is, the re-planned new path intersects with the occlusion point cloud of any historical marker, and attempts to have a real collision with the marked obstacle corresponding to the occlusion point cloud to confirm whether it is passable and determine whether the above-mentioned temporary obstacle has moved away or can be knocked away.

[0081] In one embodiment, marking the occlusion point cloud corresponding to the current obstacle and replanning the path further includes:

[0082] If another obstacle is detected on the new path and meets the soft collision condition, the path replanning operation is executed again, and the occlusion point clouds corresponding to the detected other obstacles are marked until it is determined that all replanned paths meet the soft collision condition. In other words, when an obstacle is detected on the current path and a soft collision is triggered, the occlusion point cloud corresponding to the current obstacle is marked, and the path is replanned based on the size of the current obstacle's occlusion point cloud to avoid the current obstacle. This process is repeated until all paths trigger a soft collision, and then the corresponding content of step S130 is executed.

[0083] Furthermore, in step S130, if the re-planned new path intersects with any historically marked occlusion point cloud, controlling the embodied robot to move along the new path includes:

[0084] After confirming that all replanned paths meet the soft collision criteria, if the newly planned path intersects with any historically marked occlusion point cloud, the embodied robot is controlled to follow the new path. In other words, if soft collisions are consistently triggered after multiple replannings, the robot will not waste time and will instead attempt to pass through the marked occlusion point cloud area (the area corresponding to or occupied by the occlusion point cloud). If the soft collision criteria are met multiple times and the path is replanned multiple times but still fails to pass and reach the destination, the robot can attempt a hard collision through the marked occlusion point cloud to increase its chances of passing.

[0085] In order to further improve the traffic efficiency, after the attempt to actually collide with the marked obstacle corresponding to the occlusion point cloud in step S130, for example, in one embodiment, Figure 3 As shown, the following steps are included:

[0086] S131, determine whether the embodied robot 10 has a real collision with the marked obstacle corresponding to the occlusion point cloud, and determine whether the embodied robot has passed through the occlusion point cloud area; if a real collision has occurred and the embodied robot has passed through the occlusion point cloud area, execute S132; if no real collision has occurred, execute S133; if a real collision has occurred and the robot has not passed through the occlusion point cloud area, execute S134.

[0087] S132: If a real collision occurs and the embodied robot successfully passes through the blocked point cloud area, the embodied robot is controlled to continue moving along the new path.

[0088] For example, when a real collision occurs, the embodied robot 10 will knock the obstacle away. For example, if the obstacle is light, the embodied robot can knock the obstacle away, or the pet will leave on its own after being hit, and the embodied robot 10 can successfully pass through.

[0089] S133: If no real collision occurs, the embodied robot 10 is controlled to continue moving along the new path to ensure that the marked obstacle moves out of the blocked point cloud area.

[0090] For example, before the embodied robot 10 reaches the blocked point cloud area, the obstacle is moved away, or the obstacle is a dynamic obstacle, such as a pet leaving on its own, then the embodied robot 10 can directly pass through successfully without a real collision.

[0091] S134: If a real collision occurs and the embodied robot does not pass through the blocked point cloud area, the path is replanned according to the cost map (the replanned path here is different from the replanned path in step S120) to attempt to pass; wherein the cost map includes the collision cost determined based on the marked obstacles where the real collision occurred.

[0092] For example, if the obstacle is still in the area corresponding to the occlusion point cloud and the collision fails to knock the obstacle away, it means that the obstacle is fixed and heavy. In this case, the occlusion point cloud corresponding to the obstacle is mapped to the grid map, and the collision cost in the cost map is updated according to the mapped area. The updated collision cost exceeds the cost threshold so that the obstacle can be avoided when the path is replanned next time.

[0093] Furthermore, to reduce the number of collisions during the next mission, in this embodiment of the present application, if a real collision occurs, the method further includes: updating the corresponding collision cost in the costmap based on the marked obstacle where the real collision occurred, where the updated collision cost exceeds a preset threshold. At the start of the mission, the costmap is the base costmap. The first time a real collision is determined, the collision cost is updated on the base costmap. If the updated collision cost exceeds the cost threshold, indicating that the cost is higher at that location, the re-route will not be selected at that location.

[0094] Exemplarily, based on the cost map, the path is replanned, including:

[0095] During the calculation process of the additional re-planned path, if the calculated collision costs of all the additionally planned soft collision paths do not meet the pass conditions, the task is determined to have failed and the task is terminated; wherein, a soft collision path is a path that intersects with a marked occlusion point cloud area; the collision cost not meeting the pass conditions means that the collision cost is higher than a preset threshold. In other words, if the collision cost does not meet the pass conditions, the additionally planned path passes through the occlusion point cloud area where a real collision has occurred. If all paths are determined to trigger a soft collision (close to the obstacle, but no real collision occurs), and an attempt to collide with a marked obstacle fails to pass, in order to improve the pass efficiency, another path is re-planned. It is understandable that the additionally re-planned path can pass through the previously marked occlusion point cloud area, and no real collision has occurred in the occlusion point cloud area. That is, it is chosen to pass through obstacles other than the above-mentioned marked obstacle.

[0096] When planning a new path, you can choose to pass through previously marked obstacles and select the lowest-cost target path based on the collision cost. If the calculated collision cost of each soft collision path exceeds the preset threshold, it means that there is an area where a real collision occurred on the path, and the pass conditions are not met, and the mission fails.

[0097] For example, the marked obstacle is removed by:

[0098] Whenever a soft collision condition is met, the path is replanned and the occlusion point cloud corresponding to the detected current obstacle is mapped and accumulated and saved to the grid map to obtain the obstacle map. In response to a task failure, the mapped area of ​​the marked obstacle where no actual collision occurred is cleared from the local obstacle map.

[0099] The following describes the travel control method of the embodied robot 10 of the present application with a specific example. In this example, the embodied robot 10 detects that the battery is insufficient and needs to return to the charging point for charging, but the distance to the charging point is relatively long. Figure 4-1 、 Figure 4-2 As shown, the following steps are included:

[0100] S201 , upon receiving a charging task instruction, the embodied robot 10 is controlled to move based on the planned path 1 in an attempt to return to the charging point.

[0101] When executing a task, the embodied robot 10 is controlled to move along a planned path obtained based on the basic cost map and a preset pathfinding algorithm. For example, the preset pathfinding algorithm is Pathfinding algorithm. When the embodied robot 10 performs a task, it is controlled to move normally along the planned path, and there are no obstacles on the path. Figure 5 The path shown l 1.

[0102] S202: Determine whether an obstacle is detected during the driving process and whether a soft collision condition is met.

[0103] like Figure 6 As shown, during the movement, the embodied robot 10 encounters a temporary dynamic obstacle. The laser radar on the embodied robot 10 detects point cloud occlusion, and the local obstacle avoidance algorithm cannot completely avoid the dynamic obstacle with a wide lateral coverage distance. The embodied robot 10 continues to move and the final direct distance to the dynamic obstacle is less than the preset distance L_MIN (for example, L_MIN=3cm), triggering a soft collision.

[0104] If it is determined that an obstacle is detected and the soft collision condition is met, step S203 is executed; otherwise, step S202 is continued.

[0105] S203: Mark the occlusion point cloud 1 corresponding to the currently detected obstacle, and replan the path based on the size of the occlusion point cloud 1 and the basic cost map to obtain a new path 2. That is, map the occlusion point cloud to the grid map, mark the area occupied by the occlusion point cloud 1 in the grid map, and obtain the occlusion point cloud area 1.

[0106] Specifically, according to the size of the occlusion point cloud 1 and the basic cost map, the path is replanned and a new path 2 is obtained, such as Figure 6 Path in l 2. At the same time, the embodied robot 10 maps the occlusion point cloud 1 (point cloud data) within the current 1m around itself to the grid map.

[0107] S204 , when controlling the embodied robot to move along the replanned new path 2 , if an occlusion point cloud 2 corresponding to another obstacle is detected again and the soft collision condition is met.

[0108] like Figure 7 As shown, the embodied robot 10 continues to travel along the re-planned new path 2. During the travel process, it detects that a movable obstacle is blocking the new path 2. At this time, the lidar detects point cloud occlusion, and the local obstacle avoidance cannot completely avoid it. As a result, the direct distance between the embodied robot 10 and the movable obstacle is less than the preset distance L_MIN, and the soft collision condition is met again.

[0109] S205 , marking the occlusion point cloud 2 corresponding to the other currently detected obstacles, and replanning the path according to the size of the occlusion point cloud 2 and the basic cost map to obtain a new path 3 .

[0110] According to the size of the occlusion point cloud 2 and the basic cost map, the path is re-planned to obtain the new path 3, as shown in Figure 7 Path in l 3. At the same time, the embodied robot 10 maps the occlusion point cloud 2 within the current 1m to the grid map based on itself, and obtains the area occupied by the occlusion point cloud 2 in the grid map, which is also the area occupied by the obstacle.

[0111] S206, while controlling the embodied robot to move along the re-planned new path 3, continue to detect whether there is an occlusion point cloud corresponding to the obstacle and whether the soft collision condition is met, repeat the corresponding contents of the above steps S202 and S203 n-1 times until it is detected that the soft collision condition is met on all planned paths, then execute step S207 to avoid repeating the planned path, save time, and try to pass.

[0112] S207: Determine whether the newly replanned path n intersects any marked obstruction point cloud region. If so, proceed to step S208: attempt a real collision with the marked obstacle. To improve the success rate of passage, in this embodiment, all newly replanned paths intersect at least one marked obstruction point cloud region.

[0113] S208: Attempt to collide with the marked obstacle. Continue to move according to the re-planned new path n to attempt to collide with the marked obstacle to improve traffic efficiency.

[0114] The embodied robot 10 is controlled to continue moving along the new path n, and attempts to have a hard collision (real collision) with the previously marked obstacles on the new path n to improve the passage efficiency.

[0115] S209: Determine whether the embodied robot 10 has passed through the marked occlusion point cloud area. If so, proceed to step S210; otherwise, proceed to step S211.

[0116] If the marked obstacle still blocks the path after attempting a hard collision, the embodied robot 10 will produce a real collision (hard collision) with the marked obstacle.

[0117] If the path is passable after a hard collision, the robot will continue to move forward. For example, if an obstacle is knocked away, making the path passable. For another example, if a temporary obstacle has been removed during the robot's movement, the robot will continue to move along the new path.

[0118] If it is impassable, step S211 is executed to calculate the collision costs of all soft collision paths.

[0119] S210: Determine whether the destination has been reached. That is, determine whether the charging point has been reached. If the destination has been reached, execute step S214 to clear the marked occlusion point cloud areas where no actual collisions have occurred, ending the task. Otherwise, return to step S212.

[0120] S211: Update the collision cost in the costmap based on the occlusion point cloud corresponding to the obstacle and calculate the collision cost of each soft collision path. This means attempting to pass through other marked occlusion point cloud areas. A soft collision path is a separately planned path that passes through the marked occlusion point cloud areas.

[0121] S212, based on the collision costs of each soft collision path, determine whether there is a target path that meets the pass conditions. If there is a path that meets the conditions, continue to move according to the target path and jump to S207, otherwise execute step S213 to confirm that the target task has failed. If it is determined that the collision costs of all other planned soft collision paths do not meet the pass conditions, execute step S213 to determine that the task has failed and end the task. The collision cost does not meet the pass conditions when the collision cost is higher than the preset threshold, indicating that there is an obstacle blocking the passage in the occlusion point cloud area passed through, and the embodied robot has a hard collision in the occlusion point cloud area.

[0122] S213: Confirming mission failure. The embodied robot 10 calculates the path costs of all soft collision paths. If all of them are determined to be very high, indicating that all of them are blocked by obstacles and cannot be passed, the mission is considered failed. The marked occlusion point cloud is cleared to end the mission.

[0123] S214 clears marked obstacles that have not caused actual collisions. This means clearing the area on the grid map occupied by previously marked occlusion point clouds that have not caused actual collisions. Note that the data in the costmap updated based on obstacles corresponding to actual collisions does not need to be cleared, to facilitate subsequent path planning and reduce the number of collisions.

[0124] Figure 8 FIG. 8 is a schematic structural diagram of an embodied robot movement control device according to an embodiment of the present application. Exemplarily, the embodied robot movement control device includes: a movement control module 810 , a path replanning module 820 , and a collision execution module 830 .

[0125] The travel control module 810 is used to respond to task instructions and control the embodied robot 10 to travel along the planned path;

[0126] The path replanning module 820 is used to mark the occlusion point cloud corresponding to the current obstacle and replan the path when the current obstacle is detected and the soft collision condition is met;

[0127] The collision execution module 830 is used to control the embodied robot 10 to move along the new path if the re-planned new path intersects with any historically marked occlusion point cloud, and to attempt to actually collide with the marked obstacle corresponding to the occlusion point cloud to confirm whether it is passable.

[0128] It can be understood that the device of this embodiment corresponds to the embodied robot movement control method of the above embodiment, and the optional items in the above embodiment are also applicable to this embodiment, so they will not be repeated here.

[0129] The present application also provides a computer-readable storage medium for storing the computer program used in the embodied robot 10. For example, the computer-readable storage medium may include, but is not limited to, various media capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0130] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and structure diagrams in the accompanying drawings show the possible architectures, functions and operations of the devices, methods and computer program products according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and the module, program segment or a part of the code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in an alternative implementation, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the structure diagram and / or flowchart, and the combination of boxes in the structure diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or can be implemented using a combination of dedicated hardware and computer instructions.

[0131] In addition, the functional modules or units in the various embodiments of the present application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0132] If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a smart phone, personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application.

[0133] The above is only a specific implementation method of the present application, but the scope of protection of the present application is not limited thereto. Any technician familiar with this technical field can easily think of changes or replacements within the technical scope disclosed in this application, which should be covered by the scope of protection of the present application.

Claims

1. A method for controlling movement of an embodied robot, characterized in that: include: Responding to task instructions, controlling the embodied robot to move along a planned path; When a current obstacle is detected and a soft collision condition is met, the occlusion point cloud corresponding to the current obstacle is marked and the path is replanned; wherein the marking of the occlusion point cloud corresponding to the current obstacle includes: Obtaining an occlusion point cloud within a preset area with the embodied robot as the center; mapping and saving the occlusion point cloud to a grid map to obtain a local obstacle map, marking the area occupied by the current obstacle in the local obstacle map; and in this task, if a new obstacle is detected again, mapping and saving the corresponding occlusion point cloud to the local obstacle map; satisfying the soft collision condition includes: determining that the soft collision condition is satisfied when the distance between the embodied robot and the occlusion point cloud of the currently detected obstacle is less than a preset distance, and the lateral size of the occlusion point cloud is not less than a preset lateral avoidance length; If the re-planned new path intersects with any historically marked occlusion point cloud, the embodied robot is controlled to move along the new path and attempt to collide with the marked obstacle corresponding to the occlusion point cloud to confirm whether it is passable; If the actual collision occurs and the embodied robot does not pass through the obstructed point cloud area, replanning a path based on a cost map to attempt to pass through the area; wherein the cost map includes a collision cost determined based on the marked obstacle where the actual collision occurred; If the real collision occurs, updating the corresponding collision cost in the costmap according to the marked obstacle where the real collision occurred, and the updated collision cost is higher than a preset threshold; Among them, the re-planning of the path based on the cost map includes: in the calculation process of the re-planned path, if it is calculated that the collision costs of all the soft collision paths planned do not meet the pass conditions, then the task is determined to have failed and the task is ended; wherein, the soft collision path is a path that intersects with the marked occlusion point cloud area; the collision cost does not meet the pass conditions if the collision cost is higher than a preset threshold.

2. The embodied robot movement control method according to claim 1, characterized in that: Also includes: If the real collision occurs and the embodied robot successfully passes through the blocked point cloud area, the embodied robot is controlled to continue moving along the new path.

3. The embodied robot movement control method according to claim 1, characterized in that: Also includes: If the real collision does not occur, the embodied robot is controlled to continue moving along the new path, and the marked obstacle is determined to be moved out of the occluded point cloud area.

4. The embodied robot movement control method according to claim 1, characterized in that: The marking of the occlusion point cloud corresponding to the current obstacle and re-planning the path further includes: If it is detected again that there are other obstacles on the current new path and the soft collision condition is met, the path replanning operation is performed again, and the occlusion point cloud corresponding to the other detected obstacles is marked until it is determined that all replanned paths meet the soft collision condition.

5. The embodied robot movement control method according to claim 1, characterized in that: The method further comprises: In response to the task failure, a mapping area of ​​the marked obstacles on the local obstacle map where no actual collision occurs is cleared.

6. The embodied robot movement control method according to claim 1, characterized in that: Controlling the embodied robot to move along a planned path includes: According to the cost map, the path planned by the A* pathfinding algorithm is followed.

7. The embodied robot movement control method according to claim 1, characterized in that: If the re-planned new path intersects with any occlusion point cloud of the historical marker, controlling the embodied robot to move along the new path includes: When it is determined that all re-planned paths satisfy the soft collision condition, if the re-planned new path intersects with the occlusion point cloud of any historical marker, the embodied robot is controlled to move along the new path.

8. A motion control device for an embodied robot, characterized in that: include: A movement control module, configured to respond to task instructions and control the embodied robot to move along a planned path; A path replanning module is used to mark the occlusion point cloud corresponding to the current obstacle and replan the path when the current obstacle is detected and the soft collision condition is met; wherein, the marking of the occlusion point cloud corresponding to the current obstacle includes: obtaining the occlusion point cloud within a preset area based on the embodied robot as the center; mapping and saving the occlusion point cloud to a grid map to obtain a local obstacle map, so as to mark the area occupied by the current obstacle in the local obstacle map, and in this task, if a new obstacle is detected again, the corresponding occlusion point cloud is mapped and saved to the local obstacle map; the meeting of the soft collision condition includes: determining that the soft collision condition is met when the distance between the embodied robot and the occlusion point cloud of the currently detected obstacle is less than a preset distance, and the lateral size of the occlusion point cloud is not less than a preset lateral avoidance length; a collision execution module, configured to control the embodied robot to move along the new path if the re-planned path intersects with any historically marked occlusion point cloud, and attempt to cause a real collision with the marked obstacle corresponding to the occlusion point cloud to confirm whether the robot is passable; a cost updating module, configured to update a corresponding collision cost in a cost map according to the marked obstacle where the real collision occurs, if the real collision occurs, and the updated collision cost is higher than a preset threshold; A post-collision processing module is used to re-plan the path according to the cost map in an attempt to pass if the real collision occurs and the embodied robot does not pass through the occluded point cloud area; wherein the cost map includes a collision cost determined according to the marked obstacle where the real collision occurred; wherein, re-planning the path according to the cost map includes: during the calculation process of the re-planned path, if it is calculated that the collision costs of all the soft collision paths planned do not meet the pass condition, then determining that the task has failed and terminating the task; wherein, the soft collision path is a path that intersects with the marked occluded point cloud area; the collision cost does not meet the pass condition if the collision cost is higher than a preset threshold.

9. An embodied robot, characterized in that: The embodied robot includes a processor and a memory, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the embodied robot movement control method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that The device stores a computer program, which, when executed on a processor, implements the embodied robot movement control method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Narrow slit escape method, device and equipment of sweeping robot and readable storage medium

    CN111208811A

  • Path planning method and system based on obstacle marking and self-moving robot

    CN116414118A