Robot motion planning system in dynamic environment and robot

By dividing obstacle trajectories and robot movement paths into time steps in a dynamic environment and grouping them into safety intervals, the collision problem in robot path planning is solved, improving the scheduling efficiency and safety of robots in dynamic environments.

CN120831952APending Publication Date: 2025-10-24XYZ ROBOTICS CHINA INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410468441.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-18
Publication Date
2025-10-24

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively avoid collisions with dynamic obstacles and other robots during robot path planning in dynamic environments, resulting in suboptimal path planning or the inability to find solutions, thus affecting the scheduling efficiency of robots in complex environments.

Method used

By determining the trajectory of dynamic obstacles and dividing it into multiple time steps, the robot's motion path is planned and also divided into multiple time steps, grouped into collision-free safe intervals, scanning the paths of other robots to detect potential conflicts, and controlling the robot to move to the next safe interval when there are no conflicts, while generating obstacle avoidance strategies to handle conflicts.

Benefits of technology

It effectively avoids collisions between robots and obstacles and other robots in dynamic environments, improves the scheduling efficiency and safety of robots in complex environments, and reduces the total time consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120831952A_ABST
    Figure CN120831952A_ABST
Patent Text Reader

Abstract

The invention provides a robot motion planning system in a dynamic environment and a robot, the robot motion planning system comprises a positioning unit, a processing unit and a sensing unit, each unit in the processing unit is used for determining the moving tracks of all dynamic obstacles in the environment and dividing the moving tracks into a plurality of time steps; planning a motion path of the first robot and then dividing the motion path into a plurality of time steps; grouping continuous and collision-free time steps between the first robot and the dynamic obstacle into safety intervals; and the first robot scans the motion path of the second robot and searches whether there is a conflict with the motion path of the second robot in a subsequent safety interval, and if there is no conflict, the first robot is controlled to run to the next safety interval. Therefore, a plurality of robots can be planned to move at the same time in the same plane, the robots are effectively prevented from colliding with obstacles and other moving robots, the total consumed time for all the robots to execute tasks is shortest, and the scheduling efficiency of the robots is remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to intelligent manufacturing and high-end manufacturing, in particular, to a robot motion planning system and robot in dynamic environment. BACKGROUND

[0002] Almost all tasks performed by robots, whether autonomous vehicles or performing household chores (e.g. cleaning a room), assume the ability to navigate from one place to another safely in the presence of moving objects (e.g. people, pets, cars, etc.). To achieve this, robots need to be able to predict where these dynamic obstacles will move to in the near future. They need to plan shortcuts to achieve goals without endangering or inconveniencing people. Robots also need to be able to quickly plan these paths, in cases where the trajectories of dynamic obstacles are not as predicted by the robot and a new plan must be created to prevent collisions. Being able to efficiently plan paths will enable robots to be more sensitive and robust to changing environments. When planning in dynamic environments, a time dimension needs to be added to the state space in order to correctly handle moving obstacles

[0003] Currently, path planning is done by converting each dynamic obstacle (sometimes its near-future predicted trajectory) into a static obstacle for practical needs. This ensures that the generated plan will not collide with dynamic obstacles in the near future.

[0004] However, this approach is not ideal when the robot could have passed through the trajectory without being hit, or just waited for the obstacle to pass through before crossing. Instead, it will go a long way around the trajectory of the obstacle. In some cases, this approach simply cannot find a solution. SUMMARY

[0005] In view of the defects in the prior art, the present application aims to provide a robot motion planning system and robot in dynamic environment.

[0006] In a first aspect, the embodiments of the present application provide a robot motion planning system in dynamic environment, comprising: a positioning unit, a processing unit, a perception unit, the positioning unit and the perception unit are installed on the robot to determine the real-time position of the robot and obtain dynamic obstacle information of the surrounding environment, wherein the processing unit comprises: an obstacle running trajectory determination unit, a motion path planning unit, a time step grouping unit, a search unit, and a control unit.

