Method, device and storage medium for moving a self-moving device

By comparing obstacles on the self-moving device and generating a safe zone map, the problem of incorrect obstacle avoidance in areas known to the user is solved, improving the device's intelligence and user experience, and ensuring that the device operates efficiently in a safe zone.

CN122111010APending Publication Date: 2026-05-29SHENZHEN MAMMOTION INNOVATION CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN MAMMOTION INNOVATION CO LTD
Filing Date
2026-02-24
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

The autonomous mobile device has a functional separation between the map building and autonomous operation phases, which causes the device to incorrectly avoid obstacles in areas that are known to be passable by the user, affecting the device's usability and user experience.

Method used

By recognizing obstacles in the self-moving device and comparing them with obstacles on the map, it determines whether the current obstacle is an obstacle in a known safe area. If confirmed, the obstacle is ignored and the device continues to move. The system combines user control intent information to generate a safe area map, ensuring that the device moves efficiently in a safe area.

Benefits of technology

It reduces erroneous obstacle avoidance behavior of the device in areas known to the user, improves the intelligence of the device and the user experience, and ensures that the device operates efficiently in safe areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122111010A_ABST
    Figure CN122111010A_ABST
Patent Text Reader

Abstract

The application relates to the technical field of mobile robot navigation, and discloses a mobile method of a self-moving device, the device and a storage medium. The method comprises the following steps: controlling the self-moving device to travel, and acquiring the current position of the self-moving device in the process of traveling; if the self-moving device identifies a first obstacle under the condition that a first preset condition is met between the current position and a safe area in a map, determining whether the first obstacle and a second obstacle in the map are the same obstacle; and if it is determined that the first obstacle and the second obstacle are the same obstacle, controlling the self-moving device to ignore the first obstacle and continue traveling. The technical scheme in the application improves the intelligence and user experience of the device, reduces the false obstacle avoidance behavior in the known passable area of the user, and ensures that the device can efficiently travel in the safe area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of mobile robot navigation technology, specifically to a method, device, and storage medium for moving a self-moving device. Background Technology

[0002] In the field of autonomous mobile devices, particularly lawnmower systems, a clear functional separation exists in the two key stages of map building and autonomous operation. During the user-guided mapping phase, the system mechanically records the remote control trajectory, completely ignoring obstacle data acquired by the device's own sensing modules, resulting in simplistic map information lacking contextual understanding. In the autonomous operation phase, the system over-relies on real-time sensor input, indiscriminately classifying any detected object as an obstacle, thus limiting the device's practicality and user experience. Summary of the Invention

[0003] This application provides a method, device, and storage medium for moving an independent mobile device, which improves the intelligence of the device and the user experience, reduces erroneous obstacle avoidance behavior in areas known to the user, and ensures that the device moves efficiently in a safe area.

[0004] In a first aspect, this application provides a method for moving a self-moving device, the technical solution of which is as follows: controlling the self-moving device to drive, and obtaining the current position of the self-moving device during the driving process; if the self-moving device identifies a first obstacle when the current position and a safe area in the map meet a first preset condition, then determining whether the first obstacle and a second obstacle in the map are the same obstacle, wherein the second obstacle is the obstacle in the map corresponding to the safe area; if it is determined that the first obstacle and the second obstacle are the same obstacle, then controlling the self-moving device to ignore the first obstacle and continue driving.

[0005] Secondly, this application provides a mobile device for a self-moving device, the device comprising: a positioning module, used to control the self-moving device to drive and obtain the current position of the self-moving device during driving; an identification module, used to determine whether the first obstacle and a second obstacle in the map are the same obstacle if the self-moving device identifies a first obstacle when a first preset condition is met between the current position and a safe area in the map, wherein the second obstacle is an obstacle in the map corresponding to the safe area; and an obstacle-crossing module, used to control the self-moving device to ignore the first obstacle and continue driving if it is determined that the first obstacle and the second obstacle are the same obstacle.

[0006] Thirdly, this application provides a self-moving device, including: a memory and a processor, which are communicatively connected to each other. The memory stores computer instructions, and the processor executes the computer instructions to perform the self-moving method of the self-moving device described in the first aspect or any corresponding embodiment.

[0007] Fourthly, this application provides a computer-readable storage medium storing computer instructions for causing a computer to perform the moving method of the self-moving device according to the first aspect or any corresponding embodiment described above.

[0008] Fifthly, this application provides a computer program product, including computer instructions for causing a computer to execute the self-moving method of the first aspect or any corresponding embodiment thereof.

[0009] The self-moving method provided in this application solves the problem of the device erroneously avoiding known obstacles in areas known to the user during autonomous operation by determining whether the current location is in a safe area and ignoring known obstacles. This improves the intelligence of the device and the user experience, reduces erroneous obstacle avoidance behavior in areas known to the user, and ensures that the device moves efficiently in a safe area. Attached Figure Description

[0010] To more clearly illustrate the technical solutions in the specific embodiments of this application or the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0011] Figure 1 This is a schematic flowchart of a first method for moving a self-moving mobile device according to an embodiment of this application; Figure 2 This is a schematic diagram of a first step in generating a map according to an embodiment of this application; Figure 3 This is a second flowchart illustrating the steps of generating a map according to an embodiment of this application; Figure 4 This is a schematic diagram of the third step in generating a map according to an embodiment of this application; Figure 5 This is a second flowchart illustrating a method for moving a self-moving mobile device according to an embodiment of this application; Figure 6 This is a structural block diagram of a mobile device of a self-moving device according to an embodiment of this application; Figure 7This is a schematic diagram of the hardware structure of the self-moving device according to an embodiment of this application. Detailed Implementation

[0012] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0013] It is understood that before using the technical solutions disclosed in the various embodiments of this application, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this application in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0014] The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, "multiple" means two or more, unless otherwise explicitly specified.

[0015] Autonomous robots in related technologies, especially in the field of lawnmowers, suffer from a logical disconnect between map creation and autonomous operation. During map creation, the system only records the user's remote control trajectory, ignoring perceived obstacles. However, during autonomous operation, the system relies entirely on its own perception, identifying areas the user had intentionally guided through as obstacles and triggering obstacle avoidance. This makes the robot appear "dumb" and "rigid," contradicting the user's initial intentions and causing confusion and frustration.

[0016] In response, this application proposes a method for moving a self-moving device. For example... Figure 1 As shown, the method includes: Step S101: Control the self-moving device to drive, and obtain the current location of the self-moving device during the driving process.

[0017] Among them, self-moving devices refer to devices with autonomous movement capabilities, such as lawn mowing robots, sweeping robots, and delivery robots, which can move according to preset paths or real-time sensing information.

[0018] Current location refers to the geographic coordinates or spatial location of an active mobile device at a given moment, typically obtained through a Global Positioning System (GPS), Inertial Measurement Unit (IMU), or other positioning sensors.

