Positioning method, device, self-moving device and storage medium for self-moving devices

By acquiring the location and signal quality of self-moving devices in collaborative operations and using the positioning information of reference devices to assist in the positioning of self-moving devices, the problem of positioning difficulties caused by satellite signal blockage is solved, and accurate positioning is achieved under abnormal conditions.

CN116203607BActive Publication Date: 2026-05-26ECOFLOW INC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ECOFLOW INC
Filing Date
2023-03-23
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Mobile devices cannot receive satellite signals in obstructed environments, making positioning difficult.

Method used

By acquiring the location information and satellite signal quality of the second self-moving device in the collaborative operation, and using the location information and offset location information of the reference self-moving device, the first self-moving device is assisted in positioning.

Benefits of technology

When satellite signals are abnormal, effective positioning of the self-moving device is achieved, improving the accuracy and stability of positioning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116203607B_ABST
    Figure CN116203607B_ABST
Patent Text Reader

Abstract

This application relates to the field of self-moving device technology, and provides a positioning method, apparatus, self-moving device, and storage medium for self-moving devices. The positioning method for a self-moving device includes: acquiring map data for collaborative operation in response to a preset instruction for collaborative operation; when an anomaly in satellite signal is detected during collaborative operation based on the map data, acquiring the position information and satellite signal quality of a second self-moving device in the collaborative operation; determining a reference self-moving device based on the satellite signal quality of the second self-moving device and the positional distance between the second and first self-moving devices; and determining the positioning information of the first self-moving device on the map based on the positioning information of the reference self-moving device and the offset position information between the first and reference self-moving devices. This application can effectively locate the first self-moving device when its satellite signal is abnormal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of self-moving device technology, and particularly relates to positioning methods, devices, self-moving devices, and storage media for self-moving devices. Background Technology

[0002] With the development of science and technology, the application of self-moving devices such as lawnmowers is becoming increasingly widespread. During the use of self-moving devices, it is usually necessary to locate them.

[0003] In related technologies, self-moving devices typically rely on satellite signals for positioning. However, if the location of the self-moving device is obstructed, such as by a large tree, tall building, or greenhouse, the satellite signal received by the self-moving device may be poor or even non-existent, making it difficult for the self-moving device to locate itself. Summary of the Invention

[0004] This application provides a positioning method, apparatus, self-moving device, and storage medium for self-moving devices, aiming to solve the problem in related technologies where self-moving devices are difficult to locate due to poor or no satellite signals received.

[0005] In a first aspect, embodiments of this application provide a positioning method for a self-moving device, the method being applied to a first self-moving device, comprising:

[0006] In response to preset instructions for collaborative operations, acquire map data for collaborative operations;

[0007] When an anomaly in the satellite signal is detected during collaborative operations based on map data, the location information and satellite signal quality of the second self-moving device in the collaborative operation are obtained, wherein the satellite signal quality is used to indicate whether the satellite signal is abnormal;

[0008] A reference self-moving device is determined based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device;

[0009] Based on the location information of the reference self-mobile device and the offset position information between the first self-mobile device and the reference self-mobile device, the location information of the first self-mobile device in the map is determined.

[0010] The beneficial effects of this application embodiment compared with related technologies are as follows: by analyzing the satellite signal quality and location distance corresponding to the second self-moving device that works in cooperation with the first self-moving device, a reference self-moving device for positioning the first self-moving device can be determined from one or more second self-moving devices, and the first self-moving device can be assisted in positioning based on the positioning information of the reference self-moving device. This enables effective positioning of the first self-moving device when there are abnormalities in the satellite signal of the first self-moving device.

[0011] Secondly, embodiments of this application provide a positioning device for a self-moving device, which is applied to a first self-moving device and includes:

[0012] The map acquisition unit is used to acquire map data for collaborative operations in response to preset instructions.

[0013] The information acquisition unit is used to acquire the location information and satellite signal quality of the second self-moving device in the collaborative operation when an anomaly in the satellite signal is detected during the collaborative operation based on map data. The satellite signal quality is used to indicate whether the satellite signal is abnormal.

[0014] The reference determination unit is used to determine a reference self-moving device based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device;

[0015] The positioning execution unit is used to determine the positioning information of the first self-moving device in the map based on the positioning information of the reference self-moving device and the offset position information between the first self-moving device and the reference self-moving device.

[0016] Thirdly, embodiments of this application provide a self-moving device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the positioning method for the self-moving device described above.

[0017] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the positioning method for the self-moving device described above.

[0018] Fifthly, embodiments of this application provide a computer program product that, when run on a self-moving device, causes the self-moving device to execute the aforementioned self-moving device positioning method.

[0019] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description

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

[0021] Figure 1 This is an exemplary system architecture diagram in which one embodiment of this application can be applied;

