Robot control method and device, robot, storage medium and program product

By marking obstacles and optimizing paths on the robot's environmental grid map, a safe and efficient navigation path is generated, solving the problem of low safety of robots in complex environments and improving adaptability and work efficiency.

CN120779935APending Publication Date: 2025-10-14YOUDI ROBOT (WUXI) CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510796403.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-13
Publication Date
2025-10-14

AI Technical Summary

Technical Problem

Robots have low safety when working in complex environments, especially in dynamically changing traffic environments, where the risk of collision and rollover is high, affecting the safety and efficiency of the operation process.

Method used

By marking the navigation grid map of the robot's environment, identifying and marking the properties of different types of obstacles, generating an initial path, and performing path planning based on the grid markings, the path segments are optimized to generate a safe and efficient navigation path.

Benefits of technology

It improves the adaptability and safety of robots in complex environments, reduces collision risks, ensures that robots can perform tasks reliably, and improves work efficiency and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120779935A_ABST
    Figure CN120779935A_ABST
Patent Text Reader

Abstract

The invention discloses a robot control method and device, a robot, a storage medium and a program product, and relates to the technical field of robotics.The robot control method includes the steps that all grids in a navigation grid map of the external environment where the robot is located are marked, and the grid marks are used for representing obstacle attributes of the grids; generating an initial path by taking the position of the robot in the external environment as a path starting point and a preset destination as a path end point, and determining sub-path sections based on grid marks of grids corresponding to the initial path; based on the grid marks carried by the grids corresponding to the sub-path segments, performing path planning on the sub-path segments to obtain optimized path segments; and updating the sub-path section through the optimized path section to obtain a navigation path, and controlling the robot to execute a task according to the navigation path. The operation safety of the robot in a complex road network environment is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, in particular to a robot control method and device, a robot, a storage medium and a program product. BACKGROUND

[0002] For mobile robots, such as cleaning mobile robots, service mobile robots, welcome mobile robots, and delivery mobile robots, it is necessary to work in complex environments, such as underground garages, shopping malls, and stations with complex road network environments. Such places contain multiple crisscrossed driving lanes and vehicles enter and exit the garage at a very high frequency, forming a dynamic and uncertain traffic environment. In the actual operation process of the cleaning robot, the road network area itself and obstacles such as speed bumps that may appear in the road network area increase the probability of collision and rollover of the robot, affecting the safety of the robot during operation.

[0003] The above content is only used to assist in understanding the technical solutions of the present application and does not represent the acknowledgement of the above content as prior art. SUMMARY

[0004] The main purpose of the present application is to provide a robot control method, device, robot, storage medium and program product, aiming to solve the technical problem of low safety of the robot when working in a complex area.

[0005] To achieve the above purpose, the present application provides a robot control method, which comprises:

[0006] Each grid in the navigation grid map of the external environment in which the robot is located is marked with a grid mark, wherein the grid mark is used to represent the obstacle attribute of the grid;

[0007] An initial path is generated with the position of the robot in the external environment as the starting point of the path and a preset destination as the end point of the path, and a sub-path segment is determined based on the grid marks of the grids corresponding to the initial path;

[0008] Based on the grid marks carried by the grids corresponding to the sub-path segment, the sub-path segment is path planned to obtain an optimized path segment;

[0009] The sub-path segment is updated through the optimized path segment to obtain a navigation path, and the robot is controlled to perform a task according to the navigation path.

[0010] In an embodiment, the step of determining a sub-path segment based on the grid marks of the grids corresponding to the initial path comprises:

[0011] traversing each grid corresponding to the initial path, marking a grid corresponding to the initial path as an obstacle grid if the grid is marked as an obstacle mark in the grid corresponding to the initial path;

[0012] determining a path segment corresponding to consecutive obstacle grids in the initial path as a sub-path segment.

[0013] In an embodiment, the step of performing path planning on the sub-path segment based on the grid mark carried by the grid corresponding to the sub-path segment to obtain an optimized path segment comprises:

[0014] if the grid mark carried by the grid corresponding to the sub-path segment is a road network mark, determining whether the sub-path segment has a reverse segment based on the vehicle direction of the road network;

[0015] if the sub-path segment has the reverse segment, generating a road network passing segment with a first starting point being a starting point of the reverse segment, and generating a same-direction path segment based on the vehicle direction of the road network and the traffic rule of the road network with a second starting point being an ending point of the road network passing segment, and determining the road network passing segment and the same-direction path segment as the optimized path segment;

[0016] if the sub-path segment does not have the reverse segment, generating the optimized path based on the vehicle direction of the road network and the traffic rule of the road network.

[0017] In an embodiment, the step of performing path planning on the sub-path segment based on the grid mark carried by the grid corresponding to the sub-path segment to obtain an optimized path segment comprises:

[0018] if the grid mark carried by the grid corresponding to the sub-path segment is a speed bump mark, calculating an included angle between the sub-path segment and an extension direction of the speed bump;

[0019] if the included angle is less than a preset included angle, generating a vertical passing path segment perpendicular to the extension direction of the speed bump with a third starting point being a starting point of the sub-path segment, and determining the vertical passing path segment as the optimized path segment.

[0020] In an embodiment, the step of performing path planning on the sub-path segment based on the grid mark carried by the grid corresponding to the sub-path segment to obtain an optimized path segment comprises:

[0021] if the grid mark carried by the grid corresponding to the sub-path segment is a pothole mark, determining a pothole area corresponding to the pothole in the navigation grid map;

