Robot fixed-point navigation method and device

By using topological maps for path planning and updates in unknown environments, the problems of low efficiency of fixed-point navigation of robots and insufficient environmental awareness are solved, and efficient and accurate navigation is achieved.

CN115143967BActive Publication Date: 2025-02-28INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210853088.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-20
Publication Date
2025-02-28
Estimated Expiration
2042-07-20

AI Technical Summary

Technical Problem

In the prior art, the robot fixed-point navigation method is inefficient and does not have the ability to cognize the environment in an agile manner.

Method used

Through the path planning method based on topology map, the robot obtains the environment information around the current location, determines whether there are obstacles at the next location in the path, updates the topology map and re-plans the path until the end point is reached.

Benefits of technology

It realizes efficient fixed-point navigation in unknown environments, and continuously improves the topological map through gradual environmental awareness to improve navigation efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

This specification relates to the field of robot navigation technology, and specifically discloses a robot fixed-point navigation method and device, wherein the method includes: performing path planning based on a topological map corresponding to a specified environment, the robot's starting position and the end position to obtain a planned path; in the process of controlling the robot to walk along the planned path, obtaining the surrounding environment information of the robot's current position, and determining whether there is an obstacle between the robot's current position and the next position in the planned path based on the surrounding environment information; in the case of determining that there is an obstacle between the robot's current position and the next position in the planned path, updating the topological map and controlling the robot to stop walking; repeating the above steps until the robot walks to the end position. The above scheme can perform fixed-point navigation for the robot in an unknown environment, and gradually complete the cognition of the environment during the navigation process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot navigation technology, and in particular to a robot fixed-point navigation method and device. Background Art

[0002] Although the traditional RRT algorithm can complete the path planning task of the mobile robot in an unknown indoor environment, the above algorithms all search for paths blindly and do not have the ability to learn and recognize the environment; on the other hand, the path planned by RRT is generally not optimal and does not have the ability to gradually optimize. Therefore, the efficiency of traditional path planning in unknown environments is low, and the planned routes need to be improved.

[0003] To address the above problems, no effective solution has been proposed yet. Summary of the invention

[0004] The embodiments of this specification provide a robot fixed-point navigation method and device to solve the problem that the robot fixed-point navigation method in an unknown environment in the prior art is low in efficiency and lacks the ability to gradually recognize the environment.

[0005] The embodiment of this specification provides a robot fixed-point navigation method, including:

[0006] Path planning is performed based on the topological map corresponding to the specified environment, the starting position and the end position of the robot to obtain the planned path;

[0007] In the process of controlling the robot to walk along the planned path, obtaining surrounding environment information of the current position of the robot, and determining whether there is an obstacle between the current position of the robot and the next position in the planned path based on the surrounding environment information;

[0008] When it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, updating the topological map and controlling the robot to stop walking;

[0009] Repeat the above steps until the robot reaches the end position.

[0010] In one embodiment, the initial topology map corresponding to the specified environment is obtained by:

[0011] Get the two-dimensional simulation image corresponding to the specified environment;

[0012] Extracting position data of a plurality of points in the two-dimensional simulation image to obtain a training sample set;

[0013] The training sample set is used to train a self-organizing feature mapping network to obtain a topological map corresponding to the specified environment.

[0014] In one embodiment, path planning is performed based on a topological map corresponding to a specified environment, a starting position and an end position of the robot to obtain a planned path, including:

[0015] Determine the current position of the robot as the starting position;

[0016] A heuristic search algorithm is used to perform path planning based on a topological map corresponding to a specified environment, the starting point position, and the end point position to obtain a planned path.

[0017] In one embodiment, when it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, updating the topological map includes:

[0018] When it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, the connectivity between the current position and the next position in the topological map is negatively reinforced to obtain an updated topological map.

[0019] In one embodiment, after the robot walks to the end position, the method further comprises:

[0020] Controlling the robot to return to the starting position;

[0021] Performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position;

[0022] Repeat the above steps until the preset conditions are met.

[0023] In one embodiment, after the robot walks to the end position, the method further comprises:

[0024] Determine the starting position of the robot as the end position, and determine the current position of the robot as the starting position;

[0025] Performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position;

[0026] Repeat the above steps until the preset conditions are met.

[0027] In one embodiment, after the robot walks to the end position, the method further comprises:

[0028] Determine the current position of the robot as the starting position; select a position in the topological map as the end position according to a preset rule;

[0029] Performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position;

[0030] Repeat the above steps until the preset conditions are met.

[0031] In one embodiment, the above steps are repeated until a preset condition is met, including:

[0032] Repeat the above steps until the number of repetitions reaches the preset number; or

[0033] Repeat the above steps until the topology map meets the preset requirements.

[0034] In one embodiment, after repeating the above steps until a preset condition is met, the method further includes:

[0035] Determine a topology map that meets preset requirements as a target topology map;

[0036] Path planning is performed based on the target topological map, the starting point position and the end point position to obtain a target planned path.

[0037] The embodiment of this specification also provides a robot fixed-point navigation device, including:

[0038] The planning module is used to plan the path based on the topological map corresponding to the specified environment, the starting position and the end position of the robot, and obtain the planned path;

[0039] an acquisition module, used to acquire the surrounding environment information of the current position of the robot during the process of controlling the robot to walk along the planned path, and determine whether there is an obstacle between the current position of the robot and the next position in the planned path based on the surrounding environment information;

