Control method of a self-moving device, electronic device, and storage medium
By setting up a collision panel on the self-moving device and inserting second point cloud data, the problem of the self-moving device getting stuck at the bottom of an object was solved, the obstacle avoidance effect and work efficiency were improved, and the service life of the device was extended.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- DREAM INNOVATION TECH (SUZHOU) CO LTD
- Filing Date
- 2022-09-22
- Publication Date
- 2026-07-10
AI Technical Summary
When the self-moving device moves into or out of the bottom of an object, the ranging component is prone to colliding with protrusions on the side or bottom of the object, causing jamming, inaccurate recognition, and affecting obstacle avoidance and work efficiency.
A collision panel is set up on the self-moving device to determine the location of the protrusion through the collision signal, and a second point cloud data is inserted on the area map to mark the impassable location. The extended features of the protrusion are used to guide the obstacle avoidance operation.
It improves the obstacle avoidance capabilities of self-moving devices, reduces the number of collisions with the ranging components, extends the lifespan of the devices, and improves work efficiency and user experience.
Smart Images

Figure CN117806301B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of automatic control technology, specifically relating to control methods, electronic devices, and storage media for self-moving equipment. Background Technology
[0002] Self-moving devices are electronic devices that can move autonomously without human intervention. They are typically equipped with ranging components (such as integrated laser distance sensors (LDS)) to detect obstacles. Most ranging components are located on top of the device's main unit. Due to factors such as viewing angle and lighting, self-moving devices may not accurately identify the bottom or sides of objects. This can lead to issues such as the ranging component on the top of the device colliding with protrusions on the side of the object when moving under it, or the ranging component on the bottom of the object colliding with protrusions on the bottom of the object when moving under it, resulting in lag or stuttering. Summary of the Invention
[0003] This application provides a control method, electronic device, and storage medium for a self-moving device, which can further reduce the phenomenon of the self-moving device getting stuck when entering or leaving the bottom of an object or moving at the bottom, and improve the obstacle avoidance effect.
[0004] On one hand, this application provides a control method for a self-moving device, the self-moving device including a ranging component deployed on the upper part of the self-moving device body, the ranging component including at least a collision panel and a ranging sensor; the method includes: during the movement of the self-moving device along a working surface within a working area, in response to acquiring a collision signal output when the collision panel is collided, determining the position information of the collision panel being collided with in a region map, as the collision position; wherein, the region map is constructed at least based on first point cloud data collected by the ranging sensor for the working area; inserting second point cloud data of a first length along a first direction on the region map based on the collision position, the second point cloud data being used to identify positions where the self-moving device cannot pass; the first direction is determined at least based on the extension characteristics of the surface of the protrusion where the collision position is located along a plane parallel to the working surface.
[0005] Optionally, before inserting a second point cloud data of a first length along a first direction on the area map based on the collision location, the method further includes: if it is determined from obstacle information in the area map that the collision location corresponds to a side extension feature of an obstacle, obtaining the side extension feature; and determining the extension feature of the surface of the protrusion where the collision location is located along a plane parallel to the working surface based on the side extension feature, so as to determine the first direction corresponding to the second point cloud data to be inserted.
[0006] Optionally, before inserting the second point cloud data of a first length along the first direction on the area map based on the collision location, the method further includes: obtaining a reference direction corresponding to the area map for correcting the movement direction of the self-moving device; and determining, at least based on the reference direction, the extension characteristics of the surface of the protrusion where the collision location is located along a plane parallel to the working surface to determine the first direction corresponding to the second point cloud data to be inserted.
[0007] Optionally, before inserting a second point cloud data of a first length along a first direction on the area map based on the collision location, the method further includes: obtaining the tangent direction on the collision panel corresponding to the collision location on a plane parallel to the working surface; and determining, at least based on the tangent direction, the extension features of the protrusion surface where the collision location is located on a plane parallel to the working surface to determine the first direction corresponding to the second point cloud data to be inserted.
[0008] Optionally, before inserting the second point cloud data of a first length along the first direction on the area map based on the collision location, the method further includes: obtaining a preset first length; or, determining the first length based on the position information of the collision location on the obstacle.
[0009] Optionally, the obstacle includes a first side and a second side, wherein the horizontal extension length of the second side is greater than the horizontal extension length of the first side; determining the first length based on the position information of the collision location on the obstacle includes: determining a designated side on the obstacle to which the collision location belongs; if the designated side to which the collision location belongs is the first side, determining the first length as a first value; if the designated side to which the collision location belongs is the second side, determining the first length as a second value, wherein the second value is greater than the first value.
[0010] Optionally, after inserting a second point cloud data of a first length along a first direction on the regional map based on the collision location, the method further includes: moving to the endpoint of the second point cloud data; controlling the self-moving device to move along a preset travel direction from the endpoint position indicated by the endpoint, wherein the preset travel direction is the travel direction of the self-moving device when the collision signal is output; moving a second length from the endpoint to the collision location when the collision panel does not output the collision signal to obtain a first current position of the self-moving device; the second length is less than the first length; updating the endpoint of the second point cloud data to the map position in the regional map corresponding to the first current position, and performing the step of controlling the self-moving device to move along the preset travel direction from the endpoint position indicated by the endpoint, and moving a second length from the endpoint to the collision location when the collision panel does not output the collision signal again; until the collision panel outputs the collision signal, stopping the updating of the endpoint of the second point cloud data.
[0011] Optionally, before inserting second point cloud data of a first length along the first direction based on the collision location on the area map, the method further includes: controlling the self-moving device to move a third length from the collision location along the first direction to obtain a second current position of the self-moving device; controlling the self-moving device to move from the second current position along a preset travel direction, wherein the preset travel direction is the travel direction of the self-moving device when the collision signal is output; when the collision panel outputs the collision signal, performing the steps of controlling the self-moving device to move a third length along the first direction and controlling the self-moving device to move from the second current position along the preset travel direction again, until the number of times the third length is moved reaches a preset number, or the collision panel does not output the collision signal, and then stopping; wherein the third length is less than the first length; determining a first length based on the third length and the preset number, wherein the first length is greater than or equal to the product of the third length and the preset number.
[0012] Optionally, the second point cloud data includes at least two rows, the arrangement direction of the at least two rows of the second point cloud data is parallel to the horizontal plane, and the arrangement direction is perpendicular to the first direction.
[0013] Optionally, the first direction includes a direction extending toward one side of the self-moving device or a direction extending toward both sides of the self-moving device.
[0014] On the other hand, this application provides a self-moving device, which includes a processor and a memory connected to the processor. The memory stores a program, and when the processor executes the program, it is used to implement the control method of the self-moving device provided above.
[0015] In another aspect, this application provides a computer-readable storage medium storing a program that, when executed by a processor, is used to implement the control method for the self-moving device provided in the above aspects.
[0016] In this embodiment, when a protrusion affecting the passage of the self-moving device occurs during operation, a collision signal can be detected by the collision panel on the ranging component. Second point cloud data, matching the extension features of the protrusion's surface, is inserted at the collision location corresponding to the collision signal. This second point cloud data identifies the extension features of the protrusion colliding with the ranging component, guiding the self-moving device to perform obstacle avoidance operations. This prevents the self-moving device from getting stuck due to inaccurate obstacle recognition, thus improving its obstacle avoidance capabilities and operational efficiency. Furthermore, the point cloud data inserted in this way, matching the protrusion's extension features, reduces the self-moving device's trial-and-error operations, thereby reducing the number of collisions that the ranging component may experience. This prevents damage to obstacles or the ranging component, extends the lifespan of the self-moving device, and improves the user experience. Attached Figure Description
[0017] 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.
[0018] Figure 1 This is a block diagram of a self-moving device provided in one embodiment of this application;
[0019] Figure 2 This is a schematic diagram of an embodiment of the LDS emitting laser to scan obstacles;
[0020] Figure 3 This is a flowchart of a control method for a self-moving device provided in one embodiment of this application;
[0021] Figure 4 This is a schematic diagram of inserting second point cloud data into a regional map according to an embodiment of this application;
[0022] Figure 5 This is a block diagram of an apparatus for a control method of a self-moving device provided in one embodiment of this application. Detailed Implementation
[0023] The technical solutions of this application will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. The application will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.
[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0025] In this application, unless otherwise stated, directional terms such as "upper," "lower," "top," and "bottom" are generally used in relation to the direction shown in the accompanying drawings, or in relation to the vertical, perpendicular, or gravitational direction of the component itself; similarly, for ease of understanding and description, "inner" and "outer" refer to the inner and outer contours of each component itself, but the above directional terms are not intended to limit this application.
[0026] In this application, a self-moving device refers to an electronic device that can move autonomously without human intervention. Optionally, self-moving devices include, but are not limited to, cleaning robots or lawnmowers. This embodiment does not limit the type of self-moving device.
[0027] Optionally, in addition to autonomous movement, the self-moving device may also have other functions to perform work tasks. These work tasks vary depending on the self-moving device; for example, a lawnmower robot's work tasks include mowing lawns, while a cleaning robot's work tasks include cleaning surfaces.
[0028] Figure 1 This is a block diagram of a self-moving device 10 provided in one embodiment of this application, according to... Figure 1 It is known that the self-moving device includes: a moving component 110, a driving component 120, a ranging component 130, a processor 140, and a memory 150.
[0029] The moving component 110 is a part in the self-moving device 10 used to drive the self-moving device 10 to move autonomously. The moving component 110 includes, but is not limited to, track wheels or rotating wheels, etc. Different moving components 110 are suitable for different or the same scenarios. This embodiment does not limit the implementation of the moving component 110.
[0030] The mobile component 110 is connected to the driving component 120, which drives the mobile component 110 to move the self-moving device 10.
[0031] The drive component 120 includes, but is not limited to, a drive motor. In other embodiments, the drive component 120 may also be an engine, etc. This embodiment does not limit the implementation of the drive component 120.
[0032] The ranging component 130 may include a ranging sensor 132 and a collision panel 131. The ranging sensor 132 may be an LDS (Laser Docking Sensor), a TOF sensor, or other sensor that uses lasers to collect obstacle information. Figure 1 As shown, the ranging sensor is an LDS sensor. LDS can identify obstacles in the working area through laser scanning, allowing the self-moving device 10 to avoid obstacles when moving.
[0033] The self-moving device can also construct a regional map of the working area using data measured by the ranging sensor. Of course, the self-moving device can also combine other sensors, such as other visual sensors and edge sensors mounted on the main body, to detect obstacles and construct a regional map. The construction of the regional map is not limited here. Since obstacle information within the working area is mostly constructed using point cloud data obtained from laser scanning, obstacle information in the regional map can be represented using point cloud data. Of course, it can also combine other data to jointly represent obstacle information, such as obstacle information identified by AI, etc., which is not limited here. For ease of distinction, the point cloud data stored in the regional map used to represent obstacle information can be referred to as the first point cloud data. Accordingly, the first point cloud data can include point cloud data used to represent obstacles measured by the ranging component, as well as point cloud data used to represent obstacles measured by other sensors.
[0034] The collision panel 131 can be a panel located above the ranging component 130. A position sensing sensor is also provided between the ranging component 130 and the host unit of the self-moving device 10 located below the ranging component 130. When the side or top surface of the collision panel 131 is hit, the position sensing sensor can detect the movement of the ranging component 130; for example, when hit on the top surface, the position sensing sensor can detect the downward movement of the ranging component 130; when hit on the side of the collision panel 131, the position sensing sensor can detect the horizontal movement of the ranging component 130, thereby determining that the ranging component 130 has been hit and buffering the impact of the collision. Alternatively, the collision panel 131 can integrate a collision signal receiving sensor. When the collision panel 131 comes into contact with an obstacle, the collision panel 131 receives a contact signal, thereby determining that the ranging component 130 has been hit. Of course, the collision panel 131 can also be located on the side of the ranging component 130. This application does not limit the position of the collision panel or the method of receiving collision signals.
[0035] Within the working area, there are typically objects whose bottoms are at a certain height relative to the working surface of the self-moving device, and whose height is sufficient to allow the self-moving device 10 to pass through or enter. However, the sides / bottoms of these objects may have protrusions extending into the working surface, such as decorative elements on the side of a cabinet, tilting surfaces, or crossbars under a bed. These protrusions may obstruct the operation of the self-moving device. Since these protrusions are part of the object and closely related to its extension characteristics, this application can refer to these extension characteristics when analyzing the extension characteristics of protrusions that obstruct the movement of the self-moving device. Correspondingly, if the extension characteristics of the object are already stored in the area map, the finally determined extension characteristics of the protrusion can also be stored as part of the object's extension characteristics, further improving the accuracy of the influence of the extension characteristics of objects within the working area on the movement of the self-moving device, thereby providing more accurate guidance for the operation of the self-moving device.
[0036] For clarity, in this application, the object to which the protrusion belongs can be described as an obstacle, the space between the obstacle and the working surface can be described as the bottom space of the obstacle, the surface of the obstacle that contacts the bottom space can be described as the bottom surface of the obstacle, and the outer surface of the obstacle that extends vertically along the working surface can be described as the side surface of the obstacle.
[0037] When the extension length of the protrusion into the bottom space is small, it is difficult for the protrusion to be detected by the ranging sensor or the vision sensor and edge sensor installed on the main body of the self-moving device due to factors such as the measuring angle, detection light, and detection accuracy. The ranging component is usually located above the main body of the self-moving device, which can lead to collisions between the ranging component and protrusions on the side of the obstacle when the self-moving device enters or exits the bottom space of the obstacle, or collisions between the ranging component and protrusions on the bottom surface of the obstacle when the self-moving device moves within the bottom space of the obstacle, resulting in jamming. This reduces the efficiency of the self-moving device 10 in detecting impassable locations, and repeated collisions may damage the self-moving device 10, reducing its lifespan. When the self-moving device 10 is a cleaning robot, the low efficiency in identifying impassable locations extends working time, causing additional energy waste and affecting the robot's overall work efficiency.
[0038] For example: Reference Figure 2The bottom surface of object 20 has a small protrusion 21. Due to the viewing angle, the laser 133 emitted by the ranging component 130 mounted on the mobile device 10 cannot detect the small protrusion 21. At this time, although the area map indicates that the mobile device 10 can pass through the bottom space of object 20, because the small protrusion 21 is not stored in the area map due to its failure to be detected, the ranging component 130 located on the top of the mobile device 10 collides with the small protrusion 21 when the mobile device 10 passes through the bottom space of object 20.
[0039] Therefore, in order to improve the accuracy of the obstacle height obtained by the self-moving device 10, such as Figure 1 As shown, the ranging component 130 is also provided with a collision panel 131 to determine the protrusions that block the passage of the self-moving device by combining the collision signal output by the collision panel 131.
[0040] The collision panel 131 outputs a collision signal when it collides with a protrusion, allowing the self-moving device 10 to determine the collision location. For example, at least one collision sensor may be provided on the collision panel 131. When the collision sensor outputs a collision signal, the self-moving device determines the collision location based on the relative position of the collision sensor with respect to a reference position on the self-moving device and the position of the reference position on the area map of the working area; and determines the height of the collision location based on the installation height of the collision sensor.
[0041] Optionally, the trajectory formed after the self-moving device 10 moves is usually the trajectory traversed by the reference position. For example, the reference position may be the center position of the self-moving device 10, and the relative positional relationship between the collision sensor and the reference position on the self-moving device 10 is pre-stored in the self-moving device 10.
[0042] Optionally, the collision sensor may include, but is not limited to, a pressure sensor or a micro switch. This embodiment does not limit the implementation of the collision sensor.
[0043] Accordingly, in this embodiment, the memory 150 stores at least one instruction. The processor 140, which is connected to the ranging component 130 and the memory 150 respectively, is used to execute at least one instruction stored in the memory 150 to perform at least the following steps: during the movement of the self-moving device within the working area, in response to the collision signal output when the collision panel 131 is collided, the position information of the collision panel being collided with in the area map is determined as the collision position; and second point cloud data of a first length is inserted into the area map based on the collision position along a first direction.
[0044] The second point cloud data is used to identify locations where the self-moving device cannot pass; the first direction is determined at least based on the extension features of the surface of the protrusion where the collision location is located along a plane parallel to the working surface.
[0045] For example, a decorative element extending from the side of a cabinet into the bottom space obstructs the movement of a mobile device into and out of the cabinet's bottom space. Since this decorative element typically extends a certain length along the side of the cabinet, after the mobile device is first blocked by the element, it will usually attempt to re-enter the bottom space from an adjacent location, requiring multiple attempts to determine where it can pass. In this embodiment, by determining the extension feature of the surface at the point where the decorative element collides with the collision panel along a plane parallel to the working surface, and inserting second point cloud data representing this extension feature, the mobile device can be shown to be unable to pass through the corresponding location. The mobile device will then no longer attempt to enter or exit the bottom space of the cabinet from the side where the decorative element is located, thus easily and conveniently avoiding the protrusion. The mobile device can then perform edge-movement based on the second point cloud data before attempting to enter or exit the bottom space of the cabinet again.
[0046] In this embodiment, a second point cloud data of a first length is inserted along a first direction at the collision location so that the second point cloud data conforms to the extension characteristics of the surface of the protrusion blocking the passage of the self-moving device. Accordingly, the second point cloud data inserted at the collision location can be used to identify the impassable location, effectively avoiding the phenomenon of the ranging component being hit by the protrusion on the side of the obstacle when the self-moving device enters or exits the bottom space of the obstacle, or being hit by the protrusion on the bottom surface of the obstacle when the self-moving device moves in the bottom space of the obstacle, thus improving the working efficiency of the self-moving device 10.
[0047] The processor 140 can also be connected to the drive component 120 to control the operating state of the drive component 120. Optionally, the processor 140 can also control other components in the self-moving device, such as controlling the cleaning components on the cleaning robot when the self-moving device is a cleaning robot. This embodiment does not limit the components controlled by the processor 140.
[0048] Optionally, the processor 140 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 140 may be implemented in at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array).
[0049] Processor 140 may also include a main processor and a coprocessor. The main processor is the processor 140 used to process data in the wake-up state, also known as a CPU (Central Processing Unit). The coprocessor is a low-power processor used to process data in the standby state.
[0050] The memory 150 may include one or more computer-readable storage media, which may be non-transitory. The memory 150 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices.
[0051] In some embodiments, the self-moving device 10 may also optionally include a peripheral device interface and at least one peripheral device. The processor 140, memory 150, and peripheral device interface can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface via a bus, signal line, or circuit board. Indicatively, peripheral devices include, but are not limited to, radio frequency circuitry, a touch display screen, audio circuitry, and a power supply.
[0052] Of course, the self-moving device 10 may also include fewer or more components, and this embodiment does not limit this.
[0053] In this embodiment, when a protrusion affecting the passage of the self-moving device occurs during operation, a collision signal can be detected by the collision panel on the ranging component. Second point cloud data, matching the extension features of the protrusion's surface, is inserted at the collision location corresponding to the collision signal. This second point cloud data identifies the extension features of the protrusion colliding with the ranging component, guiding the self-moving device to perform obstacle avoidance operations. This prevents the self-moving device from getting stuck due to inaccurate obstacle recognition, thus improving its obstacle avoidance capabilities and operational efficiency. Furthermore, the point cloud data inserted in this way, matching the protrusion's extension features, reduces the self-moving device's trial-and-error operations, thereby reducing the number of collisions that the ranging component may experience. This prevents damage to obstacles or the ranging component, extends the lifespan of the self-moving device, and improves the user experience.
[0054] The control method for the self-moving device provided in this application will now be described in detail. The following embodiments use this method for... Figure 1The method described is specifically used in the processor of the self-moving device. In actual implementation, this method can also be used in other devices that are connected to the self-moving device, such as user terminals or servers. User terminals include, but are not limited to, mobile phones, computers, tablets, remote control devices, wearable devices, etc. This embodiment does not limit the implementation methods of other devices or user terminals.
[0055] The communication connection can be wired or wireless. The wireless communication method can be short-range communication or wireless communication, etc. This embodiment does not limit the communication method between the self-moving device and other devices.
[0056] Figure 2 This is a flowchart of a control method for a self-moving device provided in one embodiment of this application. The method includes at least the following steps:
[0057] Step 301: During the movement of the self-moving device along the working surface within the working area, in response to the collision signal output when the collision panel is collided, the location information of the collision panel being collided with is determined in the area map as the collision location.
[0058] The regional map is constructed based on at least the first point cloud data of the working area collected by the ranging sensor.
[0059] A collision signal is a signal output by the collision panel of a self-moving device when it collides with a protrusion.
[0060] The collision location can be characterized using the position information on the area map corresponding to the point where the collision panel contacts the protrusion. It should be noted that although this collision location is determined based on the signal output by the collision panel, the point where the collision panel contacts the protrusion corresponds to the same physical location on both the collision panel and the protrusion. Therefore, the collision location determined in this embodiment can represent both the point where the collision panel contacts the protrusion and the point where the protrusion contacts the collision panel, thereby improving the simplicity of representing the collision location information.
[0061] Determine the collision location on the area map when the collision panel collides with the protrusion, including but not limited to the following methods:
[0062] The first method involves storing a region map in the self-moving device. In this case, when the collision panel collides with the protrusion, the first position coordinates of the reference position on the self-moving device in the region map are determined. Based on the relative positional relationship and position coordinates between the reference position on the self-moving device and the collision panel, the second position coordinates corresponding to the collision position are determined in the region map, and the second position coordinates are used to characterize the collision position.
[0063] The area map of the work area can be obtained from other devices, or it can be constructed after the mobile device moves along the work area. This embodiment does not limit the method of obtaining the area map.
[0064] The second method: After the collision panel collides with the protrusion, a first relative positional relationship is determined between the contact point of the collision panel and the protrusion and a reference position on the self-moving device; a second relative positional relationship is determined between the ranging component and the reference position on the self-moving device; using the first and second relative positional relationships, the position of the contact point of the collision panel and the protrusion relative to the ranging component is determined; this position is transformed to the coordinate system of the area map using a preset coordinate transformation relationship to obtain the reference collision position in the area map. The preset coordinate transformation relationship is used to transform the coordinate values in the coordinate system of the ranging component to the coordinate values in the coordinate system of the area map. At this time, the first point cloud data collected by the ranging sensor is also transformed and mapped to the area map using the preset coordinate transformation relationship. In this case, the self-moving device does not need to pre-set the area map of the working area; the collision position can be determined using the first relative positional relationship, the second relative positional relationship, and the coordinate transformation relationship. The first relative positional relationship, the second relative positional relationship, and the coordinate transformation relationship are all stored in the self-moving device.
[0065] Step 302: Insert second point cloud data of a first length along the first direction on the regional map based on the collision location.
[0066] The second point cloud data is used to identify locations where the self-moving device cannot pass. Specifically, the second point cloud data is used to simulate the extended features of protrusions on obstacles that cannot be detected by the ranging component and would collide with the self-moving device. Correspondingly, impassable locations refer to the positions on obstacles that would collide with the self-moving device and obstruct its passage.
[0067] Generally, when the working area of the self-moving device is a house, there are gaps between the bottom of some furniture and the ground, allowing the self-moving device to enter and perform its work. However, the sides or bottoms of these pieces of furniture may have obstructions to the self-moving device's passage that the ranging component cannot detect, such as decorative elements on the side of a cabinet or protruding crossbars under a bed. Due to factors such as the installation position and acquisition angle of the ranging sensor, the obstacle information collected by the ranging sensor may be incomplete, and the aforementioned decorative elements and crossbars may not be detected. Consequently, the first point cloud data in the area map may indicate that the self-moving device can pass through the space under the obstacle, and the self-moving device will attempt to enter the space under the obstacle to work, resulting in a collision between the self-moving device's ranging component and the aforementioned decorative elements and crossbars.
[0068] The first direction corresponding to the second point cloud data can be determined at least based on the extension features of the surface of the protrusion where the collision location is located along a plane parallel to the working surface.
[0069] The plane parallel to the working surface can be any height relative to the working surface. The direction perpendicular to the working surface is defined as the longitudinal direction, and the direction parallel to the working surface is defined as the horizontal direction. Since the protrusions colliding with the ranging component typically have a small longitudinal extension, resulting in minimal differences in their extension characteristics on planes at different heights relative to the working surface, the height of the plane parallel to the working surface does not need to be limited when determining the extension characteristics of the protrusion surface at the collision location along the plane parallel to the working surface.
[0070] Of course, when determining the extension characteristics of the protruding surface at the collision location along a plane parallel to the working surface, the height of the plane parallel to the working surface can be limited. For example, the height of the plane parallel to the working surface can be limited to the height of the collision location relative to the working surface. The height of the collision location relative to the working surface can be determined based on the height of the collision panel's collision location relative to the working surface. Determining the extension characteristics of the protruding surface based on the collision height avoids situations where the extension characteristics of the protruding surface differ at different heights, causing the direction of the inserted second point cloud data to be inconsistent with the extension characteristics of the protruding surface at the collision height, thus affecting the obstacle avoidance effect.
[0071] Assuming the self-moving device is a cleaning device used to clean the floor of a room, when it enters the bottom space of a cabinet, the collision panel may collide with a protrusion on the side of the cabinet. The collision point is located on the surface of the protrusion relative to the outer side of the cabinet. Based on the extension characteristics of the protrusion relative to the outer surface of the cabinet, a first direction for the extension of the second point cloud data can be determined. Then, the second point cloud data can be inserted based on this first direction. For example, by performing a preset number of collisions at locations adjacent to the collision point, the extension characteristics of the protrusion surface along a plane parallel to the working surface can be determined, thereby determining the first direction corresponding to the insertion of the second point cloud data.
[0072] Since impassable positions on obstacles typically have a certain height in the direction perpendicular to the working surface, to improve the accuracy of obstacle simulation using the second point cloud data, the second point cloud data can also have a certain longitudinal length in the direction perpendicular to the working surface. The value of the longitudinal length is pre-stored in the self-moving device; for example, the longitudinal length can be 5 cm, 10 cm, etc. This embodiment does not limit the value of the longitudinal length of the second point cloud data. For example, a preset longitudinal length can be extended upwards from the working surface to indicate that the self-moving device cannot pass through this location. Alternatively, a certain longitudinal length can be extended downwards from the height of the ranging component to indicate that the self-moving device cannot pass through this location.
[0073] The surface of a protrusion that contacts the collision panel typically has certain extension characteristics, such as a certain length and direction of extension. However, after a collision with a protrusion, the self-moving device usually only obtains the position information of one collision point. It then attempts to move again from an adjacent position until it avoids the protrusion. However, this obstacle avoidance method tends to result in a large number of attempts by the self-moving device, leading to low obstacle avoidance efficiency and potential damage to the ranging component. Alternatively, the self-moving device can travel a certain distance in a certain direction before attempting to move again, but the direction of travel is difficult to control, easily resulting in large obstacle avoidance deviations and affecting the obstacle avoidance effect. This embodiment determines the insertion direction of point cloud data by combining the extension characteristics of the surface of the protrusion that contacts the collision panel, and then inserts a second point cloud data of a certain length. This allows the second point cloud data to better represent the extension characteristics of the protrusion surface, improving the obstacle avoidance effect of the self-moving device, preventing the self-moving device from getting stuck in place and affecting its working efficiency, and also avoiding multiple collisions.
[0074] Since the information about protrusions cannot be measured by ranging sensors or other vision sensors, accurately characterizing the extension features of the protrusion surface is crucial for the accurate obstacle avoidance of self-moving devices. In some embodiments, when the side extension features of an obstacle corresponding to the collision location are determined based on obstacle information in the area map, the side extension features are obtained; based on the side extension features, the extension features of the protrusion surface at the collision location along a plane parallel to the working surface are determined to determine the first direction corresponding to the second point cloud data to be inserted.
[0075] The area map stores obstacle information based on ranging components or other visual sensors. This obstacle information is usually obtained by ranging components and other visual sensors through distance detection and image acquisition of the side of the obstacle, making the obstacle information in the area map more accurate in representing the side extension features of the obstacle.
[0076] The lateral extension features of obstacles corresponding to collision locations can be determined based on obstacle information in the area map. Lateral extension features refer to the extension characteristics of the side of an obstacle along a plane parallel to the working surface, and can include the extension direction and extension length of the side.
[0077] If the obstacle information stored in the area map is based on laser scanning, the area map typically does not distinguish between obstacle types, only using point cloud data to characterize whether an obstacle exists at the corresponding location. If the area map also stores obstacle information determined by AI cameras, then the corresponding obstacle information can correspond to the specific type of obstacle and the point cloud data distribution area occupied by the obstacle. The obstacle information at the collision location can be determined first based on the area map, and then the lateral extension features of the obstacle corresponding to the collision location can be determined.
[0078] For example, if the distribution area of the point cloud data occupied by the obstacle and the type of obstacle are known, the obstacle to which the collision location belongs can be determined based on the point cloud data occupied by the obstacle and other visual data; and the lateral extension features of the side of the obstacle can be determined based on the point cloud data as the lateral extension features of the obstacle corresponding to the collision location.
[0079] If the distribution area of the point cloud data occupied by the obstacle and if the type of obstacle is unknown, the point cloud data within a specified range centered on the collision location can be extracted as the obstacle to which the collision location belongs, and the lateral extension features of the obstacle's side can be obtained. Alternatively, the distribution characteristics of common objects within the working area can be fused to perform feature analysis on the point cloud data to divide the point cloud data occupied by each object, thereby obtaining the point cloud data information occupied by each obstacle; further, based on this information, the obstacle to which the collision location belongs can be determined, and the lateral extension features of the obstacle's side can be obtained.
[0080] The self-moving device can also first determine whether the collision location is located on the side of an obstacle based on the regional map. If the collision location is located on the side of an obstacle, the lateral extension features of the specified side where the collision location is located can be further obtained, and the first direction for inserting the second point cloud data can be determined based on the lateral extension features of the specified side.
[0081] Typically, the side profile of an obstacle is a polygon. We can first determine whether the collision location is on the side of the obstacle, and if so, which side. For example, we can obtain the location of the obstacle's side as recorded in the area map; compare the collision location with the side location to determine whether the collision location is on the side of the obstacle, and if so, which side. Alternatively, we can perform feature recognition on the first point cloud data to determine whether the collision location is on the side of the obstacle, and if so, which side. This embodiment does not limit the method for determining whether the collision location is on the side of the obstacle, and if so, which side. The side where the collision location is located can be designated as the side.
[0082] When a specified side extends in a straight line along a plane parallel to the working surface, the direction of this straight line extension can be defined as the first direction. Of course, the specified side may extend in a curved line along a plane parallel to the working surface; for example, the side of a cabinet may have a concave or convex shape. The extension direction of the protrusion is usually consistent with the curvature of the side. Accordingly, the first direction can be determined based on the curvature variation characteristics of the cabinet side to insert second point cloud data, thereby ensuring that the inserted second point cloud data conforms to the extension characteristics of the protrusion and improving the obstacle avoidance effect of the self-moving device.
[0083] For example, when the collision point is located on the side of a cabinet, a protrusion extending from the side of the cabinet into the bottom space usually obstructs the automatic device from entering or exiting the bottom space. This protrusion typically extends a certain length along the side of the cabinet. Even if the automatic device is blocked at the collision point, it will usually try to pass through an adjacent location, requiring multiple attempts to determine where it can pass. In this embodiment, after inserting a segment of point cloud data with the side extension direction of the cabinet as the insertion direction of the second point cloud data, the automatic device will no longer attempt to enter or exit the bottom space of the cabinet from the side near the collision point, thus easily and conveniently achieving obstacle avoidance of the protrusion. The automatic device can then perform edge-movement based on this second point cloud data before attempting to enter or exit the bottom space of the cabinet.
[0084] The side extension features of obstacles are usually relatively fixed and easily detected by ranging components or other visual sensors in self-moving devices. The extension features of protrusions on the side of obstacles are likely to be consistent with the corresponding side extension features of the obstacle. Therefore, when the collision location is determined to be on the side of the obstacle, using the side extension features of a specified side to characterize the extension features of the protrusion surface can improve the accuracy and efficiency of determining the extension features of the protrusion surface, thereby improving the obstacle avoidance effect.
[0085] When the collision point is located on the bottom surface of an obstacle, the extension characteristics of the obstacle's bottom surface are not fixed, making it difficult to determine the extension characteristics of the protruding surfaces on the obstacle's bottom surface. In this case, the extension characteristics of the protruding surfaces can also be determined by combining the lateral extension characteristics of the obstacle. For example, the extension direction of the crossbars on the bottom surface of cabinets and beds is basically consistent with the lateral extension characteristics of cabinets and beds. Therefore, determining the insertion direction of the second point cloud data by combining the lateral extension characteristics of the obstacle can better match the surface extension characteristics of such protruding surfaces. Given that obstacles may have multiple sides, the extension characteristics of the protruding surfaces can be further determined by combining the travel direction of the self-moving device. For example, the lateral extension direction with a small angle to the travel direction can be extracted to determine the insertion direction of the second point cloud data. This makes the insertion direction of the second point cloud data more consistent with the surface extension characteristics of protruding surfaces such as crossbars and the travel characteristics of the self-moving device, thus improving obstacle avoidance performance.
[0086] Of course, after using a ranging sensor or other visual sensor to detect an object, the self-moving device may assume that the height of the space under the object is sufficient for the self-moving device to pass through. It may not store the corresponding information about the object. When the self-moving device enters or exits the space under the object, even if it is hit by a protrusion on the side or bottom of the object, it cannot determine the obstacle to which the protrusion belongs. Therefore, it is impossible to extract the lateral extension features of the obstacle corresponding to the collision position, and thus it is impossible to determine the extension features of the protrusion surface based on the obstacle information stored in the map.
[0087] Correspondingly, in other embodiments, a reference direction corresponding to the regional map for correcting the movement direction of the self-moving device can also be obtained; based on the reference direction, the extension features of the protruding surface where the collision location is located on a plane parallel to the working surface are determined to determine the first direction for inserting the second point cloud data.
[0088] The area map can also be linked with reference directions for self-moving devices to correct their movement direction, facilitating obstacle avoidance and route planning. For example, for cleaning equipment, the horizontal extension of a wall within a room can be used as a reference direction to ensure the planned cleaning route conforms to the distribution characteristics of most furniture in the room, improving cleaning efficiency. Furniture such as cabinets, sofas, and beds, which can accommodate cleaning equipment but may collide with the ranging components, is usually positioned parallel to or at a slight angle to the walls. The side protrusions that obstruct the cleaning equipment's entry and exit, as well as the bottom crossbars that prevent movement within the furniture's bottom space, are generally aligned with the overall extension direction of the furniture, meaning they are highly consistent with the reference direction.
[0089] This embodiment is based on the determination of a first direction for the reference direction guidance used to correct the movement direction of the self-moving device. This allows the inserted second point cloud data to conform to the extension characteristics of most of the protruding surfaces that obstruct the movement of the cleaning device, thereby improving the obstacle avoidance effect against such obstacles.
[0090] Of course, if the lateral extension features of the obstacle corresponding to the collision location are extracted, the extension features of the protruding surface can also be determined by combining the reference direction, and then the first direction for inserting the second point cloud data can be determined to further improve the obstacle avoidance effect.
[0091] In other embodiments, the tangential direction of the collision location on the collision panel along a plane parallel to the working surface can also be obtained; the extension features of the protrusion surface where the collision location is located along a plane parallel to the working surface can be determined based on the tangential direction to determine the first direction for inserting the second point cloud data.
[0092] During the movement of the self-moving device, when the collision component collides with a protrusion, a point on the collision panel will come into contact with the surface of the protrusion. For ease of description, this point on the collision panel that contacts the protrusion can be described as the contact point. It should be noted that this contact point is also the point on the collision panel corresponding to the collision location. For example, a protrusion on the side of an obstacle usually extends a certain length along the side of the obstacle, thus hindering the self-moving device from entering or exiting the bottom space of the obstacle. If the ranging component of the self-moving device collides with a protrusion on the side of the obstacle, the extension direction of the protrusion surface is highly consistent with the tangent direction of the contact point on the collision panel. In this case, the extension characteristics of the protrusion surface at the collision location along a plane parallel to the working surface are further determined by combining the tangent direction of the contact point, thereby determining the first direction corresponding to the second point cloud data to be inserted. For example, the tangent direction can be directly taken as the extension direction of the protrusion surface at the collision location along a plane parallel to the working surface, and this extension direction can be taken as the first direction.
[0093] For example, the self-moving device can be controlled to attempt to pass through a preset number of locations adjacent to the collision location. If it fails to pass through any of them, the tangent direction can be extracted separately, and then the first direction can be determined by fitting multiple tangent directions together, thereby further improving the accuracy of the first direction determination.
[0094] The above method can accurately characterize the extension features of the protruding surface located on the bottom of an obstacle, and makes the characterization of the extension features of the protruding surface more flexible. Of course, the first direction can also be determined by combining the reference direction and the lateral extension features of the protruding surface when it is on the side of the obstacle.
[0095] In some implementations, the sensing area of the collision sensor configured on the collision panel may include one or more detection points. Correspondingly, each detection point may correspond to a collision sensor to specifically detect collision signals. The location of the collision on the collision panel is then determined based on the distribution of the collision sensors that detected the collision signals, further improving the accuracy of collision location determination. When the sensing area includes multiple detection points, the positions of these multiple detection points can be determined as needed, such as being distributed along the travel direction relative to the self-moving device, or they can be evenly distributed within a 360-degree range around the detection component.
[0096] In other embodiments, a region for receiving collision signals can be pre-configured on the collision panel, and a collision sensor can be set for this region to reduce device complexity and cost. When any location within this region is collided with, the collision sensor can output a collision signal. For example, the sensing area of the collision sensor configured on the collision panel can be a fan-shaped area. It can be pre-set that when any location within the sensing area is collided with, the center of the fan-shaped area is considered the collision point, and the collision position projected onto the area map is determined based on this center position. When the actual contact point is not at the center of the sensing area, the output collision position does not correspond one-to-one with the actual contact point, resulting in a deviation. In this case, a first direction can be determined by further combining the aforementioned tangential direction with a reference direction; or, the first direction can be determined by further combining the lateral extension characteristics of the obstacle.
[0097] Optionally, the first direction includes a direction extending to one side of the self-moving device when the self-moving device collides with the protrusion, or a direction extending to both sides of the self-moving device.
[0098] In this application, taking the direction of travel of the self-moving device as the front of the device as an example, the left and right sides parallel to the working surface and perpendicular to the front of the device are the two sides of the device, and the left or right side parallel to the working surface and perpendicular to the front of the device is the one side of the device. The sum of the maximum vertical distance between the left side and the front of the device and the maximum vertical distance between the right side and the front of the device is the width of the device.
[0099] If the obstacle to which the collision point belongs can be extracted from the regional map, and the collision point is determined to be located on a specific side of the obstacle, the collision point may be located in the middle area of the specified side of the obstacle, or it may be located at the endpoints of the specified side. When the collision point is located at the endpoints, extending the second point cloud data along both sides of the self-moving device will result in an excessively long insertion length of the second point cloud data, which does not match the extension length of the specified side of the obstacle.
[0100] Based on the above problems, schematically, the self-moving device determines the first direction as either a direction extending to one side of the self-moving device or a direction extending to both sides of the self-moving device based on the position information of the collision location on a designated side of the obstacle.
[0101] Specifically, when the location information indicates that the distance between the collision location and both ends of the designated side is greater than a preset distance, the first direction extends towards both sides of the self-moving device; when the location information indicates that the distance between the collision location and one end of the designated side is less than the preset distance, the first direction extends towards one side of the self-moving device, and the direction of extension points to the other end of the designated side. In this case, the location information can also indicate the distance between the collision location and both ends of the designated side. The preset distance can be pre-stored in the self-moving device, specified by the user, or determined by the self-moving device based on its size. This embodiment does not limit the method of setting the preset distance.
[0102] Optionally, before inserting second point cloud data of a first length along the first direction based on the collision location on the regional map, the method further includes: obtaining a preset first length, or determining the first length based on the location information of the collision location on the obstacle.
[0103] The preset first length is pre-stored in the self-moving device. It can be specified by the user or determined by the self-moving device based on the device size. For example, the first length can be (n * device width), where n is a positive integer.
[0104] Obstacles have multiple sides, and the mobile device may collide with either the longer or shorter side of the obstacle. In this case, if the second point cloud data extends to the same first length, it will result in the second point cloud data being too long relative to the shorter side and too short relative to the longer side. Therefore, the first length can be flexibly determined based on the collision location's position on the obstacle.
[0105] Based on this, when the obstacle includes a first side and a second side, and the extension length of the second side along a plane parallel to the working surface is greater than the extension length of the first side along a plane parallel to the working surface, the first length is determined based on the position information of the collision location on the obstacle, including: determining the designated side where the collision location is located; when the designated side is the first side, determining the first length as a first value; when the designated side is the second side, determining the first length as a second value, wherein the second value is greater than the first value.
[0106] The first and second values are pre-stored in the self-moving device; or, the first value is determined based on the length of the first side, and the second value is determined based on the length of the second side. Alternatively, the first and second values can also be determined in conjunction with the device width of the self-moving device, such as: the first value is twice the device width, and the second value is equal to the device width. This embodiment does not limit the setting method of the first and second values.
[0107] In summary, the self-moving device control method provided in this embodiment, by acquiring the collision position on the area map corresponding to the collision of the collision panel and inserting second point cloud data at the collision position, can solve the problem of the self-moving device lags due to insufficient accuracy in obstacle recognition, resulting in collisions with protrusions. This improves the working efficiency of the self-moving device. Since the collision panel only needs to collide with obstacles a few times during the detection process, it can identify obstacles by inserting second point cloud data matching the extension features of the obstacle at the collision position, eliminating the need for multiple collisions. Therefore, the number of collisions by the collision panel can be reduced, improving obstacle detection efficiency. Furthermore, since the collision panel does not need to collide with obstacles multiple times, damage to obstacles or the self-moving device during collisions can be avoided, thus extending the lifespan of the self-moving device and improving the user experience.
[0108] In addition, by combining positional information such as the lateral extension length of the specified side where the collision location is located, or the distance from the lateral endpoint of the specified side, the extension length of the second point cloud data is determined. This allows the self-moving device to flexibly select the extension length of the second point cloud data, further improving the obstacle avoidance flexibility of the self-moving device and enhancing the user experience.
[0109] The extension length of the protrusion can vary: either the protrusion on the obstacle is long, or the protrusion on the obstacle is short. If the second point cloud data is extended by the same first length in both cases, the self-moving device will either have to avoid the protrusion at a distance greater than the actual length of the impassable position, or avoid the protrusion at a distance less than the actual length of the impassable position. Therefore, the length of the inserted second point cloud data can be optimized before insertion.
[0110] Based on this, before inserting the second point cloud data of a first length along the first direction based on the collision location on the regional map (i.e., before step 302), the method further includes: controlling the self-moving device to move a third length from the collision location along the first direction to obtain the second current position of the self-moving device; controlling the self-moving device to move from the second current position along a preset travel direction; wherein, the preset travel direction can be the travel direction of the self-moving device when the collision signal is output; when the collision panel outputs a collision signal, the steps of controlling the self-moving device to move a third length along the first direction and controlling the self-moving device along the preset travel direction are executed again until the number of times the third length is moved reaches a preset number, or the collision panel does not output a collision signal; wherein, the third length is less than the first length; determining the first length based on the third length and the preset number, wherein, the first length is greater than or equal to the product of the third length and the preset number.
[0111] Optionally, the third length can be half the width of the device or the width of the device. This embodiment does not limit the value of the third length.
[0112] If the third length is moved a preset number of times, it indicates that the protrusion in the obstacle is relatively long; however, if the collision panel does not output a collision signal, it indicates that the protrusion in the obstacle is relatively short. Therefore, moving the third length a preset number of times and the collision panel not outputting a collision signal correspond to different situations, and different methods should be used to determine the first length. The methods for determining the first length in the two situations are described below.
[0113] Specifically, when the number of times the third length is moved reaches a preset number, as an alternative step to step 302, on the area map, based on the collision position and the collision position corresponding to each unpassed position, insert second point cloud data of a preset first length along the first direction; or, on the area map, based on the collision position, insert second point cloud data of a preset first length along the first direction.
[0114] If the collision panel does not output a collision signal, as an alternative to step 302, a second point cloud data is inserted on the area map from the collision location along a first direction to the current passable location, where the first length is the length from the collision location to the passable location.
[0115] In this embodiment, by determining the first length before extending the second point cloud data, the problem of excessively long distances that the self-moving device must avoid during movement can be solved. By determining the first length, the distance that the self-moving device must avoid protrusions is consistent with the actual situation, and no areas will be missed when performing work tasks, thereby improving the working effect of the self-moving device.
[0116] Optionally, based on the above embodiments, since protrusions typically have a certain thickness, inserting second point cloud data only on the side where the collision occurs could lead to the self-moving device colliding with the protrusion again when moving to the other side. For example, the obstacle is a cabinet. Based on information in the area map, it is determined that the bottom space of the cabinet allows the self-moving device to pass through, but the side of the cabinet has a protrusion (such as lace) extending into the bottom space, and this protrusion has a certain thickness extending from the side of the cabinet into the cabinet interior. If the self-moving device collides with the protrusion when entering the bottom space from outside the cabinet, second point cloud data can be added based on the collision location. Subsequently, the self-moving device may enter the bottom space of the cabinet from other locations. When moving from the bottom space to outside the cabinet, because the protrusion has thickness, the second point cloud data cannot prevent the self-moving device from colliding with the inside of the protrusion again. At this time, the self-moving device may collide with the protrusion again from the inside.
[0117] To address the aforementioned issues, in this embodiment, the second point cloud data comprises at least two rows, with the arrangement direction of these at least two rows parallel to the working surface and perpendicular to the first direction. This avoids the problem of the self-moving device laging when colliding with impassable locations, further improving the working efficiency of the self-moving device. It also avoids the problem of multiple collisions with impassable locations, further reducing the number of collisions with obstacles.
[0118] Optionally, the distance between two adjacent rows of second point cloud data is pre-stored in the mobile device. This distance can be set by the user or determined by the developer based on experience. When the second point cloud data includes at least three rows, the distance between adjacent rows of second point cloud data may be the same or different.
[0119] Specifically, such as Figure 4 As shown, in the case where the self-moving device is a cleaning robot, a top view is shown of the cleaning robot 10 colliding with a protrusion on the side of the cabinet 41 when it moves out from the bottom space of the cabinet 41. In the area map, two rows of second point cloud data 42 are inserted at the collision position between the cleaning robot and the side of the cabinet. According to Figure 4 It can be seen that the second point cloud data 42 includes two rows, which can simulate the thickness of the inaccessible location.
[0120] In this embodiment, at least two rows of second point cloud data are arranged in a second direction that is parallel to the working surface and perpendicular to the extension direction of the second point cloud. This can avoid the problem of the self-moving device getting stuck when it collides with an impassable location, thereby improving the working efficiency of the self-moving device. At the same time, it can also avoid the problem of the self-moving device colliding with an impassable location multiple times, thereby reducing the number of collisions with obstacles and improving the efficiency of the self-moving device in detecting obstacles.
[0121] Optionally, based on the above embodiments, since the first length of the self-moving device is fixed, there may be a problem that the first length is too long or too short. Based on this, in this embodiment, the first length can also be adjusted.
[0122] At this point, after inserting a second point cloud data of a first length along the first direction based on the collision location on the regional map (i.e., after step 302), the process further includes: moving to the endpoint of the second point cloud data; controlling the self-moving device to move along a preset travel direction from the endpoint position indicated by the endpoint, wherein the preset travel direction can be the travel direction of the self-moving device when the collision signal is output; moving a second length from the endpoint to the collision location when the collision panel does not output a collision signal to obtain the first current position of the self-moving device; the second length is less than the first length; updating the endpoint of the second point cloud data to the map position in the regional map corresponding to the first current position, and again executing the step of controlling the self-moving device to move along the preset travel direction from the endpoint position indicated by the endpoint, and moving a second length from the endpoint to the collision location when the collision panel does not output a collision signal; until the collision panel outputs a collision signal, and stopping the updating of the endpoint of the second point cloud data.
[0123] After reaching the endpoint, the self-moving device is controlled to move along a preset direction of travel. Whether the self-moving device has avoided the impassable position can be determined by whether a collision signal is received. That is, it can be determined whether the first length is too long.
[0124] Upon reaching the endpoint of the second point cloud data, the self-moving device is controlled to move along a preset direction. If the collision panel does not output a collision signal, it indicates that the length of the impassable position is relatively short; conversely, if the collision panel outputs a collision signal, it indicates that the length of the impassable position is relatively long. Therefore, the determination of the first length of the second point cloud data corresponding to the collision panel outputting a collision signal differs from the determination of the length of the second point cloud data corresponding to the collision panel not outputting a collision signal.
[0125] Specifically, if the collision panel does not output a collision signal, and the number of steps to move the second length from the endpoint to the collision location reaches a preset threshold, the endpoint of the self-moving device is controlled to stop updating the second point cloud data. Here, the first length is greater than the product of the second length and the preset threshold.
[0126] In this embodiment, by continuously moving the second length towards the collision position and shortening the second point cloud data until another collision occurs, the second point cloud data inserted at the collision position can better match the actual extension length of the protrusion, thereby improving the accuracy of the self-moving device in detecting the protrusion. At the same time, the self-moving device autonomously and cyclically executes the step of shortening the second point cloud data, which can improve the intelligence level of the self-moving device and enhance the user experience.
[0127] When the collision panel outputs a collision signal, the endpoint indicated by the endpoint is determined as the collision location. This triggers the execution of a step that, in response to receiving the collision signal from the collision panel, determines the location information of the collision point on the area map, using this collision location as the collision location, and inserts a second point cloud data of a first length along a first direction on the area map based on the collision location. Since the actual extension length of the impassable location is relatively long, adding second point cloud data again in the event of a second collision allows the mobile device to fit the second point cloud data added in these two collisions. The fitted second point cloud data will better match the actual extension characteristics of the impassable location.
[0128] In this embodiment, the self-moving device shortens the second point cloud data by moving a second length towards the collision location, which can adapt to scenarios where the extension length of the impassable location is short, thereby improving the accuracy of the second point cloud data added by the self-moving device.
[0129] In addition, after the endpoint of the second point cloud data collides again, the second point cloud data of the first length is inserted again, so that the self-moving device can adapt to scenarios with long extension lengths where it cannot pass through, thereby improving the accuracy of the second point cloud data added by the self-moving device.
[0130] Optionally, based on the above embodiments, since the second point cloud data inserted at the collision location is point data, it can only represent the distribution of impassable locations on the obstacle. Therefore, the self-moving device can also use the second point cloud data to determine impassable locations. Specifically, determining impassable locations using the second point cloud data includes: performing curve fitting on the second point cloud data to obtain a curve representing the impassable location.
[0131] As described in the above embodiments, when obstacles include multiple impassable locations (i.e., multiple protrusions), the corresponding area map may include second point cloud data corresponding to each of these impassable locations. For two impassable locations that are close to each other, the second point cloud data may overlap. In this case, when performing curve fitting on a particular impassable location, it is necessary to determine which second point cloud data corresponds to the currently fitted impassable location. That is, before performing curve fitting on the second point cloud data, for different sets of overlapping second point cloud data, it is determined whether the different sets of second point cloud data belong to the same impassable location.
[0132] Accordingly, curve fitting is performed on the second point cloud data to obtain curves representing impassable locations, including: when different groups of second point cloud data belong to the same impassable location, curve fitting is performed using different groups of second point cloud data to obtain curves for the same impassable location; when different groups of second point cloud data belong to different impassable locations, curve fitting is performed using each group of second point cloud data to obtain curves for different impassable locations.
[0133] The second point cloud data in each group is obtained by performing the same operation of adding the second point cloud data.
[0134] The process of determining whether different groups of second point cloud data belong to the same impassable location includes: determining whether the overlap rate of different groups of second point cloud data is greater than a preset overlap rate; if the overlap rate is greater than the preset overlap rate, determining that different groups of second point cloud data belong to the same impassable location; if the overlap rate is less than the preset overlap rate, determining that different groups of second point cloud data belong to different impassable locations.
[0135] The preset overlap rate can be 98%, 95%, etc., and this embodiment does not limit the value of the preset overlap rate.
[0136] In other embodiments, the self-moving device may also fit the second point cloud data of the same obstacle with the first point cloud data to obtain obstacle information. This obstacle information includes, but is not limited to, the minimum distance between each location of the obstacle and the ground, and curves indicating impassable locations on the obstacle. This embodiment does not limit the content of the obstacle information.
[0137] In this embodiment, the self-moving device can improve the obstacle detection accuracy by using second point cloud data to determine unmarked impassable locations in the area map.
[0138] Figure 5 This is a block diagram of an apparatus for controlling a self-moving device according to an embodiment of this application. The apparatus includes at least the following modules: a positioning module 510 and an insertion module 520.
[0139] The positioning module 510 is used to determine the location information of the collision panel in the area map as the collision location when the collision panel is collided, in response to the collision signal output when the collision panel is collided, during the movement of the self-moving device along the working surface in the working area.
[0140] Insertion module 520 is used to insert second point cloud data of a first length along a first direction on a regional map based on the collision location.
[0141] For relevant details, please refer to the above embodiments.
[0142] It should be noted that the control method apparatus for the self-moving device provided in the above embodiments is only illustrated by the division of the above functional modules when controlling the self-moving device. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the control method apparatus for the self-moving device can be divided into different functional modules to complete all or part of the functions described above. In addition, the control method apparatus for the self-moving device provided in the above embodiments and the control method embodiments for the self-moving device belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.
[0143] Optionally, this application also provides a computer-readable storage medium storing a program that is loaded and executed by a processor to implement the self-moving device control method of the above method embodiments.
[0144] Optionally, this application also provides a computer product including a computer-readable storage medium storing a program that is loaded and executed by a processor to implement the self-moving device control method of the above method embodiments.
[0145] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0146] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
[0147] Obviously, the embodiments described above are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, those skilled in the art can make other variations or modifications without creative effort, and all such variations or modifications should fall within the scope of protection of this application.
Claims
1. A control method for a self-moving device, characterized in that, The self-moving device includes a ranging component disposed on the upper part of the self-moving device body, the ranging component including at least a collision panel and a ranging sensor; the method includes: During the movement of the self-moving device along the working surface within the working area, in response to the acquisition of the collision signal output when the collision panel is collided, the location information of the collision position of the collision panel in the area map is determined as the collision position; wherein, the area map is constructed based at least on the first point cloud data collected by the ranging sensor for the working area; A second point cloud data of a first length is inserted on the area map based on the collision location along a first direction. The second point cloud data is used to identify locations where the self-moving device cannot pass. The first direction is determined at least based on the extension features of the surface of the protrusion where the collision location is located along a plane parallel to the working surface, and the object to which the protrusion belongs is described as an obstacle.
2. The method according to claim 1, characterized in that, Before inserting a second point cloud data of a first length along a first direction on the area map based on the collision location, the method further includes: If, based on obstacle information in the area map, it is determined that the collision location corresponds to the side extension feature of an obstacle, the side extension feature is obtained. Based on the lateral extension features, the extension features of the protrusion surface where the collision location is located are determined along a plane parallel to the working surface, so as to determine the first direction corresponding to the second point cloud data to be inserted.
3. The method according to claim 1, characterized in that, Before inserting a second point cloud data of a first length along a first direction on the area map based on the collision location, the method further includes: Obtain the reference direction corresponding to the area map for correcting the movement direction of the mobile device; The extension features of the protruding surface where the collision location is located along a plane parallel to the working surface are determined based at least on the reference direction, so as to determine the first direction corresponding to the second point cloud data to be inserted.
4. The method according to claim 1, characterized in that, Before inserting a second point cloud data of a first length along a first direction on the area map based on the collision location, the method further includes: Obtain the tangent direction on the collision panel corresponding to the collision position on a plane parallel to the working surface; The first direction corresponding to the second point cloud data to be inserted is determined by at least the extension features of the protrusion surface where the collision location is located along a plane parallel to the working surface, based on the tangential direction.
5. The method according to claim 1, characterized in that, Before inserting a second point cloud data of a first length along a first direction on the area map based on the collision location, the method further includes: Get the preset first length; or, The first length is determined based on the location information of the collision point on the obstacle.
6. The method according to claim 5, characterized in that, The obstacle includes a first side and a second side, wherein the horizontal extension length of the second side is greater than the horizontal extension length of the first side. Determining the first length based on the position information of the collision location on the obstacle includes: Determine the specific side on the obstacle to which the collision location belongs; If the designated side to which the collision location belongs is the first side, the first length is determined to be a first value; If the designated side to which the collision location belongs is the second side, the first length is determined to be a second value, and the second value is greater than the first value.
7. The method according to claim 1, characterized in that, After inserting a second point cloud data of a first length along a first direction on the regional map based on the collision location, the method further includes: Move to the endpoint of the second point cloud data; The self-moving device is controlled to move along a preset direction of travel from the endpoint position indicated by the endpoint, wherein the preset direction of travel is the direction of travel of the self-moving device when the collision signal is output; If the collision panel does not output the collision signal, the self-moving device moves a second length from the endpoint toward the collision position to obtain the first current position of the self-moving device; the second length is less than the first length. Update the endpoint of the second point cloud data to the map position in the area map corresponding to the first current position, and execute the step of controlling the self-moving device to move along the preset travel direction from the endpoint position indicated by the endpoint again, and moving a second length from the endpoint to the collision position when the collision panel does not output the collision signal; until the collision panel outputs the collision signal, stop updating the endpoint of the second point cloud data.
8. The method according to claim 1, characterized in that, Before inserting a second point cloud data of a first length along a first direction on the area map based on the collision location, the method further includes: The self-moving device is controlled to move a third length from the collision position along a first direction to obtain the second current position of the self-moving device; Control the self-moving device to move from the second current position along a preset direction of travel, wherein the preset direction of travel is the direction of travel of the self-moving device when the collision signal is output; When the collision panel outputs the collision signal, the steps of controlling the self-moving device to move a third length along the first direction and controlling the self-moving device to move from the second current position along a preset travel direction are executed again until the number of times the third length is moved reaches a preset number or the collision panel does not output the collision signal; wherein, the third length is less than the first length; The first length is determined based on the third length and the preset number of times, wherein the first length is greater than or equal to the product of the third length and the preset number of times.
9. The method according to any one of claims 1 to 8, characterized in that, The second point cloud data includes at least two rows, the arrangement direction of the at least two rows of second point cloud data is parallel to the working surface, and the arrangement direction is perpendicular to the first direction.
10. The method according to any one of claims 1 to 8, characterized in that, The first direction includes a direction extending toward one side of the self-moving device or a direction extending toward both sides of the self-moving device.
11. A self-moving device, characterized in that, The self-moving device includes a processor and a memory connected to the processor. The memory stores a program, and when the processor executes the program, it implements the control method of the self-moving device as described in any one of claims 1 to 10.
12. A computer-readable storage medium, characterized in that, The storage medium stores a program that, when executed by a processor, is used to implement the control method for the self-moving device as described in any one of claims 1 to 10.