[0022] generating an optimized path with a fourth starting point being a starting point of the sub-path segment and an obstacle avoidance area being the pothole area.

[0023] In an embodiment, the step of updating the sub-path segment by the optimized path segment to obtain the navigation path comprises:

[0024] determining a common path segment from the initial path, and connecting the common path segment and the optimized path segment in a spatial order of the initial path to obtain an intermediate path;

[0025] traversing adjacent path pairs in the intermediate path, determining a turning angle of a turning angle formed by the adjacent path pairs, and generating a transition path based on the turning angle by using a spline interpolation method to obtain the navigation path.

[0026] In addition, to achieve the above object, the present application also proposes a robot control device, which comprises:

[0027] a marking module configured to mark each grid in a navigation grid map of an external environment in which the robot is located, wherein the grid marking is used to represent the obstacle attribute of the grid;

[0028] a path generation module configured to generate an initial path with a position of the robot in the external environment as a path starting point and a preset destination as a path ending point, and determine a sub-path segment based on the grid marking of each grid corresponding to the initial path;

[0029] a path optimization module configured to perform path planning on the sub-path segment based on the grid marking carried by the corresponding grid of the sub-path segment to obtain an optimized path segment;

[0030] a task execution module configured to update the sub-path segment by the optimized path segment to obtain a navigation path, and control the robot to perform a task according to the navigation path.

[0031] In addition, to achieve the above object, the present application also proposes a robot, which comprises a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the robot control method as described above.

[0032] In addition, to achieve the above object, the present application also proposes a storage medium, which is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the robot control method as described above.

[0033] In addition, to achieve the above object, the present application also proposes a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the steps of the robot control method as described above.

[0034] In the present application, each grid in the navigation grid map of the external environment where the robot is located is marked with a grid mark, wherein the grid mark is used to represent the obstacle attribute of the grid; the initial path is generated with the position of the robot in the external environment as the path starting point and the preset destination as the path ending point, and the sub-path segment is determined based on the grid mark of each grid corresponding to the initial path; the sub-path segment is planned based on the grid mark carried by the corresponding grid of the sub-path segment to obtain the optimized path segment; the navigation path is obtained by updating the sub-path segment through the optimized path segment, and the robot is controlled to perform tasks according to the navigation path.

[0035] By identifying and marking the obstacles in the navigation grid map and optimizing the sub-path segment passing through the obstacle region in the initial path, the present application can enable the robot to autonomously plan a safe and efficient navigation path in a complex environment. Compared with the traditional path planning method, the present application considers the characteristics of different types of obstacles, improves the adaptability of the robot to the environment, reduces the risk of collision between the robot and the obstacles during movement, and ensures that the robot can reliably perform various tasks, thereby improving the safety of the robot during operation. BRIEF DESCRIPTION OF DRAWINGS

[0036] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0037] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the accompanying drawings needed to be used in the embodiments or prior art description will be briefly introduced as follows. Obviously, for those skilled in the art, other drawings can also be obtained based on these drawings without creative labor.

[0038] Figure 1 Flowchart provided for the robot control method embodiment one of the present application;

[0039] Figure 2 Flowchart provided for the robot control method embodiment two of the present application;

[0040] Figure 3 Task area diagram provided for the robot control method one embodiment of the present application;

[0041] Figure 4 Path point connection diagram provided for the robot control method one embodiment of the present application;

[0042] Figure 5 Cleaning path diagram provided for the robot control method one embodiment of the present application;

[0043] Figure 6 A navigation path schematic diagram provided for an embodiment of the robot control method of the present application;

[0044] Figure 7 A device structure schematic diagram of the robot in the embodiment of the present application.

[0045] The object implementation, functional features and advantages of the present application will be further explained with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION

[0046] It should be understood that the specific embodiments described herein are merely intended to explain the technical solutions of the present application, and are not intended to limit the present application.

[0047] In order to better understand the technical solutions of the present application, the following will be described in detail in combination with the drawings and specific embodiments.

[0048] It should be noted that the execution subject of the present embodiment can be a computing service device or a robot in communication connection with the robot, and the computing service device in communication connection with the robot has data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, etc. The present embodiment and the following embodiments will be described below taking the robot as an example.

[0049] Based on this, the present embodiment provides a robot control method, which will be described in detail with reference to Figure 1 , Figure 1 A flowchart of the first embodiment of the robot control method of the present application.

[0050] In the present embodiment, the robot control method comprises steps S10-S40:

[0051] Step S10, marking each grid in the navigation grid map of the external environment in which the robot is located, wherein the grid mark is used to represent the obstacle attribute of the grid;

[0052] The navigation grid map is a map representation form of grid division of the external environment space in which the robot is located, which divides the space into a plurality of grid units of the same size, and each grid can be used to store environmental information, such as whether there is an obstacle, terrain condition, etc., so as to facilitate path planning and environment perception of the robot. The grid mark is a specific identification given to the grid in the map, which is used to distinguish obstacles with different attributes, so as to facilitate subsequent targeted path planning processing according to different marks.

[0053] Robots usually carry sensors such as lidar, visual camera, ultrasonic sensor, etc. Take lidar as an example, it can obtain the distance information of objects in the surrounding environment by emitting laser beams and receiving the reflected signals, and thus construct the point cloud data of the environment. Mapping the point cloud data to the navigation grid map, when there is an object corresponding to the point cloud data in a certain grid, it can be determined that the grid is an obstacle grid. For different types of obstacles, the robot can determine their attributes through analysis of sensor data, for example, through the visual camera to collect images, and using image recognition algorithms such as convolutional neural networks to identify obstacles such as speed bumps and potholes; for dynamic obstacles such as vehicles, the motion trajectory and speed can be analyzed by combining lidar and visual information to determine their dynamic attributes. After determining the attributes of the obstacles, the corresponding obstacle grids in the navigation grid map are marked, and the marking method can be to set different values, characters or symbols, etc.