[0022] Figure 2 This is a schematic flowchart of a positioning method for a self-moving device provided in an embodiment of this application;

[0023] Figure 3 This is a schematic diagram of a scenario in which multiple self-moving devices work together to complete a certain task, according to an embodiment of this application.

[0024] Figure 4 This is a schematic diagram of the process for creating a working map according to an embodiment of this application;

[0025] Figure 5 This is a schematic diagram illustrating the effect of fusing sub-maps created by multiple self-moving devices to obtain a working map, according to an embodiment of this application.

[0026] Figure 6 This is a schematic diagram illustrating the relative positional relationship between a first self-moving device and a reference self-moving device according to an embodiment of this application;

[0027] Figure 7 This is a schematic diagram of a process for determining a reference mobile device according to an embodiment of this application;

[0028] Figure 8 This is a flowchart illustrating a positioning method for a self-moving device provided in another embodiment of this application;

[0029] Figure 9 This is a structural block diagram of a positioning device for a self-moving device provided in an embodiment of this application;

[0030] Figure 10 This is a schematic diagram of the structure of a self-moving device provided in an embodiment of this application. Detailed Implementation

[0031] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0032] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0033] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0034] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."

[0035] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0036] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0037] To illustrate the technical solution of this application, the following embodiments will be used for explanation.

[0038] Figure 1This is an exemplary system architecture diagram to which one embodiment of this application can be applied. For example... Figure 1 As shown, the system architecture may include a user terminal 101, a server 102, and multiple self-moving devices, such as self-moving device A, self-moving device B, and self-moving device C. Each self-moving device can operate independently or collaboratively. The user terminal 101 can connect to the server 102 via a network, and the server 102 can connect to each self-moving device individually via a network. The network can include various connection types, such as wired or wireless communication links or fiber optic cables, etc.

[0039] In practice, various applications can be installed on the user terminal 101, such as instant messaging applications, device management applications, and remote monitoring applications. In practical applications, users can interact with the server 102 through the applications installed on the user terminal 101. For example, through a device management application, users can interact with the server 102 to use or control each self-moving device connected to the server 102.

[0040] In one application scenario, if a user needs multiple self-moving devices to work collaboratively, the user can select the identity identifiers of their respective devices in the corresponding application on the user terminal 101. For example, selecting A and B will select the corresponding self-moving device A and self-moving device B. Additionally, the user can select work areas and / or work content for each self-moving device in the application. For example, area 1 on the work map can be selected as the work area for self-moving device A, and its lawn-mowing height can be set to 5 cm; area 2 on the work map can be selected as the work area for self-moving device B, and its lawn-mowing height can be set to 3 cm. Then, the user terminal 101 can send the information selected or set by the user regarding the collaborative work of multiple self-moving devices to the server 102. In this way, the server 102 can identify all the self-moving devices that need to work collaboratively and control these self-moving devices to enter the collaborative work. Finally, the individual self-moving devices that need to work collaboratively can perform collaborative work according to their respective work content and work areas.

[0041] In practical applications, users can allocate the work area and / or work content of their mobile devices based on the area and work content involved in the task to be performed, as well as the current location, current battery level, and devices that need to be connected to their mobile devices.

[0042] It should be understood that Figure 1 The number of client machines, servers, and self-moving devices shown is merely illustrative. Depending on implementation needs, there can be any number of client machines, servers, and self-moving devices.

[0043] In some embodiments, server 102 can be used to store the binding relationships between user terminal 101 and self-moving devices (A, B, C). In practical applications, the user terminal application can display all self-moving devices bound to that user terminal, allowing the user to select and control a self-moving device. It is easy to understand that after the user selects a corresponding self-moving device, user terminal 101 and the selected self-moving device can interact via near-field communication. For example, user terminal 101 and the selected self-moving device can connect via Bluetooth, and user terminal 101 can directly send control commands to the selected self-moving device to control it to perform corresponding operations or tasks.

[0044] Continue reading Figure 2 , Figure 2 This is a schematic flowchart of a positioning method for a self-moving device provided in an embodiment of this application. Figure 2 The execution subject of the positioning method of the self-moving device shown is usually the first self-moving device, and the positioning method of the self-moving device can be implemented through the following steps 201-204.

[0045] Step 201: In response to the preset instructions of the collaborative operation, obtain the map data of the collaborative operation.

[0046] The aforementioned preset instructions are typically pre-set instructions used to direct collaborative operations. Preset instructions can also be control commands sent by the user to the server via a client, which the server then generates to direct collaborative operations. Alternatively, these preset instructions can be sent by the user to the first self-moving device via near-field communication (NFC).