[0019] Specifically, the self-moving device is controlled to travel. This travel can be based on a pre-set path or autonomously planned according to real-time environmental information. While traveling, the self-moving device's current location information is continuously acquired. The current location can be acquired in various ways, such as using a Global Positioning System (GPS) module to receive satellite signals for positioning, or estimating it using an internal odometer combined with a heading sensor. Alternatively, the user can specify the device's initial position on the user interface and calculate it based on the distance the device has traveled.

[0020] Step S102: If the first preset condition is met between the current location and the safe area in the map, and the mobile device detects the first obstacle, it is determined whether the first obstacle and the second obstacle in the map are the same obstacle, wherein the second obstacle is the obstacle in the map that corresponds to the safe area.

[0021] A map is an electronic data structure used to represent the working environment of a self-moving device, which may include path information, area divisions, obstacle locations, etc.

[0022] A safe zone is a specific area on a map that is marked as a passageway for mobile devices, even if obstacles are perceived within that area, they may be allowed to be ignored. This area is generated based on specific user actions or historical data during the mapping phase.

[0023] The first preset condition refers to one or a set of conditions used to determine the relationship between the current location of the self-moving device and the safe area, such as whether the current location is within the safe area, or whether the distance between the current location and the safe area is less than a certain threshold.

[0024] The first obstacle refers to any object that may impede the movement of an autonomous mobile device, detected in real time by its perception system (such as cameras, radar, ultrasonic sensors, etc.) during autonomous driving.

[0025] The second type of obstacle refers to known obstacle information that is associated with and stored in the map as a safe zone. These obstacles are typically those that the user intentionally guided their mobile device through during the map creation phase and that were recorded by the system.

[0026] Specifically, when the current location of the self-moving device meets a first preset condition with respect to a pre-defined safe area on the map, the system will enter a specific processing mode. This first preset condition can be set, for example, the distance between the coordinates of the self-moving device's current location and the center point of the safe area is less than a fixed value. In this mode, if the self-moving device detects a first obstacle in the environment through its onboard perception system, it will initiate the identification and comparison process for that obstacle. This first obstacle can be any physical entity detected in front of the self-moving device. Subsequently, the system will determine whether the real-time identified first obstacle is the same obstacle as a second obstacle associated with the safe area on the map. The second obstacle is obstacle information pre-stored in the map and bound to a specific safe area. The determination process can employ various methods, such as comparing the basic physical dimensions or approximate outline information of the first and second obstacles, or matching them using preset simple identifiers.

[0027] Step S103: If it is determined that the first obstacle and the second obstacle are the same obstacle, then control the self-moving device to ignore the first obstacle and continue driving.

[0028] Specifically, once the system determines that the first obstacle identified in real time is the same obstacle as the second obstacle stored in the map, the self-moving device will ignore the first obstacle and continue its original driving task. Ignoring the obstacle means that the self-moving device will not trigger conventional obstacle avoidance mechanisms, such as stopping, detouring, or changing its path. Instead, the self-moving device will maintain its established driving trajectory and speed, directly passing through the first obstacle that is identified as known and permitted. For example, the self-moving device may be instructed to maintain its current driving direction and speed, or to pass through the area where the obstacle is located according to a preset low-speed passing strategy.

[0029] It is understandable that, through the above methods, self-moving devices can intelligently identify and ignore known obstacles within the safe area of ​​the map that are permitted by the user during autonomous operation. This effectively solves the problem of frequent obstacle avoidance errors caused by the disconnect between perception and user intent in traditional robots, avoiding unnecessary stagnation or detours. This allows self-moving devices to complete tasks more smoothly and efficiently, improving the user experience and making robot behavior more consistent with the user's original intention in mapping, demonstrating higher intelligence and adaptability. In some of the embodiments described above in this application, a map generation step is proposed to create a map containing safe areas to support the movement method of the self-moving device. However, in its implementation, the map generation stage fails to automatically capture the conflict area between the user's control intention and the machine's perception of obstacles, so that the safe area cannot accurately reflect the passage section permitted by the user. This results in the inability to intelligently distinguish between known permitted obstacles and newly added dangerous obstacles during subsequent movement, thereby causing problems such as accidental obstacle avoidance or passage failure.

[0030] In some embodiments, this application further proposes a step for generating a map, such as... Figure 2 As shown, it includes: Step S201: During the stage when the user controls the self-moving device to drive, obtain the user's control intention information and collect obstacle information.

[0031] Specifically, during the user-controlled movement of the self-moving device, the system acquires user control intent information and simultaneously collects obstacle information. Acquiring user control intent information means that when the user operates the self-moving device via a remote control, mobile app, or other interactive interface, the system records the user's commands, such as forward, backward, left turn, and right turn. This can be achieved by listening to the self-moving device's drive commands, parsing user interface input, or analyzing user operation behavior patterns. For example, it can record forward commands issued by the user through a physical joystick or virtual button, or infer the user's control intent by analyzing the user's swipe trajectory on the screen. Simultaneously, collecting obstacle information means that the self-moving device uses its onboard perception system, such as LiDAR, ultrasonic sensors, and cameras, to detect objects in the surrounding environment in real time and identify them as obstacles. For example, LiDAR can provide precise distance and shape information, ultrasonic sensors can detect nearby objects, and cameras combined with image processing algorithms can identify specific types of obstacles. By simultaneously acquiring these two types of information, the system can establish a correlation between user operations and environmental perception.

[0032] In step S202, if the user control intent information and obstacle information meet the second preset conditions, the current driving segment of the self-moving device is determined as a conflict segment.

[0033] Specifically, if the user's control intent information and obstacle information meet the second preset condition, the current travel segment of the self-moving device is identified as a conflict segment. The second preset condition is crucial in determining whether there is a conflict between the user's intent and the machine's perception. This condition is typically set as follows: when the self-moving device perceives an obstacle ahead, the user continues to issue forward commands, and the self-moving device actually passes through the segment containing the obstacle under the user's control. For example, the second preset condition may include: the self-moving device identifies an obstacle ahead through the perception system, and the user continuously issues forward commands to the self-moving device, and the duration or effective distance of these forward commands exceeds a preset threshold, indicating that the user intends to forcibly pass through the obstacle. Alternatively, the second preset condition may be set as follows: when the self-moving device triggers obstacle avoidance or deceleration logic due to obstacle perception, the user manually intervenes (such as forcibly accelerating or disengaging obstacle avoidance) to allow the self-moving device to continue traveling along the original path. Segments that meet these conditions are marked as conflict segments, indicating that the segment is an area that the user chose to pass through despite knowing there was an obstacle.

[0034] Step S203 generates a safe zone on the map based on the conflicting road sections.