[0054] Step S20, generating an initial path with a preset destination as the path endpoint and based on the grid markers of the grids corresponding to the initial path;

[0055] The global path planning algorithm is an algorithm that plans a globally optimal or relatively optimal path from the current position of the robot to the target position based on the known environment map. Common global path planning algorithms include A* algorithm, Dijkstra algorithm, etc. The initial path is a preliminary path from the current position of the robot to the target position generated by the global path planning algorithm. The sub-path segment is a path segment in the initial path that is segmented due to passing through an obstacle grid.

[0056] After the robot determines its own position and the target position, the two position information are input into the global path planning algorithm. Taking the A* algorithm as an example, starting from the starting point, the search area is gradually expanded by calculating the estimated cost of each grid to the starting point and the target point, and the path with the minimum cost is found until the target point is found, thereby generating the initial path. Then, all the grids passed through by the initial path are traversed, and when an obstacle grid is encountered, the initial path is segmented into several path segments with the obstacle grid as the boundary. These path segments are the sub-path segments.

[0057] Step S30, path planning for the sub-path segments based on the grid markers carried by the grids corresponding to the sub-path segments to obtain the optimized path segments;

[0058] The optimized path segment is a more reasonable and safer path segment obtained by re-planning according to the grid markers carried by the grids corresponding to the sub-path segment, which is used to replace the original sub-path segment passing through the obstacle grid.

[0059] After determining the sub-path segment, the grid marker carried by the grid corresponding to the sub-path segment is read, and different path planning strategies are adopted according to different grid markers. The specific path planning process is not limited here, such as a local path planning algorithm, which searches for a suitable path in the vicinity of the sub-path segment to avoid or reasonably pass through obstacles.

[0060] By performing targeted path planning according to different grid markers, the characteristics of various obstacles can be fully considered, so that the robot can find the best passing way when encountering different types of obstacles. This can improve the flexibility and adaptability of robot path planning, and ensure that the robot can always find a safe and efficient path in a complex and variable environment to successfully complete the task.

[0061] In step S40, the navigation path is obtained by updating the sub-path segment with the optimized path segment, and the robot is controlled to perform a task according to the navigation path.

[0062] The optimized path segment replaces the corresponding sub-path segment in the initial path, thereby obtaining a complete navigation path. Then, the navigation path information is transmitted to the motion control system of the robot, and the motion control system controls the driving mechanism of the robot to move according to the navigation path according to the path information, and performs a corresponding task, such as material distribution, environment detection, etc.

[0063] The navigation path is obtained by updating the sub-path segment, so that the robot can move along a safe and efficient path, avoiding collision risks and path blockage caused by obstacles. This ensures that the robot can successfully complete the task, improves the work efficiency and reliability of the robot, and reduces the possibility of energy waste and task failure caused by unreasonable paths.

[0064] In an embodiment, the step S20 of determining the sub-path segment based on the grid markers of the grids corresponding to the initial path comprises:

[0065] In step S201, the grids corresponding to the initial path are traversed, and the obstacle grids in which the grid markers of the grids corresponding to the initial path are obstacle markers are determined.

[0066] Obstacle markers are special marker values ​​used in the navigation grid map to identify the presence of obstacles in the grid. An obstacle grid is a grid whose grid marker matches the preset obstacle marker, indicating that there are physical obstacles in the area. Obstacles refer to objects or areas that hinder the normal passage of the robot in the robot's motion environment, such as buildings, trees, vehicles, speed bumps, potholes, etc. In the navigation grid map, the obstacle grid corresponds to the position of obstacles in the actual environment. Obstacle attributes refer to the characteristic information of the obstacle itself, such as type (speed bumps, potholes, buildings, etc.), size, shape, dynamic or static characteristics (for example, moving vehicles are dynamic obstacles, and fixed buildings are static obstacles), etc.

[0067] Discretize the initial path into a series of grid coordinate points to form an ordered grid sequence G = [g1, g2, ..., g n ], each grid g i Contains coordinate information (x, y) and the corresponding grid mark M(gi), and defines the obstacle mark set O = {o1, o2, ..., o n} (e.g. o1 = 1 for static obstacles, o2 = 2 for dynamic obstacles), for each grid gi, perform the judgment: if M(gi)∈Othengi belongs to the obstacle grid, create a Boolean array B = [b1, b2, ..., b n ], where b i =true indicates that gi is an obstacle grid. For example, if the initial path passes through 5 grids, labeled [0, 1, 1, 0, 2] (assuming O = {1, 2}), then B = [false, true, true, false, true].

[0068] By comparing standardized markers, the positions of all obstacles on the path can be automatically identified, providing basic data for obstacle avoidance. After the obstacle grid is individually marked, it can be directly used for sub-path segment division, reducing the complexity of the algorithm.

[0069] Step S202: determining path segments corresponding to consecutive obstacle grids in the initial path as sub-path segments.