[0047] In this embodiment, the execution subject of the above-mentioned self-moving device positioning method is usually the first self-moving device, wherein the first self-moving device can be any one of multiple self-moving devices in collaborative operation.

[0048] Here, the first self-moving device can receive a preset instruction sent by the server via the network. After receiving the preset instruction, the first self-moving device can obtain the map data for collaborative operation from the server. Alternatively, the first self-moving device can receive a preset instruction sent by the user terminal via near-field communication, and retrieve the map data for collaborative operation from a preset memory in response to the preset instruction. The preset memory can be the memory within the first self-moving device itself, or the memory within other self-moving devices involved in the collaborative operation task. In this way, the first self-moving device can perform collaborative operations based on the map data. In practice, multiple self-moving devices typically collaborate to complete a specific task. For example, when each device is a lawnmower robot, the task could be to collaboratively mow a lawn.

[0049] Figure 3 This is a schematic diagram illustrating a scenario where multiple self-moving devices work together to complete a task, as provided in an embodiment of this application. Figure 3 As shown, three self-moving devices, A, B, and C, work together to mow a patch of grass. Figure 3 In the diagram, A corresponds to the left-hand area, and A's mowing height is 5 cm; B corresponds to a portion of the right-hand area, and B's mowing height is 8 cm; C corresponds to the right-hand area excluding B's work area, and C's mowing height is 5 cm.

[0050] It should be noted that multiple self-moving devices in collaborative work typically share a single working map, which is usually created before the collaborative work begins. This working map can be created by a single self-moving device or by merging sub-maps created separately by multiple self-moving devices.

[0051] Figure 4 This is a schematic diagram illustrating the process of creating a working map as provided in an embodiment of this application. Figure 4 As shown, the self-moving device can be implemented as a robot, for example, it can be a lawn mowing robot. The implementation process can include the following steps 401-411.

[0052] Step 401, the user builds the map.

[0053] Here, users can perform operations on the user terminal to trigger the map construction process.

[0054] Step 402: The user selects the build method.

[0055] Here, users can choose the method for building the map on the user terminal. The construction method can include single-robot mapping mode and multi-robot mapping mode. In single-robot mapping mode, a single self-moving device can be used to build the entire working map. In multi-robot mapping mode, multiple self-moving devices can be used to build parts of the map, that is, to build sub-maps, and then the working map is obtained by merging multiple sub-maps.

[0056] Step 403: If the construction method is a single robot mapping mode, then proceed to step 405.

[0057] Here, in single-robot mapping mode, the working map is created by a self-moving device.

[0058] Step 404: If the construction method is a multi-robot mapping mode, then proceed to step 409.

[0059] Here, in the multi-robot mapping mode, the working map is obtained by merging sub-maps created by multiple self-moving devices.

[0060] Step 405: The remote-controlled robot builds a map.

[0061] Here, users can control the selected self-moving device to travel along a specified route through the user terminal, thus enabling the self-moving device to create a map.

[0062] Step 406: The robot completes map construction, and the server retrieves the map.

[0063] Here, after the selected mobile device builds the working map, it can transmit the built working map to the server, so that the server can obtain the working map.

[0064] Step 407: The server synchronizes the work map to all robots.

[0065] Step 408: Each robot obtains its working map.

[0066] Here, each self-moving device that communicates with the server can obtain the working map. Figure 4 In the process, multiple self-moving devices such as A, B, and C, which are connected to the server, can obtain the working map.

[0067] Step 409: Remotely control each robot to build a map.

[0068] Here, users can control their respective mobile devices to travel along a specified route through the user terminal, thus enabling each mobile device to create its own sub-map. Figure 4 In this system, multiple self-moving devices, such as A, B, and C, can be controlled to construct sub-maps. When remotely controlling the self-moving devices to construct sub-maps, the user terminal establishes a connection with the self-moving devices via near-field communication (NFC). For example, the user terminal establishes a Bluetooth connection with the self-moving devices and directly sends remote control commands to control the self-moving devices to move within the working area, constructing sub-maps based on their movement trajectories.

[0069] Step 410: Each robot completes map construction, and the server retrieves the map.

[0070] Here, after each self-mobile device builds a sub-map, it can transmit the built sub-map to the server, so that the server can obtain multiple sub-maps.

[0071] Step 411: After the server merges multiple sub-maps to obtain the working map, it executes step 407.

[0072] Here, the server can merge multiple submaps by taking the intersection of the submaps to obtain the working map.

[0073] Figure 5 This is a schematic diagram illustrating the effect of fusing sub-maps created separately by multiple self-moving devices to obtain a working map, as provided in an embodiment of this application. Figure 5 As shown, multiple self-moving devices, such as three self-moving devices A, B, and C, can merge the map regions corresponding to their respective sub-maps through a union operation to obtain the working map.

