A method and device for exploring unknown space based on enhanced randomness
By introducing a path generation method with enhanced randomness in the unmanned system, the problem of high computing power and storage requirements for unknown space exploration in the prior art is solved, and the rapid exploration and path generation of unknown space is realized, which is suitable for lightweight embedded platforms.
Patent Information
- Application Number
- CN202210445450.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-26
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2042-04-26
AI Technical Summary
When planning and searching for unknown spaces in unmanned systems, the prior art requires establishing a connection relationship model for environmental spaces in advance. The computing power and storage requirements are high, which limits real-time and lightweight implementations.
An unknown space exploration method based on randomness enhancement is adopted. Through the steps of end point determination, operation mode judgment, path plagiarism check, obstacle detection, direction bias and random switching of operation mode, the path is generated and the operation mode is adjusted to achieve rapid exploration of unknown space.
It reduces the demand for computing platform data processing capabilities and is suitable for low-power embedded computing platforms. It only needs to store limited path-related information, which improves the diversity and efficiency of path generation.
Smart Images

Figure CN114996375B_ABST
Abstract
Description
Background Art
[0002] Effective exploration of unknown space is an essential means for unmanned systems to achieve spatial cognition, and it has important significance and application value in the fields of robotics and artificial intelligence. For unmanned systems, path planning or target search in a limited space often relies on the determination of the global connectivity relationship. Therefore, before carrying out autonomous actions, it is often necessary to establish a global connectivity relationship graph (or a map in some form), and on this basis, find an optimal path from the starting point to the target through a certain algorithm.
[0003] However, in actual application scenarios, it is often impossible to establish a connectivity relationship model / graph of the environmental space in advance. Instead, during the path search process, it is necessary to synchronously realize the cognition of the local environment or even the global environment, and based on the incrementally obtained information (knowledge) and a certain algorithm, find a feasible and as optimal as possible path, that is, explore the unknown space. The current mainstream technical solution is to use genetic algorithms or similar algorithms to continuously generate candidate paths, and based on the evaluation of the path efficiency, continuously screen and iterate the path generation strategy, and ensure the diversity of the path generation strategy through mutation and other means. This technical solution has high requirements for the computing power and information storage capacity of the platform, which is not conducive to the improvement of the real-time performance and lightweight of unmanned systems.
[0004] Therefore, one or more methods are needed to solve the above problems.
[0005] It should be noted that the information disclosed in the above background art section is only used to strengthen the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to those of ordinary skill in the art. Summary of the Invention
[0006] The purpose of the present disclosure is to provide a method, device, electronic device, and computer-readable storage medium for exploring unknown space with enhanced randomness, thereby at least to some extent overcoming one or more problems caused by the limitations and defects of related technologies.
[0007] According to one aspect of the present disclosure, there is provided a method for exploring unknown space with enhanced randomness, including:
[0008] An end point determination step, obtaining the current position coordinates of the robot, comparing the current position coordinates with the preset end point coordinates, and determining whether the robot has reached the end point. If the end point has not been reached, then proceed to the running mode determination step;
[0009] A running mode determination step, determining whether the current running mode of the robot is the first mode. If so, then proceed to the path duplicate check step; if not, then proceed to the obstacle detection step;
[0010] Path duplication checking step: Based on the current position coordinates, end point coordinates, and preset step size of the robot, determine the target point coordinates, generate a path from the current position coordinates of the robot to the target point coordinates, and perform a duplication check and retrieval on this path in the historical paths stored in the robot. If the historical paths stored in the robot include this path, then adjust the running direction of the robot to the direction from the end point coordinates to the current position coordinates of the robot, and switch the current running mode of the robot from the first mode to the second mode, then turn to the obstacle detection step;
[0011] Obstacle detection step: Based on the detection module of the robot, detect whether there are obstacles on the path from the current position coordinates of the robot to the target point coordinates. If there are, then turn to the direction offset step; if not, then turn to the running mode random switching step;
[0012] Direction offset step: Superimpose a preset offset amount on the running direction from the current position coordinates of the robot to the target point coordinates, generate a path of the robot based on the current position coordinates, the running direction with the preset offset amount superimposed, and the preset step size, and then turn to the obstacle detection step;
[0013] Running mode random switching step: Switch the second mode of the robot to the first mode according to a preset probability, and then turn to the end point determination step.
[0014] In an exemplary embodiment of the present disclosure, the method further includes:
[0015] Preprocessing step: Establish a data storage space for the robot, and preset the running mode of the robot to the first mode.
[0016] In an exemplary embodiment of the present disclosure, the method further includes:
[0017] The first mode is to determine the target point coordinates based on the current position coordinates, end point coordinates, and preset step size of the robot, and generate a path from the current position coordinates of the robot to the target point coordinates;
[0018] The second mode is to determine the target point coordinates based on the current position coordinates, current movement direction, and preset step size of the robot, and generate a path from the current position coordinates of the robot to the target point coordinates.
[0019] In an exemplary embodiment of the present disclosure, the end point determination step of the method further includes:
[0020] Obtain the current position coordinates of the robot, and compare the current position coordinates with the preset end point coordinates. If the current position coordinates are consistent with the preset end point coordinates, then determine that the robot has reached the end point;
[0021] Obtain the current position coordinates of the robot, and compare the current position coordinates with the preset end coordinates. If the current position coordinates are within the preset range with the preset end coordinates as the base point, it is determined that the robot has reached the end point.
[0022] In an exemplary embodiment of the present disclosure, the path duplicate checking step of the method further includes:
[0023] According to the current position coordinates of the robot, the end coordinates, and the preset step size, determine the target point coordinates, generate a path from the current position coordinates of the robot to the target point coordinates, and perform a duplicate check and retrieval on the path in the historical paths stored in the robot. If the historical paths stored in the robot include the path, adjust the running direction of the robot to the opposite direction of the current running direction, and switch the current running mode of the robot from the first mode to the second mode, and turn to the obstacle detection step.
[0024] In an exemplary embodiment of the present disclosure, the obstacle detection step of the method further includes:
[0025] Based on the detection module of the robot, detect whether the path of the robot from the current position coordinates to the target point coordinates has exceeded the preset boundary. If so, turn to the direction offset step; if not, turn to the running mode random switching step.
[0026] In an exemplary embodiment of the present disclosure, in the direction offset step of the method, the mean value of the preset offset amount is 0, and the variance is the preset variance.
[0027] In one aspect of the present disclosure, there is provided an unknown space exploration device based on enhanced randomness, including:
[0028] An end point determination module, configured to obtain the current position coordinates of the robot, compare the current position coordinates with the preset end coordinates, and determine whether the robot has reached the end point. If the robot has not reached the end point, turn to the running mode determination module;
[0029] A running mode determination module, configured to determine whether the current running mode of the robot is the first mode. If so, turn to the path duplicate checking module; if not, turn to the obstacle detection module;
[0030] A path duplicate checking module, configured to determine target point coordinates according to the current position coordinates, end point coordinates, and preset step length of the robot, generate a path from the current position coordinates of the robot to the target point coordinates, check and retrieve the path in the historical paths stored in the robot. If the path is included in the historical paths stored in the robot, adjust the running direction of the robot to the direction from the end point coordinates to the current position coordinates of the robot, and switch the current running mode of the robot from the first mode to the second mode, then turn to the obstacle detection module;
[0031] An obstacle detection module, configured to detect, based on the detection module of the robot, whether there are obstacles on the path from the current position coordinates to the target point coordinates of the robot. If there are, turn to the direction offset module; if not, turn to the running mode random switching module;
[0032] A direction offset module, configured to superimpose a preset offset amount on the running direction from the current position coordinates of the robot to the target point coordinates, generate a path of the robot based on the current position coordinates, the running direction with the preset offset amount superimposed, and the preset step length, and then turn to the obstacle detection module;
[0033] A running mode random switching module, configured to switch the second mode of the robot to the first mode according to a preset probability, and then turn to the end point determination module.
[0034] In one aspect of the present disclosure, there is provided an electronic device, including:
[0035] A processor; and
[0036] A memory, on which computer-readable instructions are stored, and when the computer-readable instructions are executed by the processor, the method according to any one of the above is implemented.
[0037] In one aspect of the present disclosure, there is provided a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the method according to any one of the above is implemented.
[0038] A method for exploring an unknown space based on enhanced randomness in an exemplary embodiment of the present disclosure. The method includes: presetting a first mode pointing to an end point and a second mode maintaining the current running direction. By means of an end point determination step, a running mode judgment step, a path duplicate checking step, an obstacle detection step, a direction offset step, and a running mode random switching step, the robot is enabled to have a simple and easy path generation method. By introducing the randomness of the path generation strategy, the rapid exploration of the unknown space is realized. The space exploration method based on enhanced randomness in the present disclosure only requires a small information processing capacity to implement, and only stores limited path-related information, and is applicable to lightweight embedded platforms.
[0039] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and do not limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] The above and other features and advantages of the present disclosure will become more apparent by referring to the accompanying drawings and describing its exemplary embodiments in detail.
[0041] Figure 1 FIG. shows a flowchart of a method for exploring an unknown space based on enhanced randomness according to an exemplary embodiment of the present disclosure;
[0042] Figure 2 FIG. shows another schematic diagram of a method for exploring an unknown space based on enhanced randomness according to an exemplary embodiment of the present disclosure;
[0043] Figures 3A - 3B FIG. shows a schematic diagram of an application scenario of a method for exploring an unknown space based on enhanced randomness according to an exemplary embodiment of the present disclosure;
[0044] Figure 4 FIG. shows a schematic block diagram of a device for exploring an unknown space based on enhanced randomness according to an exemplary embodiment of the present disclosure;
[0045] Figure 5 FIG. schematically shows a block diagram of an electronic device according to an exemplary embodiment of the present disclosure; and
[0046] Figure 6 FIG. schematically shows a schematic diagram of a computer-readable storage medium according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0047] Example embodiments will now be described more fully with reference to the accompanying drawings. However, the example embodiments can be implemented in various forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. Like reference numerals refer to like or similar parts throughout the figures, and thus their repeated description will be omitted.
[0048] In addition, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of the embodiments of the present disclosure. However, those skilled in the art will realize that the technical solutions of the present disclosure can be practiced without one or more of the specific details, or other methods, components, materials, devices, steps, etc. may be used. In other cases, well-known structures, methods, devices, implementations, materials, or operations are not shown or described in detail to avoid obscuring aspects of the present disclosure.
[0049] The block diagrams shown in the drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software form, or implemented in one or more software-hardened modules, or implemented in different networks and / or processor devices and / or microcontroller devices.
[0050] In the present exemplary embodiment, first, a method for exploring an unknown space based on enhanced randomness is provided; as shown in Figure 1 , the method for exploring an unknown space based on enhanced randomness may include the following steps:
[0051] End point determination step S110, obtaining the current position coordinates of the robot, comparing the current position coordinates with the preset end point coordinates, determining whether the robot has reached the end point, and if not, turning to the running mode judgment step;
[0052] Running mode judgment step S120, determining whether the current running mode of the robot is the first mode, if so, turning to the path duplicate check step, if not, turning to the obstacle detection step;
[0053] Path duplicate check step S130, determining the target point coordinates according to the current position coordinates of the robot, the end point coordinates, and the preset step size, generating a path from the current position coordinates of the robot to the target point coordinates, performing a duplicate check and retrieval on the path in the historical paths stored in the robot, if the historical paths stored in the robot include the path, then adjusting the running direction of the robot to the direction from the end point coordinates to the current position coordinates of the robot, and switching the current running mode of the robot from the first mode to the second mode, turning to the obstacle detection step;
[0054] Obstacle detection step S140, based on the detection module of the robot, detecting whether there are obstacles on the path from the current position coordinates of the robot to the target point coordinates, if so, turning to the direction offset step, if not, turning to the running mode random switching step;
[0055] Direction offset step S150, superimposing a preset offset amount on the running direction from the current position coordinates of the robot to the target point coordinates, generating a path of the robot based on the current position coordinates, the running direction with the preset offset amount superimposed, and the preset step size, and turning to the obstacle detection step;
[0056] Running mode random switching step S160, switching the second mode of the robot to the first mode according to a preset probability, and turning to the end point determination step.
[0057] An unknown space exploration method based on enhanced randomness in an exemplary embodiment of the present disclosure, wherein the method includes: presetting a first mode pointing to the end point and a second mode maintaining the current running direction, and enabling the robot to have a simple and easy path generation method through an end point determination step, a running mode judgment step, a path duplicate checking step, an obstacle detection step, a direction offset step, and a running mode random switching step. By introducing randomness into the path generation strategy, rapid exploration of the unknown space is achieved. The space exploration method based on enhanced randomness in the present disclosure can be implemented with only a small amount of information processing capability and only stores limited path-related information, and is suitable for lightweight embedded platforms.
[0058] Next, a method for exploring an unknown space based on enhanced randomness in this exemplary embodiment will be further described.
[0059] In the embodiment of this example, as Figure 2 shown, it is a detailed step flowchart of the present invention, and the application scenario of the robot is defined as follows: the described robot has a certain information processing capability (which can meet the computing requirements of the algorithm described in the present invention), a motion control capability, and an environment detection capability (such as being equipped with a lidar, a camera, and other sensing systems); the starting point coordinates (or equivalent information) and the final target point coordinates (or equivalent information) in the known space are known, but the connectivity relationship in the space is unknown (that is, information on how to get from the starting point to the target point cannot be obtained in advance).
[0060] In the end point determination step S110, the current position coordinates of the robot can be obtained, and the current position coordinates are compared with the preset end point coordinates to determine whether the robot has reached the end point. If the end point has not been reached, the process proceeds to the running mode judgment step.
[0061] In the embodiment of this example, the method further includes:
[0062] A preprocessing step of establishing a data storage space for the robot and presetting the running mode of the robot to the first mode.
[0063] In the embodiment of this example, the method further includes:
[0064] The first mode is to determine the target point coordinates according to the current position coordinates of the robot, the end point coordinates, and a preset step length, and generate a path from the current position coordinates of the robot to the target point coordinates;
[0065] The second mode is to determine the target point coordinates according to the current position coordinates of the robot, the current motion direction, and a preset step length, and generate a path from the current position coordinates of the robot to the target point coordinates.
[0066] In the embodiment of this example, a data storage space is opened up to store path information of a finite length (the specific length is determined according to the computing platform and the available storage space), including the X and Y coordinates and the forward direction of each discrete point of the path. Two working modes are set, namely the first mode and the first mode. The two modes can be quickly switched. The robot to be explored is stationary at the starting point, and the working mode is the first mode.
[0067] In the embodiment of this example, the end point determination step of the method further includes:
[0068] Obtain the current position coordinates of the robot, and compare the current position coordinates with the preset end point coordinates. If the current position coordinates are the same as the preset end point coordinates, it is determined that the robot has reached the end point;
[0069] Obtain the current position coordinates of the robot, and compare the current position coordinates with the preset end point coordinates. If the current position coordinates are within a preset range with the preset end point coordinates as the base point, it is determined that the robot has reached the end point.
[0070] In the running mode judgment step S120, it can be judged whether the current running mode of the robot is the first mode. If so, it turns to the path duplicate check step. If not, it turns to the obstacle detection step.
[0071] In the path duplicate check step S130, according to the current position coordinates, end point coordinates, and preset step length of the robot, the target point coordinates can be determined, a path from the current position coordinates of the robot to the target point coordinates can be generated, and the path is retrieved for duplicate check in the historical paths stored in the robot. If the historical paths stored in the robot include the path, the running direction of the robot is adjusted to the direction from the end point coordinates to the current position coordinates of the robot, and the current running mode of the robot is switched from the first mode to the second mode, and it turns to the obstacle detection step.
[0072] In the embodiment of this example, the path duplicate check step of the method further includes:
[0073] According to the current position coordinates, end point coordinates, and preset step length of the robot, the target point coordinates can be determined, a path from the current position coordinates of the robot to the target point coordinates can be generated, and the path is retrieved for duplicate check in the historical paths stored in the robot. If the historical paths stored in the robot include the path, the running direction of the robot is adjusted to the opposite direction of the current running direction, and the current running mode of the robot is switched from the first mode to the second mode, and it turns to the obstacle detection step.
[0074] In the obstacle detection step S140, based on the detection module of the robot, it is detected whether there are obstacles on the path of the robot from the current position coordinates to the target point coordinates. If there are, it turns to the direction offset step; if not, it turns to the step of randomly switching the operation mode.
[0075] In the embodiment of this example, the obstacle detection step of the method further includes:
[0076] Based on the detection module of the robot, it is detected whether the path of the robot from the current position coordinates to the target point coordinates has exceeded the preset boundary. If so, it turns to the direction offset step; if not, it turns to the step of randomly switching the operation mode.
[0077] In the embodiment of this example, the detection module of the robot is based on various sensors, including but not limited to cameras, radars, etc.
[0078] In the direction offset step S150, a preset offset amount can be superimposed on the operation direction from the current position coordinates of the robot to the target point coordinates to generate a path of the robot based on the current position coordinates, the operation direction with the superimposed preset offset amount, and the preset step length, and then it turns to the obstacle detection step.
[0079] In the embodiment of this example, in the direction offset step of the method, the mean value of the preset offset amount is 0, and the variance is the preset variance.
[0080] In the step of randomly switching the operation mode S160, the second mode of the robot can be switched to the first mode according to a preset probability, and then it turns to the end point determination step.
[0081] In the embodiment of this example, as Figures 3A - 3B , for the schematic diagrams of the exploration effects in simple scenarios and complex scenarios respectively based on the technical solution of the present invention, the present invention reduces the requirements for the data processing ability of the computing platform of the traditional genetic algorithm, and is easy to implement in low-power embedded computing platforms; reduces the data storage requirements, and only needs to record a limited number of path information according to the capabilities of its own platform; introduces randomness in the path generation method, reducing the possibility of falling into local optima.
[0082] It should be noted that although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that these steps must be executed in this specific order, or that all the shown steps must be executed to achieve the desired result. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step for execution, and / or one step can be decomposed into multiple steps for execution, etc.
[0083] In addition, in the present exemplary embodiment, a device for exploring an unknown space based on enhanced randomness is also provided. Refer to Figure 4 As shown, the device 400 for exploring an unknown space based on enhanced randomness may include: an end point determination module 410, an operation mode judgment module 420, a path duplicate check module 430, an obstacle detection module 440, a direction offset module 450, and an operation mode random switching module 460. Among them:
[0084] The end point determination module 410 is configured to obtain the current position coordinates of the robot, compare the current position coordinates with the preset end point coordinates, determine whether the robot reaches the end point, and if not, turn to the operation mode judgment module;
[0085] The operation mode judgment module 420 is configured to judge whether the current operation mode of the robot is the first mode. If so, turn to the path duplicate check module; if not, turn to the obstacle detection module;
[0086] The path duplicate check module 430 is configured to determine the target point coordinates according to the current position coordinates of the robot, the end point coordinates, and the preset step size, generate a path from the current position coordinates of the robot to the target point coordinates, perform a duplicate check and retrieval on the path in the historical paths stored in the robot. If the historical paths stored in the robot include the path, adjust the running direction of the robot to the direction from the end point coordinates to the current position coordinates of the robot, and switch the current operation mode of the robot from the first mode to the second mode, then turn to the obstacle detection module;
[0087] The obstacle detection module 440 is configured to detect, based on the detection module of the robot, whether there are obstacles on the path from the current position coordinates of the robot to the target point coordinates. If so, turn to the direction offset module; if not, turn to the operation mode random switching module;
[0088] The direction offset module 450 is configured to superimpose a preset offset amount on the running direction from the current position coordinates of the robot to the target point coordinates, generate a path of the robot based on the current position coordinates, the running direction with the preset offset amount superimposed, and the preset step size, and then turn to the obstacle detection module;
[0089] The operation mode random switching module 460 is configured to switch the second mode of the robot to the first mode according to a preset probability, and then turn to the end point determination module.
[0090] The specific details of each module of the device for exploring an unknown space based on enhanced randomness described above have been described in detail in the corresponding method for exploring an unknown space based on enhanced randomness, so they will not be elaborated here.
[0091] It should be noted that although several modules or units of an unknown space exploration device 400 based on enhanced randomness are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more of the above-described modules or units can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0092] In addition, in an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
[0093] Those skilled in the art can understand that various aspects of the present invention can be implemented as a system, a method, or a program product. Therefore, various aspects of the present invention can be specifically implemented in the following forms, namely: a complete hardware embodiment, a complete software embodiment (including firmware, microcode, etc.), or an embodiment combining hardware and software aspects, which can be collectively referred to as "circuit", "module", or "system" here.
[0094] Next, refer to Figure 5 to describe the electronic device 500 according to this embodiment of the present invention. Figure 5 The electronic device 500 shown is merely an example and should not impose any limitation on the functions and usage scope of the embodiments of the present invention.
[0095] As Figure 5 shown, the electronic device 500 is presented in the form of a general-purpose computing device. The components of the electronic device 500 may include, but are not limited to: at least one of the above-mentioned processing units 510, at least one of the above-mentioned storage units 520, a bus 530 connecting different system components (including the storage unit 520 and the processing unit 510), and a display unit 540.
[0096] Among them, the storage unit stores program code, and the program code can be executed by the processing unit 510, so that the processing unit 510 executes the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of this specification. For example, the processing unit 510 can execute steps S110 to S160 as Figure 1 shown.
[0097] The storage unit 520 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 5201 and / or a cache storage unit 5202, and may further include a read-only storage unit (ROM) 5203.
[0098] The storage unit 520 may also include a program / utility 5204 having a set (at least one) of program modules 5203. Such program modules 5205 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment.
[0099] The bus 550 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus structures.
[0100] The electronic device 500 may also communicate with one or more external devices 570 (such as a keyboard, a pointing device, a Bluetooth device, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 500, and / or may communicate with any device that enables the electronic device 500 to communicate with one or more other computing devices (such as a router, a modem, etc.). Such communication may be carried out through the input / output (I / O) interface 550. Moreover, the electronic device 500 may also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through the network adapter 560. As shown in the figure, the network adapter 560 communicates with other modules of the electronic device 500 through the bus 550. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 500, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0101] Through the description of the above embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software or in a manner of software combined with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which may be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
[0102] In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium, on which a program product capable of implementing the above methods of this specification is stored. In some possible embodiments, various aspects of the present invention can also be implemented in the form of a program product, which includes program code. When the program product runs on a terminal device, the program code is used to cause the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of this specification.
[0103] Referring Figure 6 As shown, a program product 600 for implementing the above method according to an embodiment of the present invention is described. It can be a portable compact disc read-only memory (CD-ROM) and includes program code, and can run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited to this. In this document, a readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device.
[0104] The program product can adopt any combination of one or more readable media. A readable medium can be a readable signal medium or a readable storage medium. A readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (non-exhaustive list) of a readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0105] A computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which the readable program code is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A readable signal medium can also be any readable medium other than a readable storage medium, and this readable medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device.
[0106] The program code contained on the readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination of the above.
[0107] The program code for performing the operations of the present invention can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and also including conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, executed as a stand-alone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or, it can be connected to an external computing device (e.g., by using an Internet service provider to connect through the Internet).
[0108] In addition, the above-mentioned drawings are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present invention, rather than for limiting purposes. It is easy to understand that the processes shown in the above-mentioned drawings do not indicate or limit the chronological order of these processes. Additionally, it is also easy to understand that these processes can be executed, for example, synchronously or asynchronously in multiple modules.
[0109] Those skilled in the art will readily think of other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include well-known common general knowledge or conventional technical means in the technical field not disclosed in the present disclosure. The specification and embodiments are only regarded as exemplary, and the true scope and spirit of the present disclosure are pointed out by the claims.
[0110] It should be understood that the present disclosure is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is only limited by the appended claims.
Claims
1. A method for exploring unknown space based on enhanced randomness, characterized in that, the method includes: An end point determination step, obtaining the current position coordinates of the robot, and comparing the current position coordinates with preset end point coordinates to determine whether the robot has reached the end point. If the robot has not reached the end point, it turns to the running mode judgment step; A running mode judgment step, judging whether the current running mode of the robot is the first mode. If so, it turns to the path duplicate check step. If not, it turns to the obstacle detection step; A path duplicate check step, according to the current position coordinates of the robot, the end point coordinates, and a preset step length, determining the target point coordinates, generating a path from the current position coordinates of the robot to the target point coordinates, and performing a duplicate check and retrieval on the path in the historical paths stored in the robot. If the historical paths stored in the robot include the path, the running direction of the robot is adjusted to the direction from the end point coordinates to the current position coordinates of the robot, and the current running mode of the robot is switched from the first mode to the second mode, then it turns to the obstacle detection step; An obstacle detection step, based on the detection module of the robot, detecting whether there are obstacles on the path from the current position coordinates of the robot to the target point coordinates. If there are, it turns to the direction offset step. If not, it turns to the running mode random switching step; A direction offset step, superimposing a preset offset amount on the running direction from the current position coordinates of the robot to the target point coordinates, generating a path of the robot based on the current position coordinates, the running direction with the superimposed preset offset amount, and the preset step length, and then turning to the obstacle detection step; A running mode random switching step, switching the second mode of the robot to the first mode according to a preset probability, and then turning to the end point determination step.
2. The method according to claim 1, characterized in that, the method further includes: A preprocessing step, establishing a data storage space for the robot and presetting the running mode of the robot as the first mode.
3. The method according to claim 1, characterized in that, the method further includes: The first mode is to determine the target point coordinates according to the current position coordinates of the robot, the end point coordinates, and a preset step length, and generate a path from the current position coordinates of the robot to the target point coordinates; The second mode is to determine the target point coordinates according to the current position coordinates of the robot, the current movement direction, and a preset step length, and generate a path from the current position coordinates of the robot to the target point coordinates.
4. The method according to claim 1, characterized in that, the end point determination step of the method further includes: Obtaining the current position coordinates of the robot, and comparing the current position coordinates with the preset end point coordinates. If the current position coordinates are the same as the preset end point coordinates, it is determined that the robot has reached the end point; Obtaining the current position coordinates of the robot, and comparing the current position coordinates with the preset end point coordinates. If the current position coordinates are within a preset range with the preset end point coordinates as the base point, it is determined that the robot has reached the end point.
5. The method according to claim 1, characterized in that, the path duplicate check step of the method further includes: Determine the target point coordinates according to the current position coordinates, end point coordinates, and preset step size of the robot, generate a path from the current position coordinates of the robot to the target point coordinates, and perform duplicate checking and retrieval on the path in the historical paths stored in the robot. If the historical paths stored in the robot include the path, then adjust the running direction of the robot to the opposite direction of the current running direction, and switch the current running mode of the robot from the first mode to the second mode, and turn to the obstacle detection step.
6. The method according to claim 1, wherein, the obstacle detection step of the method further includes: Based on the detection module of the robot, detect whether the path of the robot from the current position coordinates to the target point coordinates has exceeded a preset boundary. If so, turn to the direction offset step; if not, turn to the running mode random switching step.
7. The method according to claim 1, wherein, in the direction offset step of the method, the mean value of the preset offset amount is 0, and the variance is a preset variance.
8. An unknown space exploration device based on enhanced randomness, wherein, the device includes: An end point determination module, configured to obtain the current position coordinates of the robot, compare the current position coordinates with the preset end point coordinates, and determine whether the robot has reached the end point. If the robot has not reached the end point, then turn to the running mode determination module; A running mode determination module, configured to determine whether the current running mode of the robot is the first mode. If so, turn to the path duplicate checking module; if not, turn to the obstacle detection module; A path duplicate checking module, configured to determine the target point coordinates according to the current position coordinates, end point coordinates, and preset step size of the robot, generate a path from the current position coordinates of the robot to the target point coordinates, and perform duplicate checking and retrieval on the path in the historical paths stored in the robot. If the historical paths stored in the robot include the path, then adjust the running direction of the robot to the direction from the end point coordinates to the current position coordinates of the robot, and switch the current running mode of the robot from the first mode to the second mode, and turn to the obstacle detection module; An obstacle detection module, configured to, based on the detection module of the robot, detect whether there is an obstacle on the path of the robot from the current position coordinates to the target point coordinates. If there is an obstacle, then turn to the direction offset module; if not, turn to the running mode random switching module; A direction offset module, configured to superimpose a preset offset amount on the running direction from the current position coordinates of the robot to the target point coordinates, generate a path of the robot based on the current position coordinates, the running direction superimposed with the preset offset amount, and the preset step size, and turn to the obstacle detection module; A running mode random switching module, configured to switch the second mode of the robot to the first mode according to a preset probability, and turn to the end point determination module.
9. An electronic device, wherein, includes a processor; and a memory, on which computer-readable instructions are stored, and when the computer-readable instructions are executed by the processor, the method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Data-driven path planning method for unmanned underwater vehicle
CN111721296A
Scene reconstruction data acquisition method and device, computer equipment and storage medium
CN112884894A