[0007] The obstacle running trajectory determination unit is configured to determine running trajectories of all dynamic obstacles in the environment, and divide the running trajectories into a plurality of time steps.

[0008] The motion path planning unit is configured to plan a motion path of the first robot, and divide the motion path into a plurality of time steps.

[0009] The time step grouping unit is configured to group the continuous and collision-free time steps between the first robot and the dynamic obstacle into M safe intervals, where M is a natural number greater than 0.

[0010] The searching unit is configured to, before the first robot runs, scan a motion path of a second robot, and search whether there is a conflict with the motion path of the second robot within next N safe intervals, where N is a natural number greater than 0 and not greater than M.

[0011] The control unit is configured to, when there is no conflict, control the first robot to run to the next safe interval.

[0012] Optionally, the obstacle running trajectory determination unit is specifically configured to:

[0013] predict a running direction and a motion speed of the dynamic obstacle through an image sensor arranged in the environment and / or a perception unit loaded on the first robot, to obtain a running trajectory of all the dynamic obstacles in the environment;

[0014] create a time line for the running trajectory, and predict a collision point between the first robot and each dynamic obstacle by taking a sum of a radius of the dynamic obstacle and a radius of the first robot as a collision distance, and divide a time period between each collision point into a plurality of time steps.

[0015] Optionally, the motion path planning unit is specifically configured to:

[0016] plan a motion path according to a current position and a target position of the first robot;

[0017] create a time line for the motion path of the first robot according to a running speed of the first robot, and divide the motion path of the first robot into a plurality of time steps according to the time line.

[0018] Optionally, the time step grouping unit is specifically configured to:

[0019] take the current position of the first robot as a starting point, and predict that the first robot will collide with at least one dynamic obstacle at the Kth time step, where K is a natural number greater than 1;

[0020] group the current position of the first robot and K-1 time steps into a safe interval, where the first robot can freely run in the safe interval.

[0021] Optionally, the searching unit is specifically configured to:

[0022] acquire a current position of the second robot, and a target position of the second robot, and predict a motion path of the second robot;

[0023] create a time line for the motion path of the second robot according to a running speed of the second robot, and divide the motion path of the second robot into a plurality of time steps according to the time line;

[0024] determine all possible positions of the second robot at corresponding time steps within N safety intervals;

[0025] if the possible position of the second robot is located on the motion path of the first robot, determine that there is a conflict.

[0026] Optionally, the first robot and the second robot run in the same plane, and the second robot is one or more robots other than the first robot.

[0027] Optionally, the first robot plans a path according to a SIPP algorithm to obtain the motion path of the first robot.

[0028] Optionally, the processing unit further comprises an obstacle avoidance strategy generation unit, configured to generate an obstacle avoidance strategy of the first robot when there is a conflict, the obstacle avoidance strategy comprising any of the following:

[0029] wait for at least one time step, and then run to the next safety interval after the second robot passes;

[0030] re-plan to generate a new motion path;

[0031] establish communication with the second robot to coordinate the passing order of the collision point.

[0032] Optionally, further comprising an emergency braking unit, configured to control the first robot to be in an emergency braking state when the perception unit acquires a dynamic obstacle or the second robot enters a safety distance of the first robot.

[0033] In a second aspect, the embodiments of the present application provide a robot, comprising a mobile base, a driving mechanism, and a robot motion planning system in a dynamic environment as described in any one of the first aspect, and the robot travels according to the motion path generated by the robot motion planning system in the dynamic environment.

[0034] Compared with the prior art, the present application has the following beneficial effects:

[0035] In the present application, the running track of all dynamic obstacles in the environment is determined, and the running track is divided into multiple time steps; the motion path of the first robot is planned, and the motion path is also divided into multiple time steps; the continuous and collision-free time steps between the first robot and the dynamic obstacles are grouped into M safety intervals; wherein M is a natural number greater than 0; before the first robot runs, the motion path of the second robot is scanned, and whether there is a conflict with the motion path of the second robot in the next N safety intervals is searched, wherein N is a natural number greater than 0 and not greater than M; if there is no conflict, the first robot is controlled to run to the next safety interval. Thus, multiple robots can be planned to move simultaneously in the same plane, which is suitable for complex environments with dynamic obstacles, effectively avoids collision between the robot and the obstacle, and other moving robots, and makes the total time consumption of all robots performing tasks shortest, and significantly improves the scheduling efficiency of the robot. BRIEF DESCRIPTION OF DRAWINGS