[0070] Traverse the Boolean array B and search for consecutive true segments. Each consecutive segment corresponds to an interval [start, end], where B[start..end] is true. For each interval [start, end], extract the corresponding grid sequence P = [g_start, g_start+1, ..., g_end] from the initial path. Convert P to physical coordinates to form a subpath segment SP = {(x1, y1), (x2, y2), ..., (x k ,y k )}.

[0071] By taking the continuous obstacle region as an independent sub-path segment, the dispersed obstacles are avoided from being excessively segmented, the optimization workload is reduced, each sub-path segment corresponds to a complete obstacle region, and a unified obstacle avoidance strategy is facilitated to be designed.

[0072] In an embodiment, the step S40 of updating the sub-path segments by the optimized path segments to obtain the navigation path comprises:

[0073] In step S401, the normal path segments are determined from the initial path, and the normal path segments and the optimized path segments are segmented and connected in the spatial order of the initial path to obtain an intermediate path.

[0074] The normal path segment is a part of the initial path that is not divided into a sub-path segment, i.e., a regular path segment that does not pass through a special environment. The intermediate path is a preliminary navigation path formed by splicing the normal path segments and the optimized path segments in the original order.

[0075] The initial path is traversed, and the normal path segments N1, N2,... and the optimized path segments O1, O2,... are arranged in the spatial order of the initial path. For example, if the initial path is divided into N1→S1→N2→S2, where S is a sub-path segment, the optimized path is spliced into N1→O1→N2→O2.

[0076] In step S402, adjacent path pairs in the intermediate path are traversed, a turning angle of a turning angle formed by the adjacent path pairs is determined, a transition path is generated based on the turning angle by using a spline interpolation method, and a navigation path is obtained.

[0077] The adjacent path pair is two continuous path segments in the intermediate path, such as N1→O1 or O1→N2, and the turning angle is the direction change angle of the adjacent path segments at the connection point.

[0078] For each path connection point P, the terminal direction vector v1 of the previous path segment and the starting direction vector v2 of the next path segment are calculated, where the turning angle θ = arccos((v1·v2) / (|v1||v2|)). Points A and B with a distance d on both sides of the connection point P are taken as end points, an intermediate control point C is added at P, C is located on the tangent line of A and B, a smooth transition curve is generated using a cubic Bezier curve formula, the generated spline curve is used to replace the path segment near the original connection point, and a final navigation path is formed.

[0079] In this embodiment, the grids in the navigation grid map of the external environment where the robot is located are marked, wherein the grid mark is used to represent the obstacle attribute of the grid; the initial path is generated with the position of the robot in the external environment as the path starting point and the preset destination as the path ending point, and the sub-path segment is determined based on the grid mark of each grid corresponding to the initial path; the sub-path segment is planned based on the grid mark carried by the grid corresponding to the sub-path segment to obtain the optimized path segment; and the navigation path is obtained by updating the sub-path segment through the optimized path segment, and the robot is controlled to perform a task according to the navigation path.

[0080] By identifying and marking the obstacles in the navigation grid map and optimizing the sub-path segment passing through the obstacle region in the initial path, the robot can autonomously plan a safe and efficient navigation path in a complex environment. Compared with the traditional path planning method, the characteristics of different types of obstacles are considered in this embodiment, which improves the adaptability of the robot to the environment, reduces the risk of collision between the robot and the obstacles during movement, and ensures that the robot can reliably perform various tasks, thereby improving the safety of the robot during operation.

[0081] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as the above-mentioned first embodiment can be referred to the above introduction, and the subsequent will not be described in detail. On this basis, referring to Figure 2 , the step S30, based on the grid mark carried by the grid corresponding to the sub-path segment, the step of planning the path of the sub-path segment to obtain the optimized path segment, comprises:

[0082] Step S301, if the grid mark carried by the grid corresponding to the sub-path segment is a road network mark, whether the sub-path segment has a reverse segment is determined based on the vehicle direction of the road network;

[0083] The vehicle direction of the road network refers to the direction in which the vehicle normally drives on the road. In urban roads, there are usually clear lane markings and traffic signs to indicate the vehicle direction. In the navigation grid map, the vehicle direction information can be obtained from the map data or by pre-set rules. In the sub-path segment, if the movement direction of the robot is opposite to the vehicle direction specified by the road network, it is a reverse segment.

[0084] When it is detected that the grid corresponding to the sub-path segment carries the road network mark, the vehicle direction information of the road network region is obtained. The vehicle direction information can be pre-stored in the map database or obtained in real time by communicating with the traffic management system. Then, the movement direction of the robot is compared with the vehicle direction along the direction of the sub-path segment. If the movement direction of the robot is opposite to the vehicle direction on a certain sub-path segment, it is determined that the segment is a reverse segment; if the movement direction of the entire sub-path segment is consistent with the vehicle direction, there is no reverse segment.

[0085] By judging whether the sub-path segment has the reverse segment, it can be ensured that the robot complies with the traffic rules in the road environment, avoids traffic accidents or conflicts with other vehicles and pedestrians caused by reverse driving, improves the safety and legality of the robot in the road scene, and makes the robot better integrate into the traffic environment and not interfere with the normal traffic order when performing tasks.

[0086] In step S302, if the sub-path segment has the reverse segment, a road network passing segment is generated with the starting point of the reverse segment as a first starting point, and a same-direction path segment is generated based on the vehicle direction of the road network and the traffic rules of the road network with the end point of the road network passing segment as a second starting point, and the road network passing segment and the same-direction path segment are determined as the optimized path segment.

