A method, device, storage medium and equipment for searching odor source
By searching the smell value in the target venue and updating the search center, the problem of lack of complexity and flexibility in the existing technology search algorithm in the existing technologies, and achieved rapid and efficient scent source positioning.
Patent Information
- Application Number
- CN202411478716.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-22
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2044-10-22
AI Technical Summary
The existing robot active odor source search algorithm has the problems of many parameters, complex calculations and poor flexibility, and it is difficult to effectively locate the odor source, especially when the odor source location changes, the distribution trend needs to be recalculated.
Adopt a method of scent source search, determine the search center by searching more than the smell value of the threshold in the target venue, and conduct multiple search from the search center as the starting point. Search for termination conditions.
A relatively fast real -time trajectory planning control is achieved, the search robot is avoided in the local optimal area, the search efficiency of the scent source is improved, and the search robot can find the scent of odor in the global optimal area.
Smart Images

Figure CN119023909B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a method, device, storage medium, and equipment for searching for an odor source. Background Art
[0002] For the odorous plumes generated during the leakage of hazardous and toxic substances, early detection and intervention are extremely important for production safety. The search robot equipped with bionic olfactory sensors has the characteristics of low cost and high sensitivity, and has outstanding advantages in locating the source of the plume.
[0003] Existing robot active odor source search algorithms mainly include bionic optimization algorithms, regularized trajectory detection and smoke plume distribution model modeling methods. Among them, the bionic optimization algorithm has many parameters and complex calculations; the regularized trajectory detection method has poor flexibility and is blind; the method based on the smoke plume distribution model is also less flexible. Once the location of the odor source changes, the distribution trend needs to be recalculated.
[0004] Therefore, the present invention provides a method, device, storage medium, and equipment for searching for an odor source. Summary of the invention
[0005] This specification provides a method and device for searching for an odor source to partially solve the above-mentioned problems existing in the prior art.
[0006] This manual adopts the following technical solutions:
[0007] This specification provides a method for searching for an odor source. A search robot is deployed at a target site. For the search robot, the method includes:
[0008] searching the target site for an odor value exceeding a discovery threshold;
[0009] The location where the odor value exceeds the discovery threshold is searched as the search center;
[0010] Perform m searches starting from the search center, wherein for every n searches, the highest odor value found in the most recent n searches is determined as the sample odor value; if the search result satisfies the search termination condition, the odor source position is determined according to the position of each sample odor value searched; otherwise, the search center is redetermined based on at least part of the position as the search center, and m searches are performed starting from the redetermined search center until the search result satisfies the search termination condition, wherein the search termination condition is that the distance between the positions of each sample odor value searched is less than a distance threshold and each sample odor value is higher than the odor source threshold.
[0011] Optionally, performing m searches starting from the search center specifically includes:
[0012] Perform m iterative searches in the neighborhood of the search center, wherein each search is performed in the neighborhood of the search center, and the search center is re-determined according to the position with the highest odor value searched, until m searches are completed.
[0013] Optionally, searching within the neighborhood of the search center specifically includes:
[0014] Determining target coordinates within a neighborhood of the search center;
[0015] A search is performed toward the target coordinates to determine the odor value of each area during the movement.
[0016] Optionally, the search center is re-determined based on the location with the highest odor value, including:
[0017] If the highest odor value is updated during the search process, the search center is re-determined according to the position of the updated highest odor value; otherwise, the updated search center is randomly determined between the current position and the current search center.
[0018] Optionally, the search center is re-determined based on at least part of the location serving as the search center, specifically including:
[0019] Using at least part of the odor values of the location serving as the search center as target odor values, and determining a correction area according to the area corresponding to each target odor value;
[0020] Determining the centroid of the correction area as a correction target;
[0021] Searching toward the correction target along the planned trajectory;
[0022] If the search robot updates the highest odor value during the search for the correction target, the search center is re-determined according to the position of the highest odor value searched, otherwise, the updated search center is randomly determined between the correction target and the current search center.
[0023] Optionally, after re-centering the search, also include:
[0024] The size of the neighborhood is updated according to the proportion of the searched area in the neighborhood of the search center before redetermination, wherein the larger the proportion of the searched area in the neighborhood of the search center before update, the larger the updated neighborhood.
[0025] Optionally, the search robot specifically includes: a search team composed of a plurality of search robots;
[0026] For any search robot in the search group, the method further includes:
[0027] Share the odor values corresponding to each area searched by itself with other search robots;
[0028] Re-centering the search based at least in part on the location that serves as the center of the search, including:
[0029] After the search center is updated based on the highest odor value updated by any robot, the search center is re-determined based at least in part on the location of the search center of each search robot.
[0030] This specification provides an odor source search device, which is arranged at a target site and includes:
[0031] A regularized trajectory search module searches for odor values exceeding a detection threshold in the target site;
[0032] A center determination module, which takes the location where the odor value exceeds the discovery threshold as the search center;
[0033] A center update module performs m searches starting from the search center, wherein for every n searches, the highest odor value searched in the most recent n searches is determined as the sample odor value; if the search result meets the search termination condition, the odor source position is determined according to the position of each sample odor value searched; otherwise, the search center is re-determined based on at least part of the position as the search center, and m searches are performed starting from the re-determined search center until the search result meets the search termination condition, wherein the search termination condition is that the distance between the positions of each sample odor value searched is less than a distance threshold and each sample odor value is higher than the odor source threshold.
[0034] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned odor source search method is implemented.
[0035] This specification provides a device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned odor source search method when executing the program.
[0036] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:
[0037] The search robot can be controlled by relatively fast real-time trajectory planning calculations to complete the search for the odor source. The method of redefining the search center based on the position of the search center can be used to avoid the search robot falling into the local optimal area - a certain distance from the odor source but with a certain target gas concentration due to factors such as terrain and wind, and unable to search the global optimal area - the odor source. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings:
[0039] Figure 1 A schematic diagram of a method for searching for an odor source in this specification;
[0040] Figure 2 This is a schematic diagram of the division of the grid map in this manual;
[0041] Figure 3 This is a schematic diagram of a binarized raster map in this specification;
[0042] Figure 4 It is a design schematic diagram of the regularized trajectory in this manual;
[0043] Figure 5 A schematic diagram of a process of searching within a neighborhood of a search center in this specification;
[0044] Figure 6 is a schematic diagram of the correction area in this manual;
[0045] Figure 7 A schematic diagram of a device for searching for odor sources provided in this specification;
[0046] Figure 8 The corresponding Figure 1 Schematic diagram of electronic equipment. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0048] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.
[0049] Figure 1This is a flow chart of a method for searching for odor sources in this specification. The method for searching for odor sources can be applied to a search robot equipped with a bionic olfactory sensor. The bionic olfactory sensor can search for the gas in the area where the robot is located in real time, so that the control system of the search robot can determine the odor value according to the concentration of the target gas in the gas searched by the bionic olfactory sensor, wherein the higher the concentration of the target gas, the higher the corresponding odor value.
[0050] The method provided in this specification specifically comprises the following steps:
[0051] S100: Searching for an odor value exceeding a detection threshold in the target site.
[0052] For an odor source search process, first, obtain the original map of the target site, determine the movable area and obstacle area in the target site based on the original map, determine the preset planning trajectory based on the movable area in the target site and the randomly determined starting point of the search robot, and search for odor values exceeding the discovery threshold in the target site along the planned trajectory.
[0053] Among them, the discovery threshold is a preset value, which can be set in advance by the user according to the characteristics of the search target and the search site. When the search robot detects that the concentration of the target gas at any location reaches the discovery threshold, it means that the location has a certain odor diffusion concentration.
[0054] Specifically, the method for determining the planning trajectory can be to connect the starting point with a random point on the boundary farthest from the starting point in the original map, and then connect the random point with another random point in the boundary farthest from the starting point, and so on, to determine the infinitely extended initial planning trajectory. After determining the initial planning trajectory, since the initial planning trajectory may pass through the obstacle area in the original map, the initial planning trajectory can be optimized using an obstacle avoidance algorithm to obtain the planning trajectory. According to the characteristics of the odor plume, the planning trajectory does not need to traverse the entire target site, and can still complete the search for each location in the target site. Compared with the traditional trajectory planning method, the tracking of the odor source can be completed more quickly (that is, the odor value exceeding the discovery threshold can be searched more quickly), and at the same time, the speed of searching for the odor value exceeding the discovery threshold will not be affected by the starting point setting problem of the search robot.
[0055] Among them, the above-mentioned obstacle avoidance algorithm can be a common obstacle avoidance algorithm such as a vector field histogram algorithm, an artificial potential field obstacle avoidance control method, a vector field histogram algorithm, etc., which will not be described in detail in this specification.
[0056] After the planned trajectory of the search robot is determined, the search robot can be controlled to perform the first stage of search along the planned trajectory. During the movement, the search robot can use the bionic olfactory sensor it carries to search for the gas at its location in real time.
[0057] It should be noted that in the robot path planning scenario, the grid map is a common choice. The method provided in this specification can determine the planned trajectory of the search robot in the grid map of the target site. A grid in the grid map of the target site corresponds to a position referred to in this specification. After the robot reaches any position, the odor value of the corresponding grid in the grid map of the target site can be determined, and the odor concentration of the grid is represented by a value of [0,255].
[0058] In one or more embodiments of the present specification, when the odor value of the robot's current location is lower than the highest recorded odor value, and the difference with the highest recorded odor value is greater than a preset difference threshold, the odor value of the robot's current location may not be stored.
[0059] In one or more embodiments of the present specification, the map resolution of the real site mapping of the target site may be enlarged to obtain a grid map of the target site.
[0060] In one or more embodiments of the present specification, the method for presetting the planned trajectory may be to divide the grid map into four partitions along the coordinate axis with the initial grid position of the robot as the intersection point, such as Figure 2 As shown, generally, the larger the proportion of the movable area in a partition is, the greater the probability that the odor source is located in the partition is. Therefore, the partition with the largest proportion of the movable area is determined as the preferred direction for the first stage search.
[0061] Therefore, the partition with the largest proportion of movable area is selected without traversing all grids in each partition for statistics, which reduces the number of interactions between the algorithm and the memory and is more efficient.
[0062] In one or more embodiments of the present specification, the grid map can be binarized with a preset threshold value (different pixel values are used to represent the movable area and the obstacle area in the real site mapping. Similarly, the movable area and the obstacle area in the enlarged grid map are also represented by different pixel values). The binarized grid map can directly distinguish the movable area and the obstacle area by using black and white, and then superimpose a thin black straight line (for example, a straight line with a width of 2-3 pixels) along the coordinate axis direction to divide the grid map into four partitions. The division results are as follows: Figure 3 As shown, the connected domains in the divided grid map are then extracted and the area of each partition is calculated to obtain the relative size of each partition.
[0063] Therefore, the area statistics of the raster map can be completed by using a relatively simple mapping method to assist the connected domain extraction method.
[0064] In one or more embodiments of the present specification, the preset planned trajectory can determine, according to the preset starting point and the preset trajectory angle, a continuous trajectory line from the starting point to the map edge of the target site and between the map edges as the preset planned trajectory, wherein the angle formed by each trajectory line and the horizontal direction is the trajectory angle, such as Figure 4 As shown in the figure, the direction of the arrow indicates the preset planning trajectory.
[0065] S102: The location where the odor value exceeds the discovery threshold is searched as the search center.
[0066] In the first stage of the search process, when the robot searches for a position where the odor value exceeds the discovery threshold, the position where the odor value exceeds the discovery threshold can be used as the search center and enter the second search stage.
[0067] It should be noted that the process of the search robot determining the odor value of its own location can be regarded as a delay-free process. When the search robot determines that the search has found an odor value that exceeds the discovery threshold, the location of the robot is the location where the odor value exceeds the discovery threshold.
[0068] S104: Perform m searches starting from the search center, wherein for every n searches, the highest odor value found in the most recent n searches is determined as the sample odor value; if the search result satisfies the search termination condition, the odor source position is determined based on the position of each sample odor value searched; otherwise, the search center is re-determined based on at least part of the position as the search center, and m searches are performed starting from the re-determined search center until the search result satisfies the search termination condition, which is that the distance between the positions of each sample odor value searched is less than a distance threshold and each sample odor value is higher than the odor source threshold.
[0069] In step S104, Figure 5 As shown, the robot first executes step S500: performing m searches in the neighborhood of the search center, wherein, for every n searches, the highest odor value searched in the most recent n searches is determined as the sample odor value.
[0070] After the m searches are completed, step S502 is executed: determining whether the search results meet a preset search termination condition, where the search termination condition is that the distance between the positions of the searched sample odor values is less than a distance threshold and each sample odor value is higher than an odor source threshold.
[0071] If satisfied, execute step S506: determine the location of the odor source based on the location of each sample odor value searched, and the search robot completes the search task for the odor source; otherwise, execute step S504: redetermine the search center based on at least part of the location as the search center.
[0072] After executing step S504 to redetermine the search center, continue to execute step S500.
[0073] It should be noted that m is an integer multiple of n; the method for determining the sample odor value, specifically, for example, when n is 5, the highest odor value searched in 1-5 searches is determined as a sample odor value, and then the highest odor value searched in 6-10 searches is determined as another sample odor value, and so on.
[0074] When determining whether the search results meet the preset search termination condition, the position corresponding to each sample odor value can be determined as the sample position, and it can be determined whether the distance between the two farthest sample positions is less than a preset distance threshold.
[0075] When step S504 is executed: after the search center is re-determined, the statistical search times are reset and the sample odor values are re-calculated.
[0076] like Figure 1 The method for searching for an odor source shown in the figure can utilize a relatively fast real-time trajectory planning calculation to control a search robot to complete the search for the odor source, and utilize a method of redetermining the search center based on the position serving as the search center to avoid the search robot being trapped in a local optimal area—a situation in which the search robot is a certain distance away from the odor source but has a certain target gas concentration due to factors such as terrain and wind, and is unable to search the global optimal area—the odor source.
[0077] In addition, in Figure 1 In step S104 shown, m iterative searches are performed in the neighborhood of the search center, wherein each search is performed in the neighborhood of the search center, and the search center is re-determined according to the position with the highest odor value searched, until m searches are completed.
[0078] That is, Figure 5 In the step S500 shown, the search robot first performs a search in the neighborhood of the search center. If any odor value found in the search exceeds the highest odor value in history, the odor value is used as the updated highest odor value, and the location of the updated highest odor value is used as the updated search center. The search is continued in the neighborhood of the updated search center, and the search center and the highest odor value are continuously updated in this cycle. When the number of completed searches reaches m times, the subsequent step S502 is executed.
[0079] When step S504 is executed: after the search center is re-determined, the statistical search times are reset.
[0080] In one or more embodiments of the present specification, the neighborhood of a search center may be a rectangular or circular area centered on the search center.
[0081] In addition, in Figure 5 In step S500 shown, the target coordinates are determined in the neighborhood of the search center, and a search is performed toward the target coordinates to determine the odor values of each area during the movement.
[0082] Among them, determining the target coordinates within the neighborhood can be randomly determining any coordinate whose distance from the search center is not less than a preset target threshold as the target coordinate; moving towards the target coordinate can be moving towards the target coordinate along the shortest path during the process of moving towards the target coordinate.
[0083] Furthermore, in Figure 5 In step S500 shown, if the highest odor value is updated during the search process, the search center is re-determined according to the position of the updated highest odor value searched, otherwise, the updated search center is randomly determined between the current position and the current search center.
[0084] Thus, the search can be more quickly separated from the area with a lower probability of finding the odor source, thus accelerating the search process. A probability function can be preset, and the more the odor value of the current position is higher than the odor value of the current search center, the higher the probability of selecting the current position as the updated search center.
[0085] In addition, in Figure 5 In the step S504 shown, at least part of the odor value of the position serving as the search center is used as the target odor value, and a correction area is determined based on the area corresponding to each target odor value. The center of mass of the correction area is determined as the correction target, and a search is performed toward the correction target. If the highest odor value is updated during the search robot's search toward the correction target, the search center is redetermined based on the position of the highest odor value searched. Otherwise, an updated search center is randomly determined between the correction target and the current search center.
[0086] In one or more embodiments of this specification, Figure 5 The step S504 shown specifically includes:
[0087] S5041: Determine whether the search results meet the relocation condition, where the relocation condition is that the distance between the positions of the searched sample odor values is less than the distance threshold and each sample odor value is higher than the discovery threshold and there is any sample odor value that is not higher than the odor source threshold.
[0088] If satisfied, execute step S5042: use at least part of the odor value of the position serving as the search center as the target odor value, determine the correction area based on the area corresponding to each target odor value, determine the center of mass of the correction area as the correction target, and search towards the correction target. If the highest odor value is updated during the search robot's search towards the correction target, redetermine the search center based on the position of the highest odor value searched. Otherwise, randomly determine the updated search center between the correction target and the current search center.
[0089] If not satisfied, execute step S5043: randomly determine an updated search center between the current location and the current search center.
[0090] As described above, a grid map can be used to represent the target site, and a grid in the grid map of the target site corresponds to a position referred to in this specification. Therefore, when the search robot collects an odor value, the grid corresponding to the odor value can be determined, and a storage threshold m can be preset to store the m highest odor values searched by the search robot and the coordinates corresponding to each of the m odor values. Since the odor values searched for the position that serves as the historical search center are all the highest odor values at the time, these m odor values are all target odor values. Therefore, after resetting the number of searches to 0, m corresponding grids can be determined based on the stored m odor values, and the correction area can be determined based on these m grids, and the center of mass of the correction area can be used as the correction target.
[0091] Among them, the correction area is determined according to the area corresponding to each target odor value, which can be determined by determining the circumscribed circle of the area corresponding to each target odor value, or determining the polygon with the minimum number of sides that just contains the area corresponding to each target odor value, and other common methods, such as Figure 6 As shown in the figure, the odor value corresponding to the black grid is the current maximum odor value. There are 9 grids in total. The triangle is the current coordinate of each search robot. The updated search center - the coordinates of the circular pattern can be determined based on the correction area formed by connecting each black grid.
[0092] An updated search center is randomly determined between the correction target and the current search center. A transfer probability function can be preset. The transfer probability function can obtain the transfer probability corresponding to the correction target according to the odor value of the correction target, the odor value of the current search center, and the number of completed searches. The higher the odor value of the correction target is than the odor value of the current search center, the higher the transfer probability is. The more the number of completed searches is, the lower the transfer probability is. After determining the transfer probability, a transfer threshold can be randomly determined within the numerical range of 0-1. When the transfer probability is greater than the transfer threshold, the correction target is used as the updated search center. Otherwise, the search center is not updated.
[0093] Therefore, if the search robot fails to find the odor source for a long time, the robot can be pulled away from the current search area and go to the area with the highest known odor value. In addition, whether to accept a position that is not the optimal correction target as an updated search center can be controlled according to the search progress. When the search progress is low, there is a greater probability of using the correction target to pull the search robot away from the current position, and the coverage of the searched area in the target site during the search process is utilized. When the coverage rate is low, there is a higher probability of searching the surrounding area of the searched area.
[0094] In addition, in Figure 1 In step S104 shown, the size of the neighborhood is updated according to the proportion of the searched area in the neighborhood of the search center before redetermination, wherein the larger the proportion of the searched area in the neighborhood of the search center before update, the larger the updated neighborhood.
[0095] In one or more embodiments of the present specification, the grids that the robot has passed through can be marked as black in the grid map, and then the number of grids of different colors can be directly counted using the image connected domain method to determine the proportion of the searched area in the neighborhood of a search center.
[0096] In one or more embodiments of the present specification, the pixel value of the movable area in the grid map can be set to 150, the obstacle area can be set to 0, and the pixel value of the grid that the search robot has traversed can be increased by 20. In this way, the proportion of the searched area in each neighborhood can be directly counted from the grid map.
[0097] In one or more embodiments of the present specification, the size of the neighborhood may be determined according to the following formula:
[0098]
[0099] in, is the size of the initial neighborhood window, and is the size of the neighborhood window of the updated search center, It is the proportion of the searched area in the neighborhood of the updated search center. Therefore, when the search robot is in the searched area, more area can be included in the neighborhood, and when the robot is in the unsearched area, the search pressure can be reduced to achieve a more efficient odor source search.
[0100] In one or more embodiments of the present specification, the method provided in the present specification can also be applied to a search team composed of several search robots, each search robot performs an independent search, and the search robot control system of each search robot can receive the odor value data of each location shared by other search robots. For any search robot in the search team, it searches the target site along a preset planned trajectory and shares the odor values corresponding to each area searched by itself with other search robots. The search robot takes the position corresponding to the odor value that exceeds the discovery threshold found in the first search as its own search center, and performs m searches starting from the search center. After every n searches, the search robot determines the highest odor value found by the search robot in the most recent n searches as the sample odor value. When the search robot completes m searches, the search robot control system makes a judgment based on the search results. If the search results meet the search termination condition, the odor source position is determined based on the position of each sample odor value searched. Otherwise, the search robot control system redetermines the search center based on the position used as the search center by each search robot. The search robots perform m searches starting from the redetermined search center until the search results meet the preset search termination condition, which is that the difference between the positions of each sample odor value is less than the distance threshold and each sample odor value is higher than the odor source threshold.
[0101] Since the diffusion of odor sources has gradient and regional characteristics, the location of the odor source by each search robot should be within an area with a certain radius greater than the odor source concentration threshold, and may be distributed in different directions. The final group positioning result can be taken as the average of the positioning results of each search robot.
[0102] It should be noted that before completing m searches, the highest odor value of each search robot is counted independently.
[0103] Therefore, a decentralized search robot group was established. The search robots are not organized into teams, and there is no master-slave relationship between the search robots. The initial position of each search robot is evenly distributed in the movable area. The individuals have high degrees of freedom and the group is highly robust. When some individuals lose their functions, the group can still work efficiently.
[0104] The above is a method for searching for an odor source provided in one or more embodiments of this specification. Based on the same idea, this specification also provides a corresponding odor source searching device, such as Figure 7 shown.
[0105] Figure 7 A schematic diagram of an odor source search device provided in this specification specifically includes:
[0106] A regularized trajectory search module 700 searches for odor values exceeding a discovery threshold in the target site;
[0107] A center determination module 702, which takes the location where the odor value exceeds the discovery threshold as the search center;
[0108] The center update module 704 performs m searches starting from the search center, wherein for every n searches, the highest odor value found in the most recent n searches is determined as the sample odor value; if the search result satisfies the search termination condition, the odor source position is determined based on the position of each sample odor value searched; otherwise, the search center is re-determined based on at least part of the position as the search center, and m searches are performed starting from the re-determined search center until the search result satisfies the search termination condition, wherein the search termination condition is that the distance between the positions of each sample odor value searched is less than a distance threshold and each sample odor value is higher than the odor source threshold.
[0109] Optionally, the center update module 704 is specifically used to: perform m iterative searches within the neighborhood of the search center, wherein each search is performed within the neighborhood of the search center, and the search center is re-determined based on the position with the highest odor value searched, until m searches are completed.
[0110] Optionally, the center updating module 704 is specifically used to: determine the target coordinates in the neighborhood of the search center, and search towards the target coordinates to determine the odor value of each area during the movement.
[0111] Optionally, the center update module 704 is also used to: if the highest odor value is updated during the search process, redetermine the search center according to the position of the updated highest odor value; otherwise, randomly determine the updated search center between the current position and the current search center.
[0112] Optionally, the center update module 704 is specifically used to: use at least part of the odor value of the position serving as the search center as the target odor value, determine the correction area according to the area corresponding to each target odor value, determine the center of mass of the correction area as the correction target, and search along the planned trajectory toward the correction target; if the highest odor value is updated during the search robot's search toward the correction target, the search center is redetermined according to the position of the highest odor value searched; otherwise, the updated search center is randomly determined between the correction target and the current search center.
[0113] Optionally, the center update module 704 is also used to update the size of the neighborhood according to the proportion of the searched area in the neighborhood of the search center before redetermination, wherein the larger the proportion of the searched area in the neighborhood of the search center before updating, the larger the updated neighborhood.
[0114] Optionally, the search robot specifically includes: a search team composed of a number of odor source search devices;
[0115] For any odor source search device in the search group, the central update module 704 is also used to: share the odor values corresponding to each area searched by itself with other search robots;
[0116] The center update module 704 is specifically used to: redefine the search center based on at least part of the position of the search center of each search robot, and the redetermined search center is the same for each search robot.
[0117] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 A method for searching for odor sources is provided.
[0118] This manual also provides Figure 8 The schematic structure diagram of the electronic device shown in FIG. Figure 8 As mentioned above, at the hardware level, the odor source search device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0119] In the 1990s, it was very clear whether the improvement of a technology was hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with hardware entity modules. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0120] The controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory. It is also known to those skilled in the art that, in addition to implementing the controller in a purely computer-readable program code manner, the controller may be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the devices for implementing various functions included therein may also be considered as structures within the hardware component. Or even, the devices for implementing various functions may be considered as both software modules for implementing the method and structures within the hardware component.
[0121] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0122] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0123] It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0124] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0125] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0126] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0127] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0128] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0129] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0130] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0131] It should be understood by those skilled in the art that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0132] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0133] 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. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0134] The above description is only an embodiment of this specification and is not intended to limit this specification. For those skilled in the art, this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification should be included in the scope of the claims of this application.
Claims
1. A method for searching for an odor source, characterized in that: A search robot is deployed at a target site. For the search robot, the method includes: searching the target site for an odor value exceeding a discovery threshold; The location where the odor value exceeds the discovery threshold is searched as the search center; Performing m searches starting from the search center, wherein for every n searches, the highest odor value found in the most recent n searches is determined as the sample odor value, and if the search result satisfies the search termination condition, the odor source position is determined according to the position of each sample odor value searched, otherwise, the search center is re-determined according to at least part of the position as the search center, and m searches are performed starting from the re-determined search center until the search result satisfies the search termination condition, wherein the search termination condition is that the distance between the positions of each sample odor value searched is less than a distance threshold and each sample odor value is higher than an odor source threshold; The method of redetermining the search center based on at least part of the position serving as the search center specifically includes: taking at least part of the odor value of the position serving as the search center as the target odor value, and determining the correction area according to the area corresponding to each target odor value; determining the center of mass of the correction area as the correction target; searching along the planned trajectory toward the correction target; if the highest odor value is updated during the search robot's search toward the correction target, redetermining the search center based on the position of the highest odor value searched, otherwise, randomly determining an updated search center between the correction target and the current search center.
2. The method according to claim 1, characterized in that Perform m searches starting from the search center, specifically including: Perform m iterative searches in the neighborhood of the search center, wherein each search is performed in the neighborhood of the search center, and the search center is re-determined according to the position with the highest odor value searched, until m searches are completed.
3. The method according to claim 2, characterized in that Searching within the neighborhood of the search center specifically includes: Determining target coordinates within a neighborhood of the search center; A search is performed toward the target coordinates to determine the odor value of each area during the movement.
4. The method according to claim 2, characterized in that The search center is re-determined based on the location with the highest odor value, including: If the highest odor value is updated during the search process, the search center is re-determined according to the position of the updated highest odor value; otherwise, the updated search center is randomly determined between the current position and the current search center.
5. The method according to claim 1 or 2, characterized in that: After refocusing the search, it also includes: The size of the neighborhood is updated according to the proportion of the searched area in the neighborhood of the search center before redetermination, wherein the larger the proportion of the searched area in the neighborhood of the search center before update, the larger the updated neighborhood.
6. The method according to claim 1, characterized in that The search robot specifically includes: a search team composed of a number of search robots; For any search robot in the search group, the method further includes: Share the odor values corresponding to each area searched by itself with other search robots; Re-centering the search based at least in part on the location that serves as the center of the search, including: The search center is re-determined based on at least part of the position of the search center of each search robot, and the re-determined search center is the same for each search robot.
7. An odor source search device, characterized in that: The device is arranged at a target site, and comprises: A regularized trajectory search module searches for odor values exceeding a detection threshold in the target site; A center determination module, which takes the location where the odor value exceeds the discovery threshold as the search center; A center update module, which performs m searches starting from the search center, wherein the highest odor value searched in the most recent n searches is determined as the sample odor value for each n searches, and if the search result satisfies the search termination condition, the odor source position is determined according to the position of each sample odor value searched, otherwise, the search center is re-determined according to at least part of the position as the search center, and m searches are performed starting from the re-determined search center until the search result satisfies the search termination condition, wherein the search termination condition is that the distance between the positions of each sample odor value searched is less than the distance threshold and each sample odor value is higher than the odor source threshold; The method of redetermining the search center based on at least part of the position serving as the search center specifically includes: taking at least part of the odor value of the position serving as the search center as the target odor value, and determining the correction area according to the area corresponding to each target odor value; determining the center of mass of the correction area as the correction target; searching along the planned trajectory toward the correction target; if the highest odor value is updated during the search robot's search toward the correction target, redetermining the search center based on the position of the highest odor value searched, otherwise, randomly determining an updated search center between the correction target and the current search center.
8. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
9. A device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method described in any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Method for multirobot to search smell sources with cooperation under the dynamic smoke plumage environment
CN103278151A
Odor source positioning method and mobile robot
CN114706387A