[0035] Specifically, once conflict zones are identified, the system creates or updates safe zones on the map based on these zones. Methods for generating safe zones can include geometrically merging all areas marked as conflict zones to form one or more contiguous areas, which are then defined as safe zones. For example, contiguous conflict zones can be clustered, and then an electronic fence or polygonal area covering the extent of each cluster can be created as a safe zone. These safe zones are stored in the map data and associated with corresponding obstacle information to form an obstacle information layer, which can then be accessed and referenced by mobile devices in subsequent autonomous operation phases.

[0036] It is understood that, through the above technical solution, this application, during the map generation stage, can simultaneously acquire user control intent information and collect obstacle information, thereby capturing in real time the user's intended passage when facing perceived obstacles. When the user control intent information and obstacle information meet the second preset condition, that is, when the user chooses to continue driving despite perceiving an obstacle, the system can intelligently identify and determine the driving segment as a conflict segment. Based on this, safe zones are generated in the map according to these conflict segments, thereby transforming the user's experience of "forcibly passing" during the mapping stage into a machine-understandable "permission" instruction and embedding it in the map. This effectively solves the problem of logical separation between user intent and machine perception in traditional methods, enabling the safe zones in the map to accurately reflect the user-permitted passage segments. Therefore, during subsequent autonomous movement, the self-moving device can intelligently distinguish and ignore "known obstacles" that have been permitted by the user based on these preset safety zones, while still being able to react promptly to "unknown or newly added dangerous obstacles," thereby avoiding unnecessary obstacle avoidance or passage failure and improving the self-moving device's autonomous passage capability and user experience in complex environments. In some embodiments of this application, it is proposed to acquire user control intent information and obstacle information during the user control phase, and determine conflict segments when a second preset condition is met, in order to generate a safe area. However, in its implementation, the specific implementation method of the second preset condition is not clearly defined, which may lead to the system being unable to accurately determine whether the user insists on controlling the device to continue driving despite knowing that an obstacle exists. This makes it impossible to reliably identify the user's intention to forcibly pass through the obstacle, thereby affecting the accurate marking of conflict segments and the effective generation of safe areas.

[0037] In some embodiments, this application further proposes a step for generating a map, such as... Figure 3 As shown, it includes: Step S301: During the user-controlled self-moving device phase, user control intent information is acquired, and obstacle information is collected. (See details...) Figure 2 Step S201 in the embodiment will not be described again here.

[0038] Step S302: If the user control intent information and obstacle information meet the second preset condition, then the current travel segment of the self-moving device is determined as a conflict segment, specifically including: In step S3021, if the user continues to control the self-moving device to drive even after the self-moving device has detected a second obstacle, the road segment corresponding to the second obstacle is marked as a conflict road segment.

[0039] "In the case where the self-moving device detects a second obstacle" means that the self-moving device detects the presence of a second obstacle in the environment through its perception system. Specifically, the self-moving device can capture environmental images through its onboard visual sensors (such as cameras) and use image processing algorithms or deep learning models to identify and classify objects in its field of view, thereby determining the presence and location of the second obstacle. Furthermore, the self-moving device can also use LiDAR or ultrasonic sensors to scan the surrounding environment, detecting and locating the second obstacle by analyzing point cloud data or sound wave reflection signals. Further, the self-moving device can also combine data from multiple sensors for fusion perception, such as combining visual information with radar information, to improve the accuracy and robustness of second obstacle identification.

[0040] "User still controls the self-moving device to continue moving" means that the user actively issues commands to keep the self-moving device moving even after it has detected a second obstacle. For example, the user can send continuous forward commands to the self-moving device via a remote control or mobile application, such as long-pressing the forward button or continuously sliding the virtual joystick, even if the device has issued an obstacle warning. Alternatively, after the self-moving device stops or slows down due to the detection of a second obstacle, the user can actively send forward commands again, such as clicking the "force through" button or repeating the forward operation, to instruct the device to continue moving. The system can also monitor the frequency and duration of the user continuously sending forward commands within a certain period of time (e.g., within 3 seconds) after detecting a second obstacle. If this exceeds a preset threshold, it is determined that the user is still controlling the device to continue moving.

[0041] "Marking the road segment corresponding to the second obstacle as a conflict road segment" means that after confirming the user's intent, the system specially identifies the road segment currently occupied by the mobile device that is related to the second obstacle. Specifically, the system can obtain the real-time location and trajectory of the mobile device when it recognizes the second obstacle and is forced to pass by the user, mark the location point or trajectory segment in the map data structure, and associate it with the information of the second obstacle to form a conflict road segment record. Alternatively, the system can calculate an area containing the obstacle and its surrounding safety margin based on the geometry and location information of the second obstacle, combined with the size and direction of travel of the mobile device, and mark this area as a conflict road segment on the map. In the map database, a unique identifier can be created for each recognized second obstacle. When conditions are met, this identifier is associated with the road segment information currently being traveled by the mobile device (e.g., the coordinates of the start and end points of the road segment or the road segment ID), thereby marking the conflict road segment.

[0042] Step S303 generates safe zones on the map based on the conflicting road sections. See details... Figure 2 Step S203 in the embodiment will not be repeated here.

[0043] It is understood that, through the above technical solution, this application precisely defines the implementation method of the second preset condition, effectively solving the problem that the system cannot reliably identify the user's intention to forcibly pass through obstacles. Specifically, by requiring the self-moving device to first identify the second obstacle, the system ensures its perception of potential conflicts; simultaneously, by determining that the user continues to control the device to move forward at this time, the system directly captures the user's clear intention to knowingly proceed despite the existence of obstacles. This avoids misjudgments caused by ambiguous conditions, enabling the system to accurately convert user intentions into operable conflict area identifiers, thus providing accurate input for the subsequent generation of reliable safe areas. It ensures that during the autonomous operation phase, the self-moving device can intelligently ignore these known obstacles that the user has permitted to pass through, while still being able to react promptly to unknown or newly added dangerous obstacles (such as a suddenly appearing pet), improving the user experience and the device's intelligence level, making the behavior of the self-moving device more consistent with the user's initial teaching intentions. In some of the embodiments described above in this application, it is proposed that if the user continues to drive even after the mobile device has detected a second obstacle, the conflict section should be marked. However, in its implementation, how to specifically define the user's control behavior to accurately capture the user's intention to forcibly pass through the obstacle, avoid misjudgment or omission of conflict sections, and ensure reliable identification of the user's permitted passage area is a challenge.

[0044] In some embodiments, this application further proposes that if the user continues to control the self-moving device even after it detects a second obstacle, the road segment corresponding to the second obstacle will be marked as a conflict road segment, including: Step a1: As the self-moving device moves forward in response to the user's forward command, it identifies the second obstacle through the perception system.

