Mobile robot navigation method and device
By collecting obstacle distance measurement data in real time, building local and global distance grid maps, determining safe areas and planning paths, it solves the problem of obstacle avoidance when encountering obstacles, and realizes fast and accurate path planning, improving the adaptability and safety of robot navigation.
Patent Information
- Application Number
- CN202510422513.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-07
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2045-04-07
AI Technical Summary
When a robot encounters moving obstacles after planning the path, it is difficult for the existing technology to update obstacle information in real time, resulting in slow or failure of obstacle avoidance, which may cause damage to the robot and user discomfort.
By collecting obstacle distance measurement data in real time, building a local distance grid map, determining a safe area and planning a local path, and optimizing path planning with the global distance grid map to ensure that the robot can avoid obstacles in a timely and accurate manner.
It realizes that the robot quickly and accurately plans the path when encountering obstacles, improves the timeliness and adaptability of path planning, avoids collisions and damage, and improves the user experience.
Smart Images

Figure CN119935155B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of artificial intelligence technology, and in particular relates to a mobile robot navigation method and device. Background Art
[0002] In related technologies, robot automation can be achieved through robotic navigation. Robotic navigation refers to the process by which a robot, after acquiring its own positioning information and information about surrounding obstacles, plans a collision-free path and implements tracking control using corresponding motion control algorithms.
[0003] However, when the robot moves along the planned path, other obstacles may appear in the planned path. At this time, how to control the robot to avoid obstacles is a technical problem that relevant technicians need to solve. Summary of the Invention
[0004] An embodiment of the present application provides a mobile robot navigation method and device, which converts the obstacle ranging data collected by the robot in real time into an obstacle point set, and unifies the obstacle point set into a local distance grid map, so that the robot can perform local path planning based on the local distance grid map, thereby enabling the robot to avoid obstacles in a timely and accurate manner.
[0005] In a first aspect, an embodiment of the present application provides a mobile robot navigation method, comprising: obtaining obstacle ranging data collected in real time while the robot is traveling along a target driving path; constructing a local distance grid map of the robot, the local distance grid map including an obstacle point set converted based on the obstacle ranging data; determining a safe area in the local distance grid map, wherein the distance between the safe area and any obstacle in the obstacle point set is greater than or equal to a preset safe distance; determining, from the safe area, safe points corresponding to the local starting and ending points of the robot; and planning a local driving path based on the safe points corresponding to the local starting and ending points.
[0006] In one embodiment, before the robot travels along the target driving path, the method further includes: constructing a global distance grid map corresponding to the target environment based on the location information of obstacles in the target environment, wherein each grid in the global distance grid map records the distance between the grid and the nearest obstacle; determining a safe area in the global distance grid map based on the distance index recorded by each grid in the global distance grid map and a preset safety distance; determining a safe point corresponding to the global starting and ending points of the robot from the safe area in the global distance grid map; and planning the target driving path based on the safe points corresponding to the global starting and ending points.
[0007] In one embodiment, a global distance grid map corresponding to the target environment is constructed based on the position information of obstacles in the target environment, including: constructing a global grid map for the target environment, wherein each grid in the global grid map records the obstacle occupancy information of the grid; for the grid where the obstacle is located, calculating the distance parabola corresponding to the grid, wherein the horizontal axis of the distance parabola is each grid in the global grid map, and the vertical axis is the distance parameter of each grid relative to the grid where the obstacle is located; according to the distance parabola, the minimum distance parameter corresponding to each grid is used as the distance parameter between the grid and the nearest obstacle; calculating the minimum distance parameter using a distance formula to obtain the distance between the grid and the nearest obstacle; and constructing a global distance grid map based on the global grid map and the distance between each grid and its corresponding nearest obstacle.
[0008] In one embodiment, a safety point corresponding to the global starting and ending points of the robot is determined from a safety area of a global distance grid map, including: determining a position point outside the safety area among the global starting and ending points; determining the posture of the robot at the position point; based on the posture, determining the forward direction or backward direction of the robot at the position point; in the forward direction or backward direction, finding a point that is within the safety area and closest to the position point as the safety point corresponding to the position point.
[0009] In one embodiment, a target driving path is planned based on safety points corresponding to global start and end points, including: searching for an initial driving path from a safety area in a global distance grid map based on a global path search algorithm; discretizing the initial driving path according to a preset sampling frequency to obtain a plurality of sampling points; respectively determining a smoothness parameter, a curvature parameter, and a distance parameter between adjacent sampling points; and performing a continuous processing on the plurality of sampling points according to the smoothness parameter, the curvature parameter, and the distance parameter to obtain the target driving path.
[0010] In one embodiment, obstacle ranging data is collected by a sensor of the robot at a first moment; constructing a local distance grid map of the robot includes: obtaining first positioning information of the robot at the first moment; mapping the obstacle ranging data into an obstacle point set under a global distance grid map based on the first positioning information, thereby obtaining a global distance grid map containing the obstacle point set; and obtaining a local distance grid map from the global distance grid map containing the obstacle point set based on the first positioning information of the robot and a preset distance window.
[0011] In one embodiment, the method further includes: obtaining second positioning information of the robot at a second moment, the second moment being after the first moment; and obtaining a local distance grid map from a global distance grid map containing an obstacle point set based on the second positioning information of the robot and a preset distance window.
[0012] In one embodiment, a local driving path is planned based on safety points corresponding to local starting and ending points, including: predicting the local driving path of the robot to obtain multiple predicted driving paths; discretizing the multiple predicted driving paths to obtain multiple sampling points; and when it is determined that the sampling points in the predicted driving path meet preset conditions, using the predicted driving path as the local driving path.
[0013] In a second aspect, an embodiment of the present application provides a mobile robot navigation method, the method comprising: pre-constructing a decision tree, wherein the decision tree includes a task scheduling node as a root node and multiple behavior decision nodes as child nodes; determining the navigation behavior type of the robot in the current environment through the behavior decision node, and sending the navigation behavior type to the task scheduling node; decomposing the global navigation task into one or more navigation subtasks based on the navigation behavior type through the task scheduling node; determining the behavior decision node corresponding to each navigation subtask through the task scheduling node, and sending the navigation subtask to the corresponding behavior decision node; driving the robot to move according to the navigation subtask through the behavior decision node, and the navigation subtask carries the driving path determined by the task scheduling node application of the first aspect or any one of the implementation methods of the first aspect.
[0014] In a third aspect, an embodiment of the present application provides a mobile robot navigation device, the device comprising:
[0015] The acquisition module is used to obtain the obstacle ranging data collected in real time while the robot is driving along the target driving path;
[0016] A construction module is used to construct a local distance grid map of the robot, where the local distance grid map contains an obstacle point set converted from obstacle ranging data;
[0017] A first determination module is configured to determine a safe area in a local distance grid map, wherein the distance between the safe area and any obstacle in the obstacle point set is greater than or equal to a preset safe distance;
[0018] A second determination module is used to determine the safety points corresponding to the local starting and ending points of the robot in the safety area;
[0019] The planning module is used to plan the local driving path based on the safety points corresponding to the local starting and ending points.
[0020] In a fourth aspect, an embodiment of the present application provides a mobile robot navigation device, comprising:
[0021] A construction module is used to pre-construct a decision tree, wherein the decision tree includes a task scheduling node as a root node and a plurality of behavior decision nodes as child nodes;
[0022] The first determination module is used to determine the navigation behavior type of the robot in the current environment through the behavior decision node and send the navigation behavior type to the task scheduling node;
[0023] A decomposition module is used to decompose the global navigation task into one or more navigation subtasks based on the navigation behavior type through the task scheduling node;
[0024] The second determination module is used to determine the behavior decision node corresponding to each navigation subtask through the task scheduling node, and send the navigation subtask to the corresponding behavior decision node;
[0025] The driving module is used to drive the robot to move according to the navigation subtask through the behavior decision node. The navigation subtask carries the task scheduling node application such as the driving path in the first aspect or any one of the embodiments of the first aspect.
[0026] In the fifth aspect, an embodiment of the present application provides a mobile robot navigation device, the device including: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, it implements the mobile robot navigation method in the first aspect or any one of the embodiments of the first aspect; or implements the mobile robot navigation method in the second aspect or any one of the embodiments of the second aspect.
[0027] In the sixth aspect, an embodiment of the present application provides a mobile robot navigation device, the device comprising: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, it implements the mobile robot navigation method in the first aspect or any one of the embodiments of the first aspect; or implements the mobile robot navigation method in the second aspect or any one of the embodiments of the second aspect.
[0028] In the seventh aspect, a computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the mobile robot navigation method in the first aspect or any one of the embodiments of the first aspect; or implement the mobile robot navigation method in the second aspect or any one of the embodiments of the second aspect.
[0029] In an eighth aspect, an embodiment of the present application provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the mobile robot navigation method as in the first aspect or any one of the embodiments of the first aspect; or implements the mobile robot navigation method as in the second aspect or any one of the embodiments of the second aspect.
[0030] The mobile robot navigation method and device of the embodiment of the present application converts the obstacle ranging data collected by the robot in real time into an obstacle point set, and unifies the obstacle point set into a local distance grid map, so that the robot can perform local path planning based on the local distance grid map, thereby enabling the robot to achieve timely and accurate obstacle avoidance. Furthermore, in the embodiment of the present application, by constructing a safe area in the local distance grid map and planning the local path through the safe area, it is possible to ensure that the local driving path is quickly determined and the timeliness of the robot's path planning is improved. Moreover, by determining the safety points corresponding to the local starting and ending points in the safe area, it is possible to ensure that the local starting and ending points are at any position in the local distance grid map, and the path planning can be achieved through the safe area in the local distance grid map, thereby improving the adaptability of the navigation method. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0032] Figure 1 A schematic diagram of a mobile robot navigation method according to an embodiment of the present application is shown;
[0033] Figure 2 A schematic diagram of a mobile robot navigation method according to an embodiment of the present application is shown;
[0034] Figure 3 A schematic diagram of a process of S210 provided in one embodiment of the present application is shown;
[0035] Figure 4 A schematic diagram of a global grid map provided by one embodiment of the present application is shown;
[0036] Figure 5 A schematic diagram showing a parabola of a global grid map provided by one embodiment of the present application is shown;
[0037] Figure 6 A schematic diagram of a global distance grid map provided by one embodiment of the present application is shown;
[0038] Figure 7 A schematic diagram of a process of S230 provided in one embodiment of the present application is shown;
[0039] Figure 8 A schematic diagram of a security point search provided by an embodiment of the present application is shown;
[0040] Figure 9A schematic diagram of a process of S240 provided in one embodiment of the present application is shown;
[0041] Figure 10 A schematic diagram showing a flow chart of a mobile robot navigation method provided by yet another embodiment of the present application is shown;
[0042] Figure 11 A schematic diagram showing a flow chart of a mobile robot navigation method provided by yet another embodiment of the present application is shown;
[0043] Figure 12 A schematic diagram of the decision tree architecture provided by one embodiment of the present application is shown;
[0044] Figure 13 is a structural diagram of a mobile robot navigation device provided by another embodiment of the present application;
[0045] Figure 14 is a structural diagram of a mobile robot navigation device provided by another embodiment of the present application;
[0046] Figure 15 This is a structural diagram of a mobile robot navigation device provided in yet another embodiment of the present application. DETAILED DESCRIPTION
[0047] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is merely to provide a better understanding of the present application by illustrating the examples of the present application.
[0048] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, the elements defined by the phrase "comprising..." do not exclude the presence of other identical elements in the process, method, article, or device comprising the elements.
[0049] With the development of artificial intelligence and advancements in the Internet of Things (IoT), home robots are becoming increasingly popular. Robot navigation technology is a key means of ensuring that home robots can fulfill their functions. Robot navigation technology obtains the robot's own positioning information and surrounding obstacle information, plans a collision-free path based on this information, and uses motion control algorithms to ensure the robot follows this path.
[0050] However, when the robot is traveling along a planned path, it may encounter moving obstacles. For example, a moving obstacle may be an obstacle that moves onto the driving path after path planning. In this case, the robot's local path needs to be replanned to prevent the robot from colliding with the moving obstacle. However, in related technologies, when planning the robot's local path, the data collection frequency of the robot's sensors is limited, making it difficult to update the obstacle information collected by the robot to the local map of the technology in real time. This results in slow obstacle avoidance or even failure, thereby causing damage to the robot and an uncomfortable experience for the user.
[0051] In order to solve the problems in the prior art, the embodiments of the present application provide a mobile robot navigation method and device. The mobile robot navigation method provided by the embodiments of the present application is first introduced below.
[0052] Figure 1 FIG. 1 shows a flow chart of a mobile robot navigation method provided by an embodiment of the present application. Figure 1 As shown, the mobile robot navigation method includes the following steps:
[0053] S110 . Acquire obstacle ranging data collected in real time while the robot is traveling along the target driving path.
[0054] For example, the target driving path may be a driving path that the robot plans to take in a target environment based on obstacles in the environment. The target environment may be the robot's working environment.
[0055] For example, the robot can collect obstacle ranging data in its surrounding environment in real time through sensors.
[0056] S120: Construct a local distance grid map of the robot, where the local distance grid map includes an obstacle point set converted based on obstacle ranging data.
[0057] For example, the range grid map can be constructed based on the robot's main coordinate system, and obstacle information in the target environment and obstacle information detected by the robot in real time can be stored in the local coordinate system. The obstacle data detected by the robot in real time can be represented in the local map by converting obstacle ranging data into a set of obstacle points.
[0058] S130: Determine a safe area in the local distance grid map.
[0059] The distance between the safety area and any obstacle in the obstacle point set is greater than or equal to the preset safety distance.
[0060] For example, the preset safety distance can be pre-set by relevant technical personnel according to different needs.
[0061] In one example, each grid in the local distance grid map stores distance information of obstacles. The distance information of obstacles in each grid can be compared with a preset safety threshold. If it is determined that the distance information of the obstacle is greater than the preset safety threshold, the grid can be used as a safe area.
[0062] S140 . Determine the safety points corresponding to the local starting and ending points of the robot in the safety area.
[0063] For example, the safety points corresponding to the local starting and ending points may be determined from the safety area in the local distance grid map.
[0064] Exemplarily, the safety point of the local starting and ending points themselves can be the local starting and ending points themselves; or the local starting and ending points can be located at positions outside the safety area in the local distance grid map. In this case, the posture of the robot at the position point can be determined; based on the posture, the forward direction or backward direction of the robot at the position point is determined; in the forward direction or backward direction, the point that is within the safety area and closest to the position point is found as the safety point corresponding to the position point.
[0065] S150: Plan a local driving route based on the safety points corresponding to the local starting and ending points.
[0066] For example, a local driving route can be planned based on the safety points corresponding to the local starting and ending points, so that the robot can bypass obstacles.
[0067] For example, while the robot is traveling along a target route, it can collect obstacle ranging data in real time and construct a local range grid map of the robot based on the obstacle point set converted from the obstacle ranging data. Furthermore, a safe area within the local range grid map can be determined; within the safe area, safe points corresponding to the robot's local starting and ending points can be determined; and based on the local starting and ending points, a local route can be planned.
[0068] In an embodiment of the present application, by converting the obstacle ranging data collected by the robot in real time into an obstacle point set, and unifying the obstacle point set into a local distance grid map, the robot can perform local path planning based on the local distance grid map, thereby enabling the robot to achieve timely and accurate obstacle avoidance. Furthermore, in an embodiment of the present application, by constructing a safe area in the local distance grid map and planning the local path through the safe area, it is possible to ensure that the local driving path is quickly determined, thereby improving the timeliness of the robot's path planning. Moreover, by determining the safety points corresponding to the local starting and ending points in the safe area, it is possible to ensure that the local starting and ending points are at any position in the local distance grid map, and the path planning can be achieved through the safe area in the local distance grid map, thereby improving the adaptability of the navigation method.
[0069] Furthermore, in order to achieve the planning of the target driving path, as another implementation method of the present application, the present application also provides another implementation method of the mobile robot navigation method, please refer to the following embodiments for details.
[0070] Figure 2 FIG. 1 shows a flow chart of a mobile robot navigation method provided by an embodiment of the present application. Figure 2 As shown, the mobile robot navigation method includes the following steps:
[0071] S210 : Construct a global distance grid map corresponding to the target environment based on the location information of obstacles in the target environment. Each grid in the global distance grid map records the distance between the grid and the nearest obstacle.
[0072] S220 : Determine a safe area in the global distance grid map based on the distance index of each grid record in the global distance grid map and a preset safe distance.
[0073] S230 : Determine the safety points corresponding to the global start and end points of the robot from the safety area of the global distance grid map.
[0074] S240: Plan a target driving path based on the safety points corresponding to the global starting and ending points.
[0075] S250 . Acquire obstacle ranging data collected in real time while the robot is traveling along the target driving path.
[0076] S260: Construct a local distance grid map of the robot, where the local distance grid map includes an obstacle point set converted based on obstacle ranging data.
[0077] S270: Determine a safe area in the local distance grid map.
[0078] S280: Determine the safety points corresponding to the local starting and ending points of the robot in the safety area.
[0079] S290: Plan a local driving path based on the safety points corresponding to the local starting and ending points.
[0080] Illustratively, steps S250-S290 are consistent with steps S110-S150 and are not described in detail here.
[0081] In some embodiments, in step S210, a global distance grid map corresponding to the target environment may be constructed based on the location information of obstacles in the target environment, wherein each grid in the global distance grid map records the distance between the grid and the nearest obstacle.
[0082] For example, the position information corresponding to each obstacle in the target environment can be obtained by a sensor installed in the robot, and a distance grid map can be constructed based on the obstacle information in the target environment.
[0083] In one example, the sensors installed in the robot may be lidar, odometer, or other sensors.
[0084] In some optional embodiments, Figure 3 FIG. 1 shows a flow chart of S210 provided by an embodiment of the present application. Figure 3 As shown, S210 includes the following steps:
[0085] S211 . Construct a global grid map for the target environment, wherein each grid in the global grid map records the obstacle occupancy information of the grid.
[0086] For example, the robot can construct a map scene of the target environment and, using a corresponding mapping algorithm, construct a global grid map corresponding to the target scene. The global grid map includes multiple grids arranged in rows, and each grid records the location information of obstacles in the grid.
[0087] In one example, the mapping algorithm may be a Simultaneous Localization and Mapping (SLAM) algorithm, for example, a grid mapping algorithm (Gmapping).
[0088] In another example, there may be multiple regions in the global grid map, for example, Figure 4 A schematic diagram of a global grid map provided by an embodiment of the present application is shown in FIG. Figure 4 As shown, the global grid map may include a safe area 401, an unexplored area 402, and obstacles 403. It is understood that the safe area 401 may be an area where the robot can move safely and without obstacles. The unexplored area 402 may be an area that the robot has not yet visited. Figure 4 The mottled area on the left can be seen as the robot exploring the unexplored area. Furthermore, the robot can explore this area using its onboard sensors. Obstacles 403 can be static, such as walls and furniture, or dynamic, such as pedestrians or other mobile robots. In a global grid map, obstacles are typically represented as occupied cells, and the robot must ensure it does not enter these occupied cells during movement to avoid collisions.
[0089] S212. For the grid where the obstacle is located, calculate the distance parabola corresponding to the grid. The horizontal axis of the distance parabola is each grid in the global grid map, and the vertical axis is the distance parameter of each grid relative to the grid where the obstacle is located.
[0090] For example, for each grid where an obstacle is located, a distance parabola corresponding to each grid cell can be calculated, wherein the horizontal axis of the distance parabola is each grid in the global grid map, and the vertical axis is the distance parameter of each grid cell relative to the grid where the obstacle is located.
[0091] In one example, the distance value between adjacent grids can be solved by an iterative algorithm. For example, a two-dimensional global grid map can be disassembled, including dividing the global grid map into multiple rows of grids, i.e., row grids, in the horizontal direction, or dividing the global grid map into multiple columns of grids, i.e., column grids, in the vertical direction. The occupancy information of obstacles can be stored in each row grid and each column grid. The following example is explained using a row grid and a column grid with a common grid. After determining that each grid in the column grid has an obstacle occupancy, a distance parabola corresponding to the grid can be constructed, wherein the horizontal coordinate of the parabola can represent each grid in the column grid, and the parabola can represent the distance parameter of each grid relative to the grid where the obstacle occupies the grid. Further, based on this distance parameter, a parabola corresponding to the row grid is constructed. wherein each point on the parabola established according to the row grid can represent the square of the distance. For example, Figure 5 A schematic diagram of a parabola of a global grid map provided by an embodiment of the present application is shown. Figure 5As shown, the horizontal axis can represent the grid, and the vertical axis represents the distance between the grid and the obstacle. The center of each parabola in the figure represents the position of the obstacle in the grid. It is understood that the distance between each grid and the obstacle can be assumed to be infinite, that is, there is no obstacle near the grid.
[0092] S213. According to the distance parabola, the minimum distance parameter corresponding to each grid is used as the distance parameter between the grid and the nearest obstacle.
[0093] For example, the minimum parameter of each parabola closest to the selected grid may be determined based on the parabola as the distance parameter between the grid and the nearest obstacle.
[0094] In one example, combining Figure 5 The distance parameter is explained. Grid point 0 can store the distance parameter corresponding to f(0), grid point 1 can store the distance parameter corresponding to f(1), grid point 2 can store the distance parameter corresponding to f(2), and grid point n-1 can store the distance parameter corresponding to f(n-1). It can be understood that a larger distance parameter indicates a greater distance between the grid and the obstacle.
[0095] S214. Calculate the minimum distance parameter using a distance formula to obtain the distance between the grid and the nearest obstacle.
[0096] For example, the minimum distance parameter may be calculated using a related distance formula to obtain the distance between the grid and the nearest obstacle.
[0097] In one example, a parabola represents the square of distance, and the Euclidean distance formula can be used to calculate the relative distance between a grid point and an obstacle in a global grid map. Furthermore, the grid resolution can be obtained and the relative distance can be processed using the grid resolution to store the distance of the grid point relative to the obstacle in the grid.
[0098] S215 : Construct a global distance grid map based on the global grid map and the distances between each grid and its corresponding nearest obstacle.
[0099] For example, the distance between each grid and its corresponding nearest obstacle can be recorded in the corresponding grid, so that each grid in the global grid map stores the distance between the grid and its corresponding nearest obstacle, thereby obtaining a global distance grid map.
[0100] In one example, Figure 6 A schematic diagram of a global distance grid map provided by an embodiment of the present application is shown in FIG. Figure 6As shown, it can be understood that the closer the distance between each grid and the grid corresponding to the obstacle (or the unexplored grid), the smaller the distance value, such as Figure 6 As shown in the figure, the change of color from dark to light can represent the change of distance from small to large. Figure 4 , Figure 6 The mottled area on the middle left can be considered as the result of the robot's exploration process.
[0101] In an embodiment of the present application, a global grid map is first constructed, and the distance between the grid and the nearest obstacle is determined based on the obstacle occupancy information and its corresponding distance parabola in the global grid map, so as to realize the construction of a global distance grid map. This enables the robot to more accurately sense the distribution of surrounding obstacles, providing a solid foundation for the robot's navigation and obstacle avoidance.
[0102] In some embodiments, in step S220 , a safe area in the global distance grid map may be determined based on the distance index of each grid record in the global distance grid map and a preset safe distance.
[0103] The distance between the safe area and the storage medium is greater than or equal to the preset safe distance.
[0104] In one example, each grid in the global distance grid map stores the distance of an obstacle. The distance of the obstacle in each grid can be compared with a preset safety threshold. If it is determined that the distance information of the obstacle is greater than the preset safety threshold, the grid can be used as a safe area.
[0105] In some embodiments, in step S230 , the safety points corresponding to the global start and end points of the robot may be determined from the safety area of the global distance grid map.
[0106] For example, the safety points corresponding to the local starting and ending points may be determined from the safety area in the distance grid map.
[0107] In some optional embodiments, Figure 7 FIG. 1 shows a flow chart of S230 provided by an embodiment of the present application. Figure 7 As shown, S230 includes the following steps:
[0108] S231. Determine a position point outside the safety area among the global starting and ending points.
[0109] Exemplarily, the global start and end points may include a global starting point and a global end point, wherein the global starting point may be the initial position of the robot and the global end point may be the target position of the robot, wherein the target position is specified by the user or determined by the corresponding function.
[0110] Illustratively, the location point may be a global starting point and / or a global ending point located outside the safety area.
[0111] S232. Determine the position and posture of the robot at the position point.
[0112] For example, the robot posture may include the current driving direction of the robot, that is, the driving direction of the robot at the position point can be determined.
[0113] S233. Based on the posture, determine the forward direction or backward direction of the robot at the position point.
[0114] For example, the direction at the position point can be determined according to the posture of the robot, and then the forward direction and backward direction of the robot can be determined.
[0115] S234. In the forward direction or the backward direction, find a point that is within the safety area and closest to the position point as the safety point corresponding to the position point.
[0116] For example, in the global distance grid map, at the robot's position point, along the robot's travel direction, in the robot's forward or backward direction, a point that is within the safety area and closest to the position point can be searched as the safety point corresponding to the position point.
[0117] In one example, Figure 8 A schematic diagram of a security point search provided by an embodiment of the present application is shown. Figure 8 As shown, the area beyond safety margin 802 of obstacle 801 is the safe zone. The corresponding position of robot 803 can be at position 804. The arrow in the robot represents the robot's forward direction. The line can be extended along the robot's forward direction until it intersects the safety margin. The intersection can be used as the robot's corresponding safe point.
[0118] In an embodiment of the present application, by determining the posture of the robot at a position point, the safe point closest to the robot can be determined, thereby ensuring that the robot can move to the safe point with the minimum distance, and thereby ensuring that the global starting and ending points are at any position in the global distance grid map, and the path planning can be achieved through the safe area in the global distance grid map, thereby improving the adaptability of the navigation method.
[0119] In some embodiments, in S240 , a target driving path may be planned based on safety points corresponding to the global starting and ending points.
[0120] For example, a global path search algorithm may be used to perform path planning on safety points corresponding to global starting and ending points to obtain a target driving path.
[0121] In some optional embodiments, Figure 9 FIG. 1 shows a flow chart of S240 provided by an embodiment of the present application. Figure 9 As shown, S240 includes the following steps:
[0122] S241 : Based on a global path search algorithm, an initial driving path is searched from a safe area of the global distance grid map.
[0123] Exemplarily, a global path search algorithm can be used to implement global path planning. In one example, the global path search algorithm can include an A* algorithm.
[0124] For example, within a safe area on a global distance grid map, a node expansion is performed, starting from a safe point corresponding to the global starting point, toward a safe point corresponding to the global ending point, to obtain multiple expanded nodes. A cost value is calculated for each expanded node. If the cost value of the expanded node satisfies a preset cost condition, the expanded node is updated as the starting point, and node expansion is performed back toward the safe point corresponding to the global ending point, obtaining multiple expanded nodes, until a safe point corresponding to the global ending point is found among the expanded nodes, thereby obtaining the initial driving path.
[0125] In one example, the safe area in the global distance grid map is first determined. For example, it can be stipulated that the area less than the safe distance (0.6m) is the obstacle area, and the rest of the area is the safe area. Starting from the starting point, the candidate node is expanded to the surrounding grid, and the Manhattan distance g from the expansion starting point to the expansion node is calculated. Then, the estimated distance h from an expansion node to the end point is calculated. For example, the estimated distance is the Manhattan distance from the expansion node to the end point. The weight f of each node is calculated, where the weight f can be equal to the sum of the Manhattan distance from the expansion starting point to the expansion node and the estimated distance. Each expansion node is added to a priority queue and sorted according to the weight f. Each iteration takes the expansion node with the smallest weight f from this priority queue for the next iteration until the iteration reaches the grid where the end point is located.
[0126] S242: Discretize the initial driving path according to a preset sampling frequency to obtain multiple sampling points.
[0127] Exemplarily, the preset sampling frequency may be a sampling frequency preset by relevant technical personnel.
[0128] For example, after the initial driving path is discretized according to a preset sampling frequency, a plurality of discretized sampling points may be obtained.
[0129] S243: Determine the smoothness parameter, curvature parameter, and distance parameter between adjacent sampling points respectively.
[0130] For example, a gradient descent algorithm can be used to achieve smooth connection of the sampling points, wherein the smoothness parameter can represent the smooth gradient, the curvature parameter can represent the curvature gradient, and the distance parameter can represent the distance gradient.
[0131] In one example, the smooth gradient can be determined by the smoothing term and the sampling points. For example, the smooth gradient can be expressed by the following formula (1):
[0132] (1)
[0133] in, represents the smoothing term, represents the i-th sampling point, represents the i+1th sampling point; the same applies to other sampling points.
[0134] Among them, the smoothing term It can be expressed by the following formula (2):
[0135] (2)
[0136] Where N represents the number of sampling points.
[0137] Furthermore, it can be understood that the curvature comes from the angle change rate, and the angle change rate of adjacent sampling points can be expressed by the following formula (3): :
[0138] (3)
[0139] Among them, T represents transposition; |()| represents absolute value calculation.
[0140] Correspondingly, the curvature term It can be expressed by the following formula (4):
[0141] (4)
[0142] Furthermore, the curvature gradient can be expressed by the following formula (5):
[0143] (5)
[0144] in, = ,and, The value of can be calculated by the following formula (6):
[0145] (6)
[0146] Furthermore, it can be understood that since the gradient is calculated in the global distance grid map, it is necessary to linearly interpolate the grid information and use the difference to replace the gradient, as shown in formula (7):
[0147] (7)
[0148] in, It can represent the coordinate value corresponding to the sampling point. Can represent infinitesimal values.
[0149] S244 , performing continuous processing on the plurality of sampling points according to the smoothness parameter, the curvature parameter, and the distance parameter to obtain a target driving path.
[0150] For example, after obtaining the smooth gradient, curvature gradient, and distance gradient of the sampling point, the gradient descent method can be used to achieve smooth calculation of the sampling point. Since the sampling point cannot be directly provided to the robot downstream task to achieve tracking control, it is necessary to perform multiple B-spline fitting on the sampling point, for example, 3 times, to achieve the delivery of the continuous point set p(t), as shown in formula (8):
[0151] (8)
[0152] in, to Different sampling points respectively.
[0153] In the embodiment of the present application, the initial driving path is smoothed by smoothness parameters, curvature parameters and distance parameters, thereby ensuring that the global driving route of the robot is smooth and continuous, and improving the user experience of the robot.
[0154] Furthermore, in this embodiment, the robot's global route is memorized using the safe areas in the global distance grid map. This ensures that the robot follows a defined and safe path, avoiding collisions with obstacles in the global distance grid map. Furthermore, during this memorized movement, no additional local path planning is required, thus reducing computational time and resource usage.
[0155] In order to ensure that the robot can plan the local driving route in a timely and accurate manner after encountering an obstacle, as another implementation method of the present application, the present application also provides another implementation method of the mobile robot navigation method. Please refer to the following embodiments for details.
[0156] Figure 10 FIG. 1 shows a flow chart of a mobile robot navigation method provided by another embodiment of the present application. Figure 10 As shown, the mobile robot navigation method includes the following steps:
[0157] S1010. Acquire obstacle ranging data collected in real time while the robot is traveling along the target driving path.
[0158] Exemplarily, step S1010 is consistent with step S110, and steps S1050-S1070 are consistent with steps S130-S150, which will not be described in detail here.
[0159] S1020: Obtain first positioning information of the robot at the first moment.
[0160] For example, the obstacle ranging data is collected by the robot's sensor at a first moment, and the first positioning information corresponding to the robot at the same moment can be obtained. The first positioning information can be the coordinate information of the robot in the global distance grid map.
[0161] S1030: Based on the first positioning information, map the obstacle ranging data into an obstacle point set under a global distance grid map to obtain a global distance grid map including the obstacle point set.
[0162] For example, the obstacle ranging data can be mapped to an obstacle point set within a global distance grid map based on the robot's current positioning information, thereby obtaining a global distance grid map containing the obstacle point set. Specifically, it is understood that the position of an obstacle relative to the global distance grid can be determined using the robot's corresponding first positioning information, and the obstacle can be represented within the global distance grid map through the mapping of the obstacle ranging data.
[0163] S1040: Acquire a local distance grid map from a global distance grid map including an obstacle point set according to the first positioning information of the robot and a preset distance window.
[0164] Exemplarily, the local distance grid map can be obtained from the global distance grid map according to a preset distance window, with the first positioning information corresponding to the robot as the center point in the global distance grid map.
[0165] S1050: Determine a safe area in the local distance grid map.
[0166] S1060: Determine the safety points corresponding to the local starting and ending points of the robot in the safety area.
[0167] S1070: Plan a local driving route based on the safety points corresponding to the local starting and ending points.
[0168] In this embodiment of the present application, the robot's first positioning information at the first moment can be obtained simultaneously with the obstacle ranging data corresponding to the obstacle acquired by the robot's sensor. Using this first positioning information, the obstacle ranging data is mapped to the obstacle point set within a global distance grid map, resulting in a global distance grid map containing the obstacle point set. This ensures the relatively accurate location of the acquired obstacles, thereby improving the accuracy of the local driving path.
[0169] Furthermore, it is understandable that the frequency at which the sensor acquires obstacle ranging data is inconsistent with the frequency at which the robot performs positioning. Therefore, how to synchronize data processing is the key to ensuring the accuracy of the local distance grid map.
[0170] For example, second positioning information of the robot at a second moment can be obtained, where the second moment is after the first moment. Based on the second positioning information of the robot and a preset distance window, a local distance grid map is obtained from a global distance grid map containing an obstacle point set.
[0171] For example, the robot can acquire its corresponding positioning information at a preset frequency. The preset frequency can be pre-determined by a technician. For example, the robot can acquire positioning information at a frequency of 10 Hertz (Hz), meaning that the robot's positioning information is collected 10 times per second.
[0172] In one example, the first positioning information collected at the first moment may be the robot positioning information collected for the first time within one second, and the positioning information collected at the second moment may be the robot positioning information collected for the second time within one second.
[0173] Exemplarily, the local distance grid map can be obtained from the global distance grid map according to a preset distance window by taking the second positioning information corresponding to the robot as the center point in the global distance grid map.
[0174] In one example, the moment when the robot performs obstacle ranging data can be obtained, and the positioning information of the robot at that moment can be recorded. The obstacle ranging data is transformed into an obstacle point set in the robot coordinate system. In each subsequent update process of the local distance grid map, the coordinate transformation is used to transform the most recent obstacle point set into the robot's current coordinate system, wherein the positioning at the ranging moment can be first converted to the global distance grid map, and then converted to the robot's body coordinate system, that is, the local distance grid map, based on the current robot positioning information. It can be understood that even if the sensor data acquisition is slow, the local distance grid map can be kept updated in real time.
[0175] It is understood that in the embodiments of the present application, by converting the obstacle positioning information obtained by the sensor into a global distance grid map, the robot can use the global distance grid map as a basis for each local distance grid map acquisition, thereby obtaining an accurate local distance grid map. In this way, even if the sensor obtains obstacle ranging data at a different update frequency than the robot's positioning information, an accurate local distance grid map can still be obtained. Therefore, the embodiments of the present application are compatible with low-frequency sensors, thereby reducing costs.
[0176] In order to achieve local path planning, as another implementation method of the present application, the present application also provides another implementation method of the mobile robot navigation method, please refer to the following embodiments for details.
[0177] Figure 11 FIG. 1 shows a flow chart of a mobile robot navigation method provided by another embodiment of the present application. Figure 11 As shown, the mobile robot navigation method includes the following steps:
[0178] S1110 . Acquire obstacle ranging data collected in real time while the robot is traveling along the target driving path.
[0179] S1120: Construct a local distance grid map of the robot, where the local distance grid map includes an obstacle point set converted based on obstacle ranging data.
[0180] S1130: Determine a safe area in the local distance grid map.
[0181] S1140. Determine the safety points corresponding to the local starting and ending points of the robot from the safety area.
[0182] Illustratively, steps S1110 - S1140 are consistent with steps S110 - S140 and are not described in detail here.
[0183] S1150: Predict the local driving path of the robot to obtain multiple predicted driving paths.
[0184] For example, the local driving path of the robot can be predicted based on the local starting and ending points and the local distance grid map to obtain multiple predicted driving paths.
[0185] S1160 , discretize the multiple predicted driving paths respectively to obtain multiple sampling points.
[0186] For example, the plurality of predicted driving paths may be discretized according to a preset sampling frequency to obtain a plurality of discretized predicted driving paths, wherein each predicted driving path includes a plurality of sampling points.
[0187] S1170: When it is determined that the sampling points in the predicted driving path meet the preset conditions, use the predicted driving path as the local driving path.
[0188] For example, the preset condition may be that the number of samples located in the safe area is greater than a preset number threshold.
[0189] For example, it is possible to determine whether each sampling point in the predicted driving path is located in a safe area, and count the number of sampling points located in the safe area. If it is determined that the number of sampling points in the predicted driving path located in the safe area is greater than a preset number threshold, the predicted driving path is used as a local driving path.
[0190] In one example, the dynamic window approach (DWA) can be used to predict the driving path. After sampling the vehicle's driving trajectory, it can be determined whether the sampling point is within the safe area. The computational complexity is (where n represents the number of sampling points sampled by the DWA algorithm). Compared with the traditional algorithm, each sampled trajectory will perform collision detection with the obstacle point in the environment, and the computational cost is (where n represents the number of track samples sampled by the DWA algorithm, and m represents the number of obstacle points contained in the environment.) The computational complexity in the embodiment of the present application is reduced, which greatly reduces the computational time, thereby enabling rapid local path planning.
[0191] In addition, in one example, before planning a local path, you can first determine whether there are obstacles in the surrounding environment. This can be achieved in the local distance grid map. When it is determined that there are no obstacles, a flag bit can be output. If an obstacle is detected, local path planning can be performed. If there are no obstacles, you can directly run along the global path, which can further reduce time consumption.
[0192] In addition, in the embodiments of the present application, local path planning can also use multiple planners, and the present application does not limit this.
[0193] In addition, the present application also provides a mobile robot navigation method, wherein the mobile robot navigation method may include pre-building a decision tree, wherein the decision tree includes a task scheduling node as a root node and multiple behavior decision nodes as child nodes. The navigation behavior type of the robot in the current environment is determined through the behavior decision node, and the navigation behavior type is sent to the task scheduling node; the global navigation task is decomposed into one or more navigation subtasks based on the navigation behavior type through the task scheduling node; the behavior decision node corresponding to each navigation subtask is determined through the task scheduling node, and the navigation subtask is sent to the corresponding behavior decision node; the behavior decision node is used to drive the robot to move according to the navigation subtask, and the navigation subtask carries the driving path determined by any of the above-mentioned implementation methods of the task scheduling node.
[0194] Figure 12 FIG. 1 shows a schematic diagram of the architecture of a decision tree provided by an embodiment of the present application. Figure 12 As shown, the architecture of the decision tree includes: a task scheduling node 1201 and multiple behavior decision nodes 1202. The task scheduling node can be a root node, and the multiple behavior decision nodes can be child nodes corresponding to the task scheduling module.
[0195] In one example, behavior decision nodes can be categorized based on the robot's behavior in different scenarios, such as tracking from a starting point to a safe point or smooth path tracking. Furthermore, each behavior decision node has three states: task start, task progress, and task end. The behavior decision node can transmit these three states to the task scheduling module in real time for scheduling.
[0196] For example, if the robot's starting and ending points are both outside the safe area, the task scheduling node can break down the robot's entire navigation process into: the robot's starting point to the safe point corresponding to the starting point, the robot's smooth operation between the two safe points, and the robot's operation from the safe point corresponding to the end point to the end point. After determining the above three processes in the task scheduling node, it starts to send the task start flag to the first behavior decision node. When the node is in the process of performing a task, the behavior node cannot be switched. Only after receiving the task end flag of the behavior decision node, the next behavior decision node is switched. That is, the task start flag is sent to the next behavior decision node, and the process waits until the last behavior decision node reports the task end flag, completing the entire navigation process.
[0197] For example, each behavior decision node includes a security detection component.
[0198] In the embodiment of the present application, constructing a task scheduling node and multiple behavior decision nodes in the form of a decision tree can greatly enhance the scalability of the robot to meet navigation tasks in different scenarios.
[0199] Based on the mobile robot navigation method provided in the above embodiment, the present application also provides a specific implementation of a mobile robot navigation device. Please refer to the following embodiments.
[0200] See first Figure 13 The mobile robot navigation device provided in the embodiment of the present application includes the following modules:
[0201] The acquisition module 1301 is used to obtain obstacle ranging data collected in real time while the robot is traveling along the target driving path;
[0202] A construction module 1302 is used to construct a local range grid map of the robot, where the local range grid map includes an obstacle point set obtained by converting obstacle ranging data;
[0203] The first determining module 1303 is configured to determine a safe area in the local distance grid map, where the distance between the safe area and any obstacle in the obstacle point set is greater than or equal to a preset safe distance;
[0204] The second determining module 1304 is configured to determine, from the safety area, safety points corresponding to the local starting and ending points of the robot;
[0205] The planning module 1305 is used to plan a local driving path based on the safety points corresponding to the local starting and ending points.
[0206] In one embodiment, before the robot travels along the target driving path, the planning module 1305 is further used to: construct a global distance grid map corresponding to the target environment based on the location information of obstacles in the target environment, where each grid in the global distance grid map records the distance between the grid and the nearest obstacle; determine a safe area in the global distance grid map based on the distance indicators recorded in each grid in the global distance grid map and a preset safety distance; determine the safety points corresponding to the global starting and ending points of the robot from the safety areas in the global distance grid map; and plan the target driving path based on the safety points corresponding to the global starting and ending points.
[0207] In one embodiment, the planning module 1305 constructs a global distance grid map corresponding to the target environment based on the location information of obstacles in the target environment in the following manner: constructing a global grid map for the target environment, wherein each grid in the global grid map records the obstacle occupancy information of the grid; calculating a distance parabola corresponding to a grid where an obstacle is located, wherein the horizontal axis of the distance parabola is each grid in the global grid map, and the vertical axis is the distance parameter of each grid relative to the grid where the obstacle is located; according to the distance parabola, taking the minimum distance parameter corresponding to each grid as the distance parameter between the grid and the nearest obstacle; calculating the minimum distance parameter using a distance formula to obtain the distance between the grid and the nearest obstacle; constructing a global distance grid map based on the global grid map and the distance between each grid and its corresponding nearest obstacle.
[0208] In one embodiment, the planning module 1305 determines the safety point corresponding to the global starting and ending points of the robot from the safety area of the global distance grid map in the following manner: determine the position point outside the safety area among the global starting and ending points; determine the posture of the robot at the position point; based on the posture, determine the forward direction or backward direction of the robot at the position point; in the forward direction or backward direction, find the point that is within the safety area and closest to the position point as the safety point corresponding to the position point.
[0209] In one embodiment, the planning module 1305 plans a target driving path based on the safety points corresponding to the global start and end points in the following manner: based on a global path search algorithm, an initial driving path is searched from the safety area of the global distance grid map; the initial driving path is discretized according to a preset sampling frequency to obtain multiple sampling points; the smoothness parameter, curvature parameter, and distance parameter between adjacent sampling points are determined respectively; and the multiple sampling points are continuous according to the smoothness parameter, curvature parameter, and distance parameter to obtain the target driving path.
[0210] In one embodiment, the obstacle ranging data is collected by the robot's sensor at the first moment; the construction module 1302 constructs the robot's local distance grid map in the following manner: obtaining the robot's first positioning information at the first moment; based on the first positioning information, mapping the obstacle ranging data to an obstacle point set under a global distance grid map to obtain a global distance grid map containing the obstacle point set; and obtaining a local distance grid map from the global distance grid map containing the obstacle point set based on the robot's first positioning information and a preset distance window.
[0211] In one embodiment, the construction module 1302 is further used to: obtain second positioning information of the robot at a second moment, where the second moment is after the first moment; and obtain a local distance grid map from a global distance grid map containing an obstacle point set based on the second positioning information of the robot and a preset distance window.
[0212] In one embodiment, the planning module 1305 plans a local driving path based on the safety points corresponding to the local starting and ending points in the following manner: predicting the local driving path of the robot to obtain multiple predicted driving paths; discretizing the multiple predicted driving paths to obtain multiple sampling points; and when it is determined that the sampling points in the predicted driving path meet the preset conditions, using the predicted driving path as the local driving path.
[0213] This application also provides a specific implementation of the mobile robot navigation device. Please refer to the following embodiments.
[0214] See first Figure 14 The mobile robot navigation device provided in the embodiment of the present application includes the following modules:
[0215] A construction module 1401 is used to pre-construct a decision tree, wherein the decision tree includes a task scheduling node as a root node and multiple behavior decision nodes as child nodes;
[0216] A first determination module 1402 is configured to determine the navigation behavior type of the robot in the current environment through a behavior decision node, and send the navigation behavior type to a task scheduling node;
[0217] A decomposition module 1403 is configured to decompose the global navigation task into one or more navigation subtasks based on the navigation behavior type through a task scheduling node;
[0218] The second determining module 1404 is used to determine the behavior decision node corresponding to each navigation subtask through the task scheduling node, and send the navigation subtask to the corresponding behavior decision node;
[0219] The driving module 1405 is used to drive the robot to move according to the navigation subtask through the behavior decision node. The navigation subtask carries the task scheduling node application such as the driving path in the first aspect or any one of the embodiments of the first aspect.
[0220] Figure 15 A schematic diagram of the hardware structure of the mobile robot navigation provided in an embodiment of the present application is shown.
[0221] The mobile robot navigation device may include a processor 1501 and a memory 1502 storing computer program instructions.
[0222] Specifically, the processor 1501 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0223] Memory 1502 may include a large-capacity memory for data or instructions. By way of example and not limitation, memory 1502 may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 1502 may include removable or non-removable (or fixed) media. Where appropriate, memory 1502 may be internal or external to the integrated gateway disaster recovery device. In certain embodiments, memory 1502 is a non-volatile solid-state memory.
[0224] The memory may include read-only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical or other physical / tangible memory storage devices. Thus, generally, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.
[0225] The processor 1501 reads and executes computer program instructions stored in the memory 1502 to implement any one of the mobile robot navigation methods in the above embodiments.
[0226] In one example, the mobile robot navigation device may further include a communication interface 1503 and a bus 1510. Figure 15 As shown, the processor 1501, the memory 1502, and the communication interface 1503 are connected via a bus 1510 and communicate with each other.
[0227] The communication interface 1503 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0228] Bus 1510 includes hardware, software, or both, and couples the components of the online data traffic metering device to each other. By way of example, and not limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industrial Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industrial Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Area Network (VLB) bus, or other suitable buses, or a combination of two or more of these. Where appropriate, bus 1510 may include one or more buses. Although the embodiments of the present application describe and illustrate specific buses, the present application contemplates any suitable bus or interconnect.
[0229] The mobile robot navigation device can execute the mobile robot navigation method in the embodiment of the present application based on the obstacle ranging data, thereby realizing the combination of Figure 1 and Figure 14 A mobile robot navigation method and apparatus are described.
[0230] In addition, in conjunction with the mobile robot navigation method in the above embodiments, the present application embodiment may provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the mobile robot navigation methods in the above embodiments is implemented.
[0231] The present embodiment further provides a computer program product, including a computer program, which, when executed, implements any one of the mobile robot navigation methods in the above embodiments.
[0232] It should be understood that the present application is not limited to the specific configurations and processes described above and illustrated in the figures. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and illustrated as examples. However, the method process of the present application is not limited to the specific steps described and illustrated. Those skilled in the art can make various changes, modifications, and additions, or change the order of the steps after understanding the spirit of the present application.
[0233] The functional blocks shown in the block diagrams described above can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they may be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, and the like. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments may be stored in a machine-readable medium or transmitted via a data signal carried in a carrier wave over a transmission medium or communication link. "Machine-readable medium" may include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROMs, flash memory, erasable ROMs (EROMs), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, and the like. Code segments may be downloaded via a computer network such as the Internet or an intranet.
[0234] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps. In other words, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0235] Aspects of the present disclosure have been described above with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block in the flowcharts and / or block diagrams, as well as combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine such that execution of these instructions by the processor of the computer or other programmable data processing device enables the implementation of the functions / actions specified in one or more blocks in the flowcharts and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It should also be understood that each block in the block diagrams and / or flowcharts, as well as combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by dedicated hardware that performs the specified functions or actions, or by a combination of dedicated hardware and computer instructions.
[0236] The above description is only a specific embodiment of the present application. Those skilled in the art will clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the scope of protection of the present application.
Claims
1. A mobile robot navigation method, characterized in that: include: Obtaining real-time obstacle ranging data while the robot is traveling along a target driving path; Constructing a local distance grid map of the robot, wherein the local distance grid map includes an obstacle point set converted based on the obstacle ranging data; Determining a safe area in the local distance grid map, where a distance between the safe area and any obstacle in the obstacle point set is greater than or equal to a preset safe distance; Determining, from the safety area, safety points corresponding to local starting and ending points of the robot; Planning a local driving path based on the safety points corresponding to the local starting and ending points; Wherein, determining the safety points corresponding to the local starting and ending points of the robot includes: When the local starting and ending points are position points outside the safety area in the local distance grid map, determining the position and posture of the robot at the position point; Based on the posture, determining a forward direction or a backward direction of the robot extended at the position point; In the forward direction or the backward direction, searching for a point within the safety area and closest to the position point as the safety point corresponding to the position point; The obstacle ranging data is collected by the robot's sensor at the first moment; The constructing of the local distance grid map of the robot includes: Acquiring first positioning information of the robot at the first moment, wherein the sensor acquires the obstacle ranging data at a frequency different from the robot acquiring positioning information; Based on the first positioning information, mapping the obstacle ranging data into an obstacle point set under a global distance grid map to obtain a global distance grid map including the obstacle point set; Acquire the local distance grid map from a global distance grid map including the obstacle point set according to the first positioning information of the robot and a preset distance window; Acquire second positioning information of the robot at a second moment, where the second moment is after the first moment; acquiring the local distance grid map from a global distance grid map including the obstacle point set according to the second positioning information of the robot and a preset distance window; Mapping the obstacle ranging data into an obstacle point set in a global distance grid map based on the first positioning information includes: converting the obstacle ranging data into an obstacle point set in a robot coordinate system; and mapping the obstacle ranging data into an obstacle point set in a global distance grid map according to the obstacle point set in the robot coordinate system and first positioning information of the robot at the first moment.
2. The mobile robot navigation method according to claim 1, characterized in that: Before the robot drives along the target driving path, the method further includes: Constructing a global distance grid map corresponding to the target environment based on the location information of obstacles in the target environment, wherein each grid in the global distance grid map records the distance between the grid and the nearest obstacle; Determining a safe area in the global distance grid map based on the distance index of each grid record in the global distance grid map and a preset safe distance; Determining safety points corresponding to the global start and end points of the robot from the safety area of the global distance grid map; A target driving path is planned based on the safety points corresponding to the global starting and ending points.
3. The mobile robot navigation method according to claim 2, characterized in that: Constructing a global distance grid map corresponding to the target environment based on the location information of obstacles in the target environment, including: Constructing a global grid map for the target environment, wherein each grid in the global grid map records the obstacle occupancy information of the grid; For the grid where the obstacle is located, calculate the distance parabola corresponding to the grid. The horizontal axis of the distance parabola represents each grid in the global grid map, and the vertical axis represents the distance parameter of each grid relative to the grid where the obstacle is located. According to the distance parabola, the minimum distance parameter corresponding to each grid is used as the distance parameter between the grid and the nearest obstacle; Calculating the minimum distance parameter using a distance formula to obtain the distance between the grid and the nearest obstacle; The global distance grid map is constructed based on the global grid map and the distances between each grid and its corresponding nearest obstacle.
4. The mobile robot navigation method according to claim 2, characterized in that: Determining the safety points corresponding to the global starting and ending points of the robot from the safety area of the global distance grid map includes: Determining a position point outside the safety area among the global starting and ending points; Determining the position and posture of the robot at the position point; Based on the posture, determining a forward direction or a backward direction of the robot extended at the position point; In the forward direction or the backward direction, a point located within the safety area and closest to the position point is found as the safety point corresponding to the position point.
5. The mobile robot navigation method according to claim 2, characterized in that: The planning of the target driving path based on the safety points corresponding to the global starting and ending points includes: Searching for an initial driving path from a safe area of the global distance grid map based on a global path search algorithm; Discretize the initial driving path according to a preset sampling frequency to obtain multiple sampling points; Determine the smoothness parameter, curvature parameter and distance parameter between adjacent sampling points respectively; According to the smoothness parameter, the curvature parameter, and the distance parameter, a plurality of sampling points are processed continuously to obtain the target driving path.
6. The mobile robot navigation method according to claim 1, characterized in that: The planning of a local driving path based on the safety points corresponding to the local starting and ending points includes: Predicting a local driving path of the robot to obtain multiple predicted driving paths; Discretizing the plurality of predicted driving paths to obtain a plurality of sampling points; When it is determined that the sampling points in the predicted driving path meet the preset conditions, the predicted driving path is used as the local driving path.
7. A mobile robot navigation method, characterized in that: The method comprises: Pre-building a decision tree, wherein the decision tree includes a task scheduling node as a root node and a plurality of behavior decision nodes as child nodes; Determining the navigation behavior type of the robot in the current environment through the behavior decision node, and sending the navigation behavior type to the task scheduling node; Decomposing the global navigation task into one or more navigation subtasks based on the navigation behavior type through the task scheduling node; Determine the behavior decision node corresponding to each of the navigation subtasks through the task scheduling node, and send the navigation subtask to the corresponding behavior decision node; The robot is driven to move according to the navigation subtask through the behavior decision node, and the navigation subtask carries the driving path determined by the task scheduling node using the mobile robot navigation method according to any one of claims 1 to 6.
8. A mobile robot navigation device, characterized in that: The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the mobile robot navigation method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Environment detection method in unmanned vehicle target search system
CN108983781A
Robot dynamic obstacle avoidance method and system
CN115542887A
Autonomous navigation method and device and electronic equipment
CN115855095A