Satellite positioning data processing method and device of robot and robot

CN116840869BActive Publication Date: 2026-06-02SUNPURE TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SUNPURE TECH CO LTD
Filing Date
2023-04-11
Publication Date
2026-06-02

Smart Images

  • Figure CN116840869B_ABST
    Figure CN116840869B_ABST
Patent Text Reader

Abstract

The application discloses a satellite positioning data processing method and device of a robot and the robot, and belongs to the technical field of data processing. The method comprises the following steps: acquiring first satellite positioning data of the robot, wherein the first satellite positioning data is collected by a sensor of the robot; filtering and processing jumping data in the first satellite positioning data according to a theoretical data set of robot positioning calibration; supplementing first supplementary positioning data to jumping data points of the first satellite positioning data to obtain target satellite positioning data of the robot; wherein the first supplementary positioning data is determined based on historical satellite positioning data collected by the sensor, and the jumping data points are data points corresponding to the jumping data in the first satellite positioning data. The method filters out invalid data through the theoretical data set of the positioning calibration, estimates the position by using the effective value of the historical satellite positioning data, supplements the satellite positioning data, quickly updates the positioning, and realizes reliable processing of the satellite positioning data of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of data processing technology, and in particular relates to a method, apparatus and robot for processing satellite positioning data of a robot. Background Technology

[0002] A Global Navigation Satellite System (GNSS) is a space-based radio navigation and positioning system that provides users with all-weather, three-dimensional coordinates, velocity, and time information from any location on the Earth's surface or in near-Earth space. GNSS technology has been widely used in navigation, positioning, and surveying, greatly facilitating people's daily lives.

[0003] Data collected by sensors needs to undergo filtering and optimization before use. Currently, the main filtering algorithm used for satellite positioning data is the Kalman filter, which corrects the real-time state value through prior estimation to obtain the optimal position estimate. This method has universality, but it is relatively complex to use in specific application scenarios. Good data processing results are only achieved when the algorithm and sensor have good real-time performance. Summary of the Invention

[0004] This application aims to address at least one of the technical problems existing in the prior art. To this end, this application proposes a method, apparatus, and robot for processing satellite positioning data of a robot, which can reliably process robot satellite positioning data, with a simple algorithm, low computational load, and low real-time requirements.

[0005] In a first aspect, this application provides a method for processing satellite positioning data of a robot, the method comprising:

[0006] Acquire the robot's first satellite positioning data, which is collected by the robot's sensors;

[0007] Based on the theoretical dataset for robot positioning calibration, the jitter data in the first satellite positioning data is filtered.

[0008] The first supplementary positioning data is added to the jump data points of the first satellite positioning data to obtain the target satellite positioning data of the robot;

[0009] The first supplementary positioning data is determined based on historical satellite positioning data collected by the sensor, and the jump data point is the data point corresponding to the jump data in the first satellite positioning data.

[0010] According to the robot satellite positioning data processing method of this application, by using the theoretical dataset of positioning calibration, the invalid data that jumps in the first satellite positioning data is filtered out, the effective values ​​of historical satellite positioning data are used to estimate the position, supplement the satellite positioning data, and quickly update the positioning, so as to realize the reliable processing of robot satellite positioning data. The algorithm is simple, the amount of calculation is small, and the real-time requirements are low.

[0011] According to one embodiment of this application, the theoretical dataset is obtained through the following steps:

[0012] The robot acquires a first calibration dataset and a second calibration dataset, and is used to travel back and forth between a first calibration position and a second calibration position. The first calibration dataset includes calibration data collected by the sensors when the robot is located at the first calibration position, and the second calibration dataset includes calibration data collected by the sensors when the robot is located at the second calibration position.

[0013] Convergence calculations are performed on the first calibration dataset and the second calibration dataset respectively to obtain the first calibration center point corresponding to the first calibration dataset and the second calibration center point corresponding to the second calibration dataset.

[0014] The theoretical dataset is obtained based on the first calibration dataset, the first calibration center point, the second calibration dataset, and the second calibration center point.

[0015] According to one embodiment of this application, obtaining the theoretical dataset based on the first calibration dataset, the first calibration center point, the second calibration dataset, and the second calibration center point includes:

[0016] Based on the circular probability error of the sensor, the first calibration dataset is transformed into a first data circle set centered on the first calibration center point, and the second calibration dataset is transformed into a second data circle set centered on the second calibration center point. The theoretical dataset includes the first data circle set and the second data circle set.

[0017] According to one embodiment of this application, the step of filtering the jitter data in the first satellite positioning data based on the theoretical dataset of the robot positioning calibration includes:

[0018] Based on the first calibration center point and the second calibration center point, determine the calibration point direction vector of the theoretical dataset;

[0019] Based on the theoretical dataset and the calibration point direction vector, the jitter data in the first satellite positioning data is filtered.

[0020] According to one embodiment of this application, the first supplementary positioning data is determined through the following steps:

[0021] Based on the historical satellite positioning data corresponding to the jump data points, the historical positioning data difference is determined;

[0022] Based on the historical positioning data difference, the historical data direction vector is determined;

[0023] The first supplementary positioning data is determined based on the difference in the historical positioning data, the direction vector of the historical data, and the direction vector of the calibration point in the theoretical dataset.

[0024] According to one embodiment of this application, determining the first supplementary positioning data based on the historical positioning data difference, the historical data direction vector, and the calibration point direction vector of the theoretical dataset includes:

[0025] Obtain the first direction vector angle between the historical data direction vector and the calibration point direction vector;

[0026] Based on the historical satellite positioning data corresponding to the jump data points and the angle between the first direction vector, the first supplementary positioning data is determined according to the trigonometric function algorithm or projection method.

[0027] Secondly, this application provides a satellite positioning data processing device for a robot, the device comprising:

[0028] The acquisition module is used to acquire the robot's first satellite positioning data, which is collected by the robot's sensors;

[0029] The first processing module is used to filter the jitter data in the first satellite positioning data according to the theoretical dataset of the robot positioning calibration;

[0030] The second processing module is used to supplement the jump data points of the first satellite positioning data with first supplementary positioning data to obtain the target satellite positioning data of the robot.

[0031] The first supplementary positioning data is determined based on historical satellite positioning data collected by the sensor, and the jump data point is the data point corresponding to the jump data in the first satellite positioning data.

[0032] According to the robot satellite positioning data processing device of this application, the invalid data that jumps in the first satellite positioning data is filtered out by the theoretical dataset of positioning calibration, the position is estimated by using the valid values ​​of historical satellite positioning data, the satellite positioning data is supplemented, the positioning is updated quickly, and the reliable processing of robot satellite positioning data is realized. The algorithm is simple, the amount of calculation is small, and the real-time requirement is low.

[0033] Thirdly, this application provides a robot, comprising:

[0034] Sensor, the sensor being used to collect satellite positioning data;

[0035] A controller, electrically connected to the sensor, is used to execute the satellite positioning data processing method for the robot described in the first aspect above.

[0036] According to the robot of this application, by using the theoretical dataset of positioning calibration, the invalid data that jumps in the first satellite positioning data is filtered out, the effective values ​​of historical satellite positioning data are used to estimate the position, supplement the satellite positioning data, and quickly update the positioning, so as to realize the reliable processing of the robot's satellite positioning data. The algorithm is simple, the amount of computation is small, and the real-time requirements are low.

[0037] Fourthly, this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the satellite positioning data processing method for a robot as described in the first aspect above.

[0038] Fifthly, this application provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the satellite positioning data processing method for a robot as described in the first aspect above.

[0039] In a sixth aspect, this application provides a computer program product, including a computer program that, when executed by a processor, implements the satellite positioning data processing method for a robot as described in the first aspect above.

[0040] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0041] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, in which:

[0042] Figure 1 This is one of the flowcharts illustrating the satellite positioning data processing method for a robot provided in this application embodiment;

[0043] Figure 2 This is a schematic diagram of the robot positioning calibration process provided in the embodiments of this application;

[0044] Figure 3This is a second schematic flowchart of the satellite positioning data processing method for a robot provided in the embodiments of this application;

[0045] Figure 4 This is a schematic diagram of the structure of the satellite positioning data processing device for the robot provided in the embodiments of this application;

[0046] Figure 5 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0047] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.

[0048] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0049] In related technologies, the Kalman filter algorithm is mainly used for filtering satellite positioning data. It corrects the real-time state value through prior estimation to obtain the optimal position estimate. This method has universality, but it is relatively complex to use in specific application scenarios. It only achieves good data processing results when the algorithm and sensor have good real-time performance.

[0050] The following description, in conjunction with the accompanying drawings, details the robot satellite positioning data processing method, robot satellite positioning data processing device, electronic device, and readable storage medium provided in this application, through specific embodiments and application scenarios.

[0051] The satellite positioning data processing method for the robot can be applied to the terminal, specifically executed by the hardware or software in the terminal.

[0052] The terminal includes, but is not limited to, portable communication devices such as mobile phones or tablets with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). It should also be understood that, in some embodiments, the terminal may not be a portable communication device, but rather a desktop computer with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads).