[0045] Specifically, the process of a self-moving device responding to a user's forward command to move forward refers to the self-moving device, upon receiving a forward command from the user via an external device (e.g., a remote control, a mobile application) or the device itself (e.g., physical buttons, a touchscreen), driving its motion mechanism (e.g., a motor, wheels) to move in a preset direction. For example, a user can send a continuous forward signal to the self-moving device via a joystick or button on a handheld remote control. Upon receiving this signal, the self-moving device's internal motion control unit will parse the command and drive the device forward. As another example, a user can send a forward command to the self-moving device via a virtual joystick or forward button on a mobile app, and the device will receive and execute the command via a wireless communication module.

[0046] Step a2: If the mobile device still receives a forward command from the user after recognizing the second obstacle, then the road segment corresponding to the second obstacle is marked as a conflict road segment.

[0047] Specifically, when a self-moving device identifies a second obstacle through its sensing system, it means that the device uses its various onboard sensors to detect and locate potential obstacles in the surrounding environment. Furthermore, if the self-moving device receives a continued forward command from the user after identifying a second obstacle, it means that even though the sensing system has detected the second obstacle and may trigger obstacle avoidance logic, the user explicitly indicates that they want the device to continue moving forward. For example, after identifying a second obstacle, the self-moving device may emit a warning sound or display a warning message on the user interface, but the user can explicitly instruct the device to continue moving forward by continuously pressing the forward button, continuously pushing the remote control joystick, or confirming the forward command again after receiving the warning. Another example is that after identifying a second obstacle, the self-moving device may temporarily stop or slow down. If the user then actively issues a forward command again, it indicates that the user intends to forcibly pass through the obstacle. Marking the road segment corresponding to the second obstacle as a conflict section means that the self-moving device converts the user's act of forcibly passing through the second obstacle into recognizable passage permission information on the map. For example, after determining that the user intends to forcibly pass through a second obstacle, the self-moving device uploads its current location information, the identification information of the second obstacle, and the path taken to the map management module. Based on this information, the map management module marks the area where the second obstacle is located or the route traversed by the self-moving device on the map as a "conflict section" or a "user-permitted passage area," and stores this information in association with the second obstacle. Alternatively, this marking could be a regional marker, such as generating a rectangular or circular area centered on the self-moving device's current location and considering the size of the second obstacle, and setting its attribute to "conflict."

[0048] It is understood that, through the above technical solution, this application can accurately capture the user's instruction to continue moving forward after perceiving an obstacle, thereby accurately identifying the user's intention to forcibly pass through the obstacle. This solution ensures that the behavior originates from the user's intention rather than autonomous operation by limiting the initial state of the device's movement under the direct control of the user, thus avoiding misjudging non-user-driven scenarios as conflicts. Simultaneously, the device's perception system confirms the existence of the obstacle, providing a real-time perception basis for subsequent judgments and preventing the omission of potential conflicts. Furthermore, by determining whether the user still issues a forward instruction after recognizing the obstacle, the application accurately captures the user's intention to continue moving forward, indicating that the user is aware of the obstacle but still allows passage, solving the key problem of distinguishing between user permission and machine-perceived conflict. This avoids misjudging unintentionally issued forward instructions by the user as forced passage and also avoids omitting areas where the user has explicitly permitted passage. By translating clear user intent into machine-recognizable conflict zone markers, the autonomous mobile device can accurately ignore these "known and permitted" obstacles during the autonomous operation phase. This improves the device's intelligence and user experience, enabling it to more flexibly adapt to the user's specific needs during the mapping phase. It avoids frequent obstacle avoidance or downtime caused by misjudging obstacles, thereby improving operational efficiency and user satisfaction. In some embodiments described above, a method for generating safe zones based on conflicting road segments is proposed to convert user forced passage behavior into passage permission instructions. However, in its implementation, conflicting road segments may be scattered or discontinuous, leading to low efficiency in safe zone creation, map redundancy, and inconsistent zone management. To address this, this application further proposes a map generation step, such as... Figure 4 As shown, it includes: Step S401: During the user-controlled self-moving device phase, user control intent information is acquired, and obstacle information is collected. (See details...) Figure 2 Step S201 in the embodiment will not be described again here.

[0049] Step S402: If the user control intent information and obstacle information meet the second preset condition, then the current travel segment of the self-moving device is determined as a conflict segment, specifically including: Step S4021: If the user continues to control the self-moving device to drive even after it detects a second obstacle, the road segment corresponding to the second obstacle is marked as a conflict road segment. See details. Figure 3 Step S3021 in the embodiment will not be described again here.

[0050] Step S403: Generate safe zones on the map based on the conflict sections, specifically including: Step S4031: Cluster the conflicting road segments to obtain several cluster sets.

[0051] Specifically, to address the issue of scattered conflict road segments, this application first clusters the conflict road segments to obtain several cluster sets. Clustering refers to the process of grouping data points (in this case, conflict road segments) with similar characteristics or spatial proximity together. Its purpose is to integrate scattered and potentially discontinuous conflict road segments into a more cohesive area, thereby facilitating the subsequent creation and management of safe zones. In practice, clustering can be implemented in various ways. For example, clustering can be based on spatial distance, using algorithms such as DBSCAN and K-Means, clustering conflict road segments according to the proximity of their geographical coordinates or geometric shapes, grouping conflict road segments whose distance is less than a certain preset threshold into the same cluster set. Alternatively, clustering can be based on connectivity, identifying interconnected or continuous conflict road segments on the map, and merging these continuous segments into a single cluster set. For example, if two conflict road segments have a passable path and are relatively close, they are considered to belong to the same cluster.

[0052] Step S4032: Create an electronic fence covering the area where each cluster is located for each cluster set, resulting in several security zones.

[0053] Specifically, after obtaining the cluster sets, this application creates electronic fences covering the area of ​​each cluster set, thereby obtaining several safe zones. An electronic fence is a virtual geographical boundary used to define a specific area. Here, electronic fences are created for the clustered conflict road segment sets to explicitly delineate these integrated conflict areas as "safe zones," i.e., areas where users have allowed self-moving devices to pass. This enables self-moving devices to recognize and follow these preset access permissions during autonomous operation. The methods for creating electronic fences can include, but are not limited to: for each cluster set, the minimum bounding rectangle, minimum bounding circle, or minimum convex hull of all its conflict road segments can be calculated as the boundary of the electronic fence, effectively covering the entire cluster area; alternatively, a certain width can be extended to both sides along the conflict road segments in the cluster set to form a strip-shaped or polygonal area as the electronic fence. This method can more accurately fit the shape of the conflict road segments and reduce unnecessary coverage.

[0054] Step S4033: Bind and store the corresponding second obstacle to each safe area in the map to generate an obstacle information layer.