[0087] When it is determined that the sub-path segment has the reverse segment, a path planning algorithm is used to search a path that can legally pass through the current area in the road network environment with the starting point of the reverse segment as the first starting point, and a road network passing segment is generated. When generating the road network passing segment, factors such as lane distribution, intersection conditions, traffic signals, etc. of the road network are considered to ensure the legality of the path. After obtaining the road network passing segment, the end point thereof is taken as the second starting point, and a path planning algorithm is used again to generate a same-direction path segment with the same vehicle direction as the vehicle direction of the road network and the traffic rules, and the road network passing segment and the same-direction path segment are connected as the optimized path segment.

[0088] The application ensures the safe driving of the robot in the road environment, and also reduces the possibility of path delay and task failure caused by reverse driving. By reasonably planning the road network passing segment and the same-direction path segment, the robot can move more efficiently on the road and improve the task execution efficiency.

[0089] In step S303, if the sub-path segment does not have the reverse segment, the optimized path is generated based on the vehicle direction of the road network and the traffic rules of the road network.

[0090] When it is determined that the sub-path segment does not have the reverse segment, it means that the driving direction of the robot on the sub-path segment is consistent with the vehicle direction of the road network. A path planning algorithm is used to generate a more optimal path as the optimized path with the starting point of the sub-path segment as the starting point and in combination with the vehicle direction and traffic rules (such as lane change rules, intersection traffic rules, etc.) of the road network. In the generation process, factors such as road congestion and road conditions can also be considered to further optimize the path, so that the robot can pass through the segment more efficiently.

[0091] Even if the sub-path segment does not exist the reverse segment, the optimized path generated based on the road network vehicle direction and the traffic rules can make the robot select a more reasonable driving route on the road. It can avoid the robot driving blindly on the road, reduce unnecessary path detours and delays, improve the driving efficiency and safety of the robot in the road environment, and ensure that the robot can reach the target position according to the optimal path.

[0092] In an embodiment, the step S30 of generating the optimized path segment based on the grid label carried by the sub-path segment corresponding grid includes:

[0093] In step S304, if the grid label carried by the sub-path segment corresponding grid is a speed bump label, the included angle between the sub-path segment and the extension direction of the speed bump is calculated.

[0094] The speed bump label is a specific identification in the navigation grid map for identifying the existence of the speed bump obstacle, which is an important basis for the robot to identify the speed bump. Through the label, the robot can know that there is a speed bump obstacle in the sub-path segment, thereby triggering the corresponding path planning strategy. The extension direction is the direction in which the speed bump is laid in space, i.e. its length direction, and the included angle is the angle between the direction of the sub-path segment and the extension direction of the speed bump.

[0095] During the operation of the robot, the sensors (such as lidar, visual camera, etc.) carried by the robot continuously scan the surrounding environment, and map the acquired environmental information to the grid map, and assign corresponding labels to each grid. When the path planning system detects that the grid corresponding to the sub-path segment carries a speed bump label, the extension direction of the speed bump is determined according to the pre-stored speed bump position information and shape data, and then the included angle between the direction vector of the sub-path segment and the extension direction vector of the speed bump is calculated to obtain the angle relationship between the two.

[0096] By judging the included angle between the sub-path segment and the extension direction of the speed bump, the relative position relationship between the current planned path of the robot and the speed bump can be determined, which provides a basis for subsequent reasonable path optimization strategy, avoids the situation of bumping and losing control when passing through the speed bump due to unreasonable path planning, and improves the safety and stability of the robot operation.

[0097] In step S305, if the included angle is less than a preset included angle, a vertical passing path segment perpendicular to the extension direction of the speed bump is generated with the starting point of the sub-path segment as a third starting point, and the vertical passing path segment is determined as the optimized path segment.

[0098] The preset included angle is a preset angle threshold according to performance parameters, structural characteristics and deceleration strip passing requirements of the robot, and is used to determine whether the included angle between the sub-path segment and the deceleration strip meets a specific condition. The third starting point is to take the starting point of the sub-path segment as the starting position of this path planning, and to generate a new optimized path based on this. It should be noted that perpendicular to the deceleration strip boundary means that the included angle between the generated optimized path and the deceleration strip boundary is 90 degrees.

[0099] When the calculated included angle between the sub-path segment and the extension direction of the deceleration strip is less than the preset included angle, the starting point of the sub-path segment is set as the third starting point, and a path planning algorithm such as A* algorithm or Dijkstra algorithm is used to search for a path from the third starting point to the end point of the sub-path segment in the navigation grid map with the constraint condition of being perpendicular to the deceleration strip boundary. During the search process, the algorithm will evaluate the passing cost of each grid, and preferentially select a path that is perpendicular to the deceleration strip boundary and has a smaller cost as the optimized path. For example, during the search, each possible path direction is judged. If the direction is close to 90 degrees with the deceleration strip boundary, a lower cost weight is assigned, and finally the optimized path perpendicular to the deceleration strip boundary is obtained.

[0100] By generating the optimized path perpendicular to the deceleration strip boundary, the robot can pass through the deceleration strip more uniformly, reducing the risk of rollover and impact on robot components caused by tilting through the deceleration strip. This path planning method helps the robot maintain a stable driving posture, reduces vibration and jolt when passing through the deceleration strip, improves the stability and reliability of the robot operation, and also improves the passing ability of the robot in complex environments.

[0101] In an embodiment, the step S30 of performing path planning on the sub-path segment based on the grid mark carried by the grid corresponding to the sub-path segment to obtain an optimized path segment includes:

[0102] In step S306, if the grid mark carried by the grid corresponding to the sub-path segment is a pothole mark, a pothole area corresponding to the pothole is determined in the navigation grid map.

[0103] The pothole mark is a specific mark in the navigation grid map for identifying the presence of a pothole obstacle. The robot identifies the presence of a pothole obstacle on the sub-path segment through the mark, and then starts the path planning strategy for the pothole. The pothole area is a range of areas in the navigation grid map corresponding to the position and size of the pothole in the actual environment. Determining the pothole area helps the robot to clearly identify the space range that needs to be avoided, so as to plan a safe detour path.

[0104] The visual camera of the robot captures an image containing the pothole, uses image segmentation techniques such as semantic segmentation algorithms to separate the pothole region from the background in the image, analyzes the segmented image to determine the location and range of the pothole in the image, and then maps it to the navigation grid map to determine the pothole region. For example, the shape, color, and other features of the pothole are identified in the image, and the corresponding regions are marked as pothole regions on the map.

[0105] In step S307, an optimized path is generated with the starting point of the sub-path segment as the fourth starting point and the pothole region as the obstacle avoidance region.

[0106] The fourth starting point is the starting point of the sub-path segment, which is used as the starting position for this path planning. The optimized path is generated from this starting point to avoid the pothole. The obstacle avoidance region is the pothole region, which is set as a no-go area during path planning. The robot needs to avoid this area to plan the path.

[0107] The determined starting point of the sub-path segment is set as the fourth starting point, and the pothole region is marked as the obstacle avoidance region. Using the path planning algorithm, a path is searched from the fourth starting point in the navigation grid map that can avoid the pothole region and lead to the end point of the sub-path segment. During the search process, the algorithm evaluates the state of each grid. If the grid is located in the obstacle avoidance region, it is not considered as a path node. The path that avoids the pothole region and has a smaller cost is preferred as the optimized path.

[0108] Generating an optimized path with the pothole region as the obstacle avoidance region ensures that the robot can quickly find a safe detour route when encountering a pothole, avoiding damage and being trapped due to entering the pothole, and ensuring the normal operation of the robot. This embodiment improves the obstacle avoidance ability and traffic efficiency of the robot in complex terrain environments, enabling the robot to successfully complete tasks in various harsh environments.

[0109] To facilitate understanding of the implementation process of path planning in robot control obtained by combining the above embodiments, specifically:

[0110] 1. Grid map weight explanation: The grid with a weight of 0 is a passable region, the grid with a weight of 254 is an obstacle region, and the grid with a weight of 255 is an unknown region. The mobile robot cannot pass through the obstacle region and the unknown region. The grid map with a weight of 1 is a speed bump region, and the grid map with a weight of 2 is a road network region. The road network region includes a road network center line (with a direction) and left and right roads (the right side of the road network center line is a road for same-direction driving), as shown in Figure 3 The direction of the road network center line is E towards F.

[0111] 2. Conversion of actual scene and grid map: for example, a 60cm wide area in the actual scene is converted to a 5cm precision grid map, and the principle of marking the grid as an obstacle: as long as there is a point within 5cm*5cm that is an obstacle, the grid will be marked;

[0112] 3. 2D global static grid map generated based on laser radar, map precision is 5cm, global map refers to the range in which the robot works;

[0113] 4. Speed bump and road network are marked on the grid map by different colors in the later stage, as shown in Figure 4 : gray is unknown area, black is obstacle area, white is passable area, red is road network area, yellow line is road network center line, black line is direction on the road network, and blue is speed bump area.

[0114] 5. Use existing navigation algorithm dijkstra or A* to generate A to B navigation path, as shown in Figure 5 : green line is the generated navigation path, which will result in a distance of reverse and diagonal over the speed bump on the road network.

[0115] 6. Use 5 to determine whether A point and B point are connected, if connected, adopt navigation optimization logic, obtain A point to B point original path a, and then search the path a from the starting point A, judge whether the costmap weight of the path point is 1 or 2 (weight is 1, then in the road network, weight is 2, then in the speed bump). Then extract the path with weight 1 or 2, and process it with special logic, wherein the path b with weight 1, starting point M, end point N; the path c with weight 2, starting point J, end point K.

[0116] 7. The path from A point to M point adopts the corresponding point on the original path a, and the path is s1; the path from M point to N point needs to comply with the principle of right driving on the road network, and the navigation path b1 on the road network is generated; the path from N point to J point adopts the corresponding point on the original path a, and then uses J point as the starting point to generate the path c1 perpendicular to the speed bump, and finally connects the end point of c1 and B point by dijkstra to generate the path s2, as shown in Figure 6 : connect s1, b1, c1 and s2 to generate a navigation path that complies with the rules of road network and speed bump.

[0117] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the robot control method of the present application, and more forms of simple transformation based on this technical concept are within the protection scope of the present application.

[0118] The present application provides a robot control device, which comprises:

[0119] a marking module, configured to mark each grid in a navigation grid map of an external environment in which a robot is located, wherein the grid mark is used to represent an obstacle attribute of the grid;

[0120] a path generation module, configured to generate an initial path with a position of the robot in the external environment as a path starting point and a preset destination as a path ending point, and determine a sub-path segment based on grid marks of each grid corresponding to the initial path;

[0121] a path optimization module, configured to perform path planning on the sub-path segment based on the grid mark carried by the grid corresponding to the sub-path segment to obtain an optimized path segment;

[0122] a task execution module, configured to update the sub-path segment to obtain a navigation path through the optimized path segment, and control the robot to perform a task according to the navigation path.