[0074] Step 202: When an anomaly in the satellite signal is detected during the collaborative operation based on map data, the location information and satellite signal quality of the second self-moving device in the collaborative operation are obtained.

[0075] Among them, satellite signal quality is used to indicate whether the satellite signal is abnormal.

[0076] In this context, the term "second self-moving device" refers to any self-moving device that works collaboratively with the first self-moving device. It is easy to understand that in collaborative work, a user can select multiple self-moving devices to perform the task. That is, in addition to the first self-moving device, the second self-moving device can be one or more, without restriction.

[0077] In practice, during the collaborative operation of the first self-moving device based on map data, if the first self-moving device detects an anomaly in the satellite signal, it can obtain the location information and satellite signal quality of the second self-moving device from the server. The server is used to communicate with all self-moving devices in the collaborative operation. In actual applications, each self-moving device can send its own location information and satellite signal quality to the server in real time; therefore, the first self-moving device can obtain the location information and satellite signal quality of the second self-moving device from the server.

[0078] In practice, each self-moving device can determine whether its satellite signal is abnormal by checking the signal status indication information output by its installed satellite signal receiver. For example, when the satellite signal receiver is a Real-Time Kinematic (RTK) receiver, a signal status indication of "4" indicates a normal satellite signal, while a signal status indication of "0" indicates an abnormal satellite signal.

[0079] Step 203: Determine the reference self-moving device based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device.

[0080] Here, there can be one or more second self-moving devices. For each second self-moving device, the first self-moving device can calculate its positional distance to that second self-moving device. Then, the first self-moving device can determine a reference self-moving device from one or more second self-moving devices by combining the satellite signal quality of the second self-moving devices and its positional distance to the second self-moving devices. As an example, a second self-moving device whose satellite signal quality indicates normal satellite signal and whose positional distance is less than a certain threshold can be determined as the reference self-moving device.

[0081] Step 204: Determine the location information of the first self-moving device in the map based on the location information of the reference self-moving device and the offset position information between the first self-moving device and the reference self-moving device.

[0082] The aforementioned offset position information is typically used to indicate the relative position between the first self-moving device and the reference self-moving device. In practice, this offset position information may include an offset angle and an offset displacement. The offset angle indicates the relative angle between the first self-moving device and the reference self-moving device, while the offset displacement indicates the relative displacement between them.

[0083] Here, the reference mobile device typically sends its real-time location information to the server. Therefore, the first mobile device can obtain the reference mobile device's real-time location information from the server. Then, the first mobile device can use the reference mobile device's location information and the aforementioned offset information to calculate its location information on the map.

[0084] Figure 6 This is a schematic diagram illustrating the relative positional relationship between the first self-moving device and the reference self-moving device provided in an embodiment of this application. Figure 6 In the image, three self-moving devices, A, B, and C, are working collaboratively. bs1 is the base station corresponding to A, bs2 is the base station corresponding to B, and bs3 is the base station corresponding to C. The coordinates of bs1 on the map are (0,0). Figure 6 As shown, when the first self-moving device is C and the reference self-moving device is B, if the positioning information of B is (6, -9), then the positioning information of C in the map can be calculated based on the offset angle θ and offset displacement L between B and C. Specifically, the positioning information of C can be calculated as (Xc, Yc), where Xc = Xb + L × cos(π - θ), Yc = Yb + L × sin(π - θ), and (Xb, Yb) is the positioning information of B.

[0085] In practice, since each mobile device in a collaborative operation usually travels along a pre-planned path, when the satellite signal of the first mobile device is abnormal, its travel path usually does not change. The first mobile device can combine its travel path with various sensors installed on it, such as depth cameras and odometers, to measure its offset position information with the reference mobile device. For example, the offset displacement between the first mobile device and the reference mobile device can be collected using a depth camera.

[0086] The self-moving device positioning method provided in this embodiment analyzes the satellite signal quality and location distance of the second self-moving device that works in cooperation with the first self-moving device. This enables the determination of a reference self-moving device from one or more second self-moving devices for positioning the first self-moving device, and the assisted positioning of the first self-moving device based on the positioning information of the reference self-moving device. This method can effectively locate the first self-moving device when there are abnormalities in the satellite signal of the first self-moving device.

[0087] Figure 7 This is a schematic flowchart illustrating a process for determining a reference mobile device, as provided in one embodiment of this application. (In conjunction with...) Figure 7 In step 203 above, determining the reference self-moving device based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device may include the following steps 701 to 703.

[0088] Step 701: If there are multiple second self-moving devices, the second self-moving device corresponding to the satellite signal quality indicator that the satellite signal is normal is identified as a candidate self-moving device.