[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor based on the provided drawings. Other features, objects and advantages of the present application will become more apparent through reading the following detailed description of the non-limiting embodiments with reference to the accompanying drawings:

[0037] Fig. 1(a) is a schematic diagram of the principle of dividing safety intervals of robot running in a dynamic environment;

[0038] Fig. 1(b) is a schematic diagram of the principle of dividing safety intervals of robot running in a dynamic environment Figure Two ;

[0039] Fig. 1(c) is a schematic diagram of the principle of dividing safety intervals of robot running in a dynamic environment Figure Three ;

[0040] Fig. 1(d) is a schematic diagram of the principle of dividing safety intervals of robot running in a dynamic environment Figure Four ;

[0041] Figure 2 Fig. 1(d) is a schematic diagram of the principle of dividing safety intervals of robot running in a dynamic environment

[0042] Figure 3 Fig. 1(d) is a schematic diagram of the principle of dividing safety intervals of robot running in a dynamic environment

[0043] Figure 4A structural schematic diagram of a dynamic environment robot motion planning device provided by an embodiment of the present application is shown in FIG. 1.

[0044] Figure 5 A structural schematic diagram of a computer readable storage medium in an embodiment of the present application is shown in FIG. 4. DETAILED DESCRIPTION

[0045] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions of the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort belong to the scope of protection of the present application.

[0046] It should be noted that when a component is referred to as being "fixed" to another component, it can be directly on the other component or there can be intervening components. When a component is referred to as being "connected" to another component, it can be directly connected to the other component or there can be intervening components.

[0047] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this description, the terms "may" and "can" include any one of, or all of, possible combination of the items that they describe.

[0048] The terms "first", "second", "third", "fourth", and the like, if any, in the description of the application and the claims herein and in the above drawings, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of the terms so termed is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of accomplishing the same objectives regardless of the particular sequence or chronological order of the steps involved. Moreover, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, product or apparatus that comprises a list of steps or units is not necessarily limited to those steps or units that are explicitly listed, but can include other steps or units not expressly listed or inherent to such process, method, product or apparatus.

[0049] The technical solutions of the present application and how the technical solutions of the present application solve the above technical problems will be described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes can not be described again in some embodiments.

[0050] Some embodiments of the present application will be described in detail with reference to the drawings, in which like reference numerals refer to like elements. The embodiments described below are not meant to be limiting in any way.

[0051] Fig. 1(a) is a schematic diagram of the principle of dividing the safety interval of robot running in a dynamic environment; Figure Two Fig. 1(b) is a schematic diagram of the principle of dividing the safety interval of robot running in a dynamic environment; Figure Three Fig. 1(c) is a schematic diagram of the principle of dividing the safety interval of robot running in a dynamic environment; Figure Four Fig. 1(d) is a schematic diagram of the principle of dividing the safety interval of robot running in a dynamic environment; Figures 1(a) to 1(d) As shown in Fig. 1(a), the initial environment of the robot R trying to reach the goal G, the dynamic obstacle on the right moves to the left, and the dynamic obstacle at the bottom moves upward. The dynamic obstacle and the robot can move one grid at each time step. In Fig. 1(b), the first step of the optimal plan is to wait for one time step and move downward. In Fig. 1(c), the plan is to move right first, without waiting. In Fig. 1(d), the third action of the plan is to wait for one time step and then move left.

[0052] Fig. 1(b) shows the environment after the first action of the optimal plan. The cell to the right of the robot has only one safety interval. It is safe to move right immediately, as well as to wait for one time step and then move right. In this embodiment, only one state per (configuration, interval) pair is stored, and this state is the earliest reachable state. Therefore, moving right immediately is the only operation considered for the right cell. Fig. 1(c) shows the environment after the second action of the optimal plan. Here, the planner’s next action will be to move left to the third safety interval of this cell (after the second dynamic obstacle passes). This means that this operation will wait for one time step in place and then move left. Fig. 1(d) shows the environment after the third action of the optimal plan. The remaining 3 actions of the plan are all downward, so there is no need to wait.

[0053] Figure 2 Fig. 2 is a schematic diagram of the structure of a robot motion planning system in a dynamic environment provided by an embodiment of the present application, as shown in Fig. 1(a), the initial environment of the robot R trying to reach the goal G, the dynamic obstacle on the right moves to the left, and the dynamic obstacle at the bottom moves upward. The dynamic obstacle and the robot can move one grid at each time step. In Fig. 2(a), the first step of the optimal plan is to wait for one time step and move downward. In Fig. 2(b), the plan is to move right first, without waiting. In Fig. 2(c), the third action of the plan is to wait for one time step and then move left. Figure 2As shown, the robot motion planning system 200 in the embodiment can include a positioning unit 210 and a perception unit 230 installed on a robot to determine the real-time position of the robot and obtain dynamic obstacle information of the surrounding environment, and a processing unit 220 including an obstacle running trajectory determination unit 221, a motion path planning unit 222, a time step grouping unit 223, a search unit 224, and a control unit 225. The obstacle running trajectory determination unit 221 is configured to determine the running trajectories of all dynamic obstacles in the environment and divide the running trajectories into multiple time steps. The motion path planning unit 222 is configured to plan a motion path of the first robot and also divide the motion path into multiple time steps. The time step grouping unit 223 is configured to group the continuous and collision-free time steps between the first robot and the dynamic obstacles into M safe intervals, where M is a natural number greater than 0. The search unit 224 is configured to scan the motion path of a second robot before the first robot runs and search whether there is a conflict with the motion path of the second robot within the next N safe intervals, where N is a natural number greater than 0 and not greater than M. The control unit 225 is configured to control the first robot to run to the next safe interval when there is no conflict.

[0054] In the embodiment, the obstacle running trajectory determination unit 221 is specifically configured to predict the running direction and motion speed of the dynamic obstacles by image sensors arranged in the environment and / or perception units loaded on the first robot to obtain the running trajectories of all dynamic obstacles in the environment, create a timeline for the running trajectories, and predict the collision points between the first robot and each dynamic obstacle with the sum of the radius of the dynamic obstacle and the radius of the first robot as the collision distance, and divide the time period between each collision point into multiple time steps.

[0055] In the embodiment, as shown in FIGS. 1(a) to 1(d), each grid corresponds to a time step, and all steps between the collision points where the robot collides with the obstacles and the current position constitute a safe interval. That is, the safe interval is between the collision points.

[0056] In the embodiment, the motion path planning unit 222 is specifically configured to plan a motion path according to the current position and target position of the first robot, create a timeline for the motion path of the first robot according to the running speed of the first robot, and divide the motion path of the first robot into multiple time steps according to the timeline.

[0057] In this embodiment, the time step grouping unit 223 is specifically configured to: take the current position of the first robot as a starting point, and predict that the first robot will collide with at least one dynamic obstacle at the Kth time step, where K is a natural number greater than 1; and group the current position of the first robot and K-1 time steps as a safety interval, where the first robot can freely run within the safety interval.

[0058] In this embodiment, the searching unit 224 is specifically configured to: obtain the current position of the second robot and the target position of the second robot, and predict the motion path of the second robot; create a timeline for the motion path of the second robot according to the running speed of the second robot, and divide the motion path of the second robot into multiple time steps according to the timeline; determine all possible positions of the second robot at corresponding time steps within N safety intervals; and determine that there is a conflict if the possible position of the second robot is located on the motion path of the first robot.

[0059] It should be noted that the robot referred to in this embodiment is not limited to a specific type, and any free-moving carrier device can be defined as a robot in this embodiment.

[0060] For example, the first robot and the second robot in this embodiment run in the same plane, and the second robot is one or more robots different from the first robot.

[0061] For example, the first robot plans a motion path according to the SIPP algorithm.

[0062] In this embodiment, the running trajectories of all dynamic obstacles in the environment are determined, and the running trajectories are divided into multiple time steps; the motion path of the first robot is planned, and the motion path is also divided into multiple time steps; the continuous and collision-free time steps between the first robot and the dynamic obstacles are grouped into M safety intervals, where M is a natural number greater than 0; before the first robot runs, the motion path of the second robot is scanned, and it is searched whether there is a conflict with the motion path of the second robot within the next N safety intervals, where N is a natural number greater than 0 and not greater than M; if there is no conflict, the first robot is controlled to run to the next safety interval. Thus, multiple robots can be planned to move simultaneously in the same plane, which is suitable for complex environments with dynamic obstacles, effectively avoids collisions between robots and obstacles, and between robots in motion, and makes the total time consumed by all robots to perform tasks shortest, significantly improving the scheduling efficiency of the robots.

[0063] Figure 3A schematic diagram of the structure of another robot motion planning system for a dynamic environment provided in an embodiment of the present application is shown in FIG. Figure 3 As shown, the robot motion planning system 200 for a dynamic environment may include: a positioning unit 210, a processing unit 220, and a perception unit 230. The positioning unit 210 and the perception unit 230 are installed on the robot to determine the real-time position of the robot and obtain dynamic obstacle information in the surrounding environment. The processing unit 220 includes: an obstacle trajectory determination unit 221, a motion path planning unit 222, a time step grouping unit 223, a search unit 224, a control unit 225, and an obstacle avoidance strategy generation unit 226. The obstacle avoidance strategy generation unit 226 is used to generate an obstacle avoidance strategy for the first robot when there is a conflict. The obstacle avoidance strategy includes any of the following methods:

[0064] Waiting in place for at least one time step, and then moving to the next safety interval after the second robot passes;

[0065] Replanning to generate new motion paths;

[0066] Establish communication with the second robot to coordinate the order of passing the collision point.

[0067] Exemplarily, the system in this embodiment may further include: an emergency braking unit 240, configured to control the first robot to an emergency braking state when the sensing unit detects a dynamic obstacle or the second robot enters a safe distance from the first robot.

[0068] In this embodiment, when a collision point exists between the first robot and the second robot, an obstacle avoidance strategy can be generated in a timely manner to ensure the safe operation of the first robot and the second robot, avoid path conflicts, and improve the safety and rationality of planning while ensuring scheduling efficiency.

[0069] The present application also provides a method for robot motion planning in a dynamic environment, which may include the following steps:

[0070] Step S1: Determine the running trajectories of all dynamic obstacles in the environment and divide the running trajectories into multiple time steps.

[0071] In this embodiment, the running direction and movement speed of the dynamic obstacles can be predicted by image sensors arranged in the environment and / or the perception unit mounted on the first robot, so as to obtain the running trajectory of all dynamic obstacles in the environment; a timeline is created for the running trajectory, and the sum of the radius of the dynamic obstacle and the radius of the first robot is used as the collision distance to predict the collision point between the first robot and each dynamic obstacle, and the time period between each collision point in the running trajectory is divided into multiple time steps.

[0072] For example, the first robot can plan a motion path according to the SIPP algorithm.

[0073] In step S2, the motion path of the first robot is planned, and the motion path is also divided into multiple time steps.

[0074] In this embodiment, first, the motion path is planned according to the current position and the target position of the first robot; a timeline is created for the motion path of the first robot according to the running speed of the first robot, and the motion path of the first robot is divided into multiple time steps according to the timeline.

[0075] In step S3, the continuous and collision-free time steps between the first robot and the dynamic obstacle are grouped into M safety intervals; wherein M is a natural number greater than 0.

[0076] In this embodiment, the current position of the first robot is taken as the starting point, and it is predicted that the first robot will collide with at least one dynamic obstacle at the Kth time step, wherein K is a natural number greater than 1; the current position of the first robot and K-1 time steps are grouped into safety intervals; wherein in the safety interval, the first robot can run freely.

[0077] In this embodiment, as shown in FIGS. 1(a) to (d), each grid corresponds to a time step, and all steps between the collision point where the robot collides with the obstacle and the current position form a safety interval. That is, the safety interval is between the collision point and the collision point.

[0078] In step S4, before the first robot runs, the motion path of the second robot is scanned, and it is searched whether there is a conflict with the motion path of the second robot in the next N safety intervals, wherein N is a natural number greater than 0 and not greater than M.

[0079] In this embodiment, since the existing method only considers the motion of the obstacle and ignores the simultaneous motion of multiple robots, for example, when the first robot judges that there is no obstacle at the current time and the next time, it is allowed to move. Similarly, the second robot judges that there is no obstacle at the current time and the next time, and it is also allowed to move. Then a special situation is easy to appear, that is, the first robot and the second robot move to a position at the same time, or the second robot blocks the necessary point of the first robot, thereby causing a collision.

[0080] To better solve the above problems, first, the current position of the second robot is acquired, and the target position of the second robot is acquired, and the motion path of the second robot is predicted; according to the running speed of the second robot, a timeline is created for the motion path of the second robot, and the motion path of the second robot is divided into multiple time steps according to the timeline; it is determined that there is a conflict if the possible position of the second robot is located on the motion path of the first robot.

[0081] Step S5, if there is no conflict, the first robot is controlled to run to the next safety interval.

[0082] It should be noted that in the embodiment, the first robot and the second robot run in the same plane, and the second robot is one or more robots different from the first robot.

[0083] In the embodiment, by determining the running trajectory of all dynamic obstacles in the environment, and dividing the running trajectory into multiple time steps; the motion path of the first robot is planned, and the motion path is also divided into multiple time steps; the continuous and collision-free time steps between the first robot and the dynamic obstacles are grouped into M safety intervals; wherein M is a natural number greater than 0; before the first robot runs, the motion path of the second robot is scanned, and it is searched whether there is a conflict with the motion path of the second robot in the next N safety intervals, wherein N is a natural number greater than 0 and not greater than M; if there is no conflict, the first robot is controlled to run to the next safety interval. Thus, it is possible to plan multiple robots to move simultaneously in the same plane, which is suitable for complex environments with dynamic obstacles, effectively avoids collision between the robot and the obstacle, and other moving robots, and makes the total time consumption of all robots executing tasks shortest, and significantly improves the scheduling efficiency of the robot.

[0084] In an alternative embodiment, the above method can further comprise:

[0085] Step S6, if there is a conflict, an obstacle avoidance strategy of the first robot is generated.

[0086] In the embodiment, the obstacle avoidance strategy includes any of the following ways:

[0087] 1) Wait in place for at least one time step, and then run to the next safety interval after the second robot passes.