[0053] The following embodiments describe a terminal including a display and a touch-sensitive surface. However, it should be understood that the terminal may include one or more other physical user interface devices such as a physical keyboard, mouse, and joystick.

[0054] The satellite positioning data processing method for robots provided in this application embodiment can be executed by an electronic device or a functional module or entity in an electronic device that can implement the satellite positioning data processing method for robots. The electronic devices mentioned in this application embodiment include, but are not limited to, mobile phones, tablets, computers, cameras, and wearable devices. The following description uses an electronic device as the execution subject to illustrate the satellite positioning data processing method for robots provided in this application embodiment.

[0055] The robot satellite positioning data processing method provided in this application embodiment can be applied to robots to achieve reliable processing of robot satellite positioning data. The algorithm is simple, the amount of computation is small, and the real-time requirements are low.

[0056] In this application, the robot can be a photovoltaic cleaning robot used for photovoltaic cleaning work.

[0057] like Figure 1 As shown, the satellite positioning data processing method for this robot includes steps 110, 120, and 130.

[0058] Step 110: Obtain the robot's first satellite positioning data.

[0059] The first satellite positioning data was collected by the robot's sensors.

[0060] In this embodiment, the robot's sensors can collect satellite positioning data through the GNSS system. The first satellite positioning data is the raw satellite positioning data collected by the robot's sensors that needs to be filtered.

[0061] Step 120: Based on the theoretical dataset of robot positioning calibration, filter the jitter data in the first satellite positioning data.

[0062] The theoretical dataset is the dataset obtained by the robot during positioning calibration, and the satellite positioning data in the theoretical dataset is also collected by the robot's sensors.

[0063] In this embodiment, the jitter data in the first satellite positioning data may include satellite positioning data with incorrect jitter direction and satellite positioning data with incorrect jitter range. By filtering the jitter data in the first satellite positioning data, invalid jitter data in the first satellite positioning data can be filtered out.

[0064] It should be noted that the fluctuation data in the first satellite positioning data can be fluctuation data related to the direction of operation. Filtering out the fluctuation data in the first satellite positioning data can effectively prevent satellite positioning from bouncing back.

[0065] The fluctuation data in the first satellite positioning data can also be fluctuation data related to the sensor accuracy. Filtering out the fluctuation data in the first satellite positioning data can effectively prevent invalid values ​​caused by satellite signal fluctuations in the satellite positioning data.

[0066] In actual operation, the robot is pre-calibrated in a certain area to obtain a theoretical dataset. Subsequently, during or after the robot's operation, the jitter data in the robot's first satellite positioning data is filtered based on the theoretical dataset.

[0067] Step 130: Fill in the jump data points of the first satellite positioning data with the first supplementary positioning data to obtain the robot's target satellite positioning data.

[0068] The first supplementary positioning data is determined based on historical satellite positioning data collected by the sensor, and the jump data point is the data point corresponding to the jump data in the first satellite positioning data.

[0069] It is understandable that after filtering the jitter data in the first satellite positioning data in step 120, there is no satellite positioning data at the jitter data point corresponding to the jitter data in the first satellite positioning data, and the first satellite positioning data after filtering out the jitter data is discontinuous satellite positioning data.

[0070] In this embodiment, position estimation is performed using historical satellite positioning data collected by sensors to obtain first supplementary positioning data corresponding to the jump data points. The first supplementary positioning data is used to supplement the jump data points to obtain target satellite positioning data for the entire robot operation process. The target satellite positioning data is continuous satellite positioning data.

[0071] It should be noted that the first supplementary positioning data is determined based on historical satellite positioning data. Historical satellite positioning data refers to valid satellite positioning data collected by the sensors, and does not include invalid data that fluctuates.

[0072] In practice, the first supplementary positioning data is used to supplement the jump data points of the first satellite positioning data to obtain the target satellite positioning data, which can quickly update the robot's positioning.

[0073] In related technologies, the Kalman filter algorithm is mainly used for filtering satellite positioning data. It corrects the real-time state value through prior estimation to obtain the optimal position estimate. This method has universality, but it is relatively complex to use in specific application scenarios. It only achieves good data processing results when the algorithm and sensor have good real-time performance.