[0089] Here, when there are multiple second self-moving devices, the first self-moving device can combine the satellite signal quality of each second self-moving device to select the second self-moving device with normal satellite signal as a candidate self-moving device from among the multiple second self-moving devices.

[0090] Step 702: Determine the distance value between each candidate self-moving device and the first self-moving device.

[0091] Here, for each candidate self-moving device, the distance between the candidate self-moving device and the first self-moving device can be calculated using the location information of the candidate self-moving device and the location information of the first self-moving device.

[0092] Step 703: Candidate self-moving devices whose distance values ​​meet the preset filtering conditions are identified as reference self-moving devices.

[0093] The aforementioned preset filtering conditions are typically pre-defined criteria used to filter candidate self-moving devices. For example, these preset filtering conditions could be used to filter candidate self-moving devices with the smallest corresponding distance value.

[0094] Here, the first self-moving device can select a candidate self-moving device whose corresponding distance value meets the preset filtering conditions from one or more candidate self-moving devices, and use it as the aforementioned reference self-moving device.

[0095] In this embodiment, by combining the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device, a reference self-moving device for positioning the first self-moving device can be determined, thereby enabling accurate and effective selection of the reference self-moving device.

[0096] In the above implementation, determining the candidate self-moving device whose distance value meets the preset filtering conditions as the reference self-moving device may include: determining the candidate self-moving device with the smallest distance value as the reference self-moving device; or determining the candidate self-moving device with a distance value less than a preset distance threshold as the reference self-moving device.

[0097] The aforementioned preset distance threshold is usually a pre-set distance value.

[0098] Here, since the closer the distance, the more accurately and effectively the first self-moving device can identify the offset position information between itself and the second self-moving device, the more accurate and effective the first self-moving device can be to determine the offset position information by identifying the candidate self-moving device with the smaller distance value as the reference self-moving device, thereby further improving the positioning accuracy of the first self-moving device.

[0099] In some optional implementations of this embodiment, step 203 above, determining the reference self-moving device based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device, may include: if there is one second self-moving device, then when the satellite signal quality of the second self-moving device indicates that the satellite signal is normal, the second self-moving device is determined as the reference self-moving device.

[0100] Here, when there is only one second self-moving device, the satellite signal quality of the second self-moving device can be used to determine whether its satellite signal is normal. If the satellite signal is normal, the second self-moving device is directly designated as the aforementioned reference self-moving device. This allows the first self-moving device to perform auxiliary positioning based on the positioning information of the second self-moving device with a normal satellite signal when the satellite signal is abnormal, thereby ensuring accurate and effective positioning of the first self-moving device.

[0101] In some optional implementations of this embodiment, step 202 above, when an anomaly in the satellite signal is detected during the collaborative operation based on map data, may include obtaining the location information and satellite signal quality of the second self-moving device in the collaborative operation, which may include the following steps one and two.

[0102] Step 1: When an anomaly in the satellite signal is detected during collaborative operations based on the map, the duration of the anomaly is timed to obtain the satellite positioning anomaly duration.

[0103] Here, during the collaborative operation of the first self-moving device according to the map, if an anomaly is detected in the satellite signal, the first self-moving device can start timing. The duration of the satellite signal anomaly is obtained through this timing, which is the aforementioned satellite positioning anomaly duration.

[0104] Step 2: If the abnormal satellite positioning duration exceeds the preset duration threshold, obtain the location information and satellite signal quality of the second self-moving device in the collaborative operation.

[0105] The aforementioned preset duration threshold is usually a pre-set duration value, such as 10 seconds, 15 seconds, etc.

[0106] Here, when the abnormal satellite positioning duration exceeds a preset duration threshold, the steps of obtaining the location information and satellite signal quality of the second self-moving device can be performed.

[0107] In this embodiment, the steps of obtaining the location information and satellite signal quality of the second self-moving device are only performed when the abnormal satellite positioning duration exceeds a preset duration threshold. This can avoid signal abnormalities caused by occasional signal fluctuations, thereby avoiding frequent switching of positioning schemes and helping to improve the stability of the first self-moving device in positioning.

[0108] In some optional implementations of this embodiment, the first self-moving device is equipped with a target sensor. In practice, the target sensor may include, but is not limited to, an image acquisition device, a travel measurement device, etc. In practical applications, the image acquisition device may be a depth camera, and the travel measurement device may be an odometer.

[0109] In this embodiment, before the steps of obtaining the location information and satellite signal quality of the second self-moving device in the collaborative operation, the positioning method of the self-moving device may further include the following steps:

[0110] First, acquire the position change data and / or current position information collected by the target sensor.

[0111] The aforementioned position change data typically indicates the amount of position change. For example, when the target sensor is an odometer, the position change data could be the amount of travel of the odometer. As another example, when the target sensor is a depth camera, the position change data could also be the amount of displacement of the same target between consecutive frames captured by the depth camera.