[0088] 2) Re-plan to generate a new motion path.

[0089] 3) Establish communication with the second robot to coordinate the passing order of the collision point.

[0090] The embodiment can generate an obstacle avoidance strategy in time when there is a collision point between the first robot and the second robot, so as to guarantee the safe operation of the first robot and the second robot, avoid path conflict, and improve the safety and rationality of planning while guaranteeing the scheduling efficiency.

[0091] Figure 4 The structural schematic diagram of the robot motion planning device in a dynamic environment provided by an embodiment of the present application, the robot motion planning device 400 in the embodiment can include a processor 401 and a memory 402.

[0092] The memory 402 is configured to store programs; the memory 402 can include volatile memory (English: volatile memory), such as random access memory (English: random-access memory, abbreviated as RAM), such as static random access memory (English: static random-access memory, abbreviated as SRAM), double data rate synchronous dynamic random access memory (English: Double Data Rate Synchronous Dynamic Random Access Memory, abbreviated as DDR SDRAM), etc.; the memory can also include non-volatile memory (English: non-volatile memory), such as flash memory (English: flash memory). The memory 402 is configured to store computer programs (such as application programs, functional modules, etc. for implementing the above method), computer instructions, etc. The above computer programs, computer instructions, etc. can be stored in one or more memories 402. And the above computer programs, computer instructions, data, etc. can be called by the processor 401.