[0123] Optionally, the path generation module is further configured to:

[0124] traverse each grid corresponding to the initial path, and mark a grid mark in each grid corresponding to the initial path as an obstacle grid if the grid mark is an obstacle mark;

[0125] determine a path segment corresponding to consecutive obstacle grids in the initial path as a sub-path segment.

[0126] Optionally, the path optimization module is further configured to:

[0127] if the grid mark carried by the grid corresponding to the sub-path segment is a road network mark, determine whether the sub-path segment has a reverse segment based on a vehicle direction of the road network;

[0128] if the sub-path segment has the reverse segment, generate a road network passing segment with a starting point of the reverse segment as a first starting point, and generate a same-direction path segment based on the vehicle direction of the road network and a traffic rule of the road network with an ending point of the road network passing segment as a second starting point, and determine the road network passing segment and the same-direction path segment as the optimized path segment;

[0129] if the sub-path segment does not have the reverse segment, generate the optimized path based on the vehicle direction of the road network and the traffic rule of the road network.

[0130] Optionally, the path optimization module is further configured to:

[0131] if the grid mark carried by the grid corresponding to the sub-path segment is a speed bump mark, calculate an included angle between the sub-path segment and an extension direction of the speed bump;

[0132] If the included angle is less than the preset included angle, a starting point of the sub-path segment is taken as a third starting point, a vertical passing path segment perpendicular to an extension direction of the speed bump is generated, and the vertical passing path segment is determined as the optimized path segment.

[0133] Optionally, the path optimization module is further configured to: if the grid label carried by the sub-path segment corresponding grid is a pothole label, determine a pothole area corresponding to the pothole in the navigation grid map.

[0134] The starting point of the sub-path segment is taken as a fourth starting point, and the optimized path is generated with the pothole area as an obstacle avoidance area.

[0135] Optionally, the task execution module is further configured to:

[0136] determine a normal path segment from the initial path, and segmentally connect the normal path segment and the optimized path segment according to the spatial order of the initial path to obtain an intermediate path;

[0137] traverse adjacent path pairs in the intermediate path, determine a turning angle of a turning angle formed by the adjacent path pairs, generate a transition path by using a spline interpolation method based on the turning angle, and obtain a navigation path.

[0138] The robot control device provided in the application adopts the robot control method in the above embodiments, and can solve the technical problem of low safety of the robot when working in a complex area. Compared with the prior art, the robot control device provided in the application has the same beneficial effects as the robot control method provided in the above embodiments, and other technical features in the robot control device are the same as the features disclosed in the above embodiment method, which will not be repeated here.

[0139] The application provides a robot, which comprises at least one processor and a memory in communication connection with the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the robot control method in the above embodiment one.

[0140] Reference will be made to the following description Figure 7 which shows a structural schematic diagram of a robot suitable for being used to implement the embodiments of the application. Figure 7 The robot structure shown is only an example, and should not bring any limitation to the functions and use range of the embodiments of the application.

[0141] As Figure 7As shown, the robot can include a processing device 1001 (e.g., a central processing unit, a graphics processing unit, etc.) that can perform various appropriate actions and processes according to programs stored in a read-only memory 1002 or loaded from a storage device 1003 into a random access memory 1004. In the random access memory 1004, various programs and data required for robot operation are also stored. The processing device 1001, the read-only memory 1002, and the random access memory 1004 are connected to each other by a bus 1005. An input / output interface 1006 is also connected to the bus. Generally, the following systems can be connected to the input / output interface 1006: an input device 1007 including, for example, a touch screen, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; the storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the robot to communicate wirelessly or wired with other devices to exchange data. Although the robot with various systems is shown in the figure, it should be understood that it is not required to implement or have all the systems shown. More or less systems can be implemented or possessed instead.

[0142] In particular, according to embodiments of the present disclosure, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network by a communication device, or installed from the storage device 1003, or installed from the read-only memory 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are performed.

[0143] The robot provided by the present application adopts the robot control method in the above-mentioned embodiments, and can solve the technical problem of low safety of the robot when working in a complex area. Compared with the prior art, the robot provided by the present application has the same beneficial effects as the robot control method provided by the above-mentioned embodiments, and other technical features in the robot are the same as the features disclosed in the previous embodiment method, which will not be repeated here.

[0144] It should be understood that parts of the present disclosure can be realized by hardware, software, firmware or a combination thereof. In the description of the above-mentioned embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0145] The above merely provides a specific implementation of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical scope disclosed by the present application, which should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

[0146] The present application provides a computer readable storage medium having stored thereon computer readable program instructions (i.e., a computer program) for performing the robot control method in the above embodiments.

[0147] The computer readable storage medium provided by the present application may, for example, be a U disk, but is not limited to an electric, magnetic, optical, electromagnetic, infrared, or semiconductor system or device, or any combination thereof. More specific examples of the computer readable storage medium can include, but are not limited to, an electric connection having one or more conductive wires, a portable computer disk, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable programmable read only memory (EPROM or flash memory), an optical fiber, a portable compact disk read only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present embodiment, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system or device. The program code contained on the computer readable storage medium can be transmitted by any suitable medium, including but not limited to an electric wire, an optical cable, an RF (Radio Frequency), etc., or any suitable combination thereof.

[0148] The above computer readable storage medium can be contained in a robot; or can exist separately without being assembled into a robot.

[0149] The above computer readable storage medium carries one or more programs, which, when executed by a robot, cause the robot to implement the above embodiments of the robot control method.

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