[0055] Specifically, this application also binds and stores corresponding second obstacles to each safe zone in the map and generates an obstacle information layer. Binding and storing the corresponding second obstacles and generating the obstacle information layer is to associate the actual obstacle information encountered by the user during the mapping phase ("forced passage") with the newly created safe zone. In this way, when the mobile device enters the safe zone for autonomous operation, it can identify and ignore known obstacles (i.e., second obstacles) that have been permitted by the user based on this layer information, thereby avoiding unnecessary obstacle avoidance behavior. The binding and storage can be implemented by: adding an attribute field to each safe zone object in the map data structure, which stores a list or set containing unique identifiers or detailed characteristics (such as location, size, type, etc.) of all second obstacles corresponding to that safe zone; or, creating a separate "obstacle permission layer" that is overlaid on the safe zone layer on the map. When a safe zone is defined, the information of the second obstacles identified within that zone (e.g., their coordinates, shape, perception features, etc.) is stored in this permission layer and logically associated with the corresponding safe zone.

[0056] It is understood that, through the above technical solutions, this application effectively solves the problems of low efficiency in creating safe zones, map redundancy, and inconsistent area management caused by the dispersion or discontinuity of conflict road segments. By clustering conflict road segments, the originally scattered conflict points or short road segments are integrated into a more holistic cluster set, significantly improving the efficiency of safe zone generation and avoiding the computational burden of processing each small conflict road segment individually. On this basis, an electronic fence is created for the cluster set, ensuring the continuity and integrity of the safe zones, reducing map redundancy, and making the boundaries of the safe zones clearer and easier to manage. At the same time, binding the second obstacle information with the safe zone and generating an obstacle information layer enables the autonomous mobile device to quickly and accurately identify and ignore known obstacles that the user has permission to pass through in these specific safe zones during autonomous operation, thereby avoiding unnecessary obstacle avoidance behavior and improving the smoothness of operation and user experience. It not only optimizes the structured management of the map, but also enables the user's "forced passage" intention during map building to be more accurately and efficiently converted into a machine-understandable "permission" instruction, thereby improving the autonomous operation capability and intelligence level of the autonomous mobile device in complex environments. In some of the embodiments described above in this application, a method is proposed to determine whether a first obstacle and a second obstacle are the same obstacle in order to ignore known obstacles and continue driving in a safe area. However, in its implementation, there are defects in how to specifically and accurately implement this determination, which may lead to inaccurate determination or low efficiency, affecting the passage of the device in the user-permitted area.

[0057] In some embodiments, this application further proposes a method for moving a self-moving device, such as... Figure 5 As shown, the method includes: Step S501: Control the self-moving device to move, and obtain the current location of the self-moving device during the movement. See details... Figure 1 Step S101 in the embodiment will not be described again here.

[0058] Step S502: If the first preset condition is met between the current location and the safe area on the map, and the mobile device detects a first obstacle, then it is determined whether the first obstacle and a second obstacle on the map are the same obstacle, wherein the second obstacle is the obstacle on the map corresponding to the safe area. Specifically, this includes: Step S5021: Determine whether the current location is within a safe area on the map, and if the current location is within a safe area, determine that the first preset condition is met.

[0059] Specifically, this step aims to limit the triggering conditions and scope of obstacle detection, ensuring that subsequent obstacle comparison logic is only initiated when the self-moving device is in an area where the user has explicitly permitted passage through a specific obstacle. This helps avoid unnecessary processing in unsafe areas, thereby improving system efficiency and decision-making accuracy. Specifically, the self-moving device can obtain its current geographic coordinates through its built-in Global Positioning System (GPS) or Global Navigation Satellite System (GNSS) module, and then compare this geographic coordinate information with the boundary coordinates or polygon data of various predefined safe zones on the map. If the current geographic coordinates fall within the geometric range of any safe zone, the current location is determined to be within a safe zone, satisfying the first preset condition. Alternatively, the self-moving device can utilize Simultaneous Localization and Mapping (SLAM) technology or odometry data, combined with its internal sensors (such as LiDAR, cameras, ultrasonic sensors, etc.), to construct a local map and perform self-positioning. By matching the current positioning result with safe zones in a preloaded global map, it is determined whether the self-moving device is within a certain safe zone. If the match is successful and the device is within a safe zone, the first preset condition is satisfied.

[0060] Step S5022: Obtain the first obstacle identified in the safe area, and extract several second obstacles corresponding to the current safe area.

[0061] Specifically, this step aims to collect key data required for obstacle comparison. The first obstacle is an object perceived in real-time by the self-moving device during the current operation, while the second obstacle is a historical obstacle pre-recorded on the map and associated with the safety zone. In this way, the system ensures that data preparation is only performed on relevant obstacles within the current operating environment and specific safety zone, reducing interference from irrelevant data and making the subsequent comparison process more targeted and efficient. Specifically, the self-moving device can scan its surrounding environment in real-time using its onboard sensing system (e.g., LiDAR, camera, ultrasonic sensor array, etc.) and process the collected raw data, such as point cloud clustering, image recognition, or depth information analysis, to identify and extract the geometric shape, location, size, and other features of the currently perceived first obstacle. Simultaneously, based on the current safety zone identifier, the system queries and loads the feature data (such as historical location, shape, category, etc.) of all second obstacles associated with that safety zone from the map database. Alternatively, the sensing module within the self-moving device integrates obstacle detection and recognition functions, directly outputting structured data of the first obstacle (such as bounding box, center point, size, category confidence, etc.). For secondary obstacles, the map system maintains a dedicated obstacle information layer that stores detailed information on all known secondary obstacles within each safe zone. When a device enters a safe zone, the system extracts all secondary obstacle data associated with the current safe zone from this layer.

[0062] Step S5023: Calculate the similarity between the first obstacle and each of the second obstacles, and determine that the first obstacle and the second obstacle in the map are the same obstacle when the similarity between the first obstacle and any second obstacle is greater than a preset similarity threshold.

[0063] Specifically, this step is the core of intelligent obstacle recognition. By quantitatively comparing the similarity between currently perceived obstacles and known obstacles, it determines whether they are the same object. This allows the system to accurately identify obstacles that the user has previously permitted to pass, even under certain perception errors or environmental changes, avoiding accidental triggering of obstacle avoidance behavior due to subtle differences. Specifically, similarity calculation can be based on the geometric features of obstacles. For example, the shape, dimensions (length, width, height), volume, distance to the center point coordinates, and orientation (such as direction angle) of the first obstacle can be compared with those of each second obstacle. By defining a comprehensive distance metric or feature matching algorithm (such as the Iterative Closest Point (ICP) algorithm, shape context descriptors, etc.), the geometric similarity between the two can be calculated. When this similarity (or the reciprocal of the distance) exceeds a preset similarity threshold, it is determined to be the same obstacle. Furthermore, similarity calculation can also combine the semantic and spatial location information of obstacles. For example, if the perception system can identify the category of the first obstacle (such as "low shrub" or "small steps"), it first matches it with the category of the second obstacle. Based on this, further judgment is made by combining the spatial relationship between the two on the map (such as the distance between their center points and the proportion of overlapping areas). Weighted averaging or decision trees can be used to synthesize these features to obtain a final similarity score. When this score is greater than a preset similarity threshold, they are determined to be the same obstacle.