[0093] The above computer programs, computer instructions, etc. can be stored in one or more memories 402. And the above computer programs, computer instructions, data, etc. can be called by the processor 401.

[0094] The processor 401 is configured to execute the computer programs stored in the memory 402 to implement each step in the method related by the above embodiment.

[0095] For details, please refer to the related description in the above method embodiment.

[0096] The processor 401 and the memory 402 can be an independent structure, or an integrated structure. When the processor 401 and the memory 402 are independent structures, the memory 402 and the processor 401 can be coupled and connected through a bus 403.

[0097] The robot motion planning device 400 in the dynamic environment of the embodiment can execute the technical solutions in the above method, and the specific implementation process and technical principles are referred to the related description in the above method, which will not be described here.

[0098] Those skilled in the art can understand that various aspects of the present application can be implemented as a system, a method or a program product. Therefore, various aspects of the present application can be implemented in the form of a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation of hardware and software aspects combined, which can be collectively referred to as "circuitry", "module" or "platform" here.

[0099] In addition, the embodiment of the present application also provides a computer readable storage medium, the computer readable storage medium stores computer execution instructions, when at least one processor of the user equipment executes the computer execution instructions, the user equipment executes various possible methods described above.

[0100] The computer readable medium includes a computer storage medium and a communication medium, and the communication medium includes any medium that facilitates the transfer of computer program from one place to another. The storage medium can be any available medium that can be accessed by a general or special purpose computer. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in the user equipment. Of course, the processor and the storage medium can also exist as discrete components in the communication device.

