Target tracking method, target tracking device, robot and storage medium

By obtaining the spatiotemporal state information of the target object and optimizing the robot's driving path, the stability problem of target tracking in highly dynamic and complex scenarios is solved, achieving higher tracking accuracy and stability.

CN116540715BActive Publication Date: 2025-01-10SHENZHEN PUDU TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310553117.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-16
Publication Date
2025-01-10
Estimated Expiration
2043-05-16

Smart Images

  • Figure CN116540715B_ABST
    Figure CN116540715B_ABST
Patent Text Reader

Abstract

The present application relates to a target tracking method, a target tracking device, a robot and a storage medium. The method comprises: obtaining the spatiotemporal state information of the target object, and determining the predicted path of the target object according to the spatiotemporal state information; obtaining the current position of the robot, and determining the planned driving path according to the current position of the robot; optimizing the planned driving path according to the predicted path to obtain the target driving path; and controlling the robot according to the target driving path to track the target object. The use of this method can improve the stability, reliability and accuracy of target tracking.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot technology, and in particular to a target tracking method, a target tracking device, a robot and a storage medium. Background Art

[0002] Single target tracking refers to the detection, extraction, identification and tracking of moving targets in image sequences to obtain the motion parameters of the moving targets, such as position, velocity, acceleration and motion trajectory, so as to carry out the next step of processing and analysis, realize the understanding of the behavior of the moving targets and complete a higher level of detection tasks.

[0003] Related technologies use vision, laser and other sensing methods to achieve target tracking. However, this method is prone to target loss in highly dynamic targets and complex scenes, and the stability of target tracking is not high. Summary of the invention

[0004] Based on this, it is necessary to provide a target tracking method, a target tracking device, a robot and a storage medium that can improve the stability of target tracking in order to address the above technical problems.

[0005] In a first aspect, the present application provides a target tracking method, which is applied to a robot. The method comprises:

[0006] Acquiring spatiotemporal state information of a target object, and determining a predicted path of the target object according to the spatiotemporal state information;

[0007] Get the current position of the robot and determine the planned driving path based on the current position of the robot;

[0008] Optimizing the planned driving path according to the predicted path to obtain a target driving path;

[0009] The robot is controlled according to the target driving path to track the target object.

[0010] In one embodiment, optimizing the planned driving path according to the predicted path to obtain the target driving path includes:

[0011] Acquire the planned trajectory points of the planned driving path and the predicted trajectory points of the predicted path;

[0012] The planned driving path of the robot is optimized according to each of the predicted trajectory points of the predicted path and the corresponding planned trajectory points to obtain the target driving path.

[0013] In one embodiment, optimizing the planned driving path of the robot according to each predicted trajectory point of the predicted path and the corresponding planned trajectory point to obtain the target driving path includes:

[0014] Determining whether the predicted trajectory point and the corresponding planned trajectory point meet preset conditions, wherein the preset conditions include at least one of the following conditions: trajectory distance condition, perception range condition, obstacle distance condition, orientation condition, and obstacle occlusion condition;

[0015] If the preset condition is not met, the planned trajectory points are optimized according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path.

[0016] In one embodiment, if the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path includes:

[0017] If the predicted trajectory point and the corresponding planned trajectory point do not satisfy the trajectory distance condition, optimizing the planned driving path of the robot according to each predicted trajectory point to obtain multiple initial driving paths;

[0018] Acquire a first distance between each initial trajectory point in each of the initial driving paths and the planned driving path;

[0019] The target driving path is determined from the multiple initial driving paths according to each of the first distances, the sum of the first distances, and a trajectory distance condition in the preset conditions.

[0020] In one embodiment, if the preset condition is not met, the planned trajectory points are optimized according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path, including

[0021] If the predicted trajectory point and the corresponding planned trajectory point do not satisfy the obstacle distance condition, determining obstacles in the environment where each predicted trajectory point in the predicted path is located;

[0022] Acquire a second distance between each of the planned trajectory points and an obstacle in the environment where the corresponding predicted trajectory point is located;

[0023] According to the obstacle distance condition in the preset condition, each of the second distances and the sum of each of the second distances, each of the corresponding planned trajectory points in the planned driving path is optimized to obtain the target driving path.

[0024] In one embodiment, if the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path includes:

[0025] If the predicted trajectory point and the corresponding planned trajectory point do not satisfy the perception range condition, determining a correction parameter of the planned driving path;

[0026] According to the perception range condition in the preset condition, each correction parameter and the sum of each correction parameter, each corresponding planned trajectory point in the planned driving path is optimized to obtain the target driving path.

[0027] In one embodiment, determining the correction parameters of the planned driving path includes:

[0028] Get the preset maximum perception distance value and the preset minimum perception distance value of the robot;

[0029] Determining a third distance between the predicted trajectory point and a corresponding planned trajectory point in the planned driving path;

[0030] If the third distance is greater than or equal to the preset minimum perception distance value, and less than or equal to the preset maximum perception distance value, the correction parameter is a preset value;

[0031] If the third distance is less than the preset minimum perceived distance value, the correction parameter is the difference between the preset minimum perceived distance value and the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path;

[0032] If the third distance is greater than a preset maximum perception distance value, the correction parameter is the difference between the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path and the preset maximum perception distance value.

[0033] In one embodiment, if the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path includes:

[0034] If the predicted trajectory point and the corresponding planned trajectory point do not satisfy the orientation condition, obtaining the orientation of the robot;

[0035] Determining the difference between the orientation of each of the planned trajectory points and the corresponding predicted trajectory point in the predicted path;

[0036] According to the orientation condition in the preset conditions, the orientation difference and the orientation of the robot, each corresponding planned trajectory point in the planned driving path is optimized to obtain the target driving path.

[0037] In one embodiment, if the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path includes:

[0038] If the predicted trajectory point and the corresponding planned trajectory point do not satisfy the obstacle occlusion condition, determining obstacles in the environment where each predicted trajectory point in the predicted path is located;

[0039] Acquire a fourth distance between the robot's heading axis and an obstacle in the environment where each of the predicted trajectory points is located;

[0040] Determine the distance difference between each of the fourth distances and a preset safety distance;

[0041] According to each of the distance differences, the sum of each of the distance differences and the obstacle blocking condition in the preset condition, each of the planned trajectory points corresponding to the planned driving path is optimized to obtain the target driving path.

[0042] In one embodiment, the step of optimizing the planned driving path of the robot according to each predicted trajectory point of the predicted path and the corresponding planned trajectory point to obtain the target driving path further includes:

[0043] Get the maximum speed and maximum acceleration of the robot;