[0074] In this embodiment, the characteristics of GNSS sensors are utilized to calculate the theoretical dataset from satellite positioning data through calibration. For the first satellite positioning data to be processed, jump data with incorrect jump direction or jump range is directly filtered out. Real-time position estimation is performed on the jump data points using historical satellite positioning data. First supplementary positioning data is used to supplement all data points, thereby realizing the acquisition of satellite positioning data throughout the robot's operation. The filtering process is simplified by using calibration data as prior values ​​for direct filtering, and position estimation is performed using historically updated valid values, allowing for rapid positioning updates. This eliminates the need to establish measurement and state equations as required by filtering algorithms such as Kalman filtering. The method is simple, and its implementation is faster and more reliable for specific applications, with lower requirements for the real-time performance of algorithms and sensors.

[0075] According to the robot satellite positioning data processing method provided in this application, by using the theoretical dataset of positioning calibration, the invalid data that jumps in the first satellite positioning data is filtered out, the effective values ​​of historical satellite positioning data are used to estimate the position, supplement the satellite positioning data, and quickly update the positioning, thereby realizing reliable processing of robot satellite positioning data. The algorithm is simple, has low computational load, and low real-time requirements.

[0076] In some embodiments, the theoretical dataset is obtained through the following steps:

[0077] A first calibration dataset and a second calibration dataset are acquired, and the robot is used to travel back and forth between the first calibration position and the second calibration position. The first calibration dataset includes calibration data collected by the sensors when the robot is located at the first calibration position, and the second calibration dataset includes calibration data collected by the sensors when the robot is located at the second calibration position.

[0078] Convergence calculations are performed on the first calibration dataset and the second calibration dataset respectively to obtain the first calibration center point corresponding to the first calibration dataset and the second calibration center point corresponding to the second calibration dataset.

[0079] The theoretical dataset is obtained based on the first calibration dataset, the first calibration center point, the second calibration dataset, and the second calibration center point.

[0080] In this embodiment, the robot travels back and forth between a first calibration position and a second calibration position. When the robot is at the first calibration position, it enters calibration mode, and the sensors collect calibration data to obtain a first calibration dataset. When the robot is at the second calibration position, it enters calibration mode, and the sensors collect calibration data to obtain a second calibration dataset.

[0081] Taking the first calibration position as the stop position and the second calibration position as the reversing position as an example

[0082] like Figure 2 As shown, in step 210, stop at the stop position, enter calibration mode, and record the calibration data after the data converges.

[0083] In this step, the robot stops at the parking position and enters calibration mode. The sensors collect calibration data, and after waiting for the data to converge, the calibration data is recorded to obtain the first calibration dataset.

[0084] Step 220: Run to the commutation position and stop, enter calibration mode, wait for data convergence and record calibration data.

[0085] The robot moves from the stop position to the reversing position and stops, enters the calibration mode, the sensors collect calibration data, and after waiting for the data to converge, the calibration data is recorded to obtain the second calibration dataset.

[0086] Step 230: Complete the static two-point calibration and automatically return to the stop position to stop the machine.

[0087] It should be noted that at both the first and second calibration positions, the calibration data collected by the sensor fluctuates around the corresponding center point.

[0088] In this embodiment, statistical methods can be used to perform convergence calculations on the first calibration dataset and the second calibration dataset to determine the first calibration center point in the first calibration dataset and the second calibration center point in the second calibration dataset. The calibration data of the first calibration dataset bounces around the first calibration center point, and the calibration data of the second calibration dataset bounces around the second calibration center point.

[0089] Based on the first calibration dataset, the first calibration center point, the second calibration dataset, and the second calibration center point, a theoretical dataset is calculated. The jump data in the robot's first satellite positioning data is then filtered using the theoretical dataset. The filtering process is simplified by using calibration data as prior values ​​for direct filtering, eliminating the need to establish equations and making the method simple.

[0090] In some embodiments, the theoretical dataset obtained based on the first calibration dataset, the first calibration center point, the second calibration dataset, and the second calibration center point may include:

[0091] Based on the circular probability error of the sensor, the first calibration dataset is transformed into a first data circle set centered on the first calibration center point, and the second calibration dataset is transformed into a second data circle set centered on the second calibration center point. The theoretical dataset includes the first data circle set and the second data circle set.

[0092] Using the circular error probable (CEP) of the sensor itself as the data optimization standard, the first calibration dataset is transformed into a first data circle set centered on the first calibration center point, and the second calibration dataset is transformed into a second data circle set centered on the second calibration center point. The calibration data in the first and second data circle sets are theoretically valid data.

[0093] It should be noted that the data in the first and second data circles includes all points on and inside the circles.

[0094] In actual implementation, based on the sensor's own CEP 50% accuracy, the first calibration dataset and the second calibration dataset are respectively transformed into data circle sets with their respective center points as the center, namely the first data circle set and the second data circle set, to obtain a theoretical dataset that only includes theoretically valid data.