[0064] Step S503: If it is determined that the first obstacle and the second obstacle are the same obstacle, then the self-moving device is controlled to ignore the first obstacle and continue driving. See details. Figure 1 Step S103 in the embodiment will not be described again here.

[0065] It is understood that, through the above technical solution, this application provides a specific and accurate obstacle recognition and judgment mechanism. First, by determining whether the current location is within a safe area on the map, the scope of obstacle judgment is limited, avoiding unnecessary comparisons in unsafe areas, thereby improving system efficiency. Second, after determining that it is within a safe area, the system can accurately acquire the currently perceived first obstacle and extract the second obstacle corresponding to that safe area from the map, ensuring the targeting and effectiveness of the comparison. Finally, by calculating the similarity between the first obstacle and each second obstacle and comparing it with a preset similarity threshold, this application introduces an objective and quantitative judgment standard, effectively avoiding misjudgments caused by perception errors or environmental changes, enabling the self-moving device to accurately identify obstacles that the user has permitted to pass through during the mapping phase. This not only solves the problems of inaccurate or inefficient judgment in existing technologies, ensuring smooth movement of the device within the user-permitted area, but also, under the premise of ensuring safety, achieves intelligent understanding and execution of user intentions, greatly improving the user experience and the device's intelligence level.

[0066] In some of the embodiments described above in this application, clustering of conflicting road segments is proposed to generate safe zones. However, in the implementation process, the continuity between road segments is not considered during clustering, which may result in the generated cluster set containing discontinuous road segments, thereby affecting the accuracy and efficiency of the safe zones. This leads to the subsequent creation of fragmented or unreasonable safe zones, which cannot effectively bind obstacle information.

[0067] In some embodiments, this application further proposes clustering each conflicting road segment to obtain several cluster sets, specifically including: Step b1 involves clustering based on whether the conflicting road segments are continuous, resulting in several cluster sets.

[0068] The phrase "clustering based on the contiguity of conflicting road segments" means prioritizing spatial adjacency and connectivity when grouping conflicting road segments. For example, graph-based clustering methods can be used, treating conflicting road segments as nodes in a graph. If two conflicting road segments are physically connected or share a boundary, an edge is established between them. Then, connected components in the graph are searched to form cluster sets, ensuring that road segments within each set are contiguous. Another approach is to introduce a distance metric into the clustering algorithm. This metric considers not only the geometric distance between road segments but also their path reachability or topological connectivity. For instance, a composite distance function can be defined where the distance between two discontinuous road segments is infinite, thus preventing them from being clustered together.

[0069] It is understandable that the above technical solution effectively avoids incorrectly grouping spatially discontinuous road segments into the same cluster when clustering conflicting road segments. This ensures that each generated cluster represents an actual continuous area, thus significantly improving the accuracy and rationality of safe zones. For example, when a user guides their mobile device through a continuous patch of low bushes multiple times during the mapping phase, these road segments marked as conflicting will be identified and clustered as a whole, forming a complete and logically consistent safe zone. Based on this, when creating electronic fences for these continuous clusters, it can more effectively cover the actual continuous area the user intends to pass through and ensure that the corresponding second obstacles are accurately bound to these rationally divided safe zones. This not only optimizes the binding effect of the obstacle information layer, making the correspondence between second obstacles and safe zones more accurate, but also ultimately improves the reliability and user experience of the mobile device ignoring known obstacles and continuing to drive within the safe zone, avoiding misjudgments or unnecessary obstacle avoidance behaviors caused by unreasonable safe zone division.

[0070] In some of the embodiments described above in this application, it is proposed to ignore obstacles and continue driving when a first preset condition is met. However, in its implementation, if the current position does not meet the first preset condition, and an obstacle is detected, the self-moving device may not be able to clearly handle the obstacle, leading to potential safety risks. For example, the self-moving device may continue driving and ignore the obstacle, causing a collision, or stop incorrectly and reduce efficiency. This violates the core objective of reconciling the difference between user intention and machine perception.

[0071] In some embodiments, this application further proposes that after determining whether the first obstacle and the second obstacle in the map are the same obstacle, the method also includes: Step c1: If the first preset condition is not met between the current location and the safe area on the map, and the mobile device detects the first obstacle, obstacle avoidance driving is performed.

[0072] Specifically, the scheme first clarifies the timing for obstacle avoidance, namely, after the system has completed the comparison and judgment between the currently identified first obstacle and the known second obstacle in the map. This pre-judgment ensures the logical integrity of the obstacle avoidance decision and avoids redundant processing or triggering obstacle avoidance when unnecessary.

[0073] The scheme then defines the triggering conditions for obstacle avoidance: when the current location of the self-moving device does not meet a first preset condition with respect to a safe area on the map. The first preset condition can mean that the current location is within a safe area, or that the current location is less than a certain preset threshold distance from the safe area. Therefore, not meeting the first preset condition means that the self-moving device may be outside the safe area, or although it is close to the safe area, it has not yet met the conditions for allowing obstacle ignoring, i.e., it is in an area where obstacle ignoring is not authorized.

[0074] Under this premise, if the mobile device identifies the first obstacle through its onboard perception system (e.g., LiDAR, camera, ultrasonic sensor, etc.), the identification process can be through sensor data analysis, such as using deep learning algorithms to process image or point cloud data to detect and locate the obstacle; or through a simple distance threshold judgment, when the sensor detects an object in front and the distance is less than the safe distance, it is considered that the first obstacle has been identified.

[0075] Once the first obstacle is detected, the self-moving device will immediately initiate obstacle avoidance maneuvers. Obstacle avoidance can be achieved in various ways. For example, the self-moving device can calculate a safe path around the obstacle based on its position, size, and shape, and adjust its own trajectory accordingly. Alternatively, the self-moving device can perform actions such as deceleration, stopping, reversing, or turning to avoid collisions with obstacles. These strategies aim to ensure the safety of the self-moving device when driving in unsafe areas and effectively handle unknown or newly introduced obstacles.

[0076] It is understood that, through the above technical solution, this application effectively solves the problems of unclear handling and safety risks that may arise when the self-moving device is in an unsafe area and faces unknown or newly added obstacles. Specifically, after the system has completed the identification and judgment of obstacles (i.e., determining whether the first obstacle and the second obstacle are the same obstacle), if the self-moving device finds that its current position does not meet the first preset condition (e.g., not within the preset safe area), and a new first obstacle is identified at this time, the system will immediately trigger obstacle avoidance driving. This mechanism ensures that the self-moving device remains vigilant in unsafe areas and can react promptly to any obstacles that are not recorded on the map or have not been authorized by the user to be ignored, thereby avoiding potential collisions. This complements the strategy of ignoring known obstacles in safe areas, jointly constructing an intelligent decision-making system that respects user intent while ensuring the safe operation of the device, significantly improving the autonomous operation reliability and user experience of the self-moving device.