[0044] According to the preset target, the maximum speed and the maximum acceleration, the driving speed and driving acceleration of the robot at each driving trajectory point in the target driving path are determined.

[0045] In a second aspect, the present application also provides a target tracking device, which is applied to a robot. The device comprises:

[0046] A path prediction module, used to obtain the spatiotemporal state information of the target object and determine the predicted path of the target object according to the spatiotemporal state information;

[0047] The path acquisition module is used to obtain the current position of the robot and determine the planned driving path based on the current position of the robot;

[0048] A path optimization module, used to optimize the planned driving path according to the predicted path to obtain a target driving path;

[0049] The control module is used to control the robot according to the target driving path to track the target object.

[0050] In a third aspect, the present application further provides a robot, wherein the robot comprises a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above method when executing the computer program.

[0051] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the steps of the above method when executed by a processor.

[0052] In a fifth aspect, the present application further provides a computer program product, wherein the computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the above method are implemented.

[0053] The above-mentioned target tracking method, target tracking device, robot and storage medium obtain the spatiotemporal state information of the target object and determine the predicted path of the target object based on the spatiotemporal state information, thereby avoiding over-tracking of the target object and reducing the probability of losing the target object. The planned driving path is optimized according to the predicted path to obtain the target driving path, and then the robot is controlled according to the target driving path to track the target object. In this way, the robot moves along the target driving path, thereby increasing the probability of the target object being continuously perceived, and improving the accuracy and stability of target tracking. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 A diagram showing an application environment of a target tracking method in an embodiment;

[0055] Figure 2 A schematic diagram of a target tracking method according to an embodiment of the present invention;

[0056] Figure 3 A schematic diagram of a predicted path of a target object in one embodiment;

[0057] Figure 4 A schematic diagram showing a comparison between a planned driving path and a target driving path of a robot in one embodiment;

[0058] Figure 5 A schematic diagram of a process for determining a target driving path in one embodiment;

[0059] Figure 6 is a structural block diagram of a target tracking device in one embodiment;

[0060] Figure 7 1 is a diagram showing the internal structure of a robot in one embodiment. DETAILED DESCRIPTION

[0061] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0062] The target tracking method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. The target tracking method can be executed by the robot 102 or the server 104, wherein the robot 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process, such as storing the spatiotemporal state information and the current position of the robot. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. The robot 102 obtains the spatiotemporal state information of the target object, and determines the predicted path of the target object based on the spatiotemporal state information; obtains the current position of the robot, and determines the planned driving path based on the current position of the robot; optimizes the planned driving path according to the predicted path to obtain the target driving path; controls the robot according to the target driving path to track the target object. Among them, the server 104 can be implemented by an independent server or a server cluster composed of multiple servers. The robot 102 can be various catering delivery robots, welcoming robots, shopping guide robots, or security patrol robots or robots for other purposes.

[0063] In one embodiment, Figure 2 As shown, a target tracking method is provided, which is applied to Figure 1 Taking the robot 102 in the example as an example, the following steps are included:

[0064] Step 202: Acquire the spatiotemporal state information of the target object, and determine the predicted path of the target object according to the spatiotemporal state information.

[0065] The target object refers to the target that the robot follows and tracks. The target object can be a person or an object, such as a pedestrian or a moving car, or another robot. In a tracking task, a robot can only follow one target object at a time. When the tracking task starts, it is assumed that the target object is within the robot's perception range. Perception refers to perception and recognition. The robot can perceive and identify the target object through sensors such as laser radar or cameras.

[0066] The spatiotemporal state information includes time information and space information, which refers to the spatial position of the target object at the corresponding time. The spatiotemporal state information can be represented by the spatiotemporal state index. For example, let the current time be index 0, and let the time unit be 0.1s, then index 1 is the spatial position of the target object at 0.1s, and similarly, index 6 is the spatial position of the target object at 0.6s. The spatiotemporal state information can be obtained from the server or by the robot sensing the target object.

[0067] The predicted path is the motion trajectory path of the target object predicted by the robot 102 .

[0068] Exemplarily, the robot 102 can sense and identify the target object through a carried sensor such as a laser radar or a camera, and predict the movement speed and spatiotemporal state information of the target object by observing the position change of the target object relative to the robot.

[0069] For example, the robot 102 can sense and identify the target object through the laser radar it carries, observe the position of the target object relative to the robot, and then use Kalman filtering to calculate the position change of the target object, obtain the movement speed of the target object, and then predict the corresponding spatiotemporal state information.

[0070] For example, Figure 3 As shown in FIG, after determining the spatiotemporal state information of the target object, the spatial position of the target object at each time point is determined, so that the predicted path of the target object can be predicted. The predicted path can be as follows: Figure 3 As shown by the curve in Figure 3 The five-pointed star in refers to the target object, the triangular area refers to the preset sensing range of the robot 102 , and C refers to the position of the robot 102 .

[0071] Step 204, obtaining the current position of the robot, and determining a planned driving path according to the current position of the robot.

[0072] The current position of the robot is the position of the robot 102 at the current moment. The current moment may refer to the moment when the target object is sensed, or the moment when the predicted path of the target object is predicted.

[0073] The planned driving path is the trajectory path of the robot 102 originally planned to move.

[0074] For example, the current position of the robot can be obtained through a positioning device carried by the robot, or the current position of the robot can be determined by the relative position relationship between the robot and the target object at the current moment. After the current position of the robot is determined, the current preview position is determined according to the current position of the robot and the target surrounding environment corresponding to the current position, and the planned driving path is determined by graph search.

[0075] The target surrounding environment information includes obstacles around the target object at the current moment and areas where the robot is prohibited from driving. Based on the premise of safe driving of the robot, the planned driving path needs to avoid obstacles.

[0076] The preview position is the position at which the robot aims at the current moment for planning the driving path. The preview position can be the position of the target object at a certain moment. For example, the preview position can be the position of the target object 5 seconds from the current moment.

[0077] For example, the robot 102 obtains the current position of the robot through the carried positioning device, and plans a path between the current position and the preview position that avoids all obstacles and prohibited areas and has the shortest driving distance, thereby obtaining a planned driving path. Figure 4 (1), where the five-pointed star is the target object, the gray rectangular area is the area where the obstacle is located, C is the position of the robot 102, the triangular area represents the preset perception range of the robot, the black dotted line is the auxiliary line of the robot's perception range, curve 1 is the predicted path, and curve 2 is the planned driving path.

[0078] Step 206, optimizing the planned driving path according to the predicted path to obtain the target driving path.

[0079] The target driving path refers to the actual movement path of the robot after the planned driving path is optimized.