[0112] Here, the first autonomous moving unit can obtain its own current location information. Simultaneously, the first autonomous moving unit can use a target sensor to acquire location change data of the first autonomous unit.

[0113] Then, based on the position change data collected by the target sensor and / or the current position of the first self-moving device, the positioning information of the first self-moving device is determined.

[0114] Here, the first self-moving device can use the aforementioned location change data and its current location to calculate the positioning information of the first self-moving device.

[0115] In this embodiment, when the satellite signal of the first self-moving device is abnormal, it typically activates its own target sensors for fusion positioning first. For example, odometry can be used to calculate position change data, which is then added to the current position of the first self-moving device for fusion positioning. Alternatively, position change data can be calculated by comparing previous and subsequent frames using a depth camera, which is then added to the current position of the first self-moving device for fusion positioning. In practical applications, if the robot is working normally, odometry can be used first for fusion positioning, as this requires less computation and is faster. However, when the odometry position is constantly accumulating and changing, while the robot's RTK positioning remains unchanged, the self-moving device may experience slippage. In this case, depth camera fusion positioning can be used. The first self-moving device can perform fusion positioning based on multiple methods, which helps to achieve accurate positioning.

[0116] Continue reading Figure 8 , Figure 8 This is a flowchart illustrating a positioning method for a self-moving device according to another embodiment of this application. Figure 8 As shown, the self-moving device can be implemented as a robot, for example, a lawnmower robot. The positioning method of the self-moving device can include the following steps 801-811. Figure 8 In this process, three self-moving devices, A, B, and C, work together. A is the first self-moving device, and B and C are the second self-moving devices. The execution subject of steps 801-811 is A, that is, the first self-moving device.

[0117] Step 801, A begins work.

[0118] Step 802, A: Real-time acquisition of satellite signals for positioning.

[0119] Step 803: A determines whether the current satellite signal is abnormal. If it is normal, proceed to step 804; if it is abnormal, proceed to step 805.

[0120] Step 804, continue working.

[0121] Step 805: Use multi-sensor fusion positioning to continue working.

[0122] Here, when A determines that its own satellite signal is abnormal, it can first use multi-sensor fusion positioning to continue working. In practice, A can use odometry to calculate position change data, and then add A's current position for fusion positioning. Alternatively, A can use a depth camera to compare previous and subsequent frames to calculate position change data, and then add A's current position for fusion positioning.

[0123] Step 806: Determine whether the current satellite signal has returned to normal. If it has returned to normal, proceed to step 802. If it has not returned to normal after more than 10 seconds, proceed to step 807.

[0124] The aforementioned 10 seconds is the preset duration threshold.

[0125] Step 807: A obtains the current location information of B and C, as well as the current satellite signal status of B and C, from the server.

[0126] Here, satellite signal conditions are equivalent to the aforementioned concept of satellite signal quality.

[0127] Step 808: Find the target robot with normal satellite signal and closest to A from B and C.

[0128] Step 809: The camera identifies the offset position information between the target robot and the current position of A.

[0129] Here, if the target robot identified in step 808 is B, then A can use the camera to identify the offset position information between B and A.

[0130] Step 810: Obtain the current real-time position information of the target robot and add the offset position information to achieve positioning.

[0131] Here, if the target robot identified in step 808 is B, then A can obtain B's real-time location information from the server, that is, it can obtain B's positioning information in real time. Based on B's positioning information, by adding the offset position information between B and A, the positioning information of A can be obtained, thereby realizing the positioning of A.

[0132] Step 811: Determine whether the current satellite signal has returned to normal. If it has returned to normal, proceed to step 802; otherwise, proceed to step 807.

[0133] Here, if A's satellite signal returns to normal, it can use the satellite signal it has acquired to determine its location. If A's satellite signal does not return to normal, the positioning information from other robots working in the same cooperative operation will be used to assist in A's positioning.

[0134] Corresponding to the positioning method of the self-moving device in the above embodiments, Figure 9 A structural block diagram of a positioning device 900 for a self-moving device according to an embodiment of this application is shown. For ease of explanation, only the parts relevant to the embodiment of this application are shown. (Refer to...) Figure 9 The device can be applied to a first self-moving device, including a map acquisition unit 901, an information acquisition unit 902, a reference determination unit 903, and a positioning execution unit 904.

[0135] Map acquisition unit 901 is used to acquire map data for collaborative operations in response to preset instructions for collaborative operations;

[0136] The information acquisition unit 902 is used to acquire the location information and satellite signal quality of the second self-moving device in the collaborative operation when an abnormality in the satellite signal is detected during the collaborative operation based on map data. The satellite signal quality is used to indicate whether the satellite signal is abnormal.