[0040] An updating module, configured to update the topological map and control the robot to stop walking when it is determined that there is an obstacle between the current position of the robot and the next position in the planned path;

[0041] The iteration module is used to repeat the above steps until the robot walks to the end position.

[0042] An embodiment of the present specification also provides a computer device, including a processor and a memory for storing processor executable instructions, and when the processor executes the instructions, the steps of the robot fixed-point navigation method described in any of the above embodiments are implemented.

[0043] The embodiments of the present specification also provide a computer-readable storage medium having computer instructions stored thereon, and the instructions, when executed, implement the steps of the robot fixed-point navigation method described in any of the above embodiments.

[0044] In an embodiment of the present specification, a robot fixed-point navigation method is provided, which can perform path planning based on a topological map corresponding to a specified environment, a starting position and an end position of the robot, obtain a planned path, control the robot to walk along the planned path, obtain surrounding environment information of the robot's current position during walking, and determine whether there are obstacles between the current position and the next path in the planned path based on the surrounding environment information. When it is determined that there are obstacles between the current position and the next position, the topological map is updated, the robot is controlled to stop walking, the path is replanned based on the updated topological map, an updated planned path is obtained, and the robot is controlled to walk along the updated planned path, and the above steps are repeated until the robot walks to the end position, that is, an obstacle-free path to the end point is obtained. In the above scheme, the specified environment can be an unknown environment, that is, the topological map of the specified environment can contain an erroneous connection relationship, and there are obstacles between the two positions connected by the erroneous connection relationship. The path planning can be performed based on the topological map and the robot can be controlled to walk according to the planned path. During the walking process, the distance measuring sensor can be used to detect whether there is an obstacle between the current position and the next position. If there is, the topological map is updated in real time, and the path planning is performed according to the updated topological map. The execution is repeated until the robot reaches the terminal position, and an obstacle-free path to the terminal is obtained, thereby realizing fixed-point navigation in an unknown environment. During the whole process, the robot not only completes the collision-free path search task, but also learns some information in the environment. As the number of navigation times increases, the robot obtains more and more complete information about obstacles in the environment, and can gradually complete the cognition of the environment. The above scheme solves the problem of low efficiency and poor effect of the robot fixed-point navigation method in an unknown environment in the prior art, and achieves the technical effect of effectively improving navigation efficiency and navigation accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] The drawings described herein are used to provide a further understanding of this specification, constitute a part of this specification, and do not constitute a limitation of this specification. In the drawings:

[0046] Figure 1 A flowchart of a robot fixed-point navigation method in an embodiment of this specification is shown;

[0047] Figure 2 A schematic diagram of algorithm execution in the robot fixed-point navigation method in this embodiment is shown;

[0048] Figure 3 The SOM perception-response structure is shown;

[0049] Figure 4 A simulation diagram of an unknown environment in an embodiment of this specification is shown;

[0050] Figure 5 An initial topology diagram of an unknown environment in an embodiment of this specification is shown;

[0051] Figure 6 A schematic diagram of a robot fixed-point navigation device in an embodiment of this specification is shown;

[0052] Figure 7 A schematic diagram of a computer device in an embodiment of the present specification is shown. DETAILED DESCRIPTION

[0053] The principles and spirit of this specification will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are provided only to enable those skilled in the art to better understand and implement this specification, and are not intended to limit the scope of this specification in any way. On the contrary, these embodiments are provided to make this specification more thorough and complete, and to fully convey the scope of this disclosure to those skilled in the art.

[0054] Those skilled in the art will appreciate that the embodiments of this specification may be implemented as a system, device, method, or computer program product. Therefore, this specification may be implemented in the following forms: complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.

[0055] The embodiment of this specification provides a method for fixed-point navigation of a robot. The method in this embodiment can be applied to a controller set in the robot, and can also be applied to a server connected to the controller set in the robot. When the robot is in an unknown environment, the obstacle information in the unknown environment is unknown. Only the shape and size information of the unknown environment is known. The method in this embodiment can realize fixed-point navigation of the robot in an unknown environment.

[0056] In one embodiment, a two-dimensional simulation map of an unknown environment may be obtained. Position data of multiple points may be extracted from the two-dimensional simulation map to form a training sample set. Afterwards, the self-organizing feature mapping network may be trained using the training sample set to obtain an initial topological map corresponding to the unknown environment.

[0057] Path planning can be performed based on the initial topological map, the starting position and the end position of the robot to obtain a planned path. After the planned path is obtained, the robot can be controlled to walk along the planned path. During the walking process, the surrounding environment information of the current position of the robot is obtained. In one embodiment, the surrounding environment information can be distance data detected by a ranging sensor set on the robot. The ranging sensor can be set at the front end of the robot, and can measure the distance between the robot and the obstacle along the walking direction of the robot.

[0058] It is possible to determine whether there is an obstacle between the current position of the robot and the next position of the planned path based on the surrounding environment information. For example, it is possible to determine whether the distance between the sensor and the obstacle is less than the distance between the current position and the next position based on the distance data detected by the sensor. If so, it is determined that there is an obstacle. For another example, it is possible to determine whether the distance between the current position and the obstacle is less than a preset distance based on the distance data detected by the sensor. If so, it is determined that there is an obstacle.