[0080] For example, each planned trajectory point in the planned driving path can be adjusted according to the predicted path to optimize the planned driving path and obtain the target driving path. Figure 4 (2), where the five-pointed star is the target object, the gray rectangular area is the area where the obstacle is located, C is the position of the robot 102, the triangular area represents the preset sensing range of the robot, curve 1 is the predicted path, and curve 2' is the target driving path obtained after optimizing the planned driving path.

[0081] For example, the planned driving path can be optimized according to the change trend of each predicted trajectory point in the predicted path to obtain the target driving path. Figure 4 Curve 2 in (1) and Figure 4Curve 2' in (2) is a comparison between the planned driving path before optimization and the target driving path after optimization. It can be seen that: before optimization, there are obstacles within the robot's perception range, and the obstacles will block the target object; after optimization, there are no obstacles blocking the robot's perception range, and the robot can directly observe the target. This process can ensure that the target object moves within the robot's preset perception range, thereby preventing target over-tracking (focusing on a certain indicator in the tracking so that the target is lost during the tracking process), improving the accuracy of target tracking, and improving the stability and reliability of tracking.

[0082] Step 208, controlling the robot according to the target driving path to track the target object.

[0083] For example, the target driving path can be reversely processed to obtain control instructions, and then the robot can be controlled to move according to the control instructions. The control instructions are instructions that the robot can directly recognize and execute, such as the control instructions that may include the movement speed and movement direction of a certain driving trajectory point of the robot in the target driving path.

[0084] Exemplarily, the movement speed, movement direction, and driving acceleration of the robot at each driving trajectory point in the target driving path can be determined according to the target driving path, so that the robot moves according to the target driving path, and by determining the movement speed and driving acceleration of the robot at each driving trajectory point, the robot can reach a specified position within a specified time period, thereby achieving tracking of the target object.

[0085] The target tracking method of the embodiment of the present application obtains the spatiotemporal state information of the target object and determines the predicted path of the target object based on the spatiotemporal state information, thereby avoiding over-tracking of the target object and reducing the probability of losing the target object. The planned driving path is optimized according to the predicted path to obtain the target driving path, and then the robot is controlled according to the target driving path to track the target object. In this way, the robot moves along the target driving path, thereby increasing the probability of the target object being continuously perceived and improving the accuracy and stability of target tracking.

[0086] See also Figure 5 In some embodiments, further, step S206 "optimize the planned driving path according to the predicted path to obtain the target driving path" includes the following steps:

[0087] Step 502, obtaining the planned trajectory points of the planned driving path and the predicted trajectory points of the predicted path.

[0088] Among them, the planned trajectory point refers to the trajectory point in the planned driving path, and multiple planned trajectory points constitute the planned driving path. It can be that the trajectory point in the planned driving path is set as the planned trajectory point at every preset time, for example, the position of the trajectory point in the planned driving path is determined every 0.1s, and the trajectory point is set as the planned trajectory point, or the trajectory point in the planned driving path is set as the planned trajectory point at every preset distance, for example, the position of the trajectory point in the planned driving path is determined every 0.1m, and the trajectory point is set as the planned trajectory point, or other methods can be used to set the trajectory point in the planned driving path as the planned trajectory point. The predicted trajectory point can refer to the trajectory point in the predicted path, and multiple predicted trajectory points constitute the planned driving path. It can be that the trajectory point in the predicted path is set as the predicted trajectory point at every preset time, for example, the position of the trajectory point in the predicted path is determined every 0.1s, and the trajectory point is set as the predicted trajectory point, or the trajectory point in the predicted path is set as the predicted trajectory point at every preset distance, for example, the position of the trajectory point in the predicted path is determined every 0.1m, and the trajectory point is set as the predicted trajectory point, or other methods can be used to set the trajectory point in the predicted path as the planned trajectory point.

[0089] Exemplarily, the position of a trajectory point in a planned driving path may be determined every 0.1 s and the trajectory point may be set as a planned trajectory point, and the position of a trajectory point in a predicted path may be determined every 0.1 s and the trajectory point may be set as a predicted trajectory point.

[0090] Step 504 , optimizing the planned driving path of the robot according to each predicted trajectory point of the predicted path and the corresponding planned trajectory point to obtain a target driving path.

[0091] Among them, the planned trajectory point corresponding to the predicted trajectory point refers to the planned trajectory point corresponding to a certain predicted trajectory point. For example, after determining the predicted trajectory point and the planned trajectory point at the current moment, the planned trajectory point after 0.1s can be used as the planned trajectory point corresponding to the predicted trajectory point after 0.1s.

[0092] Exemplarily, the planned trajectory points in the planned driving path are optimized according to each predicted trajectory point in the predicted path and the planned trajectory points corresponding to each predicted trajectory point to obtain a target driving path, so that when the robot is driving on the target driving path, it can ensure that it can continuously perceive the target object, thereby improving the accuracy, reliability and stability of target tracking.

[0093] The technical solution of the embodiment of the present application determines the planned trajectory points of the planned driving path and the predicted trajectory points of the predicted path, so that the planned trajectory points can be optimized according to the planned trajectory points and the predicted trajectory points to obtain the target driving path, thereby ensuring that the robot can continuously perceive the target object when driving on the target driving path, thereby improving the accuracy, reliability and stability of target tracking.

[0094] In some embodiments, further, step 504 “optimizes the planned driving path of the robot according to each predicted trajectory point of the predicted path and the corresponding planned trajectory point to obtain a target driving path” includes the following steps:

[0095] Determine whether the predicted trajectory point and the corresponding planned trajectory point meet preset conditions, where the preset conditions include at least one of the following conditions: trajectory distance condition, perception range condition, obstacle distance condition, orientation condition, and obstacle occlusion condition;

[0096] If the preset conditions are not met, the planned trajectory points are optimized according to the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path.

[0097] The preset conditions refer to pre-set conditions, which include trajectory distance conditions, perception range conditions, obstacle distance conditions, orientation conditions, and obstacle blocking conditions.

[0098] The track distance condition is a condition used to determine whether the distance between track points meets the tracking requirements. For example, the track distance condition can be the minimum value of the distance between track points under the premise that the robot can travel safely without touching obstacles and target objects.

[0099] The perception range condition is a condition for determining whether the distance between the trajectory point to be driven by the robot and the target object meets the tracking requirements. For example, the perception range condition may be that the distance between the trajectory point to be driven by the robot and the corresponding predicted trajectory point is within the preset perception range of the robot.

[0100] The obstacle distance condition is a condition used to determine whether the distance between the trajectory point to be driven by the robot and the obstacle meets the tracking requirements. For example, the obstacle distance condition can be the minimum distance between the trajectory point to be driven and the obstacle under the premise that the robot can drive safely and will not cause over-tracking.

