Robot dynamic obstacle avoidance method and device based on synchronized time prediction
By employing a synchronous time prediction method, utilizing extended Kalman filtering and dynamic windowing, and combining obstacle and robot trajectory scoring, the efficiency and safety issues of dynamic obstacle avoidance in complex environments are addressed, achieving highly efficient obstacle avoidance control.
Patent Information
- Application Number
- CN202510314232.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-17
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2045-03-17
AI Technical Summary
In complex and uncertain environments, existing technologies struggle to effectively achieve dynamic obstacle avoidance for robots, especially when it comes to real-time obstacle perception, path planning, and motion control, which presents challenges such as collision risks and inefficiency.
A synchronous time prediction-based method is adopted, which uses the extended Kalman filter algorithm to determine the posterior estimated state of obstacles and combines it with the dynamic window method to predict the robot's motion trajectory. By scoring the obstacle distance, speed and target distance, the motion trajectory with the highest comprehensive score is selected for control.
It enables the prediction of future collisions and timely obstacle avoidance, reduces prediction errors, improves the robot's obstacle avoidance performance in complex environments, shortens the arrival path, and speeds up the arrival time.
Smart Images

Figure CN120143836B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robots, and particularly relates to a robot dynamic obstacle avoidance method and device based on synchronous time prediction. BACKGROUND
[0002] In various fields such as industry, logistics, agriculture, automatic driving, and ships, mobile robots have been widely applied. In the movement of the robot, it is necessary to perceive obstacles in the environment in real time, and to make decisions and plans for movement according to the perceived obstacle information, so as to avoid collision with the obstacles.
[0003] Dynamic obstacle avoidance of a mobile robot is a very complex technical problem, which needs to comprehensively consider various technologies such as environment perception, path planning, and motion control. In a general environment, the dynamic obstacle avoidance technology of the robot is already relatively mature. However, in a more complex and uncertain environment, the dynamic obstacle avoidance performance of the robot needs to be higher. SUMMARY
[0004] Therefore, the present application provides a robot dynamic obstacle avoidance method and device based on synchronous time prediction, so as to improve the dynamic obstacle avoidance performance of the robot in a complex environment.
[0005] Specifically, the present application is implemented through the following technical solutions:
[0006] The first aspect of the present application provides a robot dynamic obstacle avoidance method based on synchronous time prediction, which comprises:
[0007] For a target obstacle in the running environment of the robot, based on a first running state of the target obstacle at a current time, an extended Kalman filtering algorithm is used to determine a first posteriori estimation state of the target obstacle at the current time;
[0008] According to the first posteriori estimation state, a first motion trajectory of the target obstacle is predicted; wherein the first motion trajectory is composed of a preset number of obstacle trajectory points, and the time interval between adjacent two obstacle trajectory points is equal to a preset time resolution;
[0009] According to a second running state of the robot at the current time, a dynamic window method is used to predict a future motion trajectory of the robot, to obtain a plurality of alternative robot motion trajectories; wherein each alternative robot motion trajectory is composed of a preset number of robot trajectory points, and the time interval between adjacent two robot trajectory points is equal to the preset time resolution;
[0010] For each candidate robot motion trajectory, a first distance between each robot trajectory point on the candidate robot motion trajectory and a corresponding target obstacle trajectory point is determined, and an obstacle distance score of the candidate robot motion trajectory is determined according to the first distance; wherein a time interval from a current time to the robot trajectory point is equal to a time interval from the current time to the corresponding target obstacle trajectory point; the obstacle distance score is positively correlated with a minimum value in the first distance;
[0011] A speed score of the candidate robot motion trajectory is determined; wherein the speed score is positively correlated with a minimum value of a speed difference value; the speed difference value is a difference between a preset maximum speed and a speed of each robot trajectory point in the candidate robot motion trajectory;
[0012] A target distance score of the candidate robot motion trajectory is determined; wherein the target distance score is positively correlated with a minimum value of a target distance; the target distance is a distance between each robot trajectory point in the candidate robot motion trajectory and a preset target point;
[0013] According to the obstacle distance score, the speed score and the target distance score, a comprehensive score of the candidate robot motion trajectory is determined, and the robot is controlled according to a target candidate robot motion trajectory with the highest comprehensive score.
[0014] The second aspect of the present application provides a robot dynamic obstacle avoidance device based on synchronous time prediction, the device comprising a determination module, a prediction module, an evaluation module and a control module;
[0015] The determination module is configured to determine, for a target obstacle in a robot operating environment, a first posteriori estimation state of the target obstacle at a current time based on a first operating state of the target obstacle at the current time by using an extended Kalman filtering algorithm.
[0016] The prediction module is configured to predict a first motion trajectory of the target obstacle according to the first posteriori estimation state; wherein the first motion trajectory is composed of a preset number of obstacle trajectory points, and a time interval between adjacent two obstacle trajectory points is equal to a preset time resolution.
[0017] The prediction module is configured to predict a future motion trajectory of the robot by using a dynamic window method according to a second operating state of the robot at the current time, to obtain a plurality of candidate robot motion trajectories; wherein each candidate robot motion trajectory is composed of a preset number of robot trajectory points, and a time interval between adjacent two robot trajectory points is equal to the preset time resolution.
[0018] The evaluation module is configured to determine, for each candidate robot motion trajectory, an obstacle distance score of the candidate robot motion trajectory according to a first distance between each robot trajectory point on the candidate robot motion trajectory and a target obstacle trajectory point corresponding to the robot trajectory point, wherein a time interval from a current time to the robot trajectory point is equal to a time interval from the current time to the target obstacle trajectory point, and the obstacle distance score is positively correlated with a minimum value in the first distance;
[0019] The evaluation module is configured to determine a speed score of the candidate robot motion trajectory, wherein the speed score is positively correlated with a minimum value of a speed difference value, and the speed difference value is a difference between a preset maximum speed and a speed of each robot trajectory point in the candidate robot motion trajectory.
[0020] The evaluation module is configured to determine a target distance score of the candidate robot motion trajectory, wherein the target distance score is positively correlated with a minimum value of a target distance, and the target distance is a distance between each robot trajectory point in the candidate robot motion trajectory and a preset target point.
[0021] The control module is configured to determine a comprehensive score of the candidate robot motion trajectory according to the obstacle distance score, the speed score and the target distance score, and control the robot according to a target candidate robot motion trajectory with a highest comprehensive score.
[0022] The robot dynamic obstacle avoidance method and device based on synchronous time prediction provided in the application can predict the first motion trajectory of the target obstacle and the multiple candidate robot motion trajectories of the mobile robot, and the first motion trajectory is composed of a preset number of obstacle trajectory points, the time interval between two adjacent obstacle trajectory points is equal to a preset time resolution, each candidate robot motion trajectory is composed of a preset number of robot trajectory points, and the time interval between two adjacent robot trajectory points is equal to the preset time resolution. In this way, not only can time marks be added to the obstacle trajectory points in the first motion trajectory and the robot trajectory points in the candidate robot motion trajectory, but also the trajectory points between the first motion trajectory and the candidate robot trajectory are synchronized in time. Therefore, when selecting a target candidate robot trajectory point, only the distance between the obstacle trajectory point and the robot trajectory point at the same time needs to be compared to obtain the obstacle distance score, and then the target candidate robot trajectory is selected based on the obstacle distance score, the speed score, and the target distance score. In this way, the future collision situation can be predicted in advance, the prediction error can be reduced, the collision situation can be discovered in time, the robot motion trajectory can be adjusted in time, the detour and pause can be avoided, the arrival time can be accelerated, the arrival path can be shortened, and the overall performance can be improved. BRIEF DESCRIPTION OF DRAWINGS
[0023] Figure 1 The flowchart of the robot dynamic obstacle avoidance method based on synchronous time prediction provided in the application;
[0024] Figure 2 The implementation principle diagram of calculating the obstacle distance score shown in an exemplary embodiment of the application;
[0025] Figure 3 The flowchart of the robot dynamic obstacle avoidance method based on synchronous time prediction provided in the application;
[0026] Figure 4 The structural schematic diagram of the robot dynamic obstacle avoidance device based on synchronous time prediction provided in the application. DETAILED DESCRIPTION
[0027] The exemplary embodiments will be described in detail herein with reference to the attached drawings. The description of the exemplary embodiments is intended to apply to all alternative embodiments, as would be understood by persons skilled in the art. The following description is not intended to represent that the examples in accordance with the present application will not get numerous modifications. Examples merely typify options of various embodiments consistent with the principles of the application.
[0028] The terminology used in the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "and / or", as used herein, refers to and encompasses any and all possible combinations of one or more of the associated listed items.
[0029] It is to be understood that the singular forms "a", "an", and "the" include plural referents unless the context clearly dictates otherwise. It is to be understood that the term "and / or" as used herein encompasses all possible combinations of one or more of the associated listed items and can be abbreviated as "or". It is further understood that the terms "comprise" (and any form of comprise, e.g., comprised of, comprises, and comprising), "have", "contains", "contain", "include", "includes" and / or "contain" are not used to the exclusion of additional non-recited items that are also intended to be
[0030] In complex environments, mobile robots need to perceive obstacles in real time during movement, and make decisions and plans for movement based on the perceived information, so as to avoid collision with obstacles or cause damage to people. In order to move efficiently and safely in complex and uncertain environments and complete tasks, higher requirements are put forward for the dynamic obstacle avoidance performance of mobile robots. Dynamic obstacle avoidance of mobile robots is a complex technical problem, which needs to integrate environment perception and decision, path planning, motion control and other multi-field technical means. Current dynamic obstacle avoidance technology has made certain progress and has been widely applied in various fields such as industry, logistics, agriculture, autonomous driving and ship. In the industrial production line, mobile robots complete tasks such as material handling, assembly and packaging by avoiding workers and other equipment in the factory through dynamic obstacle avoidance, so as to ensure the safety and efficiency of the production line. In the field of agriculture, mobile robots complete tasks such as planting, harvesting and spraying by using dynamic obstacle avoidance technology to help robots avoid plants and protect them from damage, so as to achieve precise and efficient agricultural operation in irregular terrain. In urban management, dynamic obstacle avoidance technology can help robots avoid pedestrians, vehicles and other obstacles in environments with dense crowds and traffic flow. Current technology is relatively mature in known regular environments, but still faces challenges in complex and uncertain environments.
[0031] The robot dynamic obstacle avoidance method based on synchronous time prediction provided in this application adds synchronous time markers to the robot's motion trajectory and the obstacle's motion trajectory. Then, the time markers are used to detect the distance between the robot and the obstacle at the same future moment, and the obstacle distance score is determined based on this. Then, based on the obstacle distance score, the speed score and the target distance score, the comprehensive score of the candidate robot's motion trajectory is determined, and the robot is controlled according to the target candidate robot's motion trajectory with the highest comprehensive score, so as to predict future collisions and avoid obstacles in advance.
[0032] The following specific embodiments are given to illustrate the technical solution of this application in detail.
[0033] Figure 1 This is a flowchart of an embodiment of the robot dynamic obstacle avoidance method based on synchronization time prediction provided in this application. Please refer to... Figure 1 The method provided in this embodiment may include:
[0034] S101. For a target obstacle in the robot's operating environment, based on the first operating state of the target obstacle at the current moment, the extended Kalman filter algorithm is used to determine the first posterior estimated state of the target obstacle at the current moment.
[0035] It should be noted that the first operating state may include the position, velocity, and acceleration of the target obstacle.
[0036] Furthermore, the Extended Kalman Filter (EKF) algorithm is an estimation algorithm used to predict the state of a target obstacle using observation data. It combines the target's motion model with observation data, recursively estimating and updating the state to achieve tracking and prediction of the target obstacle. The EKF algorithm is computationally efficient, performs well in estimating nonlinear systems and Gaussian noise, and effectively handles dynamic changes in the system and observation uncertainties. This aligns with the requirements of dynamic obstacle avoidance for real-time performance, efficiency, and reliability. Therefore, in this embodiment, the EKF algorithm is used to track the state and predict the trajectory of the target obstacle, estimating the future running state based on the current first running state.
[0037] The initial conditions are:
[0038] ;
[0039] in, This represents the initial running state of the target obstacle. The prior state of the target obstacle is estimated. Let the prior error covariance matrix be... The process noise at the current moment, The process noise covariance matrix is... is the measurement noise of the current time, is the measurement noise covariance matrix.
[0040] Further, optionally, in a possible implementation manner, a specific implementation process of the step can include:
[0041] Step 1, determining the prior estimation state of the current time according to the posterior estimation state of the last time and the speed of the current time, and based on the nonlinear motion equation of the target obstacle.
[0042] Specifically, in this step, the prior estimation state of the current time can be determined according to the following formula:
[0043]
[0044] wherein, is the prior estimation state of the current time, is the posterior estimation state of the last time, is the speed of the target obstacle at the current time, is the nonlinear motion equation of the target obstacle.
[0045] Further, the nonlinear motion equation of the target obstacle can be shown according to the following formula:
[0046]
[0047] wherein, is the state of the target obstacle at the current time, is the state of the target obstacle at the last time, is the speed of the target obstacle at the current time, is the process noise of the current time.
[0048] The nonlinear kinematic equation is linearized by first-order Taylor expansion, and high-order terms are ignored, as shown below:
[0049]
[0050] It should be noted that since the trajectory of the target obstacle in actual motion is not linear, the prior estimation state of the target obstacle at the current time is obtained by inputting the posterior estimation state of the target obstacle at the last time and the speed into the constructed nonlinear motion equation, and the state estimation change of the target obstacle at the current time is obtained, and the process noise of the current time is added to obtain the prior estimation state of the target obstacle at the current time. In this way, the state of the target obstacle can be continuously predicted and updated, and by introducing the process noise of the current time, the prior estimation state of the target obstacle at the current time calculated finally is more accurate.
[0051] Step 2, determining the prior error covariance at the current time based on the posterior error covariance at the last time, the first Jacobian matrix of the first function at the current time with respect to the position, the second Jacobian matrix of the first function at the current time with respect to the angular velocity, and the process noise covariance matrix.
[0052] It should be noted that the elements in the prior error covariance as a matrix can reflect the error correlation between different state variables of the target obstacle and the size of the error. For example, in the case that the estimated state of the target obstacle includes position and velocity, the prior error covariance can contain correlation information between position error and position error, between velocity error and velocity error, and between position error and velocity error.
[0053] Specifically, the prior error covariance at the current time can be determined according to the following formula:
[0054] ;
[0055] wherein, is the prior error covariance at the current time, is the posterior error covariance at the last time, is the first Jacobian matrix of the first function at the current time with respect to the position, is the second Jacobian matrix of the first function at the current time with respect to the angular velocity, is the process noise covariance matrix.
[0056] Referring to the foregoing description, the first function is the nonlinear motion equation of the target obstacle, as shown above.
[0057] Further, the first Jacobian matrix and the second Jacobian matrix can be shown according to the following formula:
[0058] ;
[0059] ;
[0060] wherein, is the first function, is the state of the target obstacle at the last time, is the process noise at the last time, is the velocity of the target obstacle at the current time, is the process noise at the current time.
[0061] Step 3, determining the Kalman gain at the current time according to the prior error covariance at the current time, the third Jacobian matrix of the second function at the current time with respect to the linear velocity, the measurement noise covariance matrix, and the fourth Jacobian matrix of the second function at the current time with respect to the position.
[0062] Specifically, the Kalman gain at the current time can be determined according to the following formula:
[0063] ;
[0064] wherein, is the Kalman gain at the current time, is the prior error covariance at the current time, is the third Jacobian matrix of the second function at the current time with respect to the linear velocity, is the fourth Jacobian matrix of the second function at the current time with respect to the position, is the measurement noise covariance matrix.
[0065] It should be noted that the second function is a nonlinear observation equation of the target obstacle, as shown below:
[0066] ;
[0067] wherein, is the actual observation value at the current time, is the state of the target obstacle at the current time, is the process noise at the current time.
[0068] It can be understood that the second function is linearized by first-order Taylor expansion, and high-order terms are ignored, as shown below:
[0069] ;
[0070] Further, the third Jacobian matrix and the fourth Jacobian matrix can be shown according to the following formula:
[0071] ;
[0072] ;
[0073] wherein, is the second function, is the state of the target obstacle at the current time, is the measurement noise at the current time, is the velocity of the target obstacle at the current time, is the process noise at the current time.
[0074] Step 4, determining the estimated running state at the current time according to the prior estimation state at the current time and the second function.
[0075] Specifically, the estimated running state at the current time can be shown according to the following formula:
[0076] ;
[0077] wherein, is an estimated running state at the current time, is a priori estimated state at the current time.
[0078] Step 5, determining the first a posteriori estimated state according to the Kalman gain at the current time, the a priori estimated state at the current time and the estimated running state at the current time.
[0079] In a specific implementation, the first a posteriori estimated state can be determined according to the following formula:
[0080] ;
[0081] wherein, is the first a posteriori estimated state, is the a priori estimated state at the current time, is the estimated running state at the current time, is the Kalman gain at the current time, is the first running state at the current time.
[0082] It should be noted that after the first a posteriori state estimation is calculated, the a priori error covariance at the current time can be further updated to obtain an updated a posteriori error covariance for use at the next time.
[0083] In a specific implementation, the a priori error covariance at the current time can be updated according to the following formula:
[0084] ;
[0085] wherein, is the updated a posteriori error covariance, is the a priori error covariance at the current time, is the Kalman gain at the current time, is the fourth Jacobian matrix of the second function with respect to the position at the current time.
[0086] S102, predicting a first motion trajectory of the target obstacle according to the first a posteriori estimated state; wherein the first motion trajectory is composed of a preset number of obstacle trajectory points, and a time interval between two adjacent obstacle trajectory points is equal to a preset time resolution.
[0087] In a specific implementation, each obstacle trajectory point in the first motion trajectory can be determined according to the following formula:
[0088] ;
[0089] wherein, = , i is 1 to N, the is the preset time resolution; the N is the preset number; the is the running state of the ki-th obstacle trajectory point in the first motion trajectory; the is the first posteriori estimation state.
[0090] It should be noted that, in combination with the above formula, according to the first posteriori estimation state at the k-th moment and i preset time resolutions after the k-th moment, the running state of the ki-th obstacle trajectory point can be obtained. For example, in a possible implementation, N is equal to 3, at this time, the running state of the k1-th obstacle trajectory point, the running state of the k2-th obstacle trajectory point, and the k3-th obstacle trajectory point can be obtained; wherein the time interval of the k1-th obstacle trajectory point from the current moment is , the time interval of the k2-th obstacle trajectory point from the current moment is 2 , the time interval of the k3-th obstacle trajectory point from the current moment is 3 , and ki can be used as a time marker.
[0091] It should be noted that the running state of the target obstacle includes speed, acceleration and position, when the first motion trajectory of the target obstacle is predicted, different states of the target obstacle can be predicted, and finally the multiple running states of the target obstacle are integrated.
[0092] Further, the preset time resolution and the preset number are set according to actual needs, which are not limited in the present application.
[0093] As can be understood from the foregoing description, through the above method, not only the first motion trajectory of the target obstacle can be predicted, but also a time marker can be introduced for each obstacle trajectory point in the first motion trajectory.
[0094] S103, according to the second running state of the robot at the current moment, the motion trajectory of the robot in the future is predicted by using the dynamic window method, to obtain a plurality of candidate robot motion trajectories; wherein each candidate robot motion trajectory is composed of a preset number of robot trajectory points, and the time interval between two adjacent robot trajectory points is equal to the preset time resolution.
[0095] Further, in a possible implementation, the specific implementation process of this step can include:
[0096] Step 1, determining a first speed sampling space according to a preset minimum linear speed, a preset maximum linear speed, and a preset minimum angular speed and a preset maximum angular speed.
[0097] Specifically, the first speed sampling space can be determined according to the following formula:
[0098] ;
[0099] wherein, is the first speed sampling space, is the linear velocity; is the angular velocity, is the minimum linear velocity, is the maximum linear velocity, is the minimum angular velocity, is the maximum angular velocity.
[0100] It should be noted that the minimum linear velocity, the maximum linear velocity, the minimum angular velocity and the maximum angular velocity are set according to actual needs, and are not limited in the present application.
[0101] Step 2, determining a second speed sampling space according to the linear velocity at the current time, the angular velocity at the current time, the preset maximum linear acceleration, the preset maximum angular velocity, and the preset time resolution.
[0102] Specifically, the second speed sampling space can be determined according to the following formula:
[0103] ;
[0104] wherein, is the second speed sampling space, is the linear velocity; is the angular velocity; is the linear velocity at the current time; is the angular velocity at the current time; is the preset maximum linear acceleration; is the preset maximum angular acceleration; is the preset time resolution.
[0105] It should be noted that the preset maximum linear acceleration and the preset maximum angular acceleration are set according to actual needs, and are not limited in the present embodiment.
[0106] Step 3, determining a comprehensive speed sampling space as the intersection of the first speed sampling space and the second speed sampling space, and sampling in the comprehensive speed sampling space to obtain a plurality of speed pairs; wherein each speed pair is composed of a linear velocity and an angular velocity.
[0107] Specifically, the comprehensive speed sampling space can be determined according to the following formula:
[0108] ;
[0109] in, For the comprehensive velocity sampling space, For the first velocity sampling space, This is the second velocity sampling space.
[0110] Referring to the description above, the intersection of the first velocity sampling space and the second velocity sampling space yields the comprehensive velocity sampling space. This allows sampling within this comprehensive velocity sampling space to obtain multiple velocity pairs. .
[0111] It should be noted that the integrated velocity sampling space provides a velocity sampling range that is more in line with reality, which can improve the accuracy of prediction when predicting the robot's future trajectory.
[0112] Step 4: For each velocity pair, predict the robot's future trajectory based on the robot's second operating state at the current moment and the corresponding kinematic equation, and obtain a candidate robot trajectory corresponding to that velocity pair.
[0113] Understandably, for each velocity pair, the dynamic window method predicts a trajectory of the robot over a period of time based on the robot's kinematic model. For ease of differentiation, this trajectory is recorded as a candidate robot motion trajectory.
[0114] It should be noted that the kinematic equations for robots are divided into two types: kinematic difference equations for nonholonomically constrained robots and kinematic equations for holonomically constrained robots. The kinematic equations for nonholonomically constrained robots are as follows:
[0115] ;
[0116] in, for The position of the robot in the x-direction at any given time. for The position of the robot in the x-direction at any given time. for Position in the y-direction at time [time] for The robot's position in the y-direction at any given moment. Time resolution, For robots The speed of time For robots The speed of time For robots acceleration at any moment For robots The heading angle at any moment, For robots The heading angle at any moment, is the robot angular velocity at time t, is the robot angular acceleration at time t.
[0117] Similarly, the complete constraint robot kinematics equation is:
[0118] ;
[0119] wherein, is the robot position in x direction at time t, is the robot position in x direction at time t, is the robot position in y direction at time t, is the robot position in y direction at time t, time resolution, is the robot velocity in x direction at time t, is the robot velocity in x direction at time t, is the robot acceleration in x direction at time t, is the robot velocity in y direction at time t, is the robot velocity in y direction at time t, is the robot acceleration in y direction at time t, is the robot heading angle at time t, is the robot heading angle at time t, is the robot angular velocity at time t, is the robot angular acceleration at time t.
[0120] The following takes the non-complete constraint robot kinematics equation as an example to illustrate the specific implementation principle of the step. Specifically, when the kinematics equation of the robot is a non-complete constraint robot kinematics equation, at this time, each robot trajectory point in the alternative robot motion trajectory can be determined according to the following formula:
[0121] ;
[0122] wherein, = , i takes 1 to N, and the N is the preset number for the preset time resolution; the is a horizontal coordinate of a kth robot trajectory point in the piece of the candidate robot motion trajectory, the is a vertical coordinate of the kth robot trajectory point in the piece of the candidate robot motion trajectory, the is a heading angle of the kth robot trajectory point in the piece of the candidate robot motion trajectory; the is a horizontal coordinate of the robot at the current time, the is a vertical coordinate of the robot at the current time, the is a heading angle of the robot at the current time; the is a linear velocity in the pair of velocities, the is an angular velocity in the pair of velocities. It should be noted that, in combination with the above example, when N is equal to 3, the horizontal coordinate, the vertical coordinate and the heading angle of the kth robot trajectory point, the horizontal coordinate, the vertical coordinate and the heading angle of the kth robot trajectory point, and the horizontal coordinate, the vertical coordinate and the heading angle of the kth robot trajectory point can be obtained; wherein the time interval of the kth robot trajectory point from the current time is , the time interval of the kth robot trajectory point from the current time is 2 , the time interval of the kth robot trajectory point from the current time is 3
[0123] , and ki can be used as a time marker. In addition, as described above, in step S102, the running state of the kth obstacle trajectory point, the running state of the kth obstacle trajectory point, and the running state of the kth obstacle trajectory point can be obtained. Wherein the interval of the kth obstacle trajectory point from the current time is , and the interval of the kth obstacle trajectory point from the current time is 2 , and the interval of the kth obstacle trajectory point from the current time is 3
[0124] , and the interval of the kth obstacle trajectory point from the current time is 3
[0125] S104, for each candidate robot motion trajectory, determining an obstacle distance score of the candidate robot motion trajectory according to a first distance between each robot trajectory point on the candidate robot motion trajectory and a target obstacle trajectory point corresponding to the robot trajectory point; wherein a time interval from a current time to the robot trajectory point is equal to a time interval from the current time to the target obstacle trajectory point; and the obstacle distance score is positively correlated with a minimum value in the first distances.
[0126] Specifically, the obstacle distance score of the candidate robot motion trajectory can be determined according to the following formula:
[0127] ;
[0128] ;
[0129] wherein, is the obstacle distance score of the candidate robot motion trajectory; is the first distance between the i-th robot trajectory point on the candidate robot motion trajectory and a target obstacle trajectory point corresponding to the robot trajectory point; i is 1 to N, and N is the preset number; , is a coordinate of the i-th robot trajectory point; , is a coordinate of the target obstacle trajectory point corresponding to the i-th robot trajectory point.
[0130] It should be noted that when planning a motion trajectory of a robot, the distance between the robot and a target obstacle needs to be considered to avoid collision and select a relatively safer motion trajectory. Alternatively, in a possible implementation, the first distance between the i-th robot trajectory point on the candidate robot motion trajectory and a target obstacle trajectory point corresponding to the robot trajectory point is used as an evaluation standard, and the obstacle distance score is positively correlated with a minimum value in the first distances. It can be understood that the obstacle distance score can indicate the proximity of the robot to the target obstacle on the candidate robot motion trajectory to a certain extent: the higher the obstacle distance score, the farther the robot is from the target obstacle on the candidate trajectory, and the higher the safety; the lower the obstacle distance score, the closer the robot is to the target obstacle on the candidate trajectory, and the robot is more likely to contact the target obstacle during operation.
[0131] Figure 2 is an implementation schematic diagram for calculating the obstacle distance score according to an example embodiment of the present application. Please refer to Figure 2In combination with the above formula, it can be understood that in this embodiment, when calculating the obstacle distance score, only the distance between the robot trajectory point and the obstacle trajectory point at the same moment is calculated, and then the distance obstacle distance score is calculated based on all the calculated distances.
[0132] In combination with the above example, only the distance between the k1thobstacle trajectory point and the k1throbot trajectory point, the distance between the k2thobstacle trajectory point and the k2throbot trajectory point, and the distance between the k3thobstacle trajectory point and the k3throbot trajectory point are calculated, and three distance values are obtained, for example, for the convenience of distinction, the three distance values are respectively denoted as dist(t1), dist(t2) and dist(t3); further, the minimum value of dist(t1), dist(t2) and dist(t3) is determined, and the minimum value is determined as the obstacle distance score of the candidate robot motion trajectory.
[0133] In combination with the above example, only the distance between the k1thobstacle trajectory point and the k1throbot trajectory point, the distance between the k2thobstacle trajectory point and the k2throbot trajectory point, and the distance between the k3thobstacle trajectory point and the k3throbot trajectory point are calculated, and three distance values are obtained, for example, for the convenience of distinction, the three distance values are respectively denoted as dist(t1), dist(t2) and dist(t3); further, the minimum value of dist(t1), dist(t2) and dist(t3) is determined, and the minimum value is determined as the obstacle distance score of the candidate robot motion trajectory.
[0134] Specifically, the speed score of the candidate robot motion trajectory can be determined according to the following formula:
[0135] ;
[0136] wherein, is the speed score of the candidate robot motion trajectory; is the preset maximum speed; is the speed value of the ithrobot trajectory point on the candidate robot motion trajectory, i is 1 to N, and N is a preset number.
[0137] It should be noted that the preset maximum speed is the maximum speed that can meet the requirement that the robot completes the task within a predetermined time and is not prone to collision with the target obstacle. The preset maximum speed is set according to actual needs, and is not limited in the present application.
[0138] In this embodiment, the preset maximum speed is reduced by the speed value of the i-th robot trajectory point on the candidate robot motion trajectory to obtain a speed difference value, and the minimum value of the calculated N speed difference values is taken as the speed score of the candidate robot motion trajectory. The smaller the minimum value of the speed difference value, the lower the speed score. The larger the minimum value of the speed difference value, the higher the speed score. If the speed score is low, it means that the speed of most trajectory points on the candidate robot motion trajectory is greatly different from the preset maximum speed, which may result in slow or fast speed. Fast speed may cause the robot to collide with the target obstacle, and slow speed may result in long running time when the robot completes the task. If the speed score is high, it means that the speed of the trajectory points on the candidate robot motion trajectory is close to the preset maximum speed, and the preset task can be completed within the specified time.
[0139] In combination with the above example, in this step, only the speed difference values of the preset maximum speed and the k1-th robot trajectory point, the preset maximum speed and the k2-th robot trajectory point, and the preset maximum speed and the k3-th robot trajectory point are calculated to obtain three speed difference values, for example, for convenience of distinction, the three speed difference values are denoted as , and respectively. Further, the minimum value among , and is determined, and the minimum value is determined as the speed score of the candidate robot motion trajectory.
[0140] S106, determining a target distance score of the candidate robot motion trajectory; wherein the target distance score is positively correlated with the minimum value of the target distance; the target distance is the distance between each robot trajectory point in the candidate robot motion trajectory and the preset target point.
[0141] Specifically, the target distance score of the candidate robot motion trajectory can be determined according to the following formula:
[0142] ;
[0143] ;
[0144] wherein, is the target distance score of the candidate robot motion trajectory; is the distance between the i-th robot trajectory point on the candidate robot motion trajectory and the preset target point; ( , ) is the coordinate of the i-th robot trajectory point; ( , ) is the coordinate of the preset target point.
[0145] It should be noted that in this step, according to the coordinates of the preset target point, the target distance of the target point and each trajectory point on the candidate robot motion trajectory is calculated, the minimum value of the target distance is taken to determine the target distance score of the trajectory, and there is a positive correlation between the target distance score and the minimum value of the target distance, wherein when there is a trajectory point in the robot motion trajectory that is close to the preset target point, the minimum value of the target distance is smaller, and at this time, the target distance score of the motion trajectory is higher; when the minimum value of the target distance of the trajectory point in the robot motion trajectory is larger, at this time, the target distance score of the motion trajectory is lower.
[0146] In combination with the above example, in this step, only the distance between the k1th robot trajectory point and the preset target point, the distance between the k2th robot trajectory point and the preset target point, and the distance between the k3th robot trajectory point and the preset target point are calculated, three distance values are obtained, for example, in order to distinguish, the three distance values are respectively denoted as , and ; further, the minimum value in , and is determined, and the minimum value is determined as the target distance score of the candidate robot motion trajectory.
[0147] S107, according to the obstacle distance score, the speed score and the target distance score, determine the comprehensive score of the candidate robot motion trajectory, and control the robot according to the target candidate robot motion trajectory with the highest comprehensive score.
[0148] Specifically, referring to the above description, in this application, by introducing the obstacle distance score, the speed score and the target distance score, the candidate robot motion trajectory is comprehensively scored from multiple angles, then the candidate robot motion trajectory with the highest comprehensive score is selected as the target candidate robot motion trajectory, and the robot is controlled to run according to the target candidate robot motion trajectory.
[0149] The robot dynamic obstacle avoidance method based on synchronous time prediction provided by the embodiment is aimed at a target obstacle in a robot running environment, determines a first posteriori estimation state of the target obstacle at a current time based on a first running state of the target obstacle at the current time by using an extended Kalman filtering algorithm, predicts a first motion trajectory of the target obstacle according to the first posteriori estimation state, and predicts a future motion trajectory of the robot by using a dynamic window method according to a second running state of the robot at the current time to obtain a plurality of alternative robot motion trajectories. In this way, the first motion trajectory of the target obstacle and the plurality of alternative robot motion trajectories of the mobile robot can be predicted, the first motion trajectory is composed of a preset number of obstacle trajectory points, the time interval between two adjacent obstacle trajectory points is equal to a preset time resolution, each alternative robot motion trajectory is composed of a preset number of robot trajectory points, and the time interval between two adjacent robot trajectory points is equal to the preset time resolution. In this way, not only can time marks be added to the obstacle trajectory points in the first motion trajectory and the robot trajectory points in the alternative robot motion trajectories, but also the trajectory points between the first motion trajectory and the alternative robot trajectories are synchronized in time. In this way, when selecting a target alternative robot trajectory point, only the distance between the obstacle trajectory point and the robot trajectory point at the same time needs to be compared to obtain an obstacle distance score, and then a target alternative robot trajectory is selected based on the obstacle distance score, a speed score and a target distance score. In this way, the situation of possible collision in the future can be predicted in advance, the prediction error can be reduced, the collision situation can be discovered in time, the robot motion trajectory can be adjusted in time, the detour and pause can be avoided, the arrival time can be accelerated, the arrival path can be shortened, and the overall performance can be improved.
[0150] Figure 3 For the flowchart of the second robot dynamic obstacle avoidance method based on synchronous time prediction according to an example embodiment of the present application, please refer to Figure 3 On the basis of the above embodiment, determining the comprehensive score of the alternative robot motion trajectory according to the obstacle distance score, the speed score and the target distance score can include:
[0151] S301, for each alternative robot motion trajectory, normalizing the obstacle distance score, the speed score and the target distance score of the alternative robot motion trajectory to obtain a first corrected score corresponding to the obstacle distance score, a second corrected score corresponding to the speed score and a third corrected score corresponding to the target distance.
[0152] Specifically, in this step, the obstacle distance score, the speed score and the target distance score of the alternative robot motion trajectory are normalized to obtain a first modified score corresponding to the obstacle distance score, a second modified score corresponding to the speed score and a third modified score corresponding to the target distance. In this way, the obstacle distance score, the speed score and the target distance score are unified to the same scale, and the importance of each score in the comprehensive score can be intuitively compared.
[0153] In specific implementation, the normalization can be performed according to the following formula:
[0154]
[0155]
[0156]
[0157] wherein, is the normalized obstacle distance score, i.e., the first modified score, is the normalized robot speed score, i.e., the second modified score, is the normalized robot target distance score, i.e., the third modified score, is the speed score of the i th alternative robot trajectory, is the obstacle distance score of the i th alternative robot trajectory, is the target distance score of the i th alternative robot trajectory.
[0158] S302, according to the first weight corresponding to the obstacle distance, the second weight corresponding to the speed and the third weight corresponding to the target distance, the first modified score, the second modified score and the third modified score are weighted to obtain the comprehensive score of the alternative robot motion trajectory.
[0159] It should be noted that the specific values of the first weight, the second weight and the third weight are set according to actual needs, which are not limited in the present application. For example, when there are many obstacles in the environment where the robot runs, the first weight corresponding to the obstacle distance can be appropriately increased to ensure that the robot can preferentially select to avoid obstacles; when the robot needs to quickly complete the task within a specified time, the second weight corresponding to the speed can be increased to ensure that the robot can quickly complete the task; when the urgency of the robot to the target point is high, the third weight corresponding to the target distance can be increased to ensure that the robot accurately reaches the target point.
[0160] In specific implementation, the comprehensive score can be calculated according to the following formula:
[0161] ;
[0162] wherein, is a comprehensive score, is a first weight, is a second weight, is a third weight, is a first modified score, is a second modified score, is a third modified score.
[0163] The robot dynamic obstacle avoidance method based on synchronized time prediction provided by the embodiment, in the first aspect, by normalizing the obstacle distance score, the speed score and the target distance score, the three scores are unified to the same scale, not only can make the respective score corresponding to the modified score more fair, but also can directly judge the pros and cons of each candidate robot motion trajectory in terms of obstacle distance, speed and target distance; in the second aspect, by setting weights for the obstacle distance, the speed and the target distance, the first modified score, the second modified score and the third modified score are weighted, so that the comprehensive score obtained can more comprehensively reflect the performance of the candidate robot motion trajectory, and then the target candidate robot motion trajectory with the optimal performance is selected based on this.
[0164] To verify the feasibility, efficiency and practicability of the method, the simulation and real machine experiment are designed in the application, in the simulation experiment, the program is written by using Python for two-dimensional obstacle avoidance simulation, by setting the same obstacle distribution environment, the obstacle avoidance path, the time for reaching the target point and the path length are recorded, through the simulation experiment, it can be known that the robot motion path is a straight line in the whole process, the path length is shorter, and the time required for finally reaching the destination is less, whether the path length or the time for reaching the destination, the method provided by the application can accelerate the time for the robot to reach the target point and shorten the path length.
[0165] Further, the effectiveness of the scheme provided in the application is verified by experiments in real scenes. In the Windows operating system, the method provided in the application is operated, and a Yubo composite robot is used. The robot is provided with two two-dimensional laser sensors, is driven by differential driving of double wheels, and has a local perception module with a working frequency of 10 hz and a local planning module with a working frequency of 5 hz. In the specific implementation, a staff member moves randomly in a real scene, and the mobile robot needs to move towards a target point while avoiding the staff member who suddenly appears. A straight line is set from the starting point to the target point, the pedestrian and the speed are about 0-1 m / s, and the maximum speed of the robot is 0.3 m / s. The local perception range is set to 4 m*4 m, and the resolution is 0.1 m. The prediction step N of the robot and the obstacle is set to 25 (that is, 10 seconds). Considering the blind area of the laser radar, the safety distance is 0.8 m. In this scene, when the robot encounters the staff member, the algorithm generates a series of candidate robot motion trajectories in the executable speed and angular velocity range, then comprehensively evaluates each candidate robot motion trajectory to determine the target candidate robot motion trajectory. In the experiment, when the staff member quickly moves from the right rear side of the robot, the algorithm predicts that the state of the staff member in the next N steps will be a trajectory to the left front of the robot, and it is detected that a collision will occur in the future according to the current robot motion state, so the robot adopts the strategy of turning left appropriately and decelerating to avoid. Further, when the staff member moves from the left side of the robot at a slow speed, and two staff members on the right side of the robot move towards each other, the closest staff member to the robot is predicted to have a trajectory to the right front in the next N steps, and the staff member is relatively close to the robot at this time. The robot adopts the strategy of quickly turning right to avoid the obstacle. Similarly, when the staff member walks slowly from the right side of the robot to the left side, the robot adopts the strategy of left turning to bypass according to the predicted trajectory. In the fourth obstacle avoidance, the staff member quickly passes in front of the robot, and the robot judges to adopt the obstacle avoidance strategy of not turning but appropriately decelerating to complete efficient obstacle avoidance, and slows down the moving speed when close to the destination to reach the destination more safely and accurately.
[0166] In summary, the method provided in the embodiment can effectively improve the danger of collision of the robot in an unstructured, high-dynamic and complex environment, has strong obstacle avoidance performance, is robust and reasonable in technology.
[0167] Corresponding to the foregoing embodiment of the robot dynamic obstacle avoidance method based on synchronous time prediction, the application further provides an embodiment of a robot dynamic obstacle avoidance device based on synchronous time prediction.
[0168] Figure 4 A structural schematic diagram of the embodiment one of the robot dynamic obstacle avoidance device based on synchronous time prediction provided in the application is shown in FIG. 1. Figure 4The device provided in the embodiment comprises a determination module 410, a prediction module 420, an evaluation module 430 and a control module 440.
[0169] The determination module 410 is configured to determine, for a target obstacle in a robot operating environment, a first posteriori estimation state of the target obstacle at a current time based on a first operating state of the target obstacle at the current time by using an extended Kalman filtering algorithm.
[0170] The prediction module 420 is configured to predict a first motion trajectory of the target obstacle according to the first posteriori estimation state, wherein the first motion trajectory is composed of a preset number of obstacle trajectory points, and a time interval between adjacent two obstacle trajectory points is equal to a preset time resolution.
[0171] The prediction module 420 is configured to predict a future motion trajectory of the robot by using a dynamic window method according to a second operating state of the robot at the current time, to obtain a plurality of candidate robot motion trajectories, wherein each candidate robot motion trajectory is composed of a preset number of robot trajectory points, and a time interval between adjacent two robot trajectory points is equal to the preset time resolution.
[0172] The evaluation module 430 is configured to, for each candidate robot motion trajectory, determine an obstacle distance score of the candidate robot motion trajectory according to a first distance between each robot trajectory point on the candidate robot motion trajectory and a target obstacle trajectory point corresponding to the robot trajectory point, wherein a time interval between the robot trajectory point and the current time is equal to a time interval between the target obstacle trajectory point and the current time, and the obstacle distance score is positively correlated with a minimum value in the first distance.
[0173] The evaluation module 430 is configured to determine a speed score of the candidate robot motion trajectory, wherein the speed score is positively correlated with a minimum value of a speed difference value, and the speed difference value is a difference between a preset maximum speed and a speed of each robot trajectory point in the candidate robot motion trajectory.
[0174] The evaluation module 430 is configured to determine a target distance score of the candidate robot motion trajectory, wherein the target distance score is positively correlated with a minimum value of a target distance, and the target distance is a distance between each robot trajectory point in the candidate robot motion trajectory and a preset target point.
[0175] The control module 440 is configured to determine a comprehensive score of the candidate robot motion trajectory according to the obstacle distance score, the speed score and the target distance score, and control the robot according to a target candidate robot motion trajectory with the highest comprehensive score.
[0176] The device of the embodiment can be used to execute Figure 1 The steps of the method embodiment are similar to the implementation principle and process, and will not be described here.
[0177] The implementation process of the functions and roles of each unit in the device is described in detail in the implementation process of the corresponding steps in the above method, and will not be described here.
[0178] For the device embodiment, since it basically corresponds to the method embodiment, the relevant part can be seen in the part of the method embodiment. The device embodiment described above is only schematic, and the units shown as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or distributed on multiple network units. According to the actual needs, part or all of the modules can be selected to achieve the purpose of the scheme of the present application. Those skilled in the art can understand and implement without creative labor.
[0179] The above is only the preferred embodiment of the present application, and is not used to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the scope of protection of the present application.
Claims
1. A robot dynamic obstacle avoidance method based on synchronized time prediction, characterized in that, The method comprises: For a target obstacle in a robot operating environment, based on a first operating state of the target obstacle at a current time, a first posteriori estimation state of the target obstacle at the current time is determined by using an extended Kalman filtering algorithm; According to the first posteriori estimation state, a first motion trajectory of the target obstacle is predicted; wherein the first motion trajectory is composed of a preset number of obstacle trajectory points, and the time interval between adjacent two obstacle trajectory points is equal to a preset time resolution; According to a second operating state of the robot at the current time, a future motion trajectory of the robot is predicted by using a dynamic window method, to obtain a plurality of candidate robot motion trajectories; wherein each candidate robot motion trajectory is composed of a preset number of robot trajectory points, and the time interval between adjacent two robot trajectory points is equal to the preset time resolution; For each candidate robot motion trajectory, according to a first distance between each robot trajectory point on the candidate robot motion trajectory and the target obstacle trajectory point corresponding to the robot trajectory point, an obstacle distance score of the candidate robot motion trajectory is determined; wherein the time interval between the robot trajectory point and the current time is equal to the time interval between the target obstacle trajectory point corresponding to the robot trajectory point and the current time; the obstacle distance score is positively correlated with the minimum value in the first distance; A speed score of the candidate robot motion trajectory is determined; wherein the speed score is positively correlated with the minimum value of a speed difference value; the speed difference value is the difference between a preset maximum speed and the speed of each robot trajectory point in the candidate robot motion trajectory; A target distance score of the candidate robot motion trajectory is determined; wherein the target distance score is positively correlated with the minimum value of a target distance; the target distance is the distance between each robot trajectory point in the candidate robot motion trajectory and a preset target point; According to the obstacle distance score, the speed score and the target distance score, a comprehensive score of the candidate robot motion trajectory is determined, and the robot is controlled according to the target candidate robot motion trajectory with the highest comprehensive score.
2. The method of claim 1, wherein, According to the second operating state of the robot at the current time, the future motion trajectory of the robot is predicted by using the dynamic window method, to obtain a plurality of candidate robot motion trajectories, comprising: According to a preset minimum linear velocity, a preset maximum linear velocity, and a preset minimum angular velocity and a preset maximum angular velocity, a first velocity sampling space is determined; According to the linear velocity at the current time, the angular velocity at the current time, the preset maximum linear acceleration, the preset maximum angular velocity, and the preset time resolution, a second velocity sampling space is determined; The intersection of the first velocity sampling space and the second velocity sampling space is determined as a comprehensive velocity sampling space, and sampling is performed in the comprehensive velocity sampling space to obtain a plurality of velocity pairs; wherein each velocity pair is composed of a linear velocity and an angular velocity; For each speed pair, a future motion trajectory of the robot is predicted according to a second running state of the robot at a current time and a kinematics equation corresponding to the robot, to obtain an alternative robot motion trajectory corresponding to the speed pair.
3. The method of claim 2, wherein, The method for predicting the future motion trajectory of the robot according to the second running state of the robot at the current time and the kinematics equation corresponding to the robot for each speed pair comprises: Each robot trajectory point in the alternative robot motion trajectory is determined according to the following formula: ; Where, ΔTi = i takes values from 1 to N, the The preset time resolution; N is the preset quantity; the... The first of the candidate robot motion trajectories The x-coordinate of each robot trajectory point The first of the candidate robot motion trajectories The ordinate of each robot trajectory point, the The first of the candidate robot motion trajectories The heading angle of each robot trajectory point; The horizontal coordinate of the robot at the current moment is... The vertical coordinate of the robot at the current moment is the position of the robot. The current heading angle of the robot; For the linear velocity in this velocity pair, the ω is the angular velocity in that velocity pair.
4. The method according to claim 2 or 3, characterized in that, The second speed sampling space is determined according to the linear velocity at the current time, the angular velocity at the current time, the preset maximum linear acceleration, the preset maximum angular acceleration, and the preset time resolution. The second speed sampling space is determined according to the following formula: ; Wherein, the second speed sampling space is The second speed sampling space is The linear velocity is The angular velocity is The linear velocity at the current moment is The angular velocity at the current moment is The preset maximum linear acceleration is The preset maximum angular acceleration is The preset time resolution is 5. The method according to claim 1 or 3, characterized in that, The first motion trajectory of the target obstacle is predicted according to the first running state of the target obstacle at the current time, which comprises determining each obstacle trajectory point in the first motion trajectory according to the following formula: ; Wherein, ΔTi = Ti - Ti-1, , i takes 1 to N, the is the preset time resolution; the N is the preset number; the is the running state of the ki-th obstacle trajectory point in the first motion trajectory; the is the first posteriori estimation state.
6. The method of claim 5, wherein, The first posteriori estimation state of the target obstacle at the current time is determined based on the extended Kalman filtering algorithm according to the first running state of the target obstacle at the current time, which comprises: The priori estimation state at the current time is determined based on the nonlinear motion equation of the target obstacle according to the posteriori estimation state at the last time and the speed at the current time; The priori error covariance at the current time is determined based on the posteriori error covariance at the last time, the first Jacobian matrix of the first function at the current time with respect to the position, the second Jacobian matrix of the first function at the current time with respect to the angular velocity, and the process noise covariance matrix; the first function is the nonlinear motion equation of the target obstacle; The Kalman gain at the current time is determined according to the priori error covariance at the current time, the third Jacobian matrix of the second function at the current time with respect to the linear velocity, the measurement noise covariance matrix, and the fourth Jacobian matrix of the second function at the current time with respect to the position; the second function is the nonlinear observation equation of the target obstacle; The estimation running state at the current time is determined according to the priori estimation state at the current time and the second function; The first posteriori estimation state is determined according to the Kalman gain at the current time, the priori estimation state at the current time, the estimation running state at the current time, and the first running state.
7. The method of claim 1, wherein, The obstacle distance score of the alternative robot motion trajectory is determined according to the first distance between each robot trajectory point on the alternative robot motion trajectory and the target obstacle trajectory point corresponding to the robot trajectory point, which comprises: The obstacle distance score of the alternative robot motion trajectory is determined according to the following formula: ; ; wherein, is the obstacle distance score of the candidate robot motion trajectory; is the first distance between the i-th robot trajectory point on the candidate robot motion trajectory and the target obstacle trajectory point corresponding to the i-th robot trajectory point, i is 1 to N, and N is the preset number; , ) is the coordinate of the i-th robot trajectory point; , ) is the coordinate of the target obstacle trajectory point corresponding to the i-th robot trajectory point.
8. The method of claim 1, wherein, The speed score of the alternative robot motion trajectory is determined, which comprises: The speed score of the alternative robot motion trajectory is determined according to the following formula: ; wherein, is a velocity score of the alternative robot motion trajectory; is the preset maximum velocity; the is a velocity value of an i-th robot trajectory point on the alternative robot motion trajectory, i is 1 to N, and the N is the preset number.
9. The method of claim 1, wherein, The target distance score of the alternative robot motion trajectory is determined, which comprises: The target distance score of the alternative robot motion trajectory is determined according to the following formula: ; ; wherein, is a target distance score for the alternative robot motion trajectory; is a distance between an i-th robot trajectory point on the alternative robot motion trajectory and a preset target point; ( , ) is a coordinate of the i-th robot trajectory point; ( , ) is a coordinate of the preset target point.
10. The method of claim 1, wherein, The determining the comprehensive score of the candidate robot motion trajectory according to the obstacle distance score, the speed score and the target distance score comprises: The obstacle distance score, the speed score and the target distance score of each candidate robot motion trajectory are normalized to obtain a first modified score corresponding to the obstacle distance score, a second modified score corresponding to the speed score and a third modified score corresponding to the target distance; The first modified score, the second modified score and the third modified score are weighted to obtain the comprehensive score of the candidate robot motion trajectory according to a first weight corresponding to the obstacle distance, a second weight corresponding to the speed and a third weight corresponding to the target distance.
11. A robot dynamic obstacle avoidance device based on synchronized time prediction, characterized in that, The device comprises a determining module, a predicting module, an evaluating module and a controlling module; The determining module is configured to determine, for a target obstacle in a robot operating environment, a first posteriori estimation state of the target obstacle at a current time based on a first operating state of the target obstacle at the current time by using an extended Kalman filtering algorithm. The predicting module is configured to predict a first motion trajectory of the target obstacle according to the first posteriori estimation state; wherein the first motion trajectory is composed of a preset number of obstacle trajectory points, and a time interval between adjacent two obstacle trajectory points is equal to a preset time resolution. The predicting module is configured to predict a future motion trajectory of the robot by using a dynamic window method according to a second operating state of the robot at the current time to obtain a plurality of candidate robot motion trajectories; wherein each candidate robot motion trajectory is composed of a preset number of robot trajectory points, and a time interval between adjacent two robot trajectory points is equal to the preset time resolution. The evaluating module is configured to, for each candidate robot motion trajectory, determine an obstacle distance score of the candidate robot motion trajectory according to a first distance between each robot trajectory point on the candidate robot motion trajectory and a target obstacle trajectory point corresponding to the robot trajectory point; wherein a time interval between the robot trajectory point and the current time is equal to a time interval between the target obstacle trajectory point and the current time; the obstacle distance score is positively correlated with a minimum value in the first distance. The evaluating module is configured to determine a speed score of the candidate robot motion trajectory; wherein the speed score is positively correlated with a minimum value of a speed difference value; the speed difference value is a difference between a preset maximum speed and a speed of each robot trajectory point in the candidate robot motion trajectory. The evaluating module is configured to determine a target distance score of the candidate robot motion trajectory; wherein the target distance score is positively correlated with a minimum value of a target distance; the target distance is a distance between each robot trajectory point in the candidate robot motion trajectory and a preset target point. The control module is configured to determine a comprehensive score of the candidate robot motion trajectory according to the obstacle distance score, the speed score and the target distance score, and control the robot according to the target candidate robot motion trajectory with the highest comprehensive score.