[0059] When it is determined that there is an obstacle between the current position and the next position of the planned path, the robot can be controlled to stop walking, and the topological map can be updated to repair the erroneous connection relationship and obtain an updated topological map.

[0060] After that, the path planning can be re-performed according to the updated topological map, the starting position and the end position to obtain the updated planned path, and the robot can be controlled to walk along the updated planned path. Similarly, the surrounding environment information of the current position is obtained during the walking process to determine whether there are obstacles between the current position and the next position. Repeat the above steps until the robot walks to the end position. In this way, an obstacle-free path to the end point can be obtained, realizing the fixed-point navigation of the robot in an unknown environment.

[0061] After a navigation task is completed, some obstacle information of the unknown environment can be obtained. In one embodiment, in order to further learn the obstacle information of the unknown environment, multiple navigation tasks can be iterated. As the number of navigation times increases, the obstacle information in the environment obtained by the robot becomes more and more complete, and the recognition of the environment can be gradually completed to obtain a complete topological map. After obtaining the complete topological map, the shortest path planning algorithm can be used to plan the path based on the topological map, the starting position and the end position to obtain the final planned path.

[0062] Figure 1 A flow chart of a robot fixed-point navigation method in an embodiment of this specification is shown. Although this specification provides method operation steps or device structures as shown in the following embodiments or drawings, more or fewer operation steps or module units may be included in the method or device based on routine or no creative labor. In the steps or structures that do not logically have a necessary causal relationship, the execution order of these steps or the module structure of the device is not limited to the execution order or module structure described in the embodiments of this specification and shown in the drawings. When the method or module structure is applied to an actual device or terminal product, it can be connected according to the method or module structure shown in the embodiments or drawings for sequential execution or parallel execution (for example, a parallel processor or a multi-threaded processing environment, or even a distributed processing environment).

[0063] Specifically, Figure 1 As shown, a robot fixed-point navigation method provided in one embodiment of this specification may include the following steps:

[0064] Step S101, performing path planning based on a topological map corresponding to a specified environment, a starting position and an end position of the robot to obtain a planned path.

[0065] The method in this embodiment can be applied to a controller provided in the robot, and can also be applied to a server that is communicatively connected to the controller provided in the robot. The specified environment here may refer to an unknown environment to be navigated. When the robot is in an unknown environment, the obstacle information in the unknown environment may be completely unknown or partially unknown. For example, only the shape and size information of the unknown environment may be known. A topological map corresponding to the specified environment may be obtained. The topological map includes multiple location points, and there is a connection relationship between the multiple location points. The connection relationship may include an erroneous connection relationship. An obstacle may exist between two location points connected by an erroneous connection relationship.

[0066] The path planning can be performed based on the topological map corresponding to the specified environment, the starting position and the end position of the robot to obtain the planned path. Various path planning algorithms suitable for path planning based on the topological map can be used for path planning. The path planning algorithms here may include but are not limited to: A* algorithm and D* algorithm.

[0067] Step S102, in the process of controlling the robot to walk along the planned path, obtain the surrounding environment information of the current position of the robot, and determine whether there is an obstacle between the current position of the robot and the next position in the planned path based on the surrounding environment information.

[0068] Step S103: when it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, the topological map is updated and the robot is controlled to stop walking.

[0069] After obtaining the planned path, the robot can be controlled to walk along the planned path. In the process of the robot walking along the planned path, the surrounding environment information of the robot's current position can be obtained in real time. Afterwards, based on the surrounding environment information, it can be determined whether there are obstacles between the current position and the next position in the planned path.

[0070] In one embodiment, a distance measuring sensor is provided in the robot. The distance measuring sensor may include an ultrasonic sensor, a laser distance measuring sensor, or an infrared distance measuring sensor. The distance measuring sensor may measure the distance between the robot and an obstacle along the walking direction of the robot. For example, when the measured distance is less than the distance between the current position and the next position in the planned path, it may be determined that an obstacle exists. For another example, when the measured distance is less than a preset threshold, it may be determined that an obstacle exists.

[0071] When it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, the topological map can be updated to obtain an updated topological map, and the robot can be controlled to stop walking.

[0072] Step S104, repeat the above steps until the robot reaches the end position.

[0073] After obtaining the updated topological map, the above steps can be repeated until the robot reaches the end position. In the repetitive process, the updated topological map is used for path planning to obtain an updated planned path. After multiple iterations, an obstacle-free path to the end position can be obtained.

[0074] In the above embodiment, the designated environment may be an unknown environment, that is, the topological map of the designated environment may contain an erroneous connection relationship, and there may be obstacles between the two positions connected by the erroneous connection relationship. The path planning may be performed based on the topological map and the robot may be controlled to walk according to the planned path. During the walking process, the ranging sensor may be used to detect whether there is an obstacle between the current position and the next position. If there is an obstacle, the topological map is updated in real time, and the path planning is performed according to the updated topological map. The execution is repeated until the robot reaches the terminal position, and an obstacle-free path to the terminal is obtained, thereby realizing fixed-point navigation in an unknown environment. During the whole process, the robot not only completes the collision-free path search task, but also learns some information in the environment. As the number of navigation times increases, the robot obtains more and more complete information about obstacles in the environment, and can gradually complete the cognition of the environment.