[0101] The orientation condition is a condition used to determine whether the robot's FOV (field of view) axis (i.e., the robot's orientation) meets the tracking stability requirements. For example, the orientation condition can be the minimum value of the difference between the orientation of the robot's FOV axis and the angle orientation between the trajectory point to be driven and the target object, provided that the robot can drive safely without touching obstacles and target objects.

[0102] The obstacle occlusion condition is a condition used to determine whether the distance between the robot's FOV axis and the obstacle meets the tracking requirements. For example, the obstacle occlusion condition can be the minimum value of the distance between the robot's FOV axis and the obstacle, under the premise that the robot can drive safely without touching the obstacle and the target object, so that the target object will not be blocked by the obstacle, causing the robot to over-track.

[0103] Exemplarily, it can be determined whether the predicted trajectory points and the corresponding planned trajectory points meet the preset conditions. If not, it means that the planned trajectory points need to be adjusted according to the predicted trajectory points and the corresponding planned trajectory points so that the planned trajectory points meet the preset conditions as much as possible. If the preset conditions are met, it means that no optimization adjustment is required for the planned trajectory points.

[0104] The technical solution of the embodiment of the present application determines whether the predicted trajectory points and the corresponding planned trajectory points meet the preset conditions. When the preset conditions are not met, the planned trajectory points are adjusted according to each predicted trajectory point and the corresponding planned trajectory point, so that the planned trajectory points meet the preset conditions as much as possible, thereby ensuring that the robot can track the target object when driving on the optimized trajectory point, ensuring the tracking quality, and further improving the reliability, stability and accuracy of target tracking.

[0105] In some embodiments, further, the step of “if the preset conditions are not met, optimizing the planned trajectory points according to each predicted trajectory point and the corresponding planned trajectory point to obtain the target driving path” includes the following steps:

[0106] If the predicted trajectory point and the corresponding planned trajectory point do not meet the trajectory distance condition, the planned driving path is optimized according to each predicted trajectory point to obtain multiple initial driving paths;

[0107] Obtaining a first distance between each initial trajectory point in each initial driving path and the planned driving path;

[0108] A target driving path is determined from a plurality of initial driving paths according to each first distance, a sum of each first distance and a track distance condition in a preset condition.

[0109] The initial driving path is a driving path obtained after preliminary optimization of the planned driving path, and the initial driving path includes multiple initial trajectory points. Each initial trajectory point in the initial driving path can be the same as or different from the planned trajectory point. Different initial driving paths can have the same initial trajectory point, but different initial driving paths have at least one different initial trajectory point.

[0110] The first distance is the distance between each initial trajectory point and the planned driving path.

[0111] In this embodiment, the trajectory distance condition can be the minimum value of the first distance under the premise of ensuring that the robot drives safely without touching obstacles and target objects, or the minimum value of the sum of the first distances under the premise of ensuring that the robot drives safely without touching obstacles and target objects, or the first distance is the minimum and the sum of the first distances is the minimum under the premise of ensuring that the robot drives safely without touching obstacles and target objects. When the first distance is the minimum value, the target driving path is most consistent with the planned driving path.

[0112] Exemplarily, when the predicted trajectory point and the corresponding planned trajectory point do not meet the trajectory distance condition, the planned driving path of the robot is optimized according to each predicted trajectory point to obtain multiple initial driving paths, and then the first distance between each initial trajectory point in each initial driving path and the planned driving path is calculated, and the target driving path is determined from the multiple initial driving paths based on the trajectory distance condition, each first distance and the sum of each first distance.

[0113] For example, the following formula (1) may be used to optimize the planned trajectory points to obtain the target driving path. Formula (1) is specifically:

[0114]

[0115] Where i is the number of the initial trajectory point, N is the total number of initial trajectory points, and λ P is the empirical coefficient, c i is the first distance from the i-th initial trajectory point to the target driving path, j p is the sum of the first distances.

[0116] The planned trajectory points can be optimized according to the trajectory distance condition and formula (1) to obtain the target driving path. p When the minimum value is reached, the planned trajectory points are optimized according to the trajectory distance condition and formula (1) to obtain the target driving path.

[0117] The technical solution of the embodiment of the present application obtains the target driving path by optimizing the planned driving path according to the trajectory distance condition, each first distance and the sum of each first distance in the preset conditions, so that the target driving path is as close to the planned driving path as possible, thereby minimizing the change in the robot path, so as to quickly track the target object and improve the accuracy and reliability of target tracking.

[0118] In some embodiments, specifically, the step of “if the preset conditions are not met, optimizing the planned trajectory points according to each predicted trajectory point and the corresponding planned trajectory point to obtain the target driving path” includes the following steps:

[0119] If the predicted trajectory point and the corresponding planned trajectory point do not meet the obstacle distance condition, determine the obstacles in the environment where each predicted trajectory point in the predicted path is located;

[0120] Obtaining a second distance between each planned trajectory point and an obstacle in the environment where the corresponding predicted trajectory point is located;

[0121] According to the obstacle distance condition, each second distance and the sum of each second distance in the preset condition, each corresponding planned trajectory point in the planned driving path is optimized to obtain the target driving path.

[0122] The second distance is the distance between each planned trajectory point and an obstacle in the environment where the corresponding predicted trajectory point is located.

[0123] In this embodiment, the obstacle distance condition can be the shortest distance for ensuring that the robot can travel safely without touching obstacles, or it can be the shortest distance for ensuring that the robot can travel safely without touching obstacles on the premise that the robot meets other conditions (such as meeting the trajectory distance condition), or it can be the minimum value of the sum of the second distances for ensuring that the robot can travel safely without touching obstacles on the premise that the robot meets other conditions (such as meeting the trajectory distance condition).

[0124] Exemplarily, the server 104 can obtain obstacles in the environment of each predicted trajectory point in the predicted path, and then calculate the second distance between each planned trajectory point and the obstacle in the environment of the corresponding predicted trajectory point, and then optimize the planned trajectory point according to the obstacle distance condition in the preset conditions, each second distance and the sum of each second distance to obtain the target driving path.

[0125] For example, the following formula (2) may be used to optimize the planned trajectory points to obtain the target driving path. Formula (2) is specifically:

[0126]

[0127] In formula (2), Ξ(i) is the second distance between the planned trajectory point and the obstacle, ξ is the position of the planned trajectory point, and λ o is the empirical coefficient, J o is the sum of the second distances.

[0128] For example, the planned trajectory points can be optimized by using the obstacle distance condition in the preset conditions and the above formula (2) to obtain the target driving path. o When the minimum value is reached, the planned trajectory points are optimized according to the obstacle distance condition in the preset condition and formula (2) to obtain the target driving path