[0077] In some embodiments, this application further proposes that the self-moving device includes a lawnmower robot, and the method further includes: while controlling the self-moving device to drive, also controlling the self-moving device to perform a lawnmower task.

[0078] Specifically, self-moving devices include lawnmower robots, which are automated devices capable of autonomously moving within a pre-defined area and performing lawn mowing tasks. Lawnmower robots are typically equipped with cutting blades, a navigation system, a sensing system, and a control system. In practical applications, lawnmower robots can employ various cutting mechanisms, such as rotary or reciprocating blades, driven by motors to rotate or reciprocate at high speeds to efficiently mow the lawn. Furthermore, lawnmower robots can integrate various sensors, such as Global Positioning System (GPS), Inertial Measurement Unit (IMU), visual sensors, and ultrasonic sensors, to achieve precise autonomous positioning, path planning, and environmental perception, thereby ensuring stable operation in complex environments. Applying the mobility method of this application to this specific device, a lawnmower robot, allows subsequent movement and obstacle avoidance logic to be closely integrated with the mowing operation, thereby solving specific problems encountered in lawnmowing.

[0079] Simultaneously, while controlling the self-moving device's movement, the system also controls its lawn mowing task, aiming to synchronize the robot's movement and mowing operations. This ensures that while the robot follows a preset path or obstacle avoidance logic, its core mowing function continues to operate effectively. For example, the control system can be designed to process the movement control module and the mowing task control module in parallel. When the movement control module issues commands such as forward or turning, the mowing task control module simultaneously ensures the cutting blades are operational and adjusts cutting parameters, such as blade speed or cutting height, based on the movement speed and lawn conditions. Another approach is to deeply integrate the mowing task execution with the movement path planning. When planning the movement path, not only obstacle avoidance and coverage efficiency are considered, but also the optimal working area and overlap rate of the cutting blades. This ensures that the mowing task is performed optimally during movement, avoiding interruptions due to movement or obstacle avoidance operations, thus improving operational efficiency and user experience.

[0080] By explicitly defining the self-moving device as a lawnmower robot and synchronously controlling its lawnmowing task during operation, this application effectively solves the potential disconnect between lawnmower operation and movement / obstacle avoidance logic during autonomous operation. Specifically, when the lawnmower robot is moving within a user-permitted safe area, its lawnmowing task can continue uninterrupted even if it detects a first obstacle that can be ignored, thus significantly improving the continuity and efficiency of the operation. For example, when the lawnmower robot traverses low bushes or small steps that the user has specifically guided it through, since these areas have been identified as known obstacles within the safe area and can be ignored, the mowing blades can remain operational without stopping or raising, avoiding unnecessary work interruptions and repeated restarts, faithfully executing the user's lawnmowing intentions. Simultaneously, when the lawnmower robot is in an unsafe area or encounters unknown dangerous obstacles, its obstacle avoidance logic will activate promptly, ensuring safety while the lawnmowing task is handled properly under safe conditions, avoiding additional risks caused by the lawnmowing operation, thereby achieving seamless integration and efficient execution of the lawnmowing task and user intentions.

[0081] In one example, a specific case will be used to illustrate the above technical solution in more detail: In a specific application scenario, a self-moving device, such as a lawnmower robot, needs to perform lawnmowing tasks in a yard. The yard contains some low bushes and small steps, and the user expects the lawnmower robot to be able to move over these obstacles rather than identifying them as obstacles to avoid.

[0082] First, the user remotely controls the lawnmower to create a map. During this stage, the lawnmower moves forward in response to the user's commands, continuously acquiring information about the user's control intentions and collecting obstacle information. When the lawnmower reaches a low bush, its perception system identifies it as a second obstacle. However, user A explicitly wants the lawnmower to pass through the bush, so user A continues to issue forward commands, controlling the lawnmower to continue moving and cross the bush.

[0083] At this point, the system detects that the lawnmower has identified a second obstacle (bush), but the user continues to control the lawnmower. This indicates a conflict between the user's control intention (continue driving) and the obstacle information (obstacle detected), satisfying the second preset condition. Therefore, the system marks the driving segment corresponding to the bush as a conflict segment. The lawnmower continues driving and may encounter other similar small steps in the yard. The user guides the lawnmower through these steps in the same way, and these segments are also marked as conflict segments.

[0084] After map creation, the system processes all marked conflicting road segments. The system clusters these segments based on whether they are continuous, resulting in several cluster sets. For example, a continuous area of ​​bushes might form one cluster, while a single small step might form another. Next, the system creates electronic fences covering the area of ​​each cluster; these fences are then designated as safe zones. During map generation, the system binds and stores each safe zone with its corresponding secondary obstacle (e.g., feature information of bushes or small steps), thus generating a map containing an obstacle information layer. This process transforms the user's intention to "force their way through" during map creation into a machine-understandable "permission" instruction embedded in the map, resolving the conflict between user intent and machine perception.

[0085] The lawnmower robot enters autonomous operation mode and begins performing its mowing task. The robot controls its own movement and continuously acquires its current location during the process.

[0086] When the lawnmower robot moves near the low bushes that were previously marked as a safe zone, its current position enters the safe zone on the map. At this point, the system determines that the current position and the safe zone on the map meet a first preset condition. The lawnmower robot's perception system identifies an object in the safe zone and designates it as the first obstacle.

[0087] To determine whether a first obstacle is one that the user allows to pass, the system extracts information on several second obstacles corresponding to the current safe area (i.e., previously stored bush features). The system calculates the similarity between the identified first obstacle and each stored second obstacle. If the similarity between the first obstacle and a stored second obstacle (e.g., previously recorded low bushes) is greater than a preset similarity threshold (e.g., a high degree of matching in features such as shape, size, and location), the system determines that the first obstacle and the second obstacle on the map are the same obstacle. In this case, the system controls the lawnmower robot to ignore the first obstacle, continue moving forward, successfully cross the low bushes, and perform the lawnmower task. This contrasts with existing technologies where the robot immediately triggers obstacle avoidance logic; this method intelligently executes the user's "permission."

[0088] On the other hand, if the lawnmower is traveling in other areas of the yard and its current location is not within any safe zone, then the first preset condition is not met between its current location and a safe zone on the map. If the lawnmower's perception system suddenly identifies an unknown object, such as a suddenly appearing pet, and determines it as the first obstacle, the system will immediately trigger obstacle avoidance logic, controlling the lawnmower to stop or detour to ensure safety. This ensures that "known and permitted" obstacles can be ignored when passing through special areas, while also being able to react promptly to "unknown or newly added" dangerous obstacles.