[0095] In some embodiments, step 120, filtering the jitter data in the first satellite positioning data based on the theoretical dataset of robot positioning calibration, may include:

[0096] Based on the first and second calibration center points, determine the calibration point direction vector of the theoretical dataset;

[0097] Based on the theoretical dataset and calibration point direction vector, the jitter data in the first satellite positioning data is filtered.

[0098] In this embodiment, the calibration point direction vector is calculated based on the first calibration center point and the second calibration center point of the theoretical dataset. The calibration point direction vector and the theoretical dataset are used to perform data filtering on the first satellite positioning data to filter out jitter data in the first satellite positioning data.

[0099] The theoretical dataset is calculated using the calibration method on the first satellite positioning data. Based on the parameters of the theoretical dataset and the corresponding calibration point direction vector, the data of the first satellite positioning data with incorrect direction of jump and incorrect jump range is filtered. It does not require the establishment of measurement equations and state equations as in filtering algorithms such as Kalman filtering, and the real-time requirements of the algorithm and sensor are lower.

[0100] The following is a specific example.

[0101] The robot travels back and forth between a first calibration position and a second calibration position in a certain area to perform positioning calibration. The first calibration position is the stopping position, and the second calibration position is the reversing position.

[0102] The sensor collects the first calibration dataset corresponding to the stop position and the second calibration dataset corresponding to the reversing position. The calibration data collected by the stop position and the reversing position are both datasets that bounce around the center point. All latitude and longitude data in the dataset are converted into coordinate values ​​in the geodetic coordinate system.

[0103] By statistically calculating the arithmetic mean of the data after a period of convergence, two data centers (the first calibration center point and the second calibration center point) of the first and second calibration datasets are found.

[0104] Connect the first calibration center point and the second calibration center point with a straight line, and use this straight line as the calibration point direction vector of the theoretical dataset. The robot's exit direction is from the stop position to the reversing position, and the return direction is from the reversing position to the stop position.

[0105] Based on the sensor's own CEP 50% accuracy, the first calibration dataset and the second calibration dataset are transformed into a set of circles centered on the first calibration center point and the second calibration center point (first data circle set and second data circle set), thus obtaining all theoretically valid theoretical datasets.

[0106] By combining theoretical datasets and corresponding calibration point direction vectors, data filtering is performed on the satellite positioning data of the robot during actual operation to remove jittery data and achieve stable processing of the robot's satellite positioning data during movement.

[0107] In some embodiments, the first supplementary positioning data is determined by the following steps:

[0108] Based on the historical satellite positioning data corresponding to the jump data points, determine the difference in historical positioning data;

[0109] Based on the differences in historical positioning data, determine the direction vector of the historical data;

[0110] Based on the difference in historical positioning data, the direction vector of historical data, and the direction vector of calibration points in the theoretical dataset, the first supplementary positioning data is determined.

[0111] In this embodiment, after filtering out the jitter data of the jitter data points in the first satellite positioning data, at least two historical satellite positioning data corresponding to the jitter data points are obtained, the difference between the historical satellite positioning data is calculated, the historical positioning data difference is obtained, and then the historical data direction vector corresponding to the historical satellite positioning data of the jitter data points is determined based on the historical positioning data difference.

[0112] In actual implementation, the difference between the historical satellite positioning data corresponding to the jittering data point is used as the change amount. Based on the direction vector of the historical data and the direction vector of the calibration point of the theoretical dataset, the first supplementary positioning data corresponding to the jittering data point is calculated.

[0113] The calibration point direction vector of the theoretical dataset can be determined based on the first calibration center point and the second calibration center point.

[0114] In actual execution, the robot first travels back and forth between the first calibration position and the second calibration position to perform positioning calibration and obtain a theoretical dataset. Based on the first calibration center point and the second calibration center point in the theoretical dataset, the calibration point direction vector of the theoretical dataset can be obtained.

[0115] In some embodiments, determining the first supplementary positioning data based on the historical positioning data difference, the historical data direction vector, and the calibration point direction vector of the theoretical dataset may include:

[0116] Obtain the first direction vector angle between the historical data direction vector and the calibration point direction vector;

[0117] Based on the historical satellite positioning data corresponding to the jump data points and the angle between the first direction vector, the first supplementary positioning data is determined according to the trigonometric function algorithm or projection method.