[0075] In some embodiments of the present specification, the initial topological map corresponding to the specified environment can be obtained in the following manner: obtaining a two-dimensional simulation map corresponding to the specified environment; extracting position data of multiple points in the two-dimensional simulation map to obtain a training sample set; and using the training sample set to train a self-organizing feature mapping network to obtain a topological map corresponding to the specified environment.

[0076] Specifically, the initial topological map used for the first path planning can be pre-built. A two-dimensional simulation map corresponding to the specified environment can be obtained. The two-dimensional simulation map may include the shape and size information of the specified environment. The position data of multiple points in the two-dimensional simulation map can be extracted to obtain a training sample set. For example, the position data of a preset number of points can be evenly extracted from the two-dimensional simulation map. Among them, the preset number can be set according to the shape and size information of the specified environment and the size data of the robot. After obtaining the training sample set, the training sample set can be used to train the self-organizing feature mapping network to obtain the topological map corresponding to the specified environment. In the above manner, an initial topological map of an unknown environment can be obtained.

[0077] In some embodiments of the present specification, when it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, updating the topological map may include: when it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, negatively reinforcing the connectivity between the current position and the next position in the topological map to obtain an updated topological map.

[0078] Specifically, the topological map includes connection relationships between multiple location points. The topological map may include erroneous connection relationships. There may be obstacles between two locations connected by erroneous connection relationships. In the process of updating the topological map, the erroneous connection relationships can be repaired. In this embodiment, when there is an obstacle between the current position of the robot and the next position in the planned path, the connectivity between the current position and the next position in the topological map can be negatively reinforced to obtain an updated topological map. In the above manner, the erroneous connectivity relationships in the initial topological map can be gradually modified by changing the negative feedback connection weights between the position cells, thereby achieving gradual cognition of the environment.

[0079] In some embodiments of the present specification, path planning is performed based on a topological map corresponding to a specified environment, a starting position and an end position of a robot to obtain a planned path, which may include: determining the current position of the robot as the starting position; using a heuristic search algorithm to perform path planning based on a topological map corresponding to the specified environment, the starting position and the end position to obtain a planned path.

[0080] Specifically, after detecting that there is an obstacle between the current position and the next position of the planned path and updating the topological map, the current position can be determined as the new starting position. After that, a heuristic search algorithm can be used to perform path planning based on the topological map, starting position and end position corresponding to the specified environment to obtain a new planned path. During the walking process of the robot, after encountering an obstacle, the robot stops walking, updates the topological map, takes the current position as the starting point, and replans the path according to the updated topological map until the robot walks to the end position. In this embodiment, a gradual cognition of the environment can be achieved, giving the robot basic cognitive ability of the environment.

[0081] In order to improve the topological map, multiple navigations can be performed. As the number of navigations increases, the robot obtains more and more complete information about obstacles in the environment, and can gradually complete the recognition of the environment. In some embodiments of this specification, after the robot walks to the end position, it can also include: controlling the robot to return to the starting position; performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position; repeating the above steps until the preset conditions are met.

[0082] Specifically, the robot can be controlled to return to the starting point along the route just navigated. After that, the path can be planned based on the topological map, the starting point and the end point until the robot reaches the end point. Navigation is repeated multiple times until the preset conditions are met. In this way, the map can be gradually improved to achieve cognition of the environment.

[0083] In other embodiments of the present specification, after the robot walks to the end position, the method may further include: determining the starting position of the robot as the end position, and determining the current position of the robot as the starting position; performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position; and repeating the above steps until the preset conditions are met. In this embodiment, the robot can go back and forth between the starting point and the end point, perform multiple navigations, and gradually improve the map to achieve recognition of the environment.

[0084] In other embodiments of the present specification, after the robot walks to the terminal position, it also includes: determining the current position of the robot as the starting position; selecting a position in the topological map as the terminal position according to a preset rule; performing path planning based on the topological map, the starting position and the terminal position until the robot walks to the terminal position; repeating the above steps until the preset conditions are met. Among them, the preset rules can be set according to actual needs. For example, the terminal position can be randomly selected. For another example, the terminal position can be evenly selected in various areas of an unknown environment. In this embodiment, the robot can select multiple starting points and end points in an unknown environment for navigation, so as to have a more comprehensive understanding of the unknown environment, improve the accuracy of the topological map, and thus improve the efficiency of navigation.

[0085] In some embodiments of the present specification, repeating the above steps until a preset condition is met may include: repeating the above steps until the number of repetitions reaches a preset number; or repeating the above steps until the topology map meets a preset requirement.

[0086] A complete topological map can be obtained after multiple navigations. In one embodiment, a relatively complete topological map can be obtained after the number of repetitions reaches a preset number of times. The preset number of times can be set according to actual needs. For example, the preset number of times can be 50 times, 60 times, or 80 times, etc. In another embodiment, navigation can be stopped after the topological map meets the preset requirements. For example, when the topological map no longer changes after multiple navigations, it is determined that the preset conditions are met. In the above manner, a relatively complete topological map can be obtained.

[0087] In some embodiments of the present specification, after repeating the above steps until the preset conditions are met, it may also include: determining the topological map that meets the preset requirements as the target topological map; performing path planning based on the target topological map, the starting point location and the end point location to obtain the target planned path.