[0101] The present application also provides a program product, the program product includes a computer program, the computer program is stored in a readable storage medium, at least one processor of the server can read the computer program from the readable storage medium, and the at least one processor executes the computer program so that the server implements the method of any of the above embodiments of the present application.

[0102] Those skilled in the art can understand that all or part of the steps of the above-mentioned method embodiments can be completed by program instruction related hardware, and the foregoing program can be stored in a computer readable storage medium, and the program executes the steps of the above-mentioned method embodiments when executed; and the foregoing storage medium includes read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and various program codes storage medium.

[0103] Figure 5 is a structural schematic diagram of the computer readable storage medium in the embodiment of the present application. Referring toFigure 5 As shown, a program product 500 for implementing the above-described method according to an embodiment of the present application is described, which can take the form of a portable compact disc read-only memory (CD-ROM) and includes a program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present application is not limited to this, and in this document, the readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus or device.

[0104] The program product can take any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium, for example, can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any suitable combination of the above. More specific examples (a non-exhaustive list) of the readable storage medium include an electrical connection having one or more wires, a portable disc, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0105] The computer readable storage medium can include a data signal transported, propagated or transmitted, in baseband or as part of a carrier, having readable program code embodied therein. The data signal can take any number of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination thereof. The computer readable storage medium can be any readable medium that can be accessed by a computer. The computer readable storage medium can be a machine-readable storage medium or communication medium. The communication medium can include any medium that facilitates transfer of a computer program from one place to another. The communication medium can include, for example, a wired medium or a wireless medium. The wired medium can include, for example, wires, communication lines, telephone lines, telephone networks, or any suitable combination thereof. The wireless medium can include, for example, microwave, infrared, ultraviolet, visible light, lasers, or any suitable combination thereof.

