Exploration method of robot in unknown space and robot
By using sensors in unknown space to generate raster maps and input prediction models to output target points, the robot achieves efficient and flexible exploration in unknown space, solving the problem of inefficient existing random exploration, ensuring exploration efficiency and adaptability .
Patent Information
- Application Number
- CN202411250571.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-06
- Publication Date
- 2024-12-13
AI Technical Summary
Existing robots adopt random exploration methods when exploring space, resulting in inefficiency and lack of clear exploration target points.
Generate a raster map by using sensors to collect environmental data in unknown spaces and input it into a preset prediction model to output the target points that need to be explored, generate a path to go to the target points, update the map in real time during the process, and loop until the space exploration is completed .
It improves the efficiency of robot exploration, ensures the value of exploration goals, and has good adaptability and scalability to adapt to different environments and task needs.
Smart Images

Figure CN119126801A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of space exploration technology, and in particular to a method for a robot to explore an unknown space and the robot. Background Art
[0002] With the continuous development of science and technology, various types of automated operation robots have emerged one after another. These robots can replace traditional manual operations in many fields, making people's work and life more convenient. Generally speaking, before the robot performs automated operations, it must first explore the environment in which it is located, so as to plan the operation path and improve the efficiency and effectiveness of the operation.
[0003] However, existing robots often adopt a random exploration method when exploring space, that is, the robot does not have a clear exploration target point, and the robot completes the exploration of the space by traversing the entire space, which leads to its very low exploration efficiency.
[0004] Based on this, it is necessary to propose a solution to solve the problems existing in the above-mentioned prior art. Summary of the invention
[0005] In order to overcome the above-mentioned defects of the prior art, the present invention provides a method for a robot to explore an unknown space and a robot.
[0006] The specific technical solutions are as follows:
[0007] A first aspect of the present invention provides a method for a robot to explore an unknown space, the method comprising:
[0008] Using sensors in an unknown space to collect surrounding environmental data, and generating a grid map based on the collected environmental data;
[0009] Inputting the grid map into a preset prediction model to output target points that need to be explored;
[0010] Generate a path to the target point, and go to the target point along the path; in the process of going to the target point, use the sensor to collect surrounding environmental data in real time, and update the grid map in real time based on the collected environmental data;
[0011] According to the preset rules, it is determined whether the unknown space has been explored. If not, the updated grid map is input into the prediction model again to output the new target point that needs to be explored, and the environmental data is collected in the process of going to the new target point to update the grid map again. This cycle is repeated until the unknown space is explored.
[0012] In a specific embodiment, the method further comprises:
[0013] In the process of going to the target point, the real-time updated grid map is input into the prediction model to update the target point; a new path to the new target point is generated, and the vehicle moves along the new path.
[0014] In a specific embodiment, the “preset rules” include:
[0015] Determine whether the update frequency of the target point is lower than the set threshold. If it is lower than the set threshold, the exploration is completed.
[0016] In a specific embodiment, the prediction model includes a convolutional neural network model, and the convolutional neural network model is obtained by:
[0017] Use sensors to collect multiple sets of environmental data, and generate multiple grid maps based on the multiple sets of environmental data; mark the target points in the multiple grid maps according to preset marking rules; divide the multiple marked grid maps into a training set and a verification set, use the training set to train the convolutional neural network model, and use the verification set to verify the convolutional neural network model.
[0018] In a specific embodiment, the multiple sets of environmental data are collected under multiple different environments.
[0019] In a specific embodiment, the “preset marking rules” include:
[0020] The midpoints of the unexplored, non-obstacle, and largest explorable segments on the edge of the grid map are marked.
[0021] In a specific embodiment, when the convolutional neural network model is trained using the training set, a loss function of the convolutional neural network model is calculated, and model parameters are adjusted by an optimization algorithm to minimize the loss function;
[0022] The loss function formula includes:
[0023] Where N is the total number of samples in the training set, (x i ,y i ) is the model's predicted coordinates of the target point output for the i-th sample, (x′ i ,y′ i ) is the true coordinate of the i-th sample target point.
[0024] In a specific embodiment, the “generating a grid map based on the collected environmental data” specifically includes: generating a grid map through an EKF-SLAM algorithm based on the collected environmental data, and obtaining its own position information;
[0025] The “generating a path to the target point” specifically includes: inputting the posture information and the target point position information into a path planning algorithm, thereby generating a path to the target point.
[0026] In a specific embodiment, the path planning algorithm includes an A* algorithm, and / or the sensor includes a lidar or a camera.
[0027] A second aspect of the present invention provides a robot, comprising a robot body and a map generation module, a target output module, a path generation module and a judgment module integrated in the robot body;
[0028] The map generation module is used to collect surrounding environmental data in the unknown space using sensors, and generate a grid map based on the collected environmental data;
[0029] The target output module is used to input the grid map into a preset prediction model to output target points that need to be explored;
[0030] The path generation module is used to generate a path to reach the target point, so that the robot body moves to the target point along the path;
[0031] The map generation module is also used to use the sensor to collect surrounding environmental data in real time during the process of going to the target point, and update the grid map in real time based on the collected environmental data;
[0032] The judgment module is used to judge whether the unknown space has been explored according to preset rules; the target output module is used to input the updated grid map into the prediction model again when the judgment result is that the exploration has not been completed, so as to output a new target point that needs to be explored, so that the robot body can go to the new target point, and the map generation module can collect environmental data in the process of the robot body going to the new target point, so as to update the grid map again.
[0033] The present invention has at least the following beneficial effects:
[0034] The present invention provides a method and robot for exploring an unknown space by a robot, wherein the method mainly inputs a grid map into a prediction model, so that the prediction model outputs a target point to be explored, the robot goes to the target point and explores the surrounding area and updates the grid map in the process of going there, and the robot inputs the updated grid map into the prediction model again, thereby continuously obtaining new target points and going to the new target points for exploration, so as to finally realize a comprehensive exploration of the unknown space. Compared with the existing random exploration robot exploration method, the method outputs the target point through the prediction model, which ensures the exploration value of the target point, so that the robot's exploration has a clear goal, thereby greatly improving the efficiency of the exploration. In addition, since the method outputs the target point through the prediction model, it has good adaptability and scalability. During use, the model can be continuously trained and adjusted to adapt to different environments and task requirements.
[0035] The robot provided by the present invention can execute the exploration method proposed by the present invention based on the settings of the map generation module, the target output module, the path generation module and the judgment module, thereby realizing efficient and flexible exploration in unknown space and having good practicality. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0037] Figure 1 A schematic diagram of a flow chart of a method for exploring an unknown space by a robot provided by the present invention;
[0038] Figure 2 is an example diagram of a grid map of the present invention;
[0039] Figure 3 This is a schematic diagram of the overall structure of the robot provided by the present invention.
[0040] Reference numerals:
[0041] 1-Robot body; 2-Map generation module; 3-Target output module; 4-Path generation module; 5-Judgment module. DETAILED DESCRIPTION
[0042] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0043] The present invention provides a method for a robot to explore an unknown space. Figure 1 , the method specifically comprises the following steps:
[0044] S1: Use sensors in an unknown space to collect surrounding environmental data, and generate a grid map based on the collected environmental data.
[0045] S2: Input the current grid map into the preset prediction model, and the prediction model outputs the target points that need to be explored.
[0046] S3: Generate a path to the target point and go to the target point along the path; in the process of going to the target point, use sensors to collect surrounding environmental data in real time, and update the grid map in real time based on the collected environmental data.
[0047] S4: Determine whether the unknown space has been explored according to preset rules. If not, return to step S2, that is, input the updated grid map into the prediction model again to output the new target point that needs to be explored, and collect environmental data in the process of going to the new target point to update the grid map again. Repeat this cycle until the unknown space is explored.
[0048] In this embodiment, optionally, the sensors used by the robot may include a lidar or a camera.
[0049] The following takes the use of a laser radar by a robot as an example to introduce the overall process of this method. Specifically, the laser radar can emit a laser beam to the surrounding area and receive the laser beam reflected from the surrounding objects. The distance between the object and the laser radar is calculated by measuring the round-trip time of the laser beam. Combined with the scanning angle and rotation speed of the laser radar, the specific position of the surrounding objects in space can be determined. In step S1, the robot obtains the surrounding environmental data through the laser radar. The environmental data environment contains information such as the position, shape, and distance of the surrounding objects. This information is the basis for constructing a grid map and locating the robot.
[0050] Furthermore, based on the acquired environmental data, the robot can generate the initial grid map through the SLAM (Simultaneous Localization and Mapping) algorithm. Specifically, the SLAM algorithm divides the area detected by the laser radar into multiple grid cells, each grid cell corresponds to a small area, and the SLAM algorithm stores information on whether the area corresponding to each grid cell is occupied by obstacles based on the environmental data acquired by the laser radar, thereby completing the construction of the grid map. In general, the grid map at this time only contains a part of the area in the unknown space.
[0051] Then, the robot inputs the grid map to a preset prediction model, which can be integrated into the robot's own system. The prediction model can be, for example, a convolutional neural network model, which outputs the target points that need to be explored in the grid map, thereby guiding the robot to move to the target position in the next step. The convolutional neural network model can accept the grid map as input and output the target points in the grid map. The training method of the convolutional neural network model will be introduced below.
[0052] After the target point to be explored is output through the convolutional neural network model, a path to the target point is generated based on the unknown information of the target point, and the robot travels to the target point along the path. Exemplarily, a path planning algorithm can be used to generate a path to the target point / in the process of traveling to the target point, the robot uses a laser radar to collect surrounding environmental data in real time, and based on the collected environmental data, updates the grid map in real time through the SLAM algorithm. It can be understood that the robot realizes the gradual exploration of unknown space by moving and collecting surrounding environmental data in real time, so that the explored area is continuously expanded, and the grid map is continuously updated, and the coverage of the grid map is continuously expanded.
[0053] After completing the exploration along the path, the robot determines whether the unknown space has been explored according to preset rules. If not, it returns to execute step S2, that is, inputs the current grid map into the convolutional neural network model again, so that the convolutional neural network model outputs the next target point to be explored. The robot uses the path planning algorithm to generate a path and explores along the path, and this cycle is repeated until the robot determines that the exploration is completed.
[0054] Exemplarily, the "SLAM algorithm" used to generate the grid map in this embodiment may include an EKF (Extended Kalman Filter)-SLAM algorithm. The EKF-SLAM algorithm is a method of applying EKF (Extended Kalman Filter) to SLAM (Simultaneous Localization and Mapping). The EKF-SLAM algorithm determines the robot's own position information in an unknown space and constructs a grid map by iteratively predicting and updating the robot's state.
[0055] Specifically, in the state prediction stage, the EKF-SLAM algorithm uses the robot's motion model and control input to predict the robot's state at the next time step. The robot state can be understood as the robot's position and posture. The state prediction formula is as follows:
[0056] X t|t-1 =f(X t-1|t-1 ,u t )+w t
[0057] Among them, X t|t-1 is the state prediction at time t; f(·) is the motion model, u t is the control input, and the motion model converts the robot state X at the previous time step at time t t-1|t-1 And the control input u t (e.g., speed, angular velocity, direction, etc.) is mapped to the state prediction X at time t t|t-1 ;w t is the process noise.
[0058] In addition, when predicting the state, the uncertainty of the state prediction is also calculated, that is, the prediction covariance is calculated. The prediction covariance formula is as follows:
[0059]
[0060] Among them, P r|t-1 is the forecast covariance matrix, which represents the uncertainty of the forecast state; F t is the state transfer matrix, which maps the uncertainty of the previous time step to the current time step; Q t is the process noise covariance matrix, which represents the uncertainty of the process noise.
[0061] Furthermore, in the state update phase, the EKF-SLAM algorithm assigns weights to the above state prediction results and the environmental data actually detected by the lidar. By combining the detected environmental data and state prediction results, the robot's position determination and grid map generation are more accurate. Similarly, the prediction covariance is constantly updated to reflect the uncertainty after the state update.
[0062] In this embodiment, the convolutional neural network model can be obtained by:
[0063] Use sensors to collect multiple sets of environmental data, and generate multiple grid maps based on the multiple sets of environmental data through SLAM algorithm. According to the preset annotation rules, manually mark the target points in the multiple grid maps, divide the multiple annotated grid maps into training sets and verification sets, use the training sets to train the convolutional neural network model, and use the verification sets to verify the convolutional neural network model, so as to finally obtain the convolutional neural network model.
[0064] Preferably, the sensors used to collect multiple sets of environmental data are the same as the sensors used by the robot. The same sensors as the robot are used to collect multiple sets of environmental data, so that the grid maps of the training set and the validation set have feature consistency with the grid maps generated in the actual application of the robot, thereby ensuring that the convolutional neural network model has good prediction accuracy.
[0065] Preferably, multiple sets of environmental data are collected in a variety of different environments, including but not limited to home, office, warehouse, etc. In this way, the final convolutional neural network model has better generalization ability to cope with various different environments where robots are located in practical applications.
[0066] In this embodiment, the preset marking rule may include: marking the midpoint of the unexplored, non-obstacle and explorable section with the largest span on the edge of the grid map. Figure 2 , where the black area indicates the presence of obstacles and the white area indicates that it is not covered by obstacles. It can be understood that marking the target point at the edge of the grid map maximizes the area explored by the robot along the way, thereby improving the robot's exploration efficiency. In addition, by marking the midpoint of the section with the largest explorable span, it can be ensured that the position of the robot's next exploration point has the largest explorable space and exploration value. In other embodiments, the preset marking rules can also adopt other specific rules, which are not specifically limited here.
[0067] Furthermore, when the convolutional neural network model is trained using the training set, the loss function of the convolutional neural network model can also be calculated, and the model parameters can be adjusted through the optimization algorithm to minimize the loss function. Specifically, the loss function can be the mean square error (MSE), and its calculation formula is as follows:
[0068]
[0069] Where N is the total number of samples in the training set (i.e. the total number of grid maps), (x i ,y i) is the model's predicted coordinates of the target point output for the i-th sample, (x′ i ,y′ i ) is the true coordinate of the i-th sample target point.
[0070] Exemplarily, the optimization algorithm includes but is not limited to Stochastic Gradient Descent (SGD), Momentum, Adaptive Moment Estimation (Adam), etc.
[0071] In this embodiment, the path planning algorithm can be an A* algorithm. The robot generates a path to the target point by inputting its posture information and target point position information into the A* algorithm. Specifically, the A* algorithm starts from the initial position of the robot, finds and moves to the node with the minimum cost to reach the target point according to the evaluation function. After the robot reaches the node, the A* algorithm will re-evaluate the cost of the surrounding nodes and continue to select the next node with the minimum cost as the mobile target. The robot repeatedly selects nodes until it reaches the target node. It can be understood that the path formed by each node is the optimal path to the target point. Exemplarily, the formula of the evaluation function is as follows:
[0072] f(n)=(n)+h(n);
[0073]
[0074] Among them, f(n) is the evaluation function of node n; g(n) is the actual cost from the starting point to node n
[0075] ; h(n) is the heuristic estimate from node n to the target point, predicting the cost of the minimum cost path from node n to the target point. In this embodiment, the Euclidean distance is used; (x n ,y n ) is the coordinate of node n; (x goal ,y goal ) are the coordinates of the target point.
[0076] In this embodiment, step S3 may further include:
[0077] In the process of going to the target point, the robot inputs the real-time updated grid map into the convolutional neural network model to update the target point. Based on the update of the target point, the robot uses the path planning algorithm to obtain a new path to the new target point and moves along the new path. It can be understood that the robot will update the grid map in real time while moving along the path, and inputting the updated grid map into the convolutional neural network model can obtain a new target point, which is the optimal exploration target point for the current state. Therefore, in the process of exploring along the path, the robot can maintain the highest exploration efficiency by obtaining a better exploration target point in real time, and has good maneuverability and flexibility.
[0078] On this basis, the "preset rules" described in step S4 may include: judging whether the update frequency of the target point is lower than a set threshold, and if it is lower than the set threshold, the exploration is completed. It can be understood that when most areas of the unknown space are explored, the frequency of further expansion and exploration of the unknown area by the robot during movement decreases, which means that the update frequency of the grid map decreases, and ultimately leads to a decrease in the update frequency of the target point output by the convolutional neural network model. When the update frequency of the target point is lower than the set threshold, it is judged that the robot has completed the exploration of most areas in the unknown space. Optionally, the size of the set threshold can be set according to the actual situation and is not specifically limited here.
[0079] In other embodiments, the “preset rule” may also be: determining whether all edges of the grid map are obstacles; if all edges are obstacles, the exploration is completed.
[0080] Please refer to Figure 3 The present invention also provides a robot, including a robot body 1 and a map generation module 2, a target output module 3, a path generation module 4 and a judgment module 5 integrated in the robot body 1.
[0081] Specifically, the map generation module 2 is used to collect surrounding environmental data in an unknown space using sensors, and generate a grid map based on the collected environmental data.
[0082] The target output module 3 is used to input the grid map into the preset prediction model to output the target points that need to be explored.
[0083] The path generation module 4 is used to generate a path to reach the target point, so that the robot body 1 moves to the target point along the path.
[0084] The map generation module 2 is also used to use the sensor to collect surrounding environmental data in real time during the process of going to the target point, and to update the grid map in real time based on the collected environmental data.
[0085] The judgment module is used to judge whether the unknown space has been explored according to preset rules; the target output module 3 is used to input the updated grid map into the prediction model again when the judgment result is that the exploration has not been completed, so as to output a new target point that needs to be explored, so that the robot body 1 can go to the new target point, and the map generation module 2 can collect environmental data in the process of the robot body 1 going to the new target point, so as to update the grid map again.
[0086] The present invention provides a method and robot for exploring an unknown space by a robot, wherein the method mainly inputs a grid map into a prediction model, so that the prediction model outputs a target point to be explored, the robot goes to the target point and explores the surrounding area and updates the grid map in the process of going there, and the robot inputs the updated grid map into the prediction model again, thereby continuously obtaining new target points and going to the new target points for exploration, so as to finally realize a comprehensive exploration of the unknown space. Compared with the existing random exploration robot exploration method, the method outputs the target point through the prediction model, which ensures the exploration value of the target point, so that the robot's exploration has a clear goal, thereby greatly improving the efficiency of the exploration. In addition, since the method outputs the target point through the prediction model, it has good adaptability and scalability. During use, the model can be continuously trained and adjusted to adapt to different environments and task requirements.
[0087] The robot provided by the present invention can execute the exploration method proposed by the present invention based on the settings of the map generation module, the target output module, the path generation module and the judgment module, thereby realizing efficient and flexible exploration in unknown space and having good practicality.
[0088] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
[0089] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for exploring an unknown space by a robot, characterized in that: The method comprises: Using sensors in an unknown space to collect surrounding environmental data, and generating a grid map based on the collected environmental data; Inputting the grid map into a preset prediction model to output target points that need to be explored; Generate a path to the target point, and go to the target point along the path; in the process of going to the target point, use the sensor to collect surrounding environmental data in real time, and update the grid map in real time based on the collected environmental data; According to the preset rules, it is determined whether the unknown space has been explored. If not, the updated grid map is input into the prediction model again to output the new target point that needs to be explored, and the environmental data is collected in the process of going to the new target point to update the grid map again. This cycle is repeated until the unknown space is explored.
2. A method for exploring an unknown space by a robot according to claim 1, characterized in that: The method further comprises: In the process of going to the target point, the real-time updated grid map is input into the prediction model to update the target point; a new path to the new target point is generated, and the vehicle moves along the new path.
3. A method for exploring an unknown space by a robot according to claim 2, characterized in that: The "preset rules" include: Determine whether the update frequency of the target point is lower than the set threshold. If it is lower than the set threshold, the exploration is completed.
4. A method for exploring an unknown space by a robot according to claim 1, characterized in that: The prediction model includes a convolutional neural network model, and the convolutional neural network model is obtained in the following manner: Use sensors to collect multiple sets of environmental data, and generate multiple grid maps based on the multiple sets of environmental data; mark the target points in the multiple grid maps according to preset marking rules; divide the multiple marked grid maps into a training set and a verification set, use the training set to train the convolutional neural network model, and use the verification set to verify the convolutional neural network model.
5. A method for exploring an unknown space by a robot according to claim 4, characterized in that: The multiple sets of environmental data are collected under a variety of different environments.
6. A method for exploring an unknown space by a robot according to claim 4, characterized in that: The "preset marking rules" include: The midpoints of the unexplored, non-obstacle, and largest explorable segments on the edge of the grid map are marked.
7. A method for exploring an unknown space by a robot according to claim 4, characterized in that: When the convolutional neural network model is trained using the training set, a loss function of the convolutional neural network model is calculated, and model parameters are adjusted by an optimization algorithm to minimize the loss function; The loss function formula includes: Where N is the total number of samples in the training set, (x i ,y i ) is the model’s predicted coordinates of the target point output for the i-th sample, (x i ′ , i ′ ) is the true coordinate of the i-th sample target point.
8. A method for exploring an unknown space by a robot according to claim 1, characterized in that: The “generating a grid map based on the collected environmental data” specifically includes: generating a grid map based on the collected environmental data through the EKF-SLAM algorithm, and obtaining its own position information; The “generating a path to the target point” specifically includes: inputting the posture information and the target point position information into a path planning algorithm, thereby generating a path to the target point.
9. A method for exploring an unknown space by a robot according to claim 8, characterized in that: The path planning algorithm includes an A* algorithm, and / or the sensor includes a lidar or a camera.
10. A robot, characterized in that: It includes a robot body and a map generation module, a target output module, a path generation module and a judgment module integrated in the robot body; The map generation module is used to collect surrounding environmental data in the unknown space using sensors, and generate a grid map based on the collected environmental data; The target output module is used to input the grid map into a preset prediction model to output target points that need to be explored; The path generation module is used to generate a path to reach the target point, so that the robot body moves to the target point along the path; The map generation module is also used to use the sensor to collect surrounding environmental data in real time during the process of going to the target point, and update the grid map in real time based on the collected environmental data; The judgment module is used to judge whether the unknown space has been explored according to preset rules; The target output module is used to input the updated grid map into the prediction model again when the judgment result is that the exploration is not completed, so as to output a new target point that needs to be explored, so that the robot body can go to the new target point, and the map generation module can collect environmental data in the process of the robot body going to the new target point to update the grid map again.