[0088] After obtaining a relatively complete topological map, navigation can be performed again to obtain an optimal barrier-free path from the starting point to the end point. Specifically, a topological map that meets the preset requirements can be determined as a target topological map. Path planning can be performed based on the target topological map, the starting point location, and the end point location to obtain a target planned path. In the above manner, an optimal barrier-free path from the starting point to the end point can be obtained.

[0089] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. For details, please refer to the description of the above-mentioned related processing related embodiments, and no further description is given here.

[0090] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0091] The above method is described below in conjunction with a specific embodiment. However, it should be noted that the specific embodiment is only for better illustrating the present specification and does not constitute an improper limitation on the present specification.

[0092] The embodiment of this specification proposes a robot fixed-point navigation method, which is an iterative path planning algorithm with a progressive cognitive mechanism, which overcomes the shortcomings of traditional algorithms that do not have the ability to recognize the environment and do not have the ability to find the best in the path planning process. The idea of ​​this algorithm is that when the robot arrives in an unfamiliar environment, there is no prior information about the environment, so it is assumed that any point in the environment can be reached. After the target point (i.e., the end point) is given, the robot plans the path based on heuristic information. During the movement of the robot along the planned path, the robot stops moving when it senses that the obstacle is within the collision threshold range through the ranging sensor. First, the information of the obstacle is recorded, and then the plan is performed again based on the heuristic information at the current point. The above process is performed alternately until the robot successfully reaches the target point. In the whole process, the robot not only completes the collision-free path search task, but also learns some information in the environment. As the number of navigation times increases, the robot obtains more and more complete information about obstacles in the environment, and can gradually complete the cognition of the environment.

[0093] Figure 2 FIG. 1 shows a schematic diagram of the algorithm execution in the robot fixed-point navigation method in this embodiment. The algorithm is based on the iterative execution of two basic processes: map update and navigation. Figure 2 As shown. In the map update phase, the robot collects obstacle distance information through external sensors and processes it to modify the incorrect connection relationship in the current map and update the map. In the navigation phase, the path from the robot's current position to the target point is generated in the current map based on the iterative A* algorithm. The robot stops moving when it encounters an obstacle along the planned path. The algorithm uses a self-organizing feature mapping network to effectively construct and update the environment topology map to give the robot basic environmental cognition ability, and the use of the iterative A* algorithm completes the robot's navigation phase (this is a complete path planning algorithm that makes full use of local information).

[0094] In this embodiment, the basic process of iterative A* algorithm includes the following steps:

[0095] Step 1: Load the current environment cognitive topology map, and the place cells in the map are candidate nodes.

[0096] Step 2: Input the robot's starting position coordinates S and the target point position coordinates T. Initially, the open list and close list are set to empty. Select the position cell node v closest to S in the current topological map. s The image coordinates w s As the starting state, v s The place cell is put into the open list, and the place cell node v closest to T g The image coordinates w g is the target state; the evaluation function is:

[0097] f(w n )=g(w n )+Euler(w n ,w next )+Manhat(w next ,w goal );

[0098] Among them, f(w n ) is the evaluation function, w n is the image coordinate of the current state of the current node, w next is the image coordinate of the next node of the current node, w goal is the image coordinate of the target node, g(w n ) is the distance estimate of the path that has been traveled from the initial state node to the current state node; Euler (w n ,w next ) is the Euclidean distance estimate between the current node and the adjacent nodes in the current local area; Manhat(w n ,w next ) is the Manhattan distance estimate from the node in the neighborhood node set in the current local area to the target point.

[0099] Step 3: Determine whether the open list table is empty. If so, end; otherwise, proceed to the next step.

[0100] Step 4: Take the node with the smallest f value from the open list and put it in the close list with node number n.

[0101] Step 5: Determine the current node w n The evaluation function f(w j ) is an estimated value.

[0102] Step 6: Determine whether the child node already exists in the open list table and the close list table. If it does, first select the smallest estimated value to update the estimated value in the original table, and then set v n is the parent node of vj. If not, first put v j Put it in the open list.

[0103] Step 7: Repeat steps 5 to 6 until w n =w goa l, w n Insert the node into the close list table; sort the nodes in the close list table according to the f value, start from the end point, move along the direction of the parent node until the start node, and this path is the path S planned in the path planning stage of the navigation stage.

[0104] Step 8: The robot moves along the path S. During the movement process, the robot detects the current position node v through the ranging sensor every time it reaches a position cell node current and the next position node v next Is there an obstacle in the space? If not, continue to move along the planned path until v current =v goa l, then this navigation task is successful. If it exists, stop the movement immediately and enter the map update phase. After the map update is completed, re-execute steps 1 to 8.

[0105] The self-organizing neural network adopted in this embodiment is an unsupervised learning method, similar to the neural network of the human cerebral cortex, and its most unique function is to automatically find the essential change law in the sample and automatically change the connection structure and connection parameters in the network. The most representative of the self-organizing neural network is the SOM diagram (Self-Organizing Feature Map, self-organizing feature map) proposed by Kohone. The SOM diagram is a topological feature mapping relationship diagram that reflects the topological relationship of biological nerve cells.

[0106] Please refer to Figure 3 , shows the SOM perception-response structure. The SOM structure can be divided into an input domain (perception layer) and an output domain (response layer). Figure 3 As shown, the perception layer receives and transmits the input of n-dimensional vectors, and the response layer can be figuratively understood as the cerebral cortex. When there is new sample knowledge stimulation, the neurons in the response layer will generate winning units under the input stimulation and perform clustering operations. The response layer is generally a one-dimensional and two-dimensional structure, and a two-dimensional topological form is used in this embodiment.

