Robot obstacle avoidance method and related device, robot and storage medium
By sampling path points and predicting actual motion parameters along the robot's planned path, and combining this with geometric fusion to establish an obstacle avoidance model, the problem of insufficient obstacle avoidance capability of robots in complex road conditions is solved, achieving more comprehensive obstacle avoidance decisions and less uncertainty.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG HUARAY TECH CO LTD
- Filing Date
- 2025-10-31
- Publication Date
- 2026-07-24
AI Technical Summary
In existing technologies, robots lack the ability to avoid obstacles in complex road conditions, resulting in a large deviation between the actual operating trajectory of the equipment and the planned path, which increases the uncertainty of obstacle avoidance.
By sampling path points based on the robot's planned motion path, a first obstacle avoidance model is established. Then, by combining the robot's actual motion parameters to predict its future position, a second obstacle avoidance model is generated. Finally, a target obstacle avoidance model is obtained through geometric fusion, integrating stability and adaptability to guide the robot in obstacle avoidance.
It improves the robot's obstacle avoidance capabilities in complex road conditions, reduces obstacle avoidance uncertainty, and enhances the comprehensiveness and accuracy of obstacle avoidance decisions.
Smart Images

Figure CN121523322B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent control technology, and in particular to a robot obstacle avoidance method and related devices, robot and storage medium. Background Technology
[0002] The application of automated robot movement has been widely adopted in fields such as factories, warehouses, distribution centers, and e-commerce logistics. Currently, automated robot movement mainly relies on current driving information to identify target objects.
[0003] Existing technologies employ path planning strategies to avoid obstacles. However, robot control systems suffer from response delays, particularly noticeable in complex road conditions (e.g., where planned paths are intricate). This delay leads to significant deviations between the actual trajectory and the planned path, greatly increasing the uncertainty of successful obstacle avoidance. Therefore, improving the obstacle avoidance capabilities of robots, especially in complex road conditions, is a pressing issue. Summary of the Invention
[0004] The main technical problem addressed by this application is to provide a robot obstacle avoidance method and related devices, robot, and storage medium, which can improve the robot's obstacle avoidance capability, especially in complex road conditions.
[0005] To address the aforementioned technical problems, the first aspect of this application provides a robot obstacle avoidance method, comprising: sampling based on the robot's planned motion path to obtain a path point sequence; wherein the path point sequence includes the sampling positions of several path points on the planned motion path; mapping the sampling positions of the path points in the path point sequence based on the robot's ontology model to obtain a first obstacle avoidance model when the robot assumes to move according to the planned motion path; during the robot's actual motion, predicting based on the robot's actual motion parameters at the current moment to obtain a predicted position of the robot at several future moments after the current moment; mapping the predicted positions at several future moments based on the robot's ontology model to obtain a second obstacle avoidance model of the robot at the current moment; and geometrically fusing the first obstacle avoidance model and the second obstacle avoidance model in space to obtain a target obstacle avoidance model used to guide the robot to avoid obstacles at the current moment.
[0006] To address the aforementioned technical problems, a second aspect of this application provides a robot obstacle avoidance device, comprising: a path point sampling module for sampling based on the robot's planned motion path to obtain a path point sequence; wherein the path point sequence includes the sampling positions of several path points on the planned motion path; a first obstacle avoidance model building module for mapping the sampling positions of the path points in the path point sequence based on the robot's body model to obtain a first obstacle avoidance model when the robot assumes to move according to the planned motion path; a position prediction module for predicting the robot's predicted position at several future moments after the current moment based on the robot's actual motion parameters at the current moment during the robot's actual motion; a second obstacle avoidance model building module for mapping the predicted positions at several future moments based on the robot's body model to obtain a second obstacle avoidance model of the robot at the current moment; and a target obstacle avoidance model building module for geometrically fusing the first and second obstacle avoidance models in space to obtain a target obstacle avoidance model for guiding the robot to avoid obstacles at the current moment.
[0007] To address the aforementioned technical problems, a third aspect of this application provides an electronic device comprising at least a memory and a processor coupled to each other. The memory stores at least program instructions, and the processor executes the program instructions to implement the robot obstacle avoidance method described in the first aspect.
[0008] To address the aforementioned technical problems, a fourth aspect of this application provides a robot that includes at least the electronic device described in the third aspect, as well as a mobile chassis and a sensing device coupled to the electronic device.
[0009] To address the aforementioned technical problems, the fifth aspect of this application provides a computer-readable storage medium storing program instructions executable by a processor, the program instructions being used to implement the robot obstacle avoidance method of the first aspect described above.
[0010] The above scheme involves sampling the robot's planned motion path to obtain a path point sequence, where the path point sequence includes the sampling positions of several path points on the planned motion path. The sampling positions of the path points in the path point sequence are mapped using the robot's ontology model to obtain a first obstacle avoidance model when the robot assumes it is moving along the planned motion path. During the robot's actual movement, predictions are made based on the robot's actual motion parameters at the current moment to obtain predicted positions for several future moments after the current moment. These predicted positions are then mapped using the robot's ontology model to obtain a second obstacle avoidance model for the robot at the current moment. Finally, the first and second obstacle avoidance models are geometrically fused in space to obtain a target obstacle avoidance model that guides the robot in avoiding obstacles at the current moment. This scheme obtains a first obstacle avoidance model by sampling a sequence of path points based on the planned motion path and mapping it. This model pre-simulates the space occupation of the robot during planned movement. Since the planned motion path usually reflects static obstacles in the environment, it helps to identify and avoid static obstacles on the path. Simultaneously, during actual movement, the future position is predicted based on current motion parameters and mapped to obtain a second obstacle avoidance model. Because the road conditions of the planned motion path are uncertain during actual movement, the second obstacle avoidance model can detect dynamic environmental changes in real time. By geometrically fusing the two models, a target obstacle avoidance model is obtained, which integrates the stability of the first obstacle avoidance model and incorporates the adaptability of the second model. This makes obstacle avoidance decisions more comprehensive, especially in complex road conditions. Compared to a single obstacle avoidance model, it can minimize the uncertainty of successful obstacle avoidance. Therefore, it can improve the robot's obstacle avoidance capability, especially in complex road conditions. Attached Figure Description
[0011] Figure 1 This is a flowchart illustrating an embodiment of the robot obstacle avoidance method of this application; Figure 2 This is a schematic diagram illustrating the robot control response delay of this application; Figure 3 This is a schematic diagram of the framework of an embodiment of the robot obstacle avoidance device of this application; Figure 4 This is a schematic diagram of the framework of an embodiment of the electronic device of this application; Figure 5 This is a schematic diagram of the framework of an embodiment of the robot of this application; Figure 6 This is a schematic diagram of a framework of an embodiment of the computer-readable storage medium of this application. Detailed Implementation
[0012] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0013] In the following description, specific details such as particular system architectures, interfaces, and technologies are presented for illustrative purposes rather than for limiting purposes, in order to provide a thorough understanding of this application.
[0014] In this paper, the terms "system" and "network" are often used interchangeably. The term "and / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Additionally, the slash " / " generally indicates that the preceding and following related objects have an "or" relationship. Furthermore, "many" in this paper indicates two or more objects.
[0015] Please see Figure 1 , Figure 1 This is a flowchart illustrating an embodiment of the robot obstacle avoidance method of this application. Specifically, it may include the following steps: Step S11: Sample the planned motion path of the robot to obtain a path point sequence; wherein, the path point sequence contains the sampling positions of several path points on the planned motion path.
[0016] In this embodiment, the robot's planned motion path is characterized as a path planned based on the robot's starting point and target point before the robot actually moves. That is, before actual movement, the robot receives a motion route instruction from the user. This instruction includes a planned motion path, which can be an obstacle avoidance route planned by the user based on actual road conditions from the starting point to the target endpoint. It can also include the target point, allowing the robot to combine map data and the starting point to plan the path. Path planning methods include A* algorithm, D algorithm, etc., which will not be elaborated upon here. It should be noted that the above examples are merely a few possible planning methods for robot motion paths in practical applications and are not limited thereto.
[0017] In one implementation scenario, a path point sequence is obtained by sampling based on the robot's planned motion path; this path point sequence contains the sampling positions of several path points along the planned motion path. The generated path points can be represented as:
[0018] In the above formula, Indicates the generated first k A sequence of path points, Indicates the generated first k The x-coordinates of the path points Indicates the generated first kThe sampling operation can be performed based on a pre-set sampling distance, which can be a fixed value, such as 1 cm or 2 cm. There is no numerical limitation on the sampling distance here. The sampling process transforms the path into a function with arc length as the parameter by arc length parameterization, and then iteratively calculates the cumulative arc length. This sampling method converts a continuous path into a uniformly spaced sequence of points, ensuring the accuracy of path tracking, control stability, and computational efficiency.
[0019] Step S12: Based on the robot's ontology model, map the sampling positions of the path points in the path point sequence to obtain the first obstacle avoidance model when the robot assumes to move according to the planned motion path.
[0020] In one implementation scenario, the sampling positions of each path point in the path point sequence are sequentially selected as the first initial position. Based on the robot's ontology model, the first initial position is mapped to obtain the robot's first pose when it is in the first initial position. Based on the first initial position and all previous sampling positions, the sum of distances between adjacent path points in the path point sequence up to the first initial position is obtained as the first distance. Based on the comparison between the first distance and a first threshold, it is determined whether to return to the step of sequentially selecting the sampling positions of each path point in the path point sequence as the first initial position. Geometric fusion is performed in space based on each first pose to obtain the first obstacle avoidance model. This method, by sampling the path point sequence based on the planned motion path and mapping it to obtain the first obstacle avoidance model, pre-simulates the space occupied by the robot when it moves according to the plan. Since the planned motion path usually reflects static obstacles in the environment, it helps to identify and avoid static obstacles on the path.
[0021] In a specific implementation scenario, in order to select the first initial position from the path point sequence, one path point in the path point sequence is first selected as the first initial position.
[0022] In a specific implementation scenario, in order to obtain the first pose, the path points can be mapped sequentially according to the robot body model. The mapping method is represented as follows:
[0023] In the above formula, polygon For robot body model data, tf Represented as transform Coordinate transformation, This is the first pose obtained by mapping the robot's body model. In other words, the center point of the robot's body model coincides with this path point, resulting in the pose of the robot's body model at this path point.
[0024] In a specific implementation scenario, to obtain the first distance, the distance between two adjacent path points can be calculated to obtain the distance values between each group of adjacent path points. The first distance is obtained by summing the distance values between each group of adjacent path points. The method for calculating the distance between two adjacent path points is as follows:
[0025] In the above formula, This represents the distance between two adjacent path points. The sum of the distances between multiple adjacent path points is expressed as follows:
[0026] In the above formula, sumDis Indicates the first distance. n Natural numbers (and the following) m The values are not necessarily the same.
[0027] In a specific implementation scenario, to determine whether to return to the step of sequentially selecting the sampling positions of each path point in the path point sequence as the first initial position, a comparison result between a first distance and a first threshold is obtained; where the first threshold represents the set stopping sensing distance; when the comparison result indicates that the first distance does not exceed the first threshold, the step of sequentially selecting the sampling positions of each path point in the path point sequence as the first initial position is returned; when the comparison result indicates that the first distance exceeds the first threshold, the first pose obtained by mapping the most recent first initial position is discarded, and a tangent segment of the planned motion path is drawn from the previous first initial position; where the length of the tangent segment is the difference between the first threshold and the previous first distance, and the first obstacle avoidance model includes the tangent segment. This method, by comparing the first distance with the first threshold, helps to limit the obstacle avoidance distance and prevents the error from increasing due to excessive device distance.
[0028] In a specific implementation scenario, the first threshold represents the set stopping sensing distance. Before the robot runs, the user sets a running distance based on the actual situation. Once the simulated running distance reaches the set running distance, the simulated running stops.
[0029] In a specific implementation scenario, when the first distance exceeds the first threshold, the length of the tangent segment can be calculated by discarding the first pose of the latest mapping and taking the first pose of the previous path point as the starting point, extending it according to the tangent direction of that point on the planned motion path, so that the sum of the distances between adjacent path points plus the extended distance is equal to the running distance set by the object.
[0030] In a specific implementation scenario, to obtain the first obstacle avoidance model, geometric fusion is performed in space based on each first pose to obtain the first obstacle avoidance model, which is represented as:
[0031] In the above formula, The first pose is obtained by mapping the robot's body model. Geometric fusion based on the first pose can be achieved by discretizing the space and then performing probabilistic fusion. The robot environment is divided into uniform grid cells at a fixed resolution. By superimposing robot body occupancy information at all path points, a spatiotemporal occupancy confidence region for the robot along the path point sequence can be generated. Fusion is then performed based on spatial consistency to ultimately obtain the obstacle avoidance path. The above fusion method is only one possible implementation, and no limitation is imposed on the fusion method described herein.
[0032] Step S13: During the actual movement of the robot, based on the actual motion parameters of the robot at the current moment, a prediction is made to obtain the predicted position of the robot at several future moments after the current moment. For better understanding, please refer to the following: Figure 2 , Figure 2 This is a diagram illustrating the robot control response delay. (Example:) Figure 2 As shown, when the robot is making an arc turn, if it follows the planned motion path, its control system response is significantly delayed, resulting in a large deviation between the robot's actual motion path and the planned motion path. This deviation causes the planned motion path to fail, making it possible for the robot, which was originally moving within a safe range, to collide. This greatly increases the uncertainty of the robot's ability to successfully avoid obstacles during its movement.
[0033] In an implementation scenario, actual motion parameters may include, but are not limited to: actual position, actual linear velocity, actual angular velocity, actual heading angle, etc. The specific content of actual motion parameters is not limited here.
[0034] In one implementation scenario, to obtain the predicted position of the robot at several future moments after the current moment, based on the actual linear velocity, the first heading angle at the first moment, and the time interval between the first and second moments, a first update value is predicted in different coordinate directions at the second moment compared to the first moment. Then, based on the actual angular velocity and the prediction time interval, a second update value is predicted for the heading angle at the second moment compared to the first moment. The first position at the first moment is updated based on the first update value to obtain the second position at the second moment, and the first heading angle at the first moment is updated based on the second update value to obtain the second heading angle at the second moment. The first heading angle is the actual heading angle, and the first position is the actual position. The second position at the second time is the predicted position for the next future time after the current time, and the second heading angle at the second time is the predicted heading angle for the next future time after the current time. Similarly, if the first time is a future time, the first heading angle is the predicted heading angle for the corresponding future time, and the first position is the predicted position for the corresponding future time. The second position at the second time is the predicted position for the next future time, and the second heading angle at the second time is the predicted heading angle for the next future time. This method predicts future positions based on current motion parameters, and through iterative updates, achieves multi-step prediction, ensuring the prediction process closely follows the robot's motion trajectory. This helps reduce accumulated errors and improve the accuracy of the predicted position.
[0035] In a specific implementation scenario, when the robot actually begins to move, its current position, linear velocity, angular velocity, and heading angle are acquired. Based on these acquired motion parameters and the predicted time interval, the robot's position and heading angle for the next moment are predicted. The position prediction and heading angle prediction are expressed as follows:
[0036]
[0037]
[0038] In the above formula, for j The robot predicts the x-coordinate of its current location. Let x be the x-coordinate of the robot's predicted position at the next moment. for j The robot predicts the vertical coordinate of its current location. Let be the ordinate of the robot's predicted position at the next moment. For robots j linear velocity at time t, For robots j angular velocity at time t, For the prediction time interval, the first j The predicted path point locations are represented as follows: The prediction time interval means predicting one... The robot's position and heading angle information after a certain time, for example... When the time interval is 1 / 10 of a second, predict the robot's possible position and heading angle after traveling for 1 / 10 of a second. It should be noted that the above example is merely a possible implementation of the time interval; other time intervals are not limited here, nor will they be listed individually.
[0039] Step S14: Based on the robot's ontology model, map the predicted positions at several future moments to obtain the robot's second obstacle avoidance model at the current moment.
[0040] In one implementation scenario, predicted positions at various future moments are sequentially selected as second initial positions. The second initial positions are mapped using the robot's ontology model to obtain the robot's second pose at those positions. The sum of distances between adjacent predicted positions up to the second initial position is calculated as the second distance, based on the second initial position and all preceding predicted positions. A comparison between the second distance and a first threshold determines whether to return to the previous step of sequentially selecting predicted positions at various future moments as the second initial position. The first threshold represents the set stopping distance. Geometric fusion is performed on each second pose in space to obtain a second obstacle avoidance model. This method, in actual motion, predicts future positions based on current motion parameters and maps them to obtain the second obstacle avoidance model. Since the road conditions for the planned motion path are uncertain during actual motion, the second obstacle avoidance model can detect dynamic environmental changes in real time, improving its adaptability.
[0041] In a specific implementation scenario, the predicted positions of each future time are selected sequentially as the second initial positions. That is, the selections can be made in ascending order of the time intervals between each future time and the current time. For example, to facilitate understanding, taking the current time t as an example, the predicted position of future time t+1 can be selected as the second initial position, then the predicted position of future time t+2 can be selected as the second initial position, and so on. Further examples will not be provided here.
[0042] In a specific implementation scenario, to obtain the second pose, the second initial position can be mapped based on the robot's body model to obtain the second pose of the robot when it is in the second initial position. The mapping method is represented as follows:
[0043] In the above formula, polygonFor robot body model data, tf Represented as transform Coordinate transformation, This represents the second pose of the robot body model when it is in the second initial position. In other words, the center point of the robot body model coincides with this predicted path point, thus obtaining the pose of the robot body model at this predicted path point.
[0044] In a specific implementation scenario, to obtain the second distance, the distance between two adjacent predicted path points can be calculated to obtain the distance values between each group of adjacent predicted path points. The second distance is obtained by summing the distance values between each group of adjacent predicted path points. The method for calculating the distance between two adjacent path points is as follows:
[0045] In the above formula, This represents the distance between two adjacent predicted path points. The sum of the distances between multiple adjacent predicted path points is expressed as follows:
[0046] In the above formula, sumPreDis Indicates the second distance. m Natural numbers (as mentioned above) n The values are not necessarily the same.
[0047] In a specific implementation scenario, the first threshold represents the set stopping sensing distance. For details, please refer to the aforementioned content, which will not be repeated here.
[0048] In one implementation scenario, the process involves determining whether to return to the step of sequentially selecting predicted positions at each future time as the second initial position, and obtaining a comparison result between the second distance and a first threshold. If the comparison result indicates that the second distance does not exceed the first threshold, the process returns to the step of sequentially selecting predicted positions at each future time as the second initial position. If the comparison result indicates that the second distance exceeds the first threshold, the second pose obtained by mapping the latest second initial position is discarded, and a tangent segment is drawn from the previous second initial position as the starting point for the predicted motion path. The predicted motion path is obtained by fitting the predicted positions at each future time, and the length of the tangent segment is the difference between the first threshold and the previous second distance. The second obstacle avoidance model includes the tangent segment. This method, by comparing the second distance with the first threshold, helps to limit the obstacle avoidance distance and prevents the error from increasing due to excessive distance between the device and the target.
[0049] In a specific implementation scenario, when the second distance exceeds the first threshold, the length of the tangent segment can be calculated by discarding the latest mapped second pose and taking the second pose mapped by the previous predicted path point as the starting point, extending it according to the tangent direction of that point on the predicted path, so that the sum of the distances between adjacent predicted path points plus the extended distance is equal to the running distance set by the object.
[0050] In a specific implementation scenario, to obtain the second obstacle avoidance model, geometric fusion is performed in space based on each second pose to obtain the second obstacle avoidance model, which is represented as:
[0051] In the above formula, The pose of the robot body model at each predicted path point is given. The geometric fusion method is the same as the geometric fusion in space based on each first pose, as described above, and will not be repeated here.
[0052] Step S15: Geometrically fuse the first obstacle avoidance model and the second obstacle avoidance model in space to obtain the target obstacle avoidance model used to guide the robot to avoid obstacles at the current moment.
[0053] In one implementation scenario, geometric fusion based on the first obstacle avoidance model and the second obstacle avoidance model in space can be achieved by assigning weights to the two models based on feature similarity and then performing a weighted calculation based on the assigned weights. The feature similarity can be Euclidean distance or the curvature of the model edge.
[0054] In another implementation scenario, the geometric fusion of the first and second obstacle avoidance models in space can also occur when, during the model fusion process, the second obstacle avoidance model covers an area that the first model does not. In this case, the fused target obstacle avoidance model includes the area covered only by the second model. The target obstacle avoidance model is represented as:
[0055] In the above formula, GlobalModel This represents the first obstacle avoidance model. localModel This represents the second obstacle avoidance model. It should be noted that the examples above are merely a few possible fusion methods for geometrically integrating the first and second obstacle avoidance models in space during practical applications, and are not limited here.
[0056] In a specific implementation scenario, the ontological model is represented as the shape of the robot from a top-down perspective.
[0057] In a specific implementation scenario, steps S11 and S12 can be performed before steps S13 and S14 (i.e., in this embodiment, steps S11, S12, S13, S14, and finally step S15 can be executed); or steps S11 and S12 can be performed after steps S13 and S14 (i.e., in this embodiment, steps S13, S14, S11, S12, and finally step S15 can be executed); or steps S11 and S12 can be performed in parallel with steps S13 and S14 (i.e., in this embodiment, steps S11 and S12, and steps S13 and S14 can be performed in parallel, and finally step S15 can be executed). The order of the above execution steps is not limited here.
[0058] The above scheme involves sampling the robot's planned motion path to obtain a path point sequence, where the path point sequence includes the sampling positions of several path points on the planned motion path. The sampling positions of the path points in the path point sequence are mapped using the robot's ontology model to obtain a first obstacle avoidance model when the robot assumes it is moving along the planned motion path. During the robot's actual movement, predictions are made based on the robot's actual motion parameters at the current moment to obtain predicted positions for several future moments after the current moment. These predicted positions are then mapped using the robot's ontology model to obtain a second obstacle avoidance model for the robot at the current moment. Finally, the first and second obstacle avoidance models are geometrically fused in space to obtain a target obstacle avoidance model that guides the robot in avoiding obstacles at the current moment. This scheme obtains a first obstacle avoidance model by sampling a sequence of path points based on the planned motion path and mapping it. This model pre-simulates the space occupation of the robot during planned movement. Since the planned motion path usually reflects static obstacles in the environment, it helps to identify and avoid static obstacles on the path. Simultaneously, during actual movement, the future position is predicted based on current motion parameters and mapped to obtain a second obstacle avoidance model. Because the road conditions of the planned motion path are uncertain during actual movement, the second obstacle avoidance model can detect dynamic environmental changes in real time. By geometrically fusing the two models, a target obstacle avoidance model is obtained, which integrates the stability of the first obstacle avoidance model and incorporates the adaptability of the second model. This makes obstacle avoidance decisions more comprehensive, especially in complex road conditions. Compared to a single obstacle avoidance model, it can minimize the uncertainty of successful obstacle avoidance. Therefore, it can improve the robot's obstacle avoidance capability, especially in complex road conditions.
[0059] Please see Figure 3 , Figure 3This is a schematic diagram of the framework of an embodiment of the robot obstacle avoidance device of this application. The robot obstacle avoidance device 30 includes a path point sampling module 31, used to sample based on the robot's planned motion path to obtain a path point sequence; wherein, the path point sequence includes the sampling positions of several path points on the planned motion path; the robot obstacle avoidance device 30 also includes a first obstacle avoidance model building module 32, used to map the sampling positions of the path points in the path point sequence based on the robot's body model to obtain a first obstacle avoidance model when the robot assumes to move according to the planned motion path; the robot obstacle avoidance device 30 also includes a position prediction module 33, used to predict the robot's predicted position at several future times after the current time based on the robot's actual motion parameters during the actual movement of the robot; the robot obstacle avoidance device 30 also includes a second obstacle avoidance model building module 34, used to map the predicted positions at several future times based on the robot's body model to obtain a second obstacle avoidance model of the robot at the current time; the robot obstacle avoidance device 30 also includes a target obstacle avoidance model building module 35, used to perform geometric fusion in space based on the first obstacle avoidance model and the second obstacle avoidance model to obtain a target obstacle avoidance model for guiding the robot to avoid obstacles at the current time.
[0060] In the above scheme, the robot obstacle avoidance device 30 samples the robot's planned motion path to obtain a path point sequence; wherein, the path point sequence includes the sampling positions of several path points on the planned motion path; the sampling positions of the path points in the path point sequence are mapped based on the robot's body model to obtain a first obstacle avoidance model when the robot assumes to move according to the planned motion path; during the actual movement of the robot, predictions are made based on the robot's actual motion parameters at the current moment to obtain the predicted positions of the robot at several future moments after the current moment; the predicted positions at several future moments are mapped based on the robot's body model to obtain a second obstacle avoidance model of the robot at the current moment; the first obstacle avoidance model and the second obstacle avoidance model are geometrically fused in space to obtain a target obstacle avoidance model used to guide the robot to avoid obstacles at the current moment. This scheme obtains a first obstacle avoidance model by sampling a sequence of path points based on the planned motion path and mapping it. This model pre-simulates the space occupation of the robot during planned movement. Since the planned motion path usually reflects static obstacles in the environment, it helps to identify and avoid static obstacles on the path. Simultaneously, during actual movement, the future position is predicted based on current motion parameters and mapped to obtain a second obstacle avoidance model. Because the road conditions of the planned motion path are uncertain during actual movement, the second obstacle avoidance model can detect dynamic environmental changes in real time. By geometrically fusing the two models, a target obstacle avoidance model is obtained, which integrates the stability of the first obstacle avoidance model and incorporates the adaptability of the second model. This makes obstacle avoidance decisions more comprehensive, especially in complex road conditions. Compared to a single obstacle avoidance model, it can minimize the uncertainty of successful obstacle avoidance. Therefore, it can improve the robot's obstacle avoidance capability, especially in complex road conditions.
[0061] In some disclosed embodiments, the robot obstacle avoidance device 30 includes a first obstacle avoidance model establishment module, which is used to sequentially select the sampling positions of each path point in the path point sequence as a first position; map the first position based on the robot's body model to obtain the first pose of the robot when it is in the first position, and obtain the sum of distances between adjacent path points in the path point sequence up to the first position as a first distance based on the first position and each sampling position before it; determine whether to return to the step of sequentially selecting the sampling positions of each path point in the path point sequence as the first position based on the comparison result between the first distance and a first threshold; and perform geometric fusion in space based on each first pose to obtain a first obstacle avoidance model.
[0062] In some disclosed embodiments, the first obstacle avoidance model establishment module includes a first distance and first threshold comparison module, used to obtain a comparison result between the first distance and the first threshold; wherein, the first threshold represents a set stopping sensing distance; in response to the comparison result indicating that the first distance does not exceed the first threshold, the step of sequentially selecting the sampling positions of each path point in the path point sequence as the first position is returned; in response to the comparison result indicating that the first distance exceeds the first threshold, the first pose obtained by mapping the first position is discarded, and a tangent segment of the planned motion path is made with the previous first position as the starting point; wherein, the length of the tangent segment is the difference between the first threshold and the previous first distance, and the first obstacle avoidance model includes the tangent segment.
[0063] In some disclosed embodiments, the actual motion parameters include actual position, actual linear velocity, actual angular velocity, and actual heading angle.
[0064] In some disclosed embodiments, the robot obstacle avoidance device 30 includes a position prediction module, used to predict, based on the actual linear velocity, the first heading angle at a first moment, and the time interval between the first and second moments, a first update value in different coordinate directions at the second moment compared to the first moment, and a second update value with respect to the heading angle at the second moment compared to the first moment, based on the actual angular velocity and the time interval; update the first position at the first moment based on the first update value to obtain the second position at the second moment, and update the first heading angle at the first moment based on the second update value to obtain the second heading angle at the second moment; wherein The second time point is the time point after the first time point. If the first time point is the current time point, the first heading angle is the actual heading angle, and the first position is the actual position. The second position at the second time point is the predicted position at the next future time point after the current time point, and the second heading angle at the second time point is the predicted heading angle at the next future time point after the current time point. If the first time point is a future time point, the first heading angle is the predicted heading angle at the corresponding future time point, and the first position is the predicted position at the corresponding future time point. The second position at the second time point is the predicted position at the corresponding next future time point, and the second heading angle at the second time point is the predicted heading angle at the corresponding next future time point.
[0065] In some disclosed embodiments, the robot obstacle avoidance device 30 includes a second obstacle avoidance model building module, used to sequentially select predicted positions at various future times as second positions; map the second positions based on the robot's body model to obtain a second pose of the robot when it is in the second position, and obtain the sum of distances between adjacent predicted positions up to the second position as a second distance based on the second position and each of the previous predicted positions; determine whether to return to the step of sequentially selecting predicted positions at various future times as the second position based on the comparison result between the second distance and a first threshold; wherein, the first threshold represents the set stop perception distance; and perform geometric fusion in space based on each second pose to obtain a second obstacle avoidance model.
[0066] In some disclosed embodiments, the second obstacle avoidance model building module includes a second distance and first threshold comparison module, used to obtain a comparison result between the second distance and the first threshold; in response to the comparison result indicating that the second distance does not exceed the first threshold, return to the step of sequentially selecting the predicted positions of each future time as the second position; in response to the comparison result indicating that the second distance exceeds the first threshold, discard the second pose obtained by mapping the second position latest, and make a tangent segment of the predicted motion path starting from the previous second position; wherein, the predicted motion path is obtained by fitting the predicted positions of each future time, the length of the tangent segment is the difference between the first threshold and the previous second distance, and the second obstacle avoidance model includes the tangent segment.
[0067] In some disclosed embodiments, planning the motion path includes planning the running path based on the robot's starting point and target point before the robot actually moves; and / or, the body model includes the model shape of the robot from a top-down perspective.
[0068] Please see Figure 4 , Figure 4 This is a schematic diagram of the framework of an embodiment of the electronic device of this application. The electronic device 40 includes at least a memory 41 and a processor 42 coupled to each other. The memory 41 stores at least program instructions, and the processor 42 is used to execute the program instructions to implement the steps in any of the robot obstacle avoidance method embodiments described above. For details, please refer to the foregoing disclosed embodiments, which will not be repeated here.
[0069] Specifically, processor 42 controls itself and memory 41 to implement the steps in any of the robot obstacle avoidance method embodiments described above. Processor 42 can also be referred to as a CPU (Central Processing Unit). Processor 42 may be an integrated circuit chip with signal processing capabilities. Processor 42 can also be a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor can be a microprocessor or any conventional processor. Furthermore, processor 42 can be implemented using integrated circuit chips.
[0070] In the above scheme, the electronic device 40 samples the robot's planned motion path to obtain a path point sequence; wherein, the path point sequence includes the sampling positions of several path points on the planned motion path; the sampling positions of the path points in the path point sequence are mapped based on the robot's body model to obtain a first obstacle avoidance model when the robot assumes to move according to the planned motion path; during the actual movement of the robot, predictions are made based on the robot's actual motion parameters at the current moment to obtain the predicted positions of the robot at several future moments after the current moment; the predicted positions at several future moments are mapped based on the robot's body model to obtain a second obstacle avoidance model of the robot at the current moment; the first obstacle avoidance model and the second obstacle avoidance model are geometrically fused in space to obtain a target obstacle avoidance model used to guide the robot to avoid obstacles at the current moment. This scheme obtains a first obstacle avoidance model by sampling a sequence of path points based on the planned motion path and mapping it. This model pre-simulates the space occupation of the robot during planned movement. Since the planned motion path usually reflects static obstacles in the environment, it helps to identify and avoid static obstacles on the path. Simultaneously, during actual movement, the future position is predicted based on current motion parameters and mapped to obtain a second obstacle avoidance model. Because the road conditions of the planned motion path are uncertain during actual movement, the second obstacle avoidance model can detect dynamic environmental changes in real time. By geometrically fusing the two models, a target obstacle avoidance model is obtained, which integrates the stability of the first obstacle avoidance model and incorporates the adaptability of the second model. This makes obstacle avoidance decisions more comprehensive, especially in complex road conditions. Compared to a single obstacle avoidance model, it can minimize the uncertainty of successful obstacle avoidance. Therefore, it can improve the robot's obstacle avoidance capability, especially in complex road conditions.
[0071] Please see Figure 5 , Figure 5 This is a schematic diagram of a framework of one embodiment of the robot of this application. The robot 50 includes at least the electronic device 40 in the above embodiments, and a mobile chassis 51 and a sensing device 52 respectively coupled to the electronic device 40. Of course, as a possible implementation example, the robot 50 may also include other component devices, such as mobile wheels (not shown). The specific structure of the robot 50 can be found in the relevant technical details in the art, and will not be described in detail here.
[0072] In the above scheme, robot 50 samples the planned motion path to obtain a path point sequence; the path point sequence includes the sampling positions of several path points on the planned motion path; the sampling positions of the path points in the path point sequence are mapped based on the robot's ontology model to obtain a first obstacle avoidance model when the robot assumes to move according to the planned motion path; during the actual movement of the robot, predictions are made based on the robot's actual motion parameters at the current moment to obtain the predicted positions of the robot at several future moments after the current moment; the predicted positions at several future moments are mapped based on the robot's ontology model to obtain a second obstacle avoidance model of the robot at the current moment; the first obstacle avoidance model and the second obstacle avoidance model are geometrically fused in space to obtain a target obstacle avoidance model used to guide the robot to avoid obstacles at the current moment. This scheme obtains a first obstacle avoidance model by sampling a sequence of path points based on the planned motion path and mapping it. This model pre-simulates the space occupation of the robot during planned movement. Since the planned motion path usually reflects static obstacles in the environment, it helps to identify and avoid static obstacles on the path. Simultaneously, during actual movement, the future position is predicted based on current motion parameters and mapped to obtain a second obstacle avoidance model. Because the road conditions of the planned motion path are uncertain during actual movement, the second obstacle avoidance model can detect dynamic environmental changes in real time. By geometrically fusing the two models, a target obstacle avoidance model is obtained, which integrates the stability of the first obstacle avoidance model and incorporates the adaptability of the second model. This makes obstacle avoidance decisions more comprehensive, especially in complex road conditions. Compared to a single obstacle avoidance model, it can minimize the uncertainty of successful obstacle avoidance. Therefore, it can improve the robot's obstacle avoidance capability, especially in complex road conditions.
[0073] Please see Figure 6 , Figure 6 This is a schematic diagram of a framework of an embodiment of the computer-readable storage medium of this application. The computer-readable storage medium 60 stores program instructions 61 that can be executed by a processor. The program instructions 61 are used to implement the steps in any of the robot obstacle avoidance method embodiments described above.
[0074] In the above scheme, the computer-readable storage medium 60 samples the robot's planned motion path to obtain a path point sequence; wherein, the path point sequence includes the sampling positions of several path points on the planned motion path; the sampling positions of the path points in the path point sequence are mapped based on the robot's ontology model to obtain a first obstacle avoidance model when the robot assumes to move according to the planned motion path; during the actual movement of the robot, predictions are made based on the robot's actual motion parameters at the current moment to obtain the predicted positions of the robot at several future moments after the current moment; the predicted positions at several future moments are mapped based on the robot's ontology model to obtain a second obstacle avoidance model of the robot at the current moment; the first obstacle avoidance model and the second obstacle avoidance model are geometrically fused in space to obtain a target obstacle avoidance model used to guide the robot to avoid obstacles at the current moment. This scheme obtains a first obstacle avoidance model by sampling a sequence of path points based on the planned motion path and mapping it. This model pre-simulates the space occupation of the robot during planned movement. Since the planned motion path usually reflects static obstacles in the environment, it helps to identify and avoid static obstacles on the path. Simultaneously, during actual movement, the future position is predicted based on current motion parameters and mapped to obtain a second obstacle avoidance model. Because the road conditions of the planned motion path are uncertain during actual movement, the second obstacle avoidance model can detect dynamic environmental changes in real time. By geometrically fusing the two models, a target obstacle avoidance model is obtained, which integrates the stability of the first obstacle avoidance model and incorporates the adaptability of the second model. This makes obstacle avoidance decisions more comprehensive, especially in complex road conditions. Compared to a single obstacle avoidance model, it can minimize the uncertainty of successful obstacle avoidance. Therefore, it can improve the robot's obstacle avoidance capability, especially in complex road conditions.
[0075] In some embodiments, the functions or modules of the apparatus provided in this disclosure can be used to perform the methods described in the above method embodiments. The specific implementation can be referred to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0076] The description of the various embodiments above tends to emphasize the differences between the various embodiments. The similarities or similarities between them can be referred to, and for the sake of brevity, they will not be repeated here.
[0077] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0078] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0079] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods of various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0080] If the technical solution of this application involves personal information, the product using this technical solution has clearly informed the user of the personal information processing rules and obtained the user's voluntary consent before processing the personal information. If the technical solution of this application involves sensitive personal information, the product using this technical solution has obtained the user's separate consent before processing the sensitive personal information, and also meets the requirement of "express consent". For example, at personal information collection devices such as cameras, clear and prominent signs are set up to inform users that they have entered the scope of personal information collection and that personal information will be collected. If an individual voluntarily enters the collection scope, it is deemed that they have agreed to the collection of their personal information; or on the personal information processing device, with clear signs / information informing users of the personal information processing rules, authorization is obtained from the individual through pop-up information or by asking the individual to upload their personal information; wherein, the personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the types of personal information processed.
Claims
1. A robot obstacle avoidance method, characterized in that, include: Based on the robot's planned motion path, a path point sequence is obtained by sampling; wherein, the path point sequence includes the sampling positions of several path points on the planned motion path; Based on the robot's ontology model, the sampling positions of the path points in the path point sequence are mapped to obtain a first obstacle avoidance model when the robot assumes to move according to the planned motion path. This includes: sequentially selecting the sampling positions of each path point in the path point sequence as a first initial position; mapping the first initial position based on the robot's ontology model to obtain the robot's first pose when it is at the first initial position, and obtaining the sum of distances between adjacent path points in the path point sequence up to the first initial position as a first distance based on the first initial position and each sampling position before it; determining whether to return to the step of sequentially selecting the sampling positions of each path point in the path point sequence as the first initial position based on a comparison between the first distance and a first threshold; and performing geometric fusion in space based on each first pose to obtain the first obstacle avoidance model. The geometric fusion for obtaining the first obstacle avoidance model includes: dividing the robot's environment into uniform grid cells at a fixed resolution, generating a spatiotemporal occupancy confidence region of the robot along the path point sequence by superimposing the robot's ontology occupancy information at each path point, and performing fusion based on spatial consistency. During the actual movement of the robot, predictions are made based on the robot's actual movement parameters at the current moment to obtain the predicted position of the robot at several future moments after the current moment. Based on the robot's ontological model, the predicted positions at several future moments are mapped to obtain the robot's second obstacle avoidance model at the current moment; Based on the geometric fusion of the first obstacle avoidance model and the second obstacle avoidance model in space, a target obstacle avoidance model is obtained to guide the robot to avoid obstacles at the current moment; wherein, during the geometric fusion process for obtaining the target obstacle avoidance model, if the area covered by the second obstacle avoidance model is not covered by the first obstacle avoidance model, the target obstacle avoidance model includes the area not covered by the first obstacle avoidance model but only covered by the second obstacle avoidance model.
2. The method according to claim 1, characterized in that, The step of determining whether to return to the sampling position of each path point in the path point sequence as the first initial position based on the comparison result between the first distance and the first threshold includes: Obtain the comparison result between the first distance and the first threshold; wherein, the first threshold represents the set stop sensing distance; In response to the comparison result indicating that the first distance has not exceeded the first threshold, the process returns to the step of sequentially selecting the sampling positions of each of the path points in the path point sequence as the first initial position. In response to the comparison result indicating that the first distance exceeds the first threshold, the first pose obtained by mapping the first initial position is discarded, and a tangent segment of the planned motion path is drawn with the previous first initial position as the starting point; wherein, the length of the tangent segment is the difference between the first threshold and the previous first distance, and the first obstacle avoidance model includes the tangent segment.
3. The method according to claim 1, characterized in that, The actual motion parameters include actual position, actual linear velocity, actual angular velocity, and actual heading angle. The prediction based on the robot's actual motion parameters at the current moment to obtain the predicted position of the robot at several future moments after the current moment includes: Based on the actual linear velocity, the first heading angle at the first moment, and the time interval between the first moment and the second moment, the first update value of the second moment relative to the first moment in different coordinate directions is predicted, and based on the actual angular velocity and the time interval, the second update value of the second moment relative to the first moment with respect to the heading angle is predicted. The first position at the first time is updated based on the first update value to obtain the second position at the second time, and the first heading angle at the first time is updated based on the second update value to obtain the second heading angle at the second time. Wherein, the second time is the time following the first time; when the first time is the current time, the first heading angle is the actual heading angle, the first position is the actual position, the second position at the second time is the predicted position at the next future time after the current time, and the second heading angle at the second time is the predicted heading angle at the next future time after the current time; when the first time is the future time, the first heading angle is the predicted heading angle corresponding to the future time, the first position is the predicted position corresponding to the future time, the second position at the second time is the predicted position at the next future time, and the second heading angle at the second time is the predicted heading angle at the next future time.
4. The method according to claim 1, characterized in that, The mapping of the predicted positions at several future moments based on the robot's ontology model to obtain the robot's second obstacle avoidance model at the current moment includes: The predicted positions of each of the future moments are selected sequentially as the second initial positions; The second initial position is mapped based on the robot's body model to obtain the second pose of the robot when it is in the second initial position. Based on the second initial position and each of the predicted positions before it, the sum of the distances between the predicted positions adjacent to the second initial position is obtained as the second distance. Based on the comparison between the second distance and the first threshold, it is determined whether to return to the step of sequentially selecting the predicted positions of each of the future times as the second initial positions; wherein, the first threshold represents the set stop sensing distance; The second obstacle avoidance model is obtained by geometrically fusing each of the second poses in space.
5. The method according to claim 4, characterized in that, The step of determining whether to return the predicted positions of each future time moment as the second position based on the comparison result between the second distance and the first threshold includes: Obtain the comparison result between the second distance and the first threshold; In response to the comparison result indicating that the second distance does not exceed the first threshold, the process returns to the step of sequentially selecting the predicted positions of each of the future times as the second initial positions; In response to the comparison result indicating that the second distance exceeds the first threshold, the second pose obtained by mapping the second initial position is discarded, and a tangent segment of the predicted motion path is made with the previous second initial position as the starting point; wherein the predicted motion path is obtained by fitting the predicted position at each of the future times, the length of the tangent segment is the difference between the first threshold and the previous second distance, and the second obstacle avoidance model includes the tangent segment.
6. The method according to any one of claims 1 to 5, characterized in that, The planned motion path is characterized as the running path planned based on the robot's starting point and target point before the robot actually moves; And / or, the ontological model is characterized as the shape of the robot in a top-down view.
7. A robot obstacle avoidance device, characterized in that, include: The path point sampling module is used to sample based on the robot's planned motion path to obtain a path point sequence; wherein, the path point sequence includes the sampling positions of several path points on the planned motion path; The first obstacle avoidance model establishment module is used to map the sampling positions of the path points in the path point sequence based on the robot's body model to obtain a first obstacle avoidance model when the robot assumes to move according to the planned motion path. This includes: sequentially selecting the sampling positions of each path point in the path point sequence as a first initial position; mapping the first initial position based on the robot's body model to obtain the first pose of the robot at the first initial position, and obtaining the sum of distances between adjacent path points in the path point sequence up to the first initial position as a first distance based on the first initial position and each sampling position before it; determining whether to return to the step of sequentially selecting the sampling positions of each path point in the path point sequence as the first initial position based on a comparison result between the first distance and a first threshold; and performing geometric fusion in space based on each first pose to obtain the first obstacle avoidance model. The geometric fusion for obtaining the first obstacle avoidance model includes: dividing the robot's environment into uniform grid cells at a fixed resolution, generating a spatiotemporal occupancy confidence region of the robot along the path point sequence by superimposing the robot's body occupancy information at each path point, and performing fusion based on spatial consistency. The position prediction module is used to predict the robot's position at several future times after the current time by making predictions based on the robot's actual motion parameters at the current time during the robot's actual movement. The second obstacle avoidance model establishment module is used to map the predicted positions at several future moments based on the robot's body model to obtain the robot's second obstacle avoidance model at the current moment. The target obstacle avoidance model establishment module is used to perform geometric fusion in space based on the first obstacle avoidance model and the second obstacle avoidance model to obtain a target obstacle avoidance model for guiding the robot to avoid obstacles at the current moment; wherein, during the geometric fusion process for obtaining the target obstacle avoidance model, if the area covered by the second obstacle avoidance model is not covered by the first obstacle avoidance model, the target obstacle avoidance model includes the area not covered by the first obstacle avoidance model but only covered by the second obstacle avoidance model.
8. An electronic device, characterized in that, It includes at least a memory and a processor coupled to each other, wherein the memory stores at least program instructions, and the processor is used to execute the program instructions to implement the robot obstacle avoidance method according to any one of claims 1 to 6.
9. A robot, characterized in that, It includes at least the electronic device as described in claim 8, and a mobile chassis and sensing device coupled to the electronic device.
10. A computer-readable storage medium, characterized in that, The system stores program instructions that can be executed by a processor, the program instructions being used to implement the robot obstacle avoidance method according to any one of claims 1 to 6.