[0129] The technical solution of the embodiment of the present application optimizes the planned driving path according to the obstacle distance condition, each second distance and the sum of each second distance in the preset conditions, obtains the target driving path, and improves the safety of the robot's driving.

[0130] In some embodiments, the step of “if the preset conditions are not met, optimizing the planned trajectory points according to each predicted trajectory point and the corresponding planned trajectory point to obtain the target driving path” includes the following steps:

[0131] If the predicted trajectory point and the corresponding planned trajectory point do not meet the perception range condition, determine the correction parameters of the planned driving path;

[0132] According to the perception range conditions, the correction parameters and the sum of the correction parameters in the preset conditions, the corresponding planned trajectory points in the planned driving path are optimized to obtain the target driving path.

[0133] The correction parameter is a parameter obtained by correcting the distance between the planned trajectory point in the planned driving path and the predicted trajectory point in the corresponding predicted path.

[0134] In this embodiment, the sensing range condition may be the minimum value of the sum of the correction parameters under the premise of ensuring that the robot drives safely without touching obstacles, or may be the minimum value of the correction parameters.

[0135] Exemplarily, after determining the predicted path of the target object, the third distance between the planned trajectory point and the target object can be determined based on each predicted trajectory point in the predicted path and the corresponding planned trajectory point, and then the corresponding correction parameter can be determined based on the third distance; then, based on the perception range condition in the preset conditions, each correction parameter and the sum of each correction parameter, the planned driving path is optimized to obtain the target driving path.

[0136] For example, the planned driving path can be optimized by the following formula (3) to obtain the target driving path. The formula (3) is specifically:

[0137]

[0138] Among them, d i is the third distance between the i-th planned trajectory point and the corresponding predicted trajectory point, λ d is the empirical coefficient, δ(d i ) is the correction parameter, J DT is the sum of the third distances.

[0139] The planned driving path can be optimized by formula (3) and the perception range condition in the preset conditions to obtain the target driving path. For example, the perception range condition in the preset conditions can be the sum value J of the correction parameters.DT Minimum, based on the perception range condition in the preset condition, the planned driving path is optimized to obtain the target driving path.

[0140] The technical solution of the embodiment of the present application optimizes the planned driving path through the perception range conditions in the preset conditions, the correction parameters and the sum of the correction parameters to obtain the target driving path, so that the correction parameters between the planned trajectory points and the predicted trajectory points in the planned driving path are minimized, thereby making the target object within the perception range of the robot, so that the robot can continuously perceive the target object, prevent over-tracking of the target, and improve the stability and reliability of target tracking.

[0141] In some embodiments, specifically, the step of “determining the correction parameters of the planned driving path” includes the following steps:

[0142] Get the preset maximum perception distance value and the preset minimum perception distance value of the robot;

[0143] Determining a third distance between the predicted trajectory point and a corresponding planned trajectory point in the planned driving path;

[0144] If the third distance is greater than or equal to the preset minimum perception distance value, and less than or equal to the preset maximum perception distance value, the correction parameter is the preset value;

[0145] If the third distance is less than the preset minimum perceived distance value, the correction parameter is the difference between the preset minimum perceived distance value and the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path;

[0146] If the third distance is greater than the preset maximum perception distance value, the correction parameter is the difference between the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path and the preset maximum perception distance value.

[0147] The preset maximum sensing distance value is the maximum value of the preset sensing range of the robot.

[0148] The preset minimum perception distance value is the minimum value of the preset perception range of the robot. The preset minimum perception distance value and the preset maximum perception distance value can represent the preset perception range of the robot.

[0149] Specifically, when the third distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path is greater than or equal to the preset minimum perception distance value, and less than or equal to the preset maximum perception distance value, it is determined that the target object is within the preset perception range of the robot, and at this time, the correction parameter is the preset value; when the third distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path is less than the preset minimum perception distance value, it is determined that the target object is not within the preset perception range of the robot, and the correction parameter is the difference between the preset minimum perception distance value and the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path; when the third distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path is greater than the preset maximum perception distance value, it is determined that the target object is not within the preset perception range, and the correction parameter is the difference between the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path and the preset maximum perception distance value.

[0150] The correction parameter can be determined by the following formula (4), which is specifically:

[0151]

[0152] In formula (4), δ(d i ) is the correction parameter, d i is the third distance between the i-th planned trajectory point and the corresponding predicted trajectory point, d min is the preset minimum perception distance value, d max is the preset maximum perception distance value, d min and d max It can represent the preset perception range of the robot, b is a preset value, and the preset value is preferably 0.

[0153] The technical solution of the embodiment of the present application determines the correction parameters according to the distance between the planned trajectory point and the corresponding predicted trajectory point, the preset maximum perception distance value and the preset minimum perception distance value, so as to facilitate the optimization of the planned driving path according to the correction parameters, so that the target object is within the perception range of the robot, so that the robot can continuously perceive the target object, prevent over-tracking of the target, and improve the stability and reliability of target tracking.

[0154] In some embodiments, further, the step of “if the preset conditions are not met, optimizing the planned trajectory points according to each predicted trajectory point and the corresponding planned trajectory point to obtain the target driving path” includes the following steps:

[0155] If the predicted trajectory point and the corresponding planned trajectory point do not meet the orientation condition, obtain the orientation of the robot;

[0156] Determine the difference between the orientation of each planned trajectory point and the corresponding predicted trajectory point in the predicted path;

[0157] According to the orientation condition in the preset conditions, the orientation difference and the orientation of the robot, the corresponding planned trajectory points in the planned driving path are optimized to obtain the target driving path.

[0158] The orientation of the robot is the orientation of the main axis of the robot's field of view.

[0159] The difference between the directions of the planned trajectory point and the predicted trajectory point in the corresponding predicted path is the difference between the tangent direction of the planned driving path at the planned trajectory point and the tangent direction of the predicted path at the predicted trajectory point.

[0160] In this embodiment, the orientation condition in the preset condition may be that the main axis of the robot's FOV is directed toward the target object.

[0161] Exemplarily, the orientation difference between the orientation of the robot and the difference between the orientation of the planned trajectory point and the corresponding predicted trajectory point in the predicted path can be determined, and then the planned trajectory point is optimized based on the orientation condition and the orientation difference to obtain the target driving path.

[0162] In some embodiments, the orientation condition in the preset condition may be that the orientation difference is 0, or that the sum of the orientation differences is 0, or that the sum of the orientation differences is a minimum value.

[0163] Exemplarily, the planned driving path can be optimized by the following formula (5), which is specifically:

[0164]