[0118] In this embodiment, the angle between the first direction vector and the calibration point direction vector is calculated. The difference in historical positioning data is used as the change value. The first supplemented positioning data is obtained through trigonometric function relationships or projection methods to supplement the first satellite positioning data after filtering out jitter data.

[0119] The following is a specific example.

[0120] like Figure 3 As shown in step 310, the robot begins normal operation after completing calibration.

[0121] In this embodiment, the robot first travels back and forth between the first calibration position and the second calibration position to perform positioning calibration, thereby obtaining the theoretical dataset and the calibration point direction vector corresponding to the theoretical dataset.

[0122] After the robot completes calibration, it begins normal operation, and the robot's sensors collect the first satellite positioning data.

[0123] Step 320: Filter out invalid data.

[0124] In this step, based on the theoretical dataset, the fluctuating data in the first satellite positioning data collected by the sensor is filtered to remove invalid data, and the first satellite positioning data becomes discontinuous satellite positioning data, with no satellite positioning data for the fluctuating data points in the first satellite positioning data.

[0125] Step 330: Make the positioning data continuous by inserting prior location estimates.

[0126] In this step, based on the historical satellite positioning data corresponding to the jitter data points, the historical positioning data difference and historical data direction vector are calculated. Based on the historical positioning data difference, historical data direction vector and calibration point direction vector, the first supplementary positioning data, which is the prior position estimate, is calculated.

[0127] Insert supplementary positioning data into the jump data points in the first satellite positioning data to make the first satellite positioning data continuous, obtain the target satellite positioning data of the robot, and quickly update the positioning.

[0128] The robot satellite positioning data processing method provided in this application can be executed by a robot satellite positioning data processing device. This application uses the robot's satellite positioning data processing device executing the robot satellite positioning data processing method as an example to illustrate the robot satellite positioning data processing device provided in this application.

[0129] This application also provides a satellite positioning data processing device for a robot.

[0130] like Figure 4 As shown, the robot's satellite positioning data processing device includes:

[0131] The acquisition module 410 is used to acquire the robot's first satellite positioning data, which is collected by the robot's sensors;

[0132] The first processing module 420 is used to filter the jitter data in the first satellite positioning data according to the theoretical dataset of robot positioning calibration;

[0133] The second processing module 430 is used to supplement the first supplementary positioning data into the jump data points of the first satellite positioning data to obtain the target satellite positioning data of the robot.

[0134] The first supplementary positioning data is determined based on historical satellite positioning data collected by the sensor, and the jump data point is the data point corresponding to the jump data in the first satellite positioning data.

[0135] According to the satellite positioning data processing device for robots provided in the embodiments of this application, the device filters out invalid data that jumps in the first satellite positioning data through the theoretical dataset of positioning calibration, uses the valid values ​​of historical satellite positioning data to estimate the position, supplements the satellite positioning data, and quickly updates the positioning, thereby realizing reliable processing of robot satellite positioning data. The algorithm is simple, the amount of computation is small, and the real-time requirements are low.

[0136] In some embodiments, the first processing module 420 is configured to obtain the theoretical dataset through the following steps:

[0137] A first calibration dataset and a second calibration dataset are acquired, and the robot is used to travel back and forth between the first calibration position and the second calibration position. The first calibration dataset includes calibration data collected by the sensors when the robot is located at the first calibration position, and the second calibration dataset includes calibration data collected by the sensors when the robot is located at the second calibration position.

[0138] Convergence calculations are performed on the first calibration dataset and the second calibration dataset respectively to obtain the first calibration center point corresponding to the first calibration dataset and the second calibration center point corresponding to the second calibration dataset.

[0139] The theoretical dataset is obtained based on the first calibration dataset, the first calibration center point, the second calibration dataset, and the second calibration center point.

[0140] In some embodiments, the first processing module 420 is used to convert the first calibration dataset into a first data circle set centered on the first calibration center point, and the second calibration dataset into a second data circle set centered on the second calibration center point, based on the circular probability error of the sensor. The theoretical dataset includes the first data circle set and the second data circle set.

[0141] In some embodiments, the first processing module 420 is used to determine the calibration point direction vector of the theoretical dataset based on the first calibration center point and the second calibration center point;

[0142] Based on the theoretical dataset and calibration point direction vector, the jitter data in the first satellite positioning data is filtered.

[0143] In some embodiments, the second processing module 430 is configured to determine the first supplementary positioning data through the following steps:

[0144] Based on the historical satellite positioning data corresponding to the jump data points, determine the difference in historical positioning data;

[0145] Based on the differences in historical positioning data, determine the direction vector of the historical data;