[0089] Using the above method, the lawnmower robot can effectively identify the difference between the user's historical intent during mapping and the machine's real-time perception during operation, transforming the user's "forced passage" behavior into "permissions" and intelligently executing these permissions while ensuring safety. This avoids the confusion and frustration caused to users by the "stupidity" and "rigidity" of robots in existing technologies.

[0090] This embodiment also provides a mobile device for self-moving devices, which is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, hardware implementations, or a combination of software and hardware, are also possible and contemplated.

[0091] This embodiment provides a mobile device for self-moving devices, such as... Figure 6 As shown, it includes: The positioning module 601 is used to control the movement of the self-moving device and to obtain the current location of the self-moving device during the movement.

[0092] The identification module 602 is used to determine whether the first obstacle and the second obstacle in the map are the same obstacle if the mobile device identifies the first obstacle when the first preset condition is met between the current location and the safe area in the map, wherein the second obstacle is the obstacle in the map that corresponds to the safe area.

[0093] The obstacle-crossing module 603 is used to control the self-moving device to ignore the first obstacle and continue driving if it is determined that the first obstacle and the second obstacle are the same obstacle.

[0094] The mobile device provided in this application embodiment can execute the mobile method of the mobile device provided in any embodiment of this application, and has the corresponding functional modules and beneficial effects for executing the method. Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.

[0095] Figure 7 This is a schematic diagram of the structure of a self-moving device provided in an embodiment of this application.

[0096] The following is a detailed reference. Figure 7 This diagram illustrates a suitable structural schematic for implementing the self-moving device described in the embodiments of this application. The self-moving device may include a processor (e.g., a central processing unit, a graphics processor, etc.) 701, which can perform various appropriate actions and processes based on a program stored in read-only memory (ROM) 702 or a program loaded from memory 708 into random access memory (RAM) 703. The RAM 703 also stores various programs and data required for the operation of the self-moving device. The processor 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0097] Typically, the following devices can be connected to I / O interface 705: input devices 706 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 707 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; memory devices 708 including, for example, magnetic tapes, hard disks, etc.; and communication devices 709. Communication device 709 allows the mobile device to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 7 Self-moving devices with various means are shown, but it should be understood that it is not required to implement or have all of the means shown, and may alternatively implement or have more or fewer means.

[0098] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 709, or installed from memory 708, or installed from ROM 702. When the computer program is executed by processor 701, it performs the functions defined in the mobility method of the self-moving device of this application.

[0099] Figure 7 The self-mobile device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0100] This application also provides a computer-readable storage medium. The methods described in this application can be implemented in hardware or firmware, or implemented as recordable on a storage medium, or implemented as computer code downloaded over a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and subsequently stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code. When the software or computer code is accessed and executed by the computer, processor, or hardware, the mobility method of the self-moving device shown in the above embodiments is implemented.

[0101] A portion of this application can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to this application through the operation of the computer. Those skilled in the art will understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executing the instructions, or the computer compiling the instructions and then executing the corresponding compiled program, or the computer reading and executing the instructions, or the computer reading and installing the instructions and then executing the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to a computer.

[0102] Although embodiments of this application have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of this application, and all such modifications and variations fall within the scope defined by the appended claims.

Claims

1. A method for moving a self-moving device, characterized in that, The method includes: Control the self-moving device to drive, and obtain the current location of the self-moving device during the driving process; If the first preset condition is met between the current location and the safe area in the map, and the self-moving device detects a first obstacle, it is determined whether the first obstacle and a second obstacle in the map are the same obstacle, wherein the second obstacle is the obstacle in the map that corresponds to the safe area; If it is determined that the first obstacle and the second obstacle are the same obstacle, then the self-moving device is controlled to ignore the first obstacle and continue driving.

2. The method according to claim 1, characterized in that, The steps for generating the map include: During the phase where the user controls the self-moving device to drive, user control intention information is obtained, and obstacle information is collected; If the user control intent information and the obstacle information meet the second preset condition, then the current driving segment of the self-moving device is determined as a conflict segment; The safe zone is generated on the map based on the conflict road segments.

3. The method according to claim 2, characterized in that, If the user control intent information and the obstacle information meet the second preset condition, then the current travel segment of the self-moving device is determined as a conflict segment, including: If the user continues to control the self-moving device to drive after it detects the second obstacle, the road segment corresponding to the second obstacle will be marked as a conflict road segment.

4. The method according to claim 3, characterized in that, If, when the self-moving device detects the second obstacle, the user still controls the self-moving device to continue driving, then the road segment corresponding to the second obstacle is marked as a conflict road segment, including: As the self-moving device moves forward in response to a user-issued forward command, it identifies the second obstacle through a sensing system. If the self-moving device still receives a forward command from the user after recognizing the second obstacle, the road segment corresponding to the second obstacle will be marked as a conflict road segment.

5. The method according to claim 3, characterized in that, The step of generating the safe zone in the map based on the conflicting road segments includes: Clustering is performed on each conflicting road segment to obtain several cluster sets; Create electronic fences covering the area where each of the clusters is located for each cluster set to obtain several security zones; In the map, each of the safe zones is bound to and stored with the corresponding second obstacle, generating an obstacle information layer.

6. The method according to claim 1, characterized in that, When the first preset condition is met between the current location and the safe area in the map, if the self-moving device detects a first obstacle, it determines whether the first obstacle and a second obstacle in the map are the same obstacle, including: Determine whether the current location is within a safe area on the map, and if the current location is within the safe area, determine that the first preset condition is met; The first obstacle identified in the safe area is obtained, and several second obstacles corresponding to the current safe area are extracted; Calculate the similarity between the first obstacle and each of the second obstacles, and determine that the first obstacle and any of the second obstacles in the map are the same obstacle when the similarity between the first obstacle and any of the second obstacles is greater than a preset similarity threshold.

7. The method according to claim 5, characterized in that, The process of clustering the conflicting road segments yields several cluster sets, including: Clustering is performed using the continuity between conflicting road segments as a constraint, resulting in several cluster sets.

8. The method according to claim 1, characterized in that, After determining whether the first obstacle and the second obstacle in the map are the same obstacle, the method further includes: If the first preset condition is not met between the current location and the safe area on the map, and the self-moving device detects a first obstacle, it will perform obstacle avoidance driving.

9. The method according to any one of claims 1-8, characterized in that, The self-moving device includes a lawnmower robot, and the method further includes: While controlling the self-moving device to drive, the self-moving device is also controlled to perform a lawn mowing task.

10. A self-moving device, characterized in that, include: A memory and a processor are communicatively connected, the memory storing computer instructions, and the processor executing the computer instructions to perform a method for moving a self-moving device according to any one of claims 1 to 9.

11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing a computer to perform the mobility method of the self-moving device according to any one of claims 1 to 9.