[0137] The reference determination unit 903 is used to determine a reference self-moving device based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device;

[0138] The positioning execution unit 904 is used to determine the positioning information of the first self-moving device in the map based on the positioning information of the reference self-moving device and the offset position information between the first self-moving device and the reference self-moving device.

[0139] In some embodiments, the reference determination unit 903 includes a candidate determination module, a distance determination module, and a first reference module. The first candidate module is used to determine, if there are multiple second self-moving devices, the second self-moving device corresponding to a satellite signal quality indicator indicating normal satellite signal as a candidate self-moving device. The distance determination module is used to determine the distance value between each candidate self-moving device and the first self-moving device. The first reference module is used to determine the candidate self-moving device whose distance value meets a preset screening condition as a reference self-moving device. In some embodiments, the first reference module is specifically used to determine the candidate self-moving device with the smallest distance value as the reference self-moving device; or to determine the candidate self-moving device with a distance value less than a preset distance threshold as the reference self-moving device.

[0140] In some embodiments, the reference determination unit 903 further includes a second reference module. The second reference module is configured to determine the second self-moving device as a reference self-moving device if there is one second self-moving device and the satellite signal quality indicator of the second self-moving device indicates that the satellite signal is normal.

[0141] In some embodiments, the information acquisition unit 902 includes a timing execution module and a data acquisition module. The timing execution module is used to time the duration of the satellite signal anomaly when an anomaly is detected during collaborative work according to the map, thereby obtaining the satellite positioning anomaly duration. The data acquisition module is used to acquire the location information and satellite signal quality of the second self-moving device in the collaborative work if the satellite positioning anomaly duration exceeds a preset duration threshold.

[0142] In some embodiments, the first self-moving device is equipped with a target sensor; the device may further include an information acquisition unit and a fusion positioning unit. The information acquisition unit is used to acquire position change data and / or current position information collected by the target sensor; the fusion positioning unit is used to determine the positioning information of the first self-moving device based on the position change data collected by the target sensor and / or the current position of the first self-moving device.

[0143] In some embodiments, the information acquisition unit 902 acquires the location information and satellite signal quality of the second self-moving device in the collaborative operation, including: acquiring the location information and satellite signal quality of the second self-moving device from the server, wherein the server is used to communicate with all self-moving devices in the collaborative operation.

[0144] The device provided in this embodiment analyzes the satellite signal quality and location distance of the second self-moving device that works in cooperation with the first self-moving device. This enables the determination of a reference self-moving device from one or more second self-moving devices for positioning the first self-moving device, and the assisted positioning of the first self-moving device based on the positioning information of the reference self-moving device. This allows for effective positioning of the first self-moving device when there are abnormalities in the satellite signal of the first self-moving device.

[0145] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0146] Figure 10 This is a schematic diagram of the structure of a self-moving device 1000 provided in an embodiment of this application. Figure 10 As shown, the self-moving device 1000 of this embodiment includes: at least one processor 1001 ( Figure 10The diagram shows only one processor, memory 1002, and a computer program 1003 stored in memory 1002 and executable on at least one processor 1001, such as a location program for a self-moving device. When processor 1001 executes computer program 1003, it implements the steps in any of the above-described method embodiments. When processor 1001 executes computer program 1003, it implements the steps in the embodiments of the above-described location methods for self-moving devices. When processor 1001 executes computer program 1003, it implements the functions of each module / unit in the above-described device embodiments, such as... Figure 9 The functions of the map acquisition unit 901, information acquisition unit 902, reference determination unit 903, and positioning execution unit 904 are shown.

[0147] For example, computer program 1003 can be divided into one or more modules / units. One or more modules / units are stored in memory 1002 and executed by processor 1001 to complete this application. One or more modules / units can be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of computer program 1003 in self-moving device 1000. For example, computer program 1003 can be divided into a map acquisition unit, an information acquisition unit, a reference determination unit, and a positioning execution unit. The specific functions of each unit have been described in the above embodiments and will not be repeated here.

[0148] The self-moving device 1000 may include, but is not limited to, a processor 1001 and a memory 1002. Those skilled in the art will understand that... Figure 10 This is merely an example of a self-moving device 1000 and does not constitute a limitation on the self-moving device 1000. It may include more or fewer components than shown, or combine certain components, or different components. For example, the self-moving device may also include input / output devices, network access devices, buses, etc.

[0149] The processor 1001 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0150] The memory 1002 can be an internal storage unit of the self-moving device 1000, such as a hard disk or memory of the self-moving device 1000. The memory 1002 can also be an external storage device of the self-moving device 1000, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the self-moving device 1000. Furthermore, the memory 1002 can include both internal and external storage units of the self-moving device 1000. The memory 1002 is used to store computer programs and other programs and data required by the self-moving device. The memory 1002 can also be used to temporarily store data that has been output or will be output.