[0146] Based on the difference in historical positioning data, the direction vector of historical data, and the direction vector of calibration points in the theoretical dataset, the first supplementary positioning data is determined.

[0147] In some embodiments, the second processing module 430 is used to obtain the first direction vector angle between the historical data direction vector and the calibration point direction vector;

[0148] Based on the historical satellite positioning data corresponding to the jump data points and the angle between the first direction vector, the first supplementary positioning data is determined according to the trigonometric function algorithm or projection method.

[0149] The satellite positioning data processing device for the robot in this application embodiment can be an electronic device or a component within an electronic device, such as an integrated circuit or a chip. The electronic device can be a terminal or other devices besides a terminal. For example, the electronic device can be a mobile phone, tablet computer, laptop computer, PDA, in-vehicle electronic device, mobile internet device (MID), augmented reality (AR) / virtual reality (VR) device, robot, wearable device, ultra-mobile personal computer (UMPC), netbook, or personal digital assistant (PDA), etc. It can also be a server, network attached storage (NAS), personal computer (PC), television (TV), ATM, or self-service machine, etc. This application embodiment does not specifically limit the scope of the device.

[0150] The satellite positioning data processing device for the robot in this embodiment can be a device with an operating system. This operating system can be Android, iOS, or other possible operating systems; this embodiment does not specifically limit the specific operating system used.

[0151] The satellite positioning data processing device for the robot provided in this application embodiment can achieve... Figures 1 to 3 The various processes implemented in the method implementation examples will not be described again here to avoid repetition.

[0152] This application also provides a robot.

[0153] The robot includes sensors and a controller. The sensors are used to collect satellite positioning data, and the controller is electrically connected to the sensors. The controller is used to execute the satellite positioning data processing method of the robot described above.

[0154] Sensors can collect satellite positioning data through GNSS systems. The satellite positioning data collected by the sensors includes primary satellite positioning data and historical satellite positioning data.

[0155] In this embodiment, the controller acquires the robot's first satellite positioning data, which is raw satellite positioning data that needs to be filtered.

[0156] The robot performs positioning calibration in advance to obtain a theoretical dataset. Based on the theoretical dataset, the controller filters the jitter data in the first satellite positioning data and adds the first supplementary positioning data to the jitter data points of the first satellite positioning data to obtain the target satellite positioning data of the robot.

[0157] According to the robot provided in the embodiments of this application, the robot filters out the invalid data that jumps in the first satellite positioning data through the theoretical dataset of positioning calibration, uses the valid values ​​of historical satellite positioning data to estimate the position, supplements the satellite positioning data, and quickly updates the positioning, thereby realizing reliable processing of robot satellite positioning data. The algorithm is simple, has low computational load, and low real-time requirements.

[0158] In some embodiments, the robot's controller executes the satellite positioning data processing method described above to quickly update the positioning, enabling the robot to stop at a specific location.

[0159] In this embodiment, the characteristics of GNSS sensors are used to calculate the theoretical dataset of satellite positioning data through calibration. The robot operates based on the obtained real-time satellite positioning data and stops when it reaches a specified position range. After stopping, the robot waits for the positioning data to converge and then uses that position as the calibration position for secondary positioning calibration. Then, a small-range shift is performed using the prior position estimate, which helps to improve the robot's stopping position control accuracy.

[0160] The satellite positioning data processing method for robots in this application is applicable to the application scenarios of photovoltaic cleaning robots. The filtering processing method is simple, has low computational load, high reliability, and low real-time requirements for sensors and algorithms.

[0161] In some embodiments, such as Figure 5 As shown, this application embodiment also provides an electronic device 500, including a processor 501, a memory 502, and a computer program stored in the memory 502 and executable on the processor 501. When the program is executed by the processor 501, it implements the various processes of the above-described robot satellite positioning data processing method embodiment and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0162] It should be noted that the electronic devices in the embodiments of this application include the aforementioned mobile electronic devices and non-mobile electronic devices.

[0163] This application also provides a non-transitory computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the various processes of the above-described robot satellite positioning data processing method embodiment and achieves the same technical effect. To avoid repetition, it will not be described again here.

[0164] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0165] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the satellite positioning data processing method for the robot described above.

[0166] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0167] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface and the processor are coupled. The processor is used to run programs or instructions to implement the various processes of the above-described robot satellite positioning data processing method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0168] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0169] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0170] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0171] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

[0172] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0173] Although embodiments of this application have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of this application, the scope of which is defined by the claims and their equivalents.

Claims