[0106] The program code for carrying out operations of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++, or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device or entirely on the remote computing device or server. In the latter scenario, the remote computing device can be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computing device, such as through the Internet using an Internet Service Provider.

[0107] The various embodiments described in this specification are presented by way of example, and are not intended to limit the scope of the application. Numerous modifications to the described embodiments will be readily apparent to those skilled in the art, and the general principles defined herein can be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0108] The specific embodiments of the present application have been described. It is to be understood that the application is not limited to the specific embodiments described and that modifications can be made to these embodiments without parting from the spirit or scope of the application.

Claims

1. A dynamic environment robot motion planning system, characterized by, The application relates to a robot motion planning method and device. The application comprises a positioning unit, a processing unit and a sensing unit, which are installed on a robot to determine the real-time position of the robot and acquire dynamic obstacle information of the surrounding environment, wherein the processing unit comprises an obstacle running track determination unit, a motion path planning unit, a time step grouping unit, a searching unit and a control unit. The obstacle running track determination unit is used for determining the running tracks of all dynamic obstacles in the environment and dividing the running tracks into multiple time steps. The motion path planning unit is used for planning the motion path of the first robot and dividing the motion path into multiple time steps. The time step grouping unit is used for grouping the continuous and collision-free time steps between the first robot and the dynamic obstacles into M safe intervals, wherein M is a natural number greater than 0. The searching unit is used for scanning the motion path of a second robot and searching whether there is a conflict with the motion path of the second robot within the next N safe intervals before the first robot runs, wherein N is a natural number greater than 0 and not greater than M. The control unit is used for controlling the first robot to run to the next safe interval when there is no conflict.