[0107] The self-organizing feature map is used to construct the initial environment topology map to express the environmental space image in the robot's brain. Figure 4is a simulation diagram. When the robot first arrives at the environment, it has no prior knowledge of the environment and assumes that all locations in the environment are reachable. Therefore, a set of sample points can be obtained by uniformly extracting location points in the two-dimensional simulation environment. The collected sample set is used to train the self-organizing feature mapping network to obtain an initial topological diagram with incorrect connection relationships, such as Figure 5 As shown in . A wrong connection refers to a line segment that connects from the outside of the obstacle to the inside of the obstacle, such as Figure 5 The connection is circled by the oval.

[0108] based on Figure 5 The algorithm scheme of this patent is based on the alternating execution of two basic processes (map updating and navigation), which are executed alternately during the execution of the navigation task (such as Figure 2 shown).

[0109] Based on the current cognitive topology map and the robot's current position and target point, the robot's motion path from the starting point to the target point is generated based on the A* algorithm. It includes the following specific stages:

[0110] Path planning: The path planning module based on the A* algorithm finds the path from the robot's current position to the target on the current topological map. Before the robot fully understands the environment, this path may pass through obstacles, but at the initial moment the robot believes that this path is safe and the robot will move along the path.

[0111] Movement: The robot moves along the planned path until the sensor detects that an obstacle appears between the current position cell and the next position cell. This phase terminates and the map update phase begins.

[0112] Map update (repair of incorrect connection relationships): During the robot's movement, the robot collects information about the surrounding environment of its current position in real time through the ranging sensor, and updates the incorrect feedback connection weights between position cells on the current path based on the obstacle distance information. The specific steps are as follows:

[0113] Perception: The robot's ranging sensor scans the surrounding environment at a certain time frequency and collects information about the distance of obstacles around the robot's current position.

[0114] Update: Process the sensor information to determine whether there is an obstacle between the current position cell and the next position cell on the path. If not, the connectivity between the position cells remains unchanged. If there is an obstacle, the connectivity between the position cells is negatively reinforced. After the update process, a new navigation process will be executed.

[0115] After the map is updated, the latest topological map is loaded and the navigation phase is re-entered (the starting and ending positions of different navigation phases can be set randomly). The two processes are continuously and iteratively executed until the robot finds an obstacle-free path to the target point and the navigation task is completed.

[0116] After the navigation task is completed, whether to perform the above iterations multiple times until the topology map no longer changes

[0117] It takes multiple navigation missions to complete the map. After a navigation mission is completed, some incorrect connections will be fixed. As the number of navigations to different target points increases, the area will become more and more complete. As the map continues to improve, the time spent on each navigation mission will gradually decrease.

[0118] According to the method in the above embodiment, the robot can complete the fixed-point navigation task in an unknown environment without prior knowledge of the environment only based on the information of the onboard ranging sensor through the algorithm. The process is a dynamic planning process, and the algorithm is a complete path planning algorithm that makes full use of local information. In the process of the robot completing the navigation task, the algorithm will gradually modify the erroneous connectivity relationship in the initial topological map by changing the negative feedback connection weights between position cells, thereby realizing gradual cognition of the environment and giving the robot basic cognitive ability of the environment. In the process of gradual cognition of the environment, the cognitive topological map is gradually improved, the cost of the robot to complete the navigation task will gradually decrease, the number of iterative planning times of the algorithm is continuously reduced, and after the map is improved (the map obtained by multiple navigation tasks no longer changes, and there is no erroneous connection relationship in the map), only one planning is required to find the barrier-free optimal path from the initial point to the target point, and the planned path will be gradually optimized with the increase of the number of navigation times, and has the ability of progressive optimization.

[0119] The method in this embodiment can be used for fixed-point navigation tasks of robots in unknown environments and can enable the robot to gradually learn environmental information during the execution of navigation tasks like animals, establish an environmental cognitive topology map, and as the number of navigation times increases, the planned path will gradually tend to the optimal one, thereby improving the intelligence of the service robot in the path planning process.

[0120] Based on the same inventive concept, a robot fixed-point navigation device is also provided in the embodiments of this specification, as described in the following embodiments. Since the principle of solving the problem by the robot fixed-point navigation device is similar to that of the robot fixed-point navigation method, the implementation of the robot fixed-point navigation device can refer to the implementation of the robot fixed-point navigation method, and the repeated parts will not be repeated. As used below, the term "unit" or "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived. Figure 6is a structural block diagram of a robot fixed-point navigation device according to an embodiment of this specification, such as Figure 6 As shown, it includes: a planning module 601, an acquisition module 602, an update module 603 and an iteration module 604. The structure is described below.

[0121] The planning module 601 is used to perform path planning based on the topological map corresponding to the specified environment, the starting position and the end position of the robot to obtain a planned path.

[0122] The acquisition module 602 is used to acquire the surrounding environment information of the current position of the robot while controlling the robot to walk along the planned path, and determine whether there is an obstacle between the current position of the robot and the next position in the planned path based on the surrounding environment information.

[0123] The updating module 603 is used to update the topological map and control the robot to stop walking when it is determined that there is an obstacle between the current position of the robot and the next position in the planned path.