1. A method for processing satellite positioning data of a robot, characterized in that, include: Acquire the robot's first satellite positioning data, which is collected by the robot's sensors; Based on the theoretical dataset for robot positioning calibration, the jitter data in the first satellite positioning data is filtered. The first supplementary positioning data is added to the jump data points of the first satellite positioning data to obtain the target satellite positioning data of the robot; Wherein, the first supplementary positioning data is determined based on the historical satellite positioning data collected by the sensor, and the jump data point is the data point corresponding to the jump data in the first satellite positioning data; The theoretical dataset was obtained through the following steps: The robot acquires a first calibration dataset and a second calibration dataset, and is used to travel back and forth between a first calibration position and a second calibration position. The first calibration dataset includes calibration data collected by the sensors when the robot is located at the first calibration position, and the second calibration dataset includes calibration data collected by the sensors when the robot is located at the second calibration position. Convergence calculations are performed on the first calibration dataset and the second calibration dataset respectively to obtain the first calibration center point corresponding to the first calibration dataset and the second calibration center point corresponding to the second calibration dataset. The theoretical dataset is obtained based on the first calibration dataset, the first calibration center point, the second calibration dataset, and the second calibration center point.

2. The satellite positioning data processing method for a robot according to claim 1, characterized in that, The theoretical dataset, obtained based on the first calibration dataset, the first calibration center point, the second calibration dataset, and the second calibration center point, includes: Based on the circular probability error of the sensor, the first calibration dataset is transformed into a first data circle set centered on the first calibration center point, and the second calibration dataset is transformed into a second data circle set centered on the second calibration center point. The theoretical dataset includes the first data circle set and the second data circle set.

3. The satellite positioning data processing method for a robot according to claim 1, characterized in that, The step of filtering the jitter data in the first satellite positioning data based on the theoretical dataset of the robot positioning calibration includes: Based on the first calibration center point and the second calibration center point, determine the calibration point direction vector of the theoretical dataset; Based on the theoretical dataset and the calibration point direction vector, the jitter data in the first satellite positioning data is filtered.

4. The satellite positioning data processing method for a robot according to any one of claims 1-3, characterized in that, The first supplementary positioning data is determined through the following steps: Based on the historical satellite positioning data corresponding to the jump data points, the historical positioning data difference is determined; Based on the historical positioning data difference, the historical data direction vector is determined; The first supplementary positioning data is determined based on the difference in the historical positioning data, the direction vector of the historical data, and the direction vector of the calibration point in the theoretical dataset.

5. The satellite positioning data processing method for a robot according to claim 4, characterized in that, The step of determining the first supplementary positioning data based on the historical positioning data difference, the historical data direction vector, and the calibration point direction vector of the theoretical dataset includes: Obtain the first direction vector angle between the historical data direction vector and the calibration point direction vector; Based on the historical satellite positioning data corresponding to the jump data points and the angle between the first direction vector, the first supplementary positioning data is determined according to the trigonometric function algorithm or projection method.

6. A satellite positioning data processing device for a robot, characterized in that, include: The acquisition module is used to acquire the robot's first satellite positioning data, which is collected by the robot's sensors; The first processing module is used to filter the jitter data in the first satellite positioning data according to the theoretical dataset of the robot positioning calibration; The second processing module is used to supplement the jump data points of the first satellite positioning data with first supplementary positioning data to obtain the target satellite positioning data of the robot. Wherein, the first supplementary positioning data is determined based on the historical satellite positioning data collected by the sensor, and the jump data point is the data point corresponding to the jump data in the first satellite positioning data; The theoretical dataset was obtained through the following steps: The robot acquires a first calibration dataset and a second calibration dataset, and is used to travel back and forth between a first calibration position and a second calibration position. The first calibration dataset includes calibration data collected by the sensors when the robot is located at the first calibration position, and the second calibration dataset includes calibration data collected by the sensors when the robot is located at the second calibration position. Convergence calculations are performed on the first calibration dataset and the second calibration dataset respectively to obtain the first calibration center point corresponding to the first calibration dataset and the second calibration center point corresponding to the second calibration dataset. The theoretical dataset is obtained based on the first calibration dataset, the first calibration center point, the second calibration dataset, and the second calibration center point.

7. A robot, characterized in that, include: Sensor, the sensor being used to collect satellite positioning data; A controller, electrically connected to the sensor, is used to execute the satellite positioning data processing method of the robot according to any one of claims 1-5.

8. An electronic 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 program, it implements the satellite positioning data processing method for the robot as described in any one of claims 1-5.

9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the satellite positioning data processing method for the robot as described in any one of claims 1-5.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the satellite positioning data processing method for the robot as described in any one of claims 1-5.