[0165] Among them, ψ i is the orientation of the robot at the ith planned trajectory point, is the difference in orientation between the i-th planned trajectory point and the target object, λ y is the empirical coefficient, J DY is the sum of the orientation differences.

[0166] For example, the orientation difference between the orientation of the robot and the orientation difference between each planned trajectory point and the target object can be determined according to formula (5), and then the sum of the orientation differences can be determined. Then, based on the orientation condition in the preset conditions, the orientation difference and the sum of the orientation differences, the corresponding planned trajectory points in the planned driving path are optimized to obtain the target driving path. For example, when the orientation condition in the preset conditions is the sum of the orientation differences J DY When the minimum value is 0 and may not be obtained, the planned driving path is optimized through the orientation condition in the preset condition to obtain the target driving path.

[0167] The technical solution of the embodiment of the present application optimizes the planned driving path according to the orientation conditions in the preset conditions, the difference in orientation and the orientation of the robot to ensure that the main axis of the robot's field of view angle is oriented toward the target object as much as possible, thereby improving the stability of target tracking.

[0168] In some embodiments, specifically, the step of “if the preset conditions are not met, optimizing the planned trajectory points according to each predicted trajectory point and the corresponding planned trajectory point to obtain the target driving path” includes the following steps:

[0169] If the predicted trajectory point and the corresponding planned trajectory point do not meet the obstacle occlusion condition, determine the obstacles in the environment where each predicted trajectory point in the predicted path is located;

[0170] Obtaining a fourth distance between the robot's heading axis and an obstacle in the environment where each predicted trajectory point is located;

[0171] Determine the distance difference between each fourth distance and the preset safety distance; optimize the corresponding planned trajectory points in the planned driving path according to each distance difference, the sum of each distance difference and the obstacle blocking condition in the preset conditions to obtain the target driving path.

[0172] The robot's orientation axis is the main axis of the robot's field of view.

[0173] The fourth distance refers to the distance between the main axis of the field of view angle of the robot at the planned trajectory point and the obstacles around the corresponding predicted trajectory point.

[0174] The preset safety distance is a safety distance of the robot. The preset safety distance is pre-set and can be determined by the size of the robot or according to an actual tracking task.

[0175] In some embodiments, the obstacle blocking condition may be the minimum value of the fourth distance under the premise of ensuring the safety of the robot operation, or may be the minimum value of the sum of the fourth distances.

[0176] For example, the planned driving path can be optimized by the following formula (6) to obtain the target driving path. The formula (6) is specifically:

[0177]

[0178] Among them, ζ is the preset safety distance, Ω(c i ) is the distance from the main axis of the field of view to the obstacle in the environment where the robot is located when it is at the i-th planned trajectory point, λ o is the empirical coefficient, J DO is the sum of the distance differences.

[0179] The planned driving path can be optimized by using the obstacle shielding condition in the preset conditions and the above formula (6) to obtain the target driving path. For example, the obstacle shielding condition in the preset conditions can be the sum of the distance difference values ​​J DO The minimum value of is obtained, and the planned driving path is optimized according to the obstacle blocking condition in the preset condition to obtain the target driving path.

[0180] The technical solution of the embodiment of the present application optimizes the planned driving path through the obstacle blocking condition, the distance difference and the sum of the distance differences in the preset conditions, thereby ensuring that the main axis of the field of view angle is away from the obstacle, so that the target object is not blocked by the obstacle, so that the target object can continue to be perceived by the robot, thereby improving the stability and reliability of target tracking.

[0181] In some embodiments, specifically, step 504 “optimizes the planned driving path of the robot according to each predicted trajectory point of the predicted path and the corresponding planned trajectory point to obtain a target driving path” includes the following steps:

[0182] Get the maximum speed and maximum acceleration of the robot;

[0183] According to the preset target, maximum speed and maximum acceleration, the driving speed and driving acceleration of the robot at each driving trajectory point in the target driving path are determined.

[0184] The maximum speed is the maximum movement speed that the robot is designed to achieve, which may include a maximum angular velocity and a maximum linear velocity.

[0185] The maximum acceleration is the maximum acceleration that the robot is designed to achieve. The maximum acceleration can include the maximum angular acceleration and the maximum linear acceleration.

[0186] The preset goal is to ensure the robot's safe driving while passing through the maximum speed and maximum acceleration of each driving trajectory point in the target driving path.

[0187] The driving speed is the actual speed passing through the driving trajectory point, which includes the driving linear speed and the driving angular speed.

[0188] The driving acceleration is the actual acceleration passing through the driving trajectory point, and the driving acceleration includes the driving line acceleration and the driving angular acceleration.

[0189] Exemplarily, the driving speed and driving acceleration of the robot at each driving trajectory point can be determined by the following formulas (7) to (10), and formulas (7) to (10) are specifically:

[0190]

[0191]

[0192]

[0193]

[0194] Among them, v i is the speed of the robot at the ith point of the trajectory, v max is the maximum linear velocity, a i is the driving acceleration of the robot at the i-th driving trajectory point, a max is the maximum linear acceleration, ω i is the angular velocity of the robot at the ith driving trajectory point, ω max is the maximum angular velocity. ω i The derivative of is the angular acceleration of the robot at the ith driving trajectory point, is the maximum linear acceleration. v , a , ω , All are empirical coefficients.

[0195] The maximum speed and maximum acceleration of each driving trajectory point are determined by the above formulas (7) to (10) and the preset target, so as to ensure that the robot passes the driving trajectory point as quickly as possible under the premise of safe driving, so as to further improve the accuracy and stability of target tracking.

[0196] In some embodiments, the target driving path may be represented by the following formula (11).

[0197]

[0198] Among them, q * The target driving path.

[0199] In this embodiment, the planned driving path is optimized by combining the track distance condition in the preset conditions, the obstacle distance condition in the preset conditions, the perception range condition in the preset conditions, the perception range condition in the preset conditions, the orientation condition in the preset conditions, the obstacle blocking condition in the preset conditions and the preset target, and the target driving path Q is obtained. * .

[0200] The technical solution of the embodiment of the present application optimizes the planned driving path by combining the trajectory distance condition in the preset conditions, the obstacle distance condition in the preset conditions, the perception range condition in the preset conditions, the perception range condition in the preset conditions, the orientation condition in the preset conditions, the obstacle occlusion condition in the preset conditions and the preset target in the preset conditions to obtain the target driving path, so that the robot can continuously perceive the target object when moving on the target driving path, avoids over-tracking of the target object, reduces the probability of losing the target object, and improves the accuracy and stability of target tracking.

