Mobile robot navigation method and equipment
By converting the obstacle distance measurement data collected by the robot in real time into a local distance grid map, the robot can realize timely and accurate local path planning, solving the problem of difficulty in real-time obstacle avoidance in the existing technology.
Patent Information
- Application Number
- CN202510422513.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-07
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2045-04-07
AI Technical Summary
When a robot moves according to the planned path, it may encounter moving obstacles, and the prior art is difficult to achieve real-time obstacle avoidance.
By converting the obstacle distance measurement data collected by the robot in real time into an obstacle point set and unifying it into a local distance grid map, the robot can plan local paths based on the local distance grid map, thereby achieving timely and accurate obstacle avoidance.
It realizes that the robot can quickly and accurately plan local driving paths when encountering moving obstacles, improving the timeliness and adaptability of navigation methods.
Smart Images

Figure CN119935155A_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 the related art, robot automation can be achieved through robot navigation. Robot navigation can refer to the process in which the robot plans a path that does not collide with obstacles after obtaining its own positioning information and surrounding obstacle information, and uses the corresponding motion control algorithm to achieve tracking control.
[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 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 according to 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, including: obtaining obstacle ranging data collected in real time while the robot is driving along a target driving path; constructing a local distance grid map of the robot, the local distance grid map including an obstacle point set obtained based on the conversion of the obstacle ranging data; determining a safe area in the local distance grid map, the distance between the safe area and any obstacle in the obstacle point set being greater than or equal to a preset safe distance; determining the safe points corresponding to the local starting and ending points of the robot from the safe area; 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 also includes: constructing 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; 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 of 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 a grid where an obstacle is located, calculating a 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 a 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 by 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 start and end 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 start and end points; determining the posture of the robot at the position point; based on the posture, determining a forward direction or a backward direction of the robot extended from the position point; in the forward direction or the 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 continuously processing 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, the obstacle ranging data is collected by the robot's sensor at a first moment; constructing the robot's local distance grid map includes: 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 according to the robot's first positioning information 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 respectively 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 sub-tasks based on the navigation behavior type through the task scheduling node; determining the behavior decision node corresponding to each navigation sub-task through the task scheduling node, and sending the navigation sub-task to the corresponding behavior decision node; through the behavior decision node, driving the robot to move according to the navigation sub-task, and the navigation sub-task carries the driving path determined by the task scheduling node applying 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: An acquisition module is used to obtain obstacle ranging data collected in real time while the robot is driving along the target driving path; A construction module is used to construct a local distance grid map of the robot, where the local distance grid map includes an obstacle point set obtained by conversion based on obstacle ranging data; A first determination module is used to determine a safe area in a 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; A second determination module is used to determine the safety points corresponding to the local starting and ending points of the robot from the safety area; The planning module is used to plan the local driving path based on the safety points corresponding to the local starting and ending points.
[0015] In a fourth aspect, an embodiment of the present application provides a mobile robot navigation device, including: A construction module, 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; A first determination module is used 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; A disassembly module is used to disassemble the global navigation task into one or more navigation subtasks based on the navigation behavior type through the task scheduling node; 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; A driving module is used to drive the robot to move according to a navigation subtask through a behavior decision node, and the navigation subtask carries a task scheduling node application such as the driving path in the first aspect or any one of the embodiments of the first aspect.
[0016] In the fifth 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.
[0017] 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.
[0018] In the seventh aspect, a computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions, 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.
[0019] In the 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 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.
[0020] The mobile robot navigation method and device of the 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 according to the local distance grid map, so that the robot can timely and accurately avoid obstacles. Further, 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. In addition, by determining the safety points corresponding to the local starting and ending points in the safety area, it is possible to ensure that the local starting and ending points at any position in the local distance grid map can realize path planning through the safety area in the local distance grid map, thereby improving the adaptability of the navigation method. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solution 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.
[0022] Figure 1 A schematic diagram of a process flow of a mobile robot navigation method provided by an embodiment of the present application is shown; Figure 2 A schematic diagram of a process flow of a mobile robot navigation method provided by an embodiment of the present application is shown; Figure 3 A schematic diagram of a process of S210 provided by an embodiment of the present application is shown; Figure 4 A schematic diagram of a global grid map provided by an embodiment of the present application is shown; Figure 5 A schematic diagram of a parabola of a global grid map provided by an embodiment of the present application is shown; Figure 6 A schematic diagram of a global distance grid map provided by an embodiment of the present application is shown; Figure 7 A schematic diagram of a process of S230 provided by an embodiment of the present application is shown; Figure 8 A schematic diagram of a security point search provided by an embodiment of the present application is shown; Fig. 9 A schematic diagram of a process of S240 provided by an embodiment of the present application is shown; Fig.10 A schematic diagram showing a flow chart of a mobile robot navigation method provided by yet another embodiment of the present application; Fig.11A schematic diagram showing a flow chart of a mobile robot navigation method provided by yet another embodiment of the present application; Fig.12 A schematic diagram of the architecture of a decision tree provided by an embodiment of the present application is shown; Fig.13 is a structural schematic diagram of a mobile robot navigation device provided by another embodiment of the present application; Fig.14 is a structural schematic diagram of a mobile robot navigation device provided by another embodiment of the present application; Fig.15 It is a structural diagram of a mobile robot navigation device provided in yet another embodiment of the present application. DETAILED DESCRIPTION
[0023] 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 only to provide a better understanding of the present application by illustrating the examples of the present application.
[0024] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0025] With the development of artificial intelligence and the advancement of Internet of Things technology, home robots are becoming more and more popular. Among them, robot navigation technology is one of the important means to ensure that home robots can realize their functions. Robot navigation technology can obtain the robot's own positioning information and surrounding obstacle information, and plan a path that does not collide with obstacles based on its own positioning information and surrounding obstacle information, and use motion control algorithms to make the robot drive along a determined path.
[0026] However, when the robot is traveling along the planned path, it may encounter moving obstacles. For example, the moving obstacle can be an obstacle that is moved to the driving path after path planning. At this time, the local path of the robot needs to be replanned to prevent the robot from hitting the moving obstacle. However, in the related art, when planning the local path of the robot, it is difficult to update the obstacle information collected by the robot to the local map of the technology in real time due to the data collection frequency of the sensors in the robot, resulting in slow obstacle avoidance or even failure of obstacle avoidance, thereby causing damage to the robot and bringing an uncomfortable experience to the user.
[0027] 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.
[0028] Figure 1 FIG. 1 is 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: S110. Acquire obstacle distance measurement data collected in real time while the robot is driving along the target driving path.
[0029] Exemplarily, the target driving path may be a driving path that the robot sets in the target environment according to obstacles in the environment. The target environment may be the working environment of the robot.
[0030] For example, the robot can collect obstacle ranging data in its surrounding environment in real time through sensors.
[0031] S120: construct a local distance grid map of the robot, where the local distance grid map includes an obstacle point set obtained by conversion based on obstacle ranging data.
[0032] Exemplarily, the distance grid map can be constructed based on the robot body coordinate system, and the obstacle information in the target environment and the obstacle information detected by the robot in real time are stored in the local coordinate system. The obstacle data detected by the robot in real time can be the obstacle point set obtained by converting the obstacle ranging data and represented in the local map.
[0033] S130: Determine a safe area in the local distance grid map.
[0034] The distance between the safety area and any obstacle in the obstacle point set is greater than or equal to a preset safety distance.
[0035] Exemplarily, the preset safety distance may be pre-set by relevant technicians according to different requirements.
[0036] 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.
[0037] S140. Determine the safety points corresponding to the local starting and ending points of the robot from the safety area.
[0038] Exemplarily, the safety points corresponding to the local starting and ending points may be determined from the safety area in the local distance grid map.
[0039] 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 extended 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.
[0040] S150: Plan a local driving path based on the safety points corresponding to the local starting and ending points.
[0041] For example, a local driving route may be planned based on the safety points corresponding to the local starting and ending points, so that the robot can bypass obstacles.
[0042] For example, when the robot is traveling along the target driving path, the robot can collect obstacle ranging data in real time, and can construct a local distance grid map of the robot based on the obstacle point set converted from the obstacle ranging data. Furthermore, the safe area in the local distance grid map can be determined; and the safe points corresponding to the local starting and ending points of the robot can be determined from the safe area; and the local driving path can be planned based on the local starting and ending points.
[0043] In an embodiment of the present application, by converting the obstacle ranging data collected by the robot in real time to obtain an obstacle point set, and unifying the obstacle point set into a local distance grid map, the robot can perform local path planning according to the local distance grid map, so that the robot can timely and accurately avoid obstacles. Further, 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 and the timeliness of the robot's path planning is improved. In addition, 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 at any position in the local distance grid map can realize path planning through the safe area in the local distance grid map, thereby improving the adaptability of the navigation method.
[0044] 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.
[0045] Figure 2 FIG. 1 is 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: S210: construct a global distance grid map corresponding to the target environment according to the position 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.
[0046] 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.
[0047] 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.
[0048] S240: Plan a target driving path based on the safety points corresponding to the global starting and ending points.
[0049] S250. Acquire obstacle distance measurement data collected in real time while the robot is driving along the target driving path.
[0050] S260: construct a local distance grid map of the robot, where the local distance grid map includes an obstacle point set obtained by conversion based on obstacle ranging data.
[0051] S270: Determine a safe area in the local distance grid map.
[0052] S280: Determine the safety points corresponding to the local starting and ending points of the robot from the safety area.
[0053] S290: Plan a local driving path based on the safety points corresponding to the local starting and ending points.
[0054] Exemplarily, steps S250-S290 are consistent with steps S110-S150 and will not be described in detail here.
[0055] In some embodiments, in step S210, a global distance grid map corresponding to the target environment may be constructed according to 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.
[0056] Exemplarily, the position information corresponding to each obstacle in the target environment can be obtained through a sensor installed in the robot, and a distance grid map can be constructed according to the obstacle information in the target environment.
[0057] In one example, the sensor installed in the robot may be a lidar, an odometer, or other sensor.
[0058] In some optional embodiments, Figure 3 FIG. 2 shows a flow chart of S210 provided by an embodiment of the present application. Figure 3 As shown, S210 includes the following steps: S211. Construct a global grid map for the target environment, wherein each grid in the global grid map records obstacle occupancy information of the grid.
[0059] For example, the robot can construct a map scene of the target environment, and construct a global grid map corresponding to the target scene through a corresponding mapping algorithm. The global grid map includes a plurality of grids arranged in rows, and each grid records the position information of obstacles in the grid.
[0060] In one example, the mapping algorithm may be a Simultaneous Localization and Mapping (SLAM) algorithm, for example, a grid mapping algorithm (Gmapping).
[0061] 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. 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 visited yet. Figure 4 The mottled area on the left can be regarded as the process of the robot exploring the area to be explored. In addition, the robot can explore the area through its onboard sensors. Obstacle 403 can be static, such as walls, furniture, etc., or dynamic, such as pedestrians, other mobile robots, etc. In the global grid map, obstacles are usually represented as occupied grids, and the robot needs to ensure that it does not enter these occupied grids during movement to avoid collisions.
[0062] 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.
[0063] For example, for each grid where an obstacle is located, a distance parabola corresponding to each grid 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 relative to the grid where the obstacle is located.
[0064] 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, namely row grids, horizontally, or dividing the global grid map into multiple columns of grids, namely column grids, vertically. Among them, the occupancy information of obstacles can be stored in each row grid and each column grid. The following is an example of a row grid and a column grid with a common grid. After determining that each grid in the column grid has an obstacle, 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 is located. Further, based on this distance parameter, a parabola corresponding to the row grid is constructed. Among them, 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 5 As 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 diagram. It can be 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.
[0065] 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.
[0066] Exemplarily, the minimum parameter in each parabola closest to the selected distance grid may be determined based on the parabola as the distance parameter between the grid and the nearest obstacle.
[0067] In one example, combining Figure 5 The distance parameter is explained, where the distance parameter corresponding to f(0) can be stored in grid point 0, the distance parameter corresponding to f(1) can be stored in grid point 1, the distance parameter corresponding to f(2) can be stored in grid point 2, and the distance parameter corresponding to f(n-1) can be stored in grid point n-1. It can be understood that the larger the distance parameter, the farther the distance between the grid and the obstacle.
[0068] S214. Calculate the minimum distance parameter using a distance formula to obtain the distance between the grid and the nearest obstacle.
[0069] Exemplarily, the minimum distance parameter may be calculated using a related distance formula to obtain the distance between the grid and the nearest obstacle.
[0070] In one example, a parabola represents the square of the distance, and the relative distance between the grid point and the obstacle in the global grid map can be calculated by the Euclidean distance formula. Furthermore, the resolution of the grid can be obtained, and the relative distance can be processed using the grid resolution, so that the distance of the grid relative to the obstacle is stored in the grid.
[0071] S215: construct a global distance grid map based on the global grid map and the distances between each grid and its corresponding nearest obstacle.
[0072] Exemplarily, the distance between each grid and its corresponding nearest obstacle may 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.
[0073] In one example, Figure 6 A schematic diagram of a global distance grid map provided by an embodiment of the present application is shown. Figure 6 As 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 value of the distance, 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 caused by the robot's exploration process.
[0074] 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.
[0075] 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.
[0076] The distance between the safety area and the storage medium is greater than or equal to the preset safety distance.
[0077] 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.
[0078] In some embodiments, in step S230, the safety points corresponding to the global start and end points of the robot can be determined from the safety area of the global distance grid map.
[0079] Exemplarily, the safety points corresponding to the local starting and ending points may be determined from the safety area in the distance grid map.
[0080] In some optional embodiments, Figure 7 FIG. 2 shows a flow chart of S230 provided by an embodiment of the present application. Figure 7 As shown, S230 includes the following steps: S231. Determine a position point outside the safety area among the global starting and ending points.
[0081] Exemplarily, the global start and end points may include a global start point and a global end point, wherein the global start 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.
[0082] Exemplarily, the location point may be a global starting point and / or a global ending point located outside the safety area.
[0083] S232. Determine the position and posture of the robot at the position point.
[0084] Exemplarily, the robot posture may include the current driving direction of the robot, that is, the driving direction of the robot at the position point may be determined.
[0085] S233. Based on the position and posture, determine the forward direction or backward direction of the robot at the position point.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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 the safety boundary 802 of the obstacle 801 is the safety area, and the position point corresponding to the robot 803 can be at position 804, wherein the arrow in the robot indicates the forward direction of the robot. The robot can be extended along the forward direction until an intersection with the safety boundary appears, and the intersection position can be used as the safety point corresponding to the robot.
[0090] In an embodiment of the present application, by determining the position and 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, thereby ensuring that the global start and end 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.
[0091] In some embodiments, in S240 , a target driving path may be planned based on safety points corresponding to the global start and end points.
[0092] Exemplarily, a global path search algorithm may be used to perform path planning on safety points corresponding to global start and end points to obtain a target driving path.
[0093] In some optional embodiments, Fig. 9 FIG. 2 shows a flow chart of S240 provided by an embodiment of the present application. Fig. 9 As shown, S240 includes the following steps: S241. Based on a global path search algorithm, an initial driving path is searched from a safe area of a global distance grid map.
[0094] 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.
[0095] Exemplarily, in the safety area in the global distance grid map, the safety point corresponding to the global starting point is used as the starting point, and the node is expanded to the safety point corresponding to the global end point to obtain multiple expansion nodes. The cost value corresponding to each expansion node is calculated. When it is determined that the cost value of the expansion node meets the preset cost condition, the expansion node is updated as the starting point, and the node is returned and expanded to the safety point corresponding to the global end point to obtain multiple expansion nodes, until the safety point corresponding to the global end point appears in the expansion node, and the initial driving path is obtained.
[0096] In one example, first determine the safe area in the global distance grid map. 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. Expand the candidate nodes from the starting point to the surrounding grids, calculate the Manhattan distance g from the expansion starting point to the expansion node, and then calculate the estimated distance h from an expansion node to the end point. For example, the estimated distance is the Manhattan distance from the expansion node to the end point. Calculate the weight f of each node, 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. Add each expansion node to a priority queue and continue to sort according to the weight f. Each iteration takes out 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.
[0097] S242: discretize the initial driving path according to a preset sampling frequency to obtain a plurality of sampling points.
[0098] Exemplarily, the preset sampling frequency may be a sampling frequency preset by relevant technicians.
[0099] Exemplarily, after the initial driving path is discretized according to a preset sampling frequency, a plurality of discretized sampling points may be obtained.
[0100] S243: respectively determine a smoothness parameter, a curvature parameter, and a distance parameter between adjacent sampling points.
[0101] Exemplarily, the smooth connection of each sampling point can be achieved by a gradient descent algorithm, wherein the smoothness parameter represents the smooth gradient, the curvature parameter represents the curvature gradient, and the distance parameter represents the distance gradient.
[0102] In one example, the smooth gradient can be determined by the smoothing term and the sampling point. For example, the smooth gradient can be expressed by the following formula (1): (1) in, represents the smoothing term, represents the i-th sampling point, represents the i+1th sampling point; the same applies to other sampling points.
[0103] Among them, the smoothing term It can be expressed by the following formula (2): (2) Where N represents the number of sampling points.
[0104] Furthermore, it can be understood that the curvature comes from the angle change rate. The angle change rate of adjacent sampling points can be expressed by the following formula (3): : (3) Among them, T represents transpose; |()| represents absolute value calculation.
[0105] Accordingly, the curvature term It can be expressed by the following formula (4): (4) Furthermore, the curvature gradient can be expressed by the following formula (5): (5) in, = ,and, The value of can be calculated by the following formula (6): (6) 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): (7) in, It can represent the coordinate value corresponding to the sampling point. Can represent infinitesimal values.
[0106] S244. Continuously process the plurality of sampling points according to the smoothness parameter, the curvature parameter, and the distance parameter to obtain a target driving path.
[0107] 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 downstream task of the robot 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): (8) in, to are different sampling points.
[0108] 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, thereby improving the user experience of the robot.
[0109] Furthermore, in the embodiment of the present application, the robot's global route is memorized and planned through the safety area in the global distance grid map, thereby ensuring that the robot runs directly along the determined safe driving path and avoids collision with obstacles in the global distance grid map. In addition, during the memorization movement, no additional local path planning process is required, avoiding time-consuming calculations and resource occupation.
[0110] 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.
[0111] Fig.10 FIG. 2 is a flow chart of a mobile robot navigation method provided by another embodiment of the present application. Fig.10 As shown, the mobile robot navigation method includes the following steps: S1010. Acquire obstacle ranging data collected in real time while the robot is driving along the target driving path.
[0112] 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.
[0113] S1020. Obtain first positioning information of the robot at a first moment.
[0114] Exemplarily, the obstacle ranging data is collected by the robot's sensor at the 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.
[0115] 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.
[0116] Exemplarily, the obstacle ranging data can be mapped to an obstacle point set under the global distance grid map according to the current positioning information of the robot, and a global distance grid map containing the obstacle point set can be obtained. That is, it can be understood that the position of the obstacle relative to the global distance grid can be determined by the first positioning information corresponding to the robot, and the obstacle can be represented in the global distance grid map by mapping the obstacle ranging data.
[0117] 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.
[0118] Exemplarily, in the global distance grid map, the first positioning information corresponding to the robot is used as the center point, and the local distance grid map is obtained from the global distance grid map according to a preset distance window.
[0119] S1050: Determine a safe area in the local distance grid map.
[0120] S1060. Determine the safety points corresponding to the local starting and ending points of the robot from the safety area.
[0121] S1070: Plan a local driving route based on the safety points corresponding to the local starting and ending points.
[0122] In the embodiment of the present application, the robot sensor can obtain the obstacle ranging data corresponding to the obstacle while obtaining the first positioning information of the robot at the first moment. And using the first positioning information, the obstacle ranging data is mapped to the obstacle point set under the global distance grid map, and the global distance grid map containing the obstacle point set is obtained, so that the relatively accurate position of the obstacle obtained can be guaranteed, thereby improving the accuracy of the local driving path.
[0123] 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 achieve synchronized processing of data is the key to ensuring the accuracy of the local distance grid map.
[0124] Exemplarily, the second positioning information of the robot at the second moment can be obtained, wherein the second moment is after the first moment, and according to the second positioning information of the robot and the preset distance window, the local distance grid map is obtained from the global distance grid map containing the obstacle point set.
[0125] Exemplarily, the robot may obtain the corresponding positioning information of the robot at a preset frequency. The preset frequency may be pre-set by a technician. For example, the frequency at which the robot obtains positioning information may be 10 Hz, that is, the positioning information of the robot is collected 10 times per second.
[0126] 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.
[0127] Exemplarily, in the global distance grid map, the second positioning information corresponding to the robot is used as the center point, and the local distance grid map is obtained from the global distance grid map according to a preset distance window.
[0128] 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 most recent obstacle point set is converted to the current coordinate system of the robot using coordinate transformation, wherein the positioning at the ranging moment can be first converted to the global distance grid map, and then converted to the robot body coordinate system, that is, the local distance grid map, according to the current robot positioning information. It can be understood that even if the sensor data is acquired slowly, the local distance grid map can be kept updated in real time.
[0129] It is understandable that in the embodiment of the present application, the obstacle location information obtained by the sensor is converted into the global distance grid map, so as to ensure that the robot can obtain an accurate local distance grid map based on the global distance grid map each time it obtains the local distance grid map, so that even if the sensor obtains the obstacle ranging data and the update frequency of the robot positioning information is inconsistent, an accurate local distance grid map can be obtained. Therefore, the embodiment of the present application can be compatible with low-frequency sensors, thereby reducing costs.
[0130] In order to realize 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.
[0131] Fig.11 FIG. 2 is a flow chart of a mobile robot navigation method provided by another embodiment of the present application. Fig.11 As shown, the mobile robot navigation method includes the following steps: S1110. Acquire obstacle ranging data collected in real time while the robot is driving along the target driving path.
[0132] S1120: construct a local distance grid map of the robot, where the local distance grid map includes an obstacle point set obtained by conversion based on obstacle ranging data.
[0133] S1130: Determine a safe area in the local distance grid map.
[0134] S1140. Determine the safety points corresponding to the local starting and ending points of the robot from the safety area.
[0135] Exemplarily, steps S1110 - S1140 are consistent with steps S110 - S140 and are not described in detail here.
[0136] S1150: Predict the local driving path of the robot to obtain multiple predicted driving paths.
[0137] Exemplarily, 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.
[0138] S1160: Discretize the multiple predicted driving paths respectively to obtain multiple sampling points.
[0139] Exemplarily, a plurality of predicted driving paths may be discretized according to a preset sampling frequency, thereby obtaining a plurality of discretized predicted driving paths, wherein each predicted driving path includes a plurality of sampling points.
[0140] S1170: 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.
[0141] Exemplarily, the preset condition may be that the number of samples located in the safe area is greater than a preset number threshold.
[0142] Exemplarily, 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. When 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.
[0143] In one example, the prediction of the driving path can be achieved through the Dynamic Window Approach (DWA). Moreover, after sampling the vehicle's driving trajectory, it can be determined whether the sampling point is within the safe area. The amount of calculation 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 amount of calculation 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 amount of calculation in the embodiment of the present application is less, which greatly reduces the calculation time, thereby enabling rapid local path planning.
[0144] 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. If it is determined that there are no obstacles, you can output a flag. If an obstacle is detected, then local path planning is performed. If there are no obstacles, you can directly run along the global path, which can further reduce time consumption.
[0145] In addition, in the embodiments of the present application, local path planning may also use a variety of planners, and the present application does not impose any restrictions on this.
[0146] In addition, a mobile robot navigation method is also provided in the implementation of the present application, 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 a plurality of behavior decision nodes as child nodes. Wherein, through the behavior decision node, the navigation behavior type of the robot in the current environment is determined, and the navigation behavior type is sent to the task scheduling node; through 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, and the navigation subtask is sent to the corresponding behavior decision node; through the behavior decision node, the robot is driven 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.
[0147] Fig.12 FIG. 1 shows a schematic diagram of the architecture of a decision tree provided by an embodiment of the present application. Fig.12 As shown, the architecture of the decision tree includes: a task scheduling node 1201 and multiple behavior decision nodes 1202. Among them, 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.
[0148] In one example, the behavior decision node can be divided according to the robot's behavior in different scenarios, such as starting point to safety point tracking behavior and smooth path tracking behavior. In addition, each behavior decision node has three states, including task start state, task progress state and task end state. The behavior decision node can pass these three states to the task scheduling module in real time for scheduling.
[0149] For example, if the robot's starting and ending points are both outside the safety area, the task scheduling node can decompose the robot's entire navigation process into: the robot's starting point to the safety point corresponding to the starting point, the robot's smooth operation between the two safety points, and the robot's operation from the safety point corresponding to the end point to the end point. After determining the above three processes in the task scheduling node, the task start flag is sent to the first behavior decision node. When the node is in the process of a task, the behavior node cannot be switched. Only after receiving the completion of 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 wait until the last behavior decision node reports the task end flag to complete the entire navigation process.
[0150] Exemplarily, each behavior decision node includes a security detection component.
[0151] 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.
[0152] 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 embodiment.
[0153] See first Fig.13 The mobile robot navigation device provided in the embodiment of the present application includes the following modules: The acquisition module 1301 is used to acquire obstacle ranging data collected in real time while the robot is traveling along the target driving path; A construction module 1302 is used to construct a local distance grid map of the robot, where the local distance grid map includes an obstacle point set obtained by conversion based on obstacle ranging data; The first determination module 1303 is used 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; The second determination module 1304 is used to determine the safety points corresponding to the local starting and ending points of the robot from the safety area; 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.
[0154] In one embodiment, before the robot travels along the target driving path, the planning module 1305 is also used to: 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; determine the safety area in the global distance grid map based on the distance index recorded in each grid in the global distance grid map and the preset safety distance; determine the safety points corresponding to the global starting and ending points of the robot from the safety area of the global distance grid map; and plan the target driving path based on the safety points corresponding to the global starting and ending points.
[0155] In one embodiment, the planning module 1305 constructs a global distance grid map corresponding to the target environment according to the location information of obstacles in the target environment in the following manner: 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; for the grid where the obstacle is located, calculate 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, use the minimum distance parameter corresponding to each grid as the distance parameter between the grid and the nearest obstacle; calculate the minimum distance parameter by the distance formula to obtain the distance between the grid and the nearest obstacle; construct a global distance grid map based on the global grid map and the distance between each grid and its corresponding nearest obstacle.
[0156] In one embodiment, the planning module 1305 determines the safety point corresponding to the global start and end 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 start and end 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 extended 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.
[0157] In one implementation, the planning module 1305 plans the target driving path based on the safety points corresponding to the global start and end points in the following manner: based on the global path search algorithm, the 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 parameters, curvature parameters and distance parameters between adjacent sampling points are determined respectively; according to the smoothness parameters, curvature parameters and distance parameters, the multiple sampling points are continuous processed to obtain the target driving path.
[0158] In one implementation, 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, and obtaining a global distance grid map containing the obstacle point set; according to the robot's first positioning information and a preset distance window, obtaining a local distance grid map from the global distance grid map containing the obstacle point set.
[0159] In one embodiment, the construction module 1302 is also used to: obtain second positioning information of the robot at a second moment, the second moment being 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.
[0160] 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 respectively 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.
[0161] The present application also provides a specific implementation method of the mobile robot navigation device. Please refer to the following embodiments.
[0162] See first Fig.14 The mobile robot navigation device provided in the embodiment of the present application includes the following modules: 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 a plurality of behavior decision nodes as child nodes; A first determination module 1402 is used 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; A decomposition module 1403 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; The second determination 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; The driving module 1405 is used to drive the robot to move according to the navigation subtask through the behavior decision node, and the navigation subtask carries the driving path in the task scheduling node application such as the first aspect or any one of the embodiments of the first aspect.
[0163] Fig.15 A schematic diagram of the hardware structure of the mobile robot navigation provided in an embodiment of the present application is shown.
[0164] The mobile robot navigation device may include a processor 1501 and a memory 1502 storing computer program instructions.
[0165] 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.
[0166] The memory 1502 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 1502 may include a hard disk drive (HDD), a floppy disk drive, a 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, the memory 1502 may include a removable or non-removable (or fixed) medium. Where appropriate, the memory 1502 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 1502 is a non-volatile solid-state memory.
[0167] 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, typically, 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.
[0168] The processor 1501 implements any one of the mobile robot navigation methods in the above embodiments by reading and executing computer program instructions stored in the memory 1502 .
[0169] In one example, the mobile robot navigation device may further include a communication interface 1503 and a bus 1510. Fig.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.
[0170] 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.
[0171] Bus 1510 includes hardware, software or both, and couples the components of online data traffic billing equipment to each other. For example, but not limitation, the bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front-side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnect (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. Where appropriate, bus 1510 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.
[0172] 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 Figure 1 and Fig.14 A mobile robot navigation method and apparatus are described.
[0173] In addition, in combination with the mobile robot navigation method in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by the processor, any one of the mobile robot navigation methods in the above embodiment is implemented.
[0174] The present embodiment also 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.
[0175] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0176] The functional blocks shown in the structural block diagram described above can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application-specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier. "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 memories, erasable ROMs (EROMs), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0177] 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, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0178] Aspects of the present disclosure are described above with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram 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 so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the functions / actions specified in one or more boxes of the flowchart and / or block diagram. 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 can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs the specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0179] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity 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 protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A mobile robot navigation method, characterized in that: include: Acquiring obstacle ranging data collected in real time while the robot is traveling along the 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; Determine a safety area in the local distance grid map, where the distance between the safety area and any obstacle in the obstacle point set is greater than or equal to a preset safety distance; Determining, from the safety area, safety points corresponding to local starting and ending points of the robot; A local driving path is planned based on the safety points corresponding to the local starting and ending points.
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: According to the location information of obstacles in the target environment, a global distance grid map corresponding to the target environment is constructed, 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; Based on the safety points corresponding to the global starting and ending points, a target driving path is planned.
3. The mobile robot navigation method according to claim 2, characterized in that: According to the location information of obstacles in the target environment, a global distance grid map corresponding to the target environment is constructed, 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 a grid where an obstacle is located, a distance parabola corresponding to the grid is 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 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 by 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 the nearest obstacle corresponding to each grid.
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: Determine a position point outside the safety area among the global starting and ending points; Determine 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: Based on a global path search algorithm, searching for an initial driving path from a safe area of the global distance grid map; Discretize the initial driving path according to a preset sampling frequency to obtain a plurality of 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 obstacle ranging data is collected by the sensor of the robot at the first moment; The constructing of the local distance grid map of the robot comprises: Acquire first positioning information of the robot at the first moment; Based on the first positioning information, the obstacle ranging data is mapped into an obstacle point set under a global distance grid map to obtain a global distance grid map including the obstacle point set; The local distance grid map is acquired 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.
7. The mobile robot navigation method according to claim 6, characterized in that: The method further comprises: Acquire second positioning information of the robot at a second moment, where the second moment is after the first moment; The local distance grid map is acquired 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.
8. 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 respectively 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.
9. A mobile robot navigation method, characterized in that: The method comprises: Pre-constructing 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; 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; By means of the task scheduling node, the global navigation task is decomposed into one or more navigation subtasks based on the navigation behavior type; 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 method described in any one of claims 1-8.
10. A mobile robot navigation device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the mobile robot navigation method as described in any one of claims 1-8 is implemented.
Citation Information
Patent Citations
ROS-based service robot and multi-target autonomous cruise method
CN108646730A
Environment detection method in unmanned vehicle target search system
CN108983781A
Automatic floor washing cleaning robot
CN110141161A
Path planning system and method for vehicle model
CN110361013A
Local path optimization method and system based on sparse banded structure
CN113296514A
Cited By
Electromagnetic map construction method and device based on large-scale channel modeling and product
CN121089713A