[0124] The iteration module 604 is used to repeat the above steps until the robot walks to the end position.

[0125] In some embodiments of the present specification, the initial topological map corresponding to the specified environment is obtained in the following manner: obtaining a two-dimensional simulation map corresponding to the specified environment; extracting position data of multiple points in the two-dimensional simulation map to obtain a training sample set; and using the training sample set to train a self-organizing feature mapping network to obtain a topological map corresponding to the specified environment.

[0126] In some embodiments of the present specification, the planning module can be specifically used to: determine the current position of the robot as the starting position; use a heuristic search algorithm to perform path planning based on the topological map corresponding to the specified environment, the starting position and the end position to obtain a planned path.

[0127] In some embodiments of the present specification, the update module can be specifically used to: when it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, negatively reinforce the connectivity between the current position and the next position in the topological map to obtain an updated topological map.

[0128] In some embodiments of the present specification, the iteration module can also be specifically used to: control the robot to return to the starting position after the robot walks to the end position; perform path planning based on the topological map, the starting position and the end position until the robot walks to the end position; repeat the above steps until the preset conditions are met.

[0129] In some embodiments of the present specification, the iteration module can also be specifically used for: after the robot walks to the end position, determining the starting position of the robot as the end position, and determining the current position of the robot as the starting position; performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position; repeating the above steps until the preset conditions are met.

[0130] In some embodiments of the present specification, the iteration module can also be specifically used for: after the robot walks to the end position, determining the current position of the robot as the starting position; selecting a position in the topological map as the end position according to preset rules; performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position; repeating the above steps until the preset conditions are met.

[0131] In some embodiments of the present specification, repeating the above steps until a preset condition is met includes: repeating the above steps until the number of repetitions reaches a preset number of times; or repeating the above steps until the topology map meets preset requirements.

[0132] In some embodiments of the present specification, the planning module can also be used to: after repeating the above steps until the preset conditions are met, determine the topological map that meets the preset requirements as the target topological map; perform path planning based on the target topological map, the starting point position and the end point position to obtain the target planned path.

[0133] From the above description, it can be seen that the embodiments of this specification achieve the following technical effects: the specified environment can be an unknown environment, that is, the topological map of the specified environment can contain an erroneous connection relationship, and there are obstacles between the two positions connected by the erroneous connection relationship. The path planning can be performed based on the topological map and the robot can be controlled to walk according to the planned path. During the walking process, the distance measuring sensor can be used to detect whether there is an obstacle between the current position and the next position. If there is, the topological map is updated in real time, and the path planning is performed according to the updated topological map. The execution is repeated until the robot reaches the terminal position, and an obstacle-free path to the terminal is obtained, thereby realizing fixed-point navigation in an unknown environment. During the whole process, the robot not only completes the collision-free path search task, but also learns some information in the environment. As the number of navigation times increases, the robot obtains more and more complete information about obstacles in the environment, and can gradually complete the cognition of the environment.

[0134] This specification also provides a computer device, which can be found in Figure 7The computer device structure diagram of the robot fixed-point navigation method provided by the embodiment of this specification is shown, and the computer device may specifically include an input device 71, a processor 72, and a memory 73. Among them, the memory 73 is used to store processor executable instructions. When the processor 72 executes the instructions, the steps of the robot fixed-point navigation method described in any of the above embodiments are implemented.

[0135] In this embodiment, the input device may specifically be one of the main devices for information exchange between the user and the computer system. The input device may include a keyboard, a mouse, a camera, a scanner, a light pen, a handwriting input board, a voice input device, etc.; the input device is used to input the original data and the program for processing these numbers into the computer. The input device can also obtain and receive data transmitted from other modules, units, and devices. The processor can be implemented in any appropriate manner. For example, the processor can take the form of a computer-readable medium, a logic gate, a switch, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a programmable logic controller, and an embedded microcontroller, etc., such as a microprocessor or a processor and a computer-readable program code (such as software or firmware) that can be executed by the (micro) processor. The memory may specifically be a memory device used to store information in modern information technology. The memory may include multiple levels. In a digital system, anything that can store binary data can be a memory; in an integrated circuit, a circuit with a storage function without a physical form is also called a memory, such as a RAM, a FIFO, etc.; in a system, a storage device with a physical form is also called a memory, such as a memory stick, a TF card, etc.

[0136] In this embodiment, the functions and effects specifically realized by the computer device can be explained in comparison with other embodiments and will not be described in detail here.

[0137] A computer storage medium based on a robot fixed-point navigation method is also provided in an embodiment of the present specification, wherein the computer storage medium stores computer program instructions, and when the computer program instructions are executed, the steps of the robot fixed-point navigation method described in any of the above embodiments are implemented.

[0138] In this embodiment, the storage medium includes, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a cache, a hard disk (HDD) or a memory card. The memory may be used to store computer program instructions. The network communication unit may be an interface for network connection communication set in accordance with the standard specified by the communication protocol.

[0139] In this embodiment, the functions and effects specifically implemented by the program instructions stored in the computer storage medium can be explained in comparison with other embodiments and will not be repeated here.

[0140] Obviously, those skilled in the art should understand that the modules or steps of the above-mentioned embodiments of this specification can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, and optionally, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the embodiments of this specification are not limited to any specific combination of hardware and software.