[0151] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0152] The modules involved in the embodiments of the present application can be implemented in software or hardware. In some cases, the name of the module does not constitute a limitation on the module itself.

[0153] The readable storage medium provided by the present application is a computer readable storage medium, which stores computer readable program instructions (i.e. computer programs) for executing the above robot control method, and can solve the technical problem of low safety of the robot working in a complex area. Compared with the prior art, the computer readable storage medium provided by the present application has the same beneficial effects as the robot control method provided by the above embodiments, which will not be described here.

[0154] The application further provides a computer program product comprising a computer program which, when executed by a processor, implements the steps of the robot control method as described above.

[0155] The computer program product provided by the application can solve the technical problem of low safety of the robot when working in a complex area. Compared with the prior art, the beneficial effects of the computer program product provided by the application are the same as those of the robot control method provided by the above-mentioned embodiments, and are not described here.

[0156] The above only describes some embodiments of the application, and does not limit the patent scope of the application. Any equivalent structural transformation, direct / indirect application in other related technical fields, or direct / indirect application in other related technical fields based on the technical concept of the application and the content of the specification and drawings are included in the patent protection scope of the application.

Claims

1. A robot control method, characterized in that: The robot control method comprises: Marking each grid in a navigation grid map of the robot's external environment, wherein the grid mark is used to represent an obstacle attribute of the grid; generating an initial path with the position of the robot in the external environment as a path starting point and a preset destination as a path end point, and determining sub-path segments based on grid markings of respective grids corresponding to the initial path; Based on the grid mark carried by the grid corresponding to the sub-path segment, path planning is performed on the sub-path segment to obtain an optimized path segment; The sub-path segment is updated by the optimized path segment to obtain a navigation path, and the robot is controlled to perform a task according to the navigation path.

2. The robot control method according to claim 1, wherein: The step of determining the sub-path segments based on the grid marks of the grids corresponding to the initial path includes: Traversing each grid corresponding to the initial path, and marking a grid in each grid corresponding to the initial path as an obstacle grid with an obstacle mark; Path segments corresponding to consecutive obstacle grids in the initial path are determined as sub-path segments.

3. The robot control method according to claim 1, wherein: The step of performing path planning on the sub-path segment to obtain an optimized path segment based on the grid mark carried by the grid corresponding to the sub-path segment includes: If the grid mark carried by the grid corresponding to the sub-path segment is a road network mark, determining whether the sub-path segment has a reverse section based on the vehicle direction of the road network; If the sub-path segment includes the reverse segment, generating a road network through segment with the starting point of the reverse segment as a first starting point, and generating a same-direction path segment with the end point of the road network through segment as a second starting point based on the vehicle direction of the road network and the traffic rules of the road network, and determining the road network through segment and the same-direction path segment as the optimized path segment; If the sub-path segment does not include the reverse segment, the optimized path is generated based on the vehicle direction of the road network and the traffic rules of the road network.

4. The robot control method according to claim 1, wherein: The step of performing path planning on the sub-path segment to obtain an optimized path segment based on the grid mark carried by the grid corresponding to the sub-path segment includes: If the grid mark carried by the grid corresponding to the sub-path segment is a speed bump mark, then calculating the angle between the sub-path segment and the extension direction of the speed bump; If the angle is smaller than the preset angle, the starting point of the sub-path segment is used as the third starting point to generate a vertical passing path segment perpendicular to the extension direction of the speed bump, and the vertical passing path segment is determined as the optimized path segment.

5. The robot control method according to claim 1, wherein: The step of performing path planning on the sub-path segment to obtain an optimized path segment based on the grid mark carried by the grid corresponding to the sub-path segment includes: If the grid mark carried by the grid corresponding to the sub-path segment is a pothole mark, determining a pothole area corresponding to the pothole in the navigation grid map; An optimized path is generated with the starting point of the sub-path segment as a fourth starting point and the pothole area as an obstacle avoidance area.

6. The robot control method according to any one of claims 1 to 5, characterized in that: The step of obtaining the navigation path by updating the sub-path segments through the optimized path segments includes: Determining common path segments from the initial path, and segmentally connecting the common path segments and the optimized path segments according to the spatial order of the initial path to obtain an intermediate path; Adjacent path pairs in the intermediate path are traversed to determine a steering angle angle of a steering angle formed by the adjacent path pairs, and a transition path is generated based on the steering angle angle using a spline curve interpolation method to obtain a navigation path.

7. A robot control device, characterized in that: The robot control device comprises: a marking module, configured to mark each grid in a navigation grid map of the robot's external environment, wherein the grid mark is used to characterize an obstacle attribute of the grid; a path generation module, configured to generate an initial path with the robot's position in the external environment as a path starting point and a preset destination as a path end point, and to determine sub-path segments based on grid markings of respective grids corresponding to the initial path; a path optimization module, configured to perform path planning on the sub-path segment based on the grid mark carried by the grid corresponding to the sub-path segment to obtain an optimized path segment; The task execution module is used to update the sub-path segment through the optimized path segment to obtain a navigation path, and control the robot to execute the task according to the navigation path.

8. A robot, characterized in that: The robot comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the robot control method according to any one of claims 1 to 6.

9. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the robot control method according to any one of claims 1 to 6 are implemented.

10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the robot control method according to any one of claims 1 to 6 are implemented.

Citation Information

Cited By

  • Parking space cleaning method, device and equipment in garage scene and medium

    CN121725657A