[0201] It should be noted that the planned driving path can also be optimized by combining any one or more of the trajectory distance conditions in the preset conditions, the obstacle distance conditions in the preset conditions, the perception range conditions in the preset conditions, the perception range conditions in the preset conditions, the orientation conditions in the preset conditions, the obstacle occlusion conditions in the preset conditions and the preset targets. This application does not make any specific restrictions on this.

[0202] For example, when a planned trajectory point does not meet the trajectory distance condition and the obstacle distance condition, the planned trajectory point can be adjusted based on the first distance, the sum of the first distances and the trajectory distance condition in the preset conditions, and the second distance, the second distances and the obstacle distance condition in the preset conditions, so that the planned trajectory point meets the trajectory distance condition and the obstacle distance condition, thereby determining the target driving path.

[0203] It should be noted that other conditions in other preset conditions may be combined arbitrarily, and the specific optimization method is similar to the above, which will not be described in detail here.

[0204] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0205] Based on the same inventive concept, the embodiment of the present application also provides a target tracking device for implementing the target tracking method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations of one or more target tracking device embodiments provided below can refer to the limitations of the target tracking method above.

[0206] In one embodiment, Figure 6 As shown, a target tracking device is provided, including: a path prediction module 602, a path acquisition module 604, a path optimization module 606 and a control module 608, wherein:

[0207] The path prediction module 602 is used to obtain the spatiotemporal state information of the target object and determine the predicted path of the target object according to the spatiotemporal state information.

[0208] The path acquisition module 604 is used to acquire the current position of the robot and determine the planned driving path according to the current position of the robot.

[0209] The path optimization module 606 is used to optimize the planned driving path according to the predicted path to obtain the target driving path.

[0210] The control module 608 is used to control the robot according to the target driving path to track the target object.

[0211] In some embodiments, the path optimization module 606 is also used to: obtain the planned trajectory points of the planned driving path and the predicted trajectory points of the predicted path; optimize the planned driving path of the robot according to each predicted trajectory point of the predicted path and the corresponding planned trajectory point to obtain the target driving path.

[0212] In some embodiments, the path optimization module 606 is also used to determine whether the predicted trajectory points and the corresponding planned trajectory points meet preset conditions, the preset conditions including at least one of the following conditions: trajectory distance conditions, perception range conditions, obstacle distance conditions, orientation conditions, and obstacle occlusion conditions; if the preset conditions are not met, the planned trajectory points are optimized according to each predicted trajectory point and the corresponding planned trajectory point to obtain the target driving path.

[0213] In some embodiments, the path optimization module 606 is also used for: if the predicted trajectory point and the corresponding planned trajectory point do not meet the trajectory distance condition, optimizing the planned driving path of the robot according to each predicted trajectory point to obtain multiple initial driving paths; obtaining the first distance between each initial trajectory point in each initial driving path and the planned driving path; determining the target driving path from the multiple initial driving paths according to each first distance, the sum of each first distance and the trajectory distance condition in the preset conditions.

[0214] In some embodiments, the path optimization module 606 is also used to: if the predicted trajectory point and the corresponding planned trajectory point do not meet the obstacle distance condition, determine the obstacles in the environment in which each predicted trajectory point in the predicted path is located; obtain the second distance between each planned trajectory point and the obstacle in the environment in which the corresponding predicted trajectory point is located; and optimize each corresponding planned trajectory point in the planned driving path according to the obstacle distance condition in the preset conditions, each second distance and the sum of each second distance to obtain the target driving path.

[0215] In some embodiments, the path optimization module 606 is also used to: if the predicted trajectory point and the corresponding planned trajectory point do not meet the perception range condition, determine the correction parameters of the planned driving path; according to the perception range condition, each correction parameter and the sum of each correction parameter in the preset conditions, optimize the corresponding planned trajectory points in the planned driving path to obtain the target driving path.

[0216] In some embodiments, the path optimization module 606 is also used to: obtain a preset maximum perception distance value and a preset minimum perception distance value of the robot; determine a third distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path; if the third distance is greater than or equal to the preset minimum perception distance value, and less than or equal to the preset maximum perception distance value, then the correction parameter is the preset value; if the third distance is less than the preset minimum perception distance value, then the correction parameter is the difference between the preset minimum perception distance value and the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path; if the third distance is greater than the preset maximum perception distance value, then the correction parameter is the difference between the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path and the preset maximum perception distance value.

[0217] In some embodiments, the path optimization module 606 is also used to: if the predicted trajectory point and the corresponding planned trajectory point do not meet the orientation condition, obtain the orientation of the robot; determine the difference between the orientation of each planned trajectory point and the corresponding predicted trajectory point in the predicted path; according to the orientation condition in the preset conditions, the difference in orientation and the orientation of the robot, optimize each corresponding planned trajectory point in the planned driving path to obtain the target driving path.

[0218] In some embodiments, the path optimization module 606 is also used to: if the predicted trajectory point and the corresponding planned trajectory point do not meet the obstacle occlusion condition, determine the obstacles in the environment in which each predicted trajectory point in the predicted path is located; obtain the fourth distance between the main axis of the robot's field of view angle and the obstacles in the environment in which each predicted trajectory point is located; determine the distance difference between each fourth distance and the preset safety distance; according to each distance difference, the sum of each distance difference and the obstacle occlusion condition in the preset conditions, optimize each corresponding planned trajectory point in the planned driving path to obtain the target driving path.

[0219] In some embodiments, the path optimization module 606 is also used to: obtain the maximum speed and maximum acceleration of the robot; and determine the driving speed and driving acceleration of each driving trajectory point of the robot in the target driving path according to the preset target, maximum speed and maximum acceleration.

[0220] Each module in the above target tracking device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of the processor in the robot in the form of hardware, or can be stored in the memory in the robot in the form of software, so that the processor can call and execute the operations corresponding to each module.

[0221] In one embodiment, a robot is provided. The robot may be a server, and its internal structure diagram may be as follows: Figure 7 As shown. The robot includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the robot is used to provide computing and control capabilities. The memory of the robot includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the robot is used to store data such as obstacles in the environment where the trajectory point is located, the current position of the robot and the spatiotemporal state information. The input / output interface of the robot is used to exchange information between the processor and an external device. The communication interface of the robot is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a target tracking method is implemented.

[0222] Those skilled in the art will understand that Figure 7 The structure shown in the figure is merely a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the robot to which the scheme of the present application is applied. The specific robot may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.

[0223] In one embodiment, a robot is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps of the target tracking method of the above embodiment when executing the computer program.

[0224] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the target tracking method of the above embodiment are implemented.

[0225] In one embodiment, a computer program product is provided, including a computer program, which implements the steps of the target tracking method of the above embodiment when executed by a processor.