[0141] It should be understood that the above description is for illustration and not for limitation. Many embodiments and many applications beyond the examples provided will be apparent to those skilled in the art upon reading the above description. Therefore, the scope of this specification should not be determined with reference to the above description, but should be determined with reference to the preceding claims and the full scope of equivalents to which these claims belong.

[0142] The above description is only the preferred embodiment of this specification and is not intended to limit this specification. For those skilled in the art, the embodiments of this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification shall be included in the protection scope of this specification.

Claims

1. A robot fixed-point navigation method, characterized in that: include: Path planning is performed based on a topological map corresponding to a specified environment, a starting position and an end position of the robot to obtain a planned path; wherein the specified environment refers to an unknown environment to be navigated; obstacle information in the unknown environment is completely unknown or partially unknown; and shape and size information of the unknown environment is known; In the process of controlling the robot to walk along the planned path, obtaining surrounding environment information of the current position of the robot, and determining whether there is an obstacle between the current position of the robot and the next position in the planned path based on the surrounding environment information; When it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, updating the topological map and controlling the robot to stop walking; Repeat the above steps until the robot reaches the end position; After the robot walks to the end position, the current position of the robot is determined as the starting position; a position is selected in the topological map according to a preset rule as the end position; Performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position; Repeating the above steps until a preset condition is met includes: repeating the above steps until the topology map meets the preset requirements; Determine a topology map that meets preset requirements as a target topology map; Perform path planning based on the target topology map, the starting point location and the end point location to obtain a target planned path; The topological map corresponding to the specified environment is obtained in the following manner: Get the two-dimensional simulation image corresponding to the specified environment; Extracting position data of a plurality of points in the two-dimensional simulation image to obtain a training sample set; Using the training sample set to train a self-organizing feature mapping network to obtain a topological map corresponding to the specified environment; The path planning is performed based on the topological map corresponding to the specified environment, the starting position and the end position of the robot to obtain the planned path, including: Determine the current position of the robot as the starting position; Using a heuristic search algorithm, a path is planned based on a topological map corresponding to a specified environment, the starting point position, and the end point position to obtain a planned path; Wherein, in the case of determining that there is an obstacle between the current position of the robot and the next position in the planned path, updating the topological map includes: When it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, the connectivity between the current position and the next position in the topological map is negatively reinforced to obtain an updated topological map.

2. The robot fixed-point navigation method according to claim 1, characterized in that: After the robot walks to the end position, the method further includes: Controlling the robot to return to the starting position; Performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position; Repeat the above steps until the preset conditions are met.

3. The robot fixed-point navigation method according to claim 1, characterized in that: After the robot walks to the end position, the method further includes: Determine the starting position of the robot as the end position, and determine the current position of the robot as the starting position; Performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position; Repeat the above steps until the preset conditions are met.

4. The robot fixed-point navigation method according to any one of claims 1 to 3, characterized in that: Repeat the above steps until the preset conditions are met, including: Repeat the above steps until the number of repetitions reaches the preset number.

5. A robot fixed-point navigation device, characterized in that: include: A planning module, used to perform path planning based on a topological map corresponding to a specified environment, a starting position and an end position of the robot, to obtain a planned path; wherein the specified environment refers to an unknown environment to be navigated; obstacle information in the unknown environment is completely unknown or partially unknown; and shape and size information of the unknown environment is known; an acquisition module, used to acquire the surrounding environment information of the current position of the robot during the process of controlling the robot to walk along the planned path, and determine whether there is an obstacle between the current position of the robot and the next position in the planned path based on the surrounding environment information; An updating module, configured to update the topological map and control the robot to stop walking when it is determined that there is an obstacle between the current position of the robot and the next position in the planned path; An iteration module, used for repeating the above steps until the robot walks to the end position; The iteration module is also specifically used for: After the robot walks to the end position, the current position of the robot is determined as the starting position; a position is selected in the topological map according to a preset rule as the end position; Performing path planning based on the topological map, the starting position and the end position until the robot walks to the end position; Repeating the above steps until a preset condition is met includes: repeating the above steps until the topology map meets the preset requirements; The planning module is also used to: After repeating the above steps until the preset conditions are met, the topological map that meets the preset requirements is determined as the target topological map; Perform path planning based on the target topology map, the starting point location and the end point location to obtain a target planned path; The topological map corresponding to the specified environment is obtained in the following manner: Get the two-dimensional simulation image corresponding to the specified environment; Extracting position data of a plurality of points in the two-dimensional simulation image to obtain a training sample set; Using the training sample set to train a self-organizing feature mapping network to obtain a topological map corresponding to the specified environment; Wherein, the planning module is specifically used for: Determine the current position of the robot as the starting position; Using a heuristic search algorithm, a path is planned based on a topological map corresponding to a specified environment, the starting point position, and the end point position to obtain a planned path; Wherein, the update module is specifically used for: When it is determined that there is an obstacle between the current position of the robot and the next position in the planned path, the connectivity between the current position and the next position in the topological map is negatively reinforced to obtain an updated topological map.

6. A computer device, characterized in that: The invention comprises a processor and a memory for storing processor-executable instructions, wherein the processor implements the steps of the method according to any one of claims 1 to 4 when executing the instructions.

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

Citation Information

Patent Citations

  • Construction method of environmental topological map

    CN106643721A

  • Navigation method and corresponding robot thereof

    CN109737980A