2. The dynamic environmental robotic motion planning system of claim 1, wherein, The obstacle running track determination unit is specifically used for: predicting the running direction and motion speed of the dynamic obstacles through image sensors arranged in the environment and / or the sensing unit loaded on the first robot to obtain the running tracks of all dynamic obstacles in the environment; creating a time line for the running tracks and predicting the collision points between the first robot and each dynamic obstacle by taking the sum of the radii of the dynamic obstacles and the first robot as the collision distance, and dividing the time period between each collision point into multiple time steps.

3. The dynamic environmental robot motion planning system of claim 2, wherein, The motion path planning unit is specifically used for: planning the motion path according to the current position and target position of the first robot; creating a time line for the motion path of the first robot according to the running speed of the first robot and dividing the motion path of the first robot into multiple time steps according to the time line.

4. The dynamic environmental robotic motion planning system of claim 1, wherein, The time step grouping unit is specifically used for: taking the current position of the first robot as the starting point to predict that the first robot will collide with at least one dynamic obstacle at the Kth time step, wherein K is a natural number greater than 1; grouping the current position of the first robot and K-1 time steps into safe intervals, wherein the first robot can freely run in the safe intervals.

5. The dynamic environmental robotic motion planning system of claim 1, wherein, The searching unit is specifically used for: acquiring the current position and target position of the second robot and predicting the motion path of the second robot; creating a time line for the motion path of the second robot according to the running speed of the second robot and dividing the motion path of the second robot into multiple time steps according to the time line; determining all possible positions of the second robot at corresponding time steps within N safe intervals; if the possible position of the second robot is located on the motion path of the first robot, it is determined that there is a conflict.

6. The dynamic environmental robotic motion planning system of any of claims 1-5, wherein, The first robot and the second robot run in the same plane, and the second robot is one or more than two robots distinguished from the first robot.

7. The dynamic environmental robotic motion planning system of any of claims 1-5, wherein, The first robot plans a path according to a SIPP algorithm to obtain a motion path of the first robot.

8. The dynamic environmental robotic motion planning system of any of claims 1-5, wherein, The processing unit further comprises an obstacle avoidance strategy generation unit, configured to generate an obstacle avoidance strategy of the first robot when there is a conflict, and the obstacle avoidance strategy comprises any of the following manners: Wait for at least one time step, and then run to the next safe interval after the second robot passes; Replan to generate a new motion path; Establish communication with the second robot to coordinate the passing order of the collision point.

9. The dynamic environmental robotic motion planning system of any one of claims 1-5, wherein, Further comprising: An emergency braking unit, configured to control the first robot to be in an emergency braking state when the perception unit acquires a dynamic obstacle or the second robot enters a safe distance of the first robot.

10. A robot, characterized in that Comprise: A mobile base, a driving mechanism, and the robot motion planning system in a dynamic environment according to any one of claims 1-9, and in the dynamic environment, the robot travels according to the motion path generated by the robot motion planning system in the dynamic environment.