[0226] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0227] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0228] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A target tracking method, characterized in that: The method is applied to a robot, and the method comprises: Acquiring spatiotemporal state information of a target object, and determining a predicted path of the target object according to the spatiotemporal state information; Get the current position of the robot and determine the planned driving path based on the current position of the robot; Acquire the planned trajectory points of the planned driving path and the predicted trajectory points of the predicted path; Optimize the planned driving path of the robot according to each of the predicted trajectory points of the predicted path and the corresponding planned trajectory points to obtain the target driving path; Controlling the robot according to the target driving path to track the target object; The step of optimizing the planned driving path of the robot according to each of the predicted trajectory points of the predicted path and the corresponding planned trajectory points to obtain a target driving path includes: Determining whether the predicted trajectory point and the corresponding planned trajectory point meet a preset condition, wherein the preset condition includes a perception range condition; the perception range condition includes that the distance between the trajectory point to be driven by the robot and the corresponding predicted trajectory point is within a preset perception range of the robot; If the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path; If the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path includes: If the predicted trajectory point and the corresponding planned trajectory point do not meet the perception range condition, determine the correction parameter of the planned driving path; according to the perception range condition in the preset condition, each correction parameter and the sum of each correction parameter, optimize each corresponding planned trajectory point in the planned driving path to obtain the target driving path; The correction parameter for determining the planned driving path includes: obtaining a preset maximum perception distance value and a preset minimum perception distance value of the robot; determining a third distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path; if the third distance is greater than or equal to the preset minimum perception distance value, and less than or equal to the preset maximum perception distance value, the correction parameter is a preset value; if the third distance is less than the preset minimum perception distance value, the correction parameter is the difference between the preset minimum perception distance value and the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path; if the third distance is greater than the preset maximum perception distance value, the correction parameter is the difference between the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path and the preset maximum perception distance value.

2. The method according to claim 1, characterized in that The preset condition also includes at least one of the following conditions: a track distance condition, an obstacle distance condition, a direction condition, and an obstacle blocking condition.

3. The method according to claim 2, characterized in that If the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path includes: If the predicted trajectory point and the corresponding planned trajectory point do not satisfy the trajectory distance condition, optimizing the planned driving path of the robot according to each predicted trajectory point to obtain multiple initial driving paths; Acquire a first distance between each initial trajectory point in each of the initial driving paths and the planned driving path; The target driving path is determined from the multiple initial driving paths according to each of the first distances, the sum of the first distances, and a trajectory distance condition in the preset conditions.

4. The method according to claim 2, characterized in that: If the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path includes: If the predicted trajectory point and the corresponding planned trajectory point do not satisfy the obstacle distance condition, determining obstacles in the environment where each predicted trajectory point in the predicted path is located; Acquire a second distance between each of the planned trajectory points and an obstacle in the environment where the corresponding predicted trajectory point is located; According to the obstacle distance condition in the preset condition, each of the second distances and the sum of each of the second distances, each of the corresponding planned trajectory points in the planned driving path is optimized to obtain the target driving path.

5. The method according to claim 2, characterized in that: If the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path includes: If the predicted trajectory point and the corresponding planned trajectory point do not satisfy the orientation condition, obtaining the orientation of the robot; Determining the difference between the orientation of each of the planned trajectory points and the corresponding predicted trajectory point in the predicted path; According to the orientation condition in the preset conditions, the orientation difference and the orientation of the robot, each corresponding planned trajectory point in the planned driving path is optimized to obtain the target driving path.

6. The method according to claim 2, characterized in that If the preset condition is not met, optimizing the planned trajectory points according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path includes: If the predicted trajectory point and the corresponding planned trajectory point do not satisfy the obstacle occlusion condition, determining obstacles in the environment where each predicted trajectory point in the predicted path is located; Acquire a fourth distance between the robot's heading axis and an obstacle in the environment where each of the predicted trajectory points is located; Determine the distance difference between each of the fourth distances and a preset safety distance; According to each of the distance differences, the sum of each of the distance differences and the obstacle blocking condition in the preset condition, each of the planned trajectory points corresponding to the planned driving path is optimized to obtain the target driving path.

7. The method according to any one of claims 1 to 6, characterized in that: The step of optimizing the planned driving path of the robot according to each of the predicted trajectory points and the corresponding planned trajectory points of the predicted path to obtain the target driving path further includes: Get the maximum speed and maximum acceleration of the robot; According to the preset target, the maximum speed and the maximum acceleration, the driving speed and driving acceleration of the robot at each driving trajectory point in the target driving path are determined.

8. A target tracking device, characterized in that: Applied to a robot, the device comprises: A path prediction module, used to obtain the spatiotemporal state information of the target object and determine the predicted path of the target object according to the spatiotemporal state information; The path acquisition module is used to obtain the current position of the robot and determine the planned driving path based on the current position of the robot; A path optimization module, used to obtain the planned trajectory points of the planned driving path and the predicted trajectory points of the predicted path, optimize the planned driving path of the robot according to each of the predicted trajectory points of the predicted path and the corresponding planned trajectory points, and obtain a target driving path; A control module, used to control the robot according to the target driving path to track the target object; The path optimization module is further used to: determine whether the predicted trajectory point and the corresponding planned trajectory point meet preset conditions, wherein the preset conditions include a perception range condition; the perception range condition includes that the distance between the trajectory point to be driven by the robot and the corresponding predicted trajectory point is within the preset perception range of the robot; if the preset conditions are not met, the planned trajectory point is optimized according to each of the predicted trajectory points and the corresponding planned trajectory points to obtain the target driving path; The path optimization module is further used to: if the predicted trajectory point and the corresponding planned trajectory point do not meet the perception range condition, determine the correction parameter of the planned driving path; according to the perception range condition in the preset condition, each correction parameter and the sum of each correction parameter, optimize each corresponding planned trajectory point in the planned driving path to obtain the target driving path; The path optimization module is also used to: obtain the preset maximum perception distance value and the preset minimum perception distance value of the robot; determine the third distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path; if the third distance is greater than or equal to the preset minimum perception distance value, and less than or equal to the preset maximum perception distance value, then the correction parameter is the preset value; if the third distance is less than the preset minimum perception distance value, then the correction parameter is the difference between the preset minimum perception distance value and the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path; if the third distance is greater than the preset maximum perception distance value, then the correction parameter is the difference between the distance between the predicted trajectory point and the corresponding planned trajectory point in the planned driving path and the preset maximum perception distance value.

9. A robot comprising a memory and a processor, characterized in that: The memory stores a computer program, wherein the processor implements the steps of the method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Path planning method, tracking device, storage medium and computer program product

    CN112513766A