[0151] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0152] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0153] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0154] In the embodiments provided in this application, it should be understood that the disclosed devices / self-moving devices and methods can be implemented in other ways. For example, the device / self-moving device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.

[0155] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0156] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0157] If an integrated module is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. This computer-readable storage medium can be non-volatile or volatile. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the contents of a computer-readable storage medium may be appropriately added to or subtracted from the contents as required by the legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, a computer-readable storage medium may not include electrical carrier signals and telecommunication signals.

[0158] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A positioning method for a self-moving device, characterized in that, Applied to a first self-moving device, the method includes: In response to preset instructions for collaborative operations, acquire map data for collaborative operations; When an anomaly in the satellite signal is detected during collaborative work based on the map data, the location information and satellite signal quality of the second self-moving device in the collaborative work are obtained, including: obtaining the location information and satellite signal quality of the second self-moving device from the server, wherein the server is used to communicate with all self-moving devices in the collaborative work, and the satellite signal quality is used to indicate whether the satellite signal is abnormal; A reference self-moving device is determined based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device; Based on the positioning information of the reference self-mobile device and the offset position information between the first self-mobile device and the reference self-mobile device, the positioning information of the first self-mobile device in the map is determined, wherein the first self-mobile device obtains the offset position information between itself and the reference self-mobile device based on the driving path and the sensors installed on itself.

2. The positioning method for a self-moving device according to claim 1, characterized in that, The step of determining a reference self-moving device based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device includes: If there are multiple second self-moving devices, the second self-moving device corresponding to the satellite signal quality indicator that the satellite signal is normal is determined as a candidate self-moving device; Determine the distance value between each of the candidate self-mobile devices and the first self-mobile device; Candidate self-moving devices whose distance values ​​meet preset filtering conditions are identified as the reference self-moving devices.

3. The positioning method for a self-moving device according to claim 2, characterized in that, The step of determining the candidate self-moving device whose distance value meets the preset filtering conditions as the reference self-moving device includes: The candidate self-moving device with the smallest distance value is determined as the reference self-moving device; or Candidate self-moving devices whose distance values ​​are less than a preset distance threshold are identified as the reference self-moving devices.

4. The positioning method for a self-moving device according to claim 1, characterized in that, The step of determining a reference self-moving device based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device includes: If there is one second self-moving device, then when the satellite signal quality indicator of the second self-moving device is normal, the second self-moving device is determined as the reference self-moving device.

5. The positioning method for a self-moving device according to claim 1, characterized in that, When an anomaly in the satellite signal is detected during collaborative operations based on the map data, the method of acquiring the location information and satellite signal quality of the second self-moving device in the collaborative operation includes: When an anomaly in the satellite signal is detected during collaborative work according to the map, the duration of the anomaly is timed to obtain the satellite positioning anomaly duration. If the abnormal satellite positioning duration exceeds a preset duration threshold, the location information and satellite signal quality of the second self-moving device in the collaborative operation are obtained.

6. The positioning method for a self-moving device according to claim 5, characterized in that, The first self-moving device is equipped with a target sensor; Prior to the step of acquiring the location information and satellite signal quality of the second self-moving device in the collaborative operation, the method further includes: Acquire the position change data and / or current position information collected by the target sensor; Based on the position change data collected by the target sensor and / or the current position of the first self-moving device, the positioning information of the first self-moving device is determined.

7. A positioning device for a self-moving device, characterized in that, Applied to a first self-moving device, the device includes: The map acquisition unit is used to acquire map data for collaborative operations in response to preset instructions. An information acquisition unit is used to acquire the location information and satellite signal quality of a second self-moving device in the collaborative operation when an anomaly in the satellite signal is detected during the collaborative operation based on the map data. The acquisition unit includes: acquiring the location information and satellite signal quality of the second self-moving device from a server, wherein the server is used to communicate with all self-moving devices in the collaborative operation, and the satellite signal quality is used to indicate whether the satellite signal is abnormal. The reference determination unit is used to determine a reference self-moving device based on the satellite signal quality of the second self-moving device and the positional distance between the second self-moving device and the first self-moving device; The positioning execution unit is used to determine the positioning information of the first self-moving device in the map based on the positioning information of the reference self-moving device and the offset position information between the first self-moving device and the reference self-moving device, wherein the first self-moving device obtains the offset position information between itself and the reference self-moving device based on the driving path and the sensors installed on itself.

8. A self-moving device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the positioning method of the self-moving device as described in any one of claims 1 to 6.

9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the positioning method of the self-moving device as described in any one of claims 1 to 6.