Robot data processing method and device, electronic equipment and storage medium

By storing and marking obstacle data in the sweeping robot environment, the redundant data problem caused by the inability to cover all aspects of the sensor is solved, and more efficient data processing and path planning are achieved.

CN119523373APending Publication Date: 2025-02-28BEST EPOCH TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411749239.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

During the cleaning process, existing sweeping robots cannot achieve all-round and no blind spots, resulting in multiple detection and marking of identified obstacles, generating a large amount of redundant data, occupying a large amount of storage space and increasing the workload of the processor.

Method used

By storing obstacle data of the environment in which the robot is located, including actual obstacle data and preset obstacle data, and marking the type of actual obstacle data as first readable data, the interval distance is determined based on the current position of the robot and the preset obstacle data, and the preset obstacle data marked with the first interval distance less than the preset distance is second readable data for determining the movement trajectory of the robot.

Benefits of technology

It reduces the processing volume of redundant data, improves the efficiency of data processing, helps the robot avoid obstacles more reasonably, and quickly and accurately plan the optimal path.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119523373A_ABST
    Figure CN119523373A_ABST
Patent Text Reader

Abstract

The invention provides a data processing method and device of a robot, electronic equipment and a storage medium. The method comprises the steps that obstacle data of the environment where the robot is located are stored, wherein the obstacle data comprise actual obstacle data and preset obstacle data; marking the type of the actual obstacle data as first readable data, wherein the actual obstacle data comprises position information of an actual obstacle; according to the current position of the robot and preset obstacle data, a first spacing distance between the robot and a preset obstacle is determined, and the preset obstacle data comprises position information of the preset obstacle; the preset obstacle data with the first interval distance smaller than the first preset distance are marked as second readable data, the first readable data and the second readable data are used for determining the moving track of the robot, and the moving track does not intersect with the position of the obstacle. According to the invention, the data processing efficiency of the robot can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer and artificial intelligence technology, and in particular to a robot data processing method, device, electronic device and storage medium. Background Art

[0002] A sweeping robot is a smart household appliance that automatically cleans without human intervention. It usually avoids obstacles and plans cleaning paths through built-in sensors and navigation systems. In related technologies, a sweeping robot identifies obstacles through infrared sensors, line lasers, and surface laser sensors, and then performs collision-free cleaning through obstacle avoidance algorithms. Since the sensor cannot cover the area around the sweeper in all directions without blind spots, it is necessary to mark the obstacles that have been identified so that the sweeping robot can clean according to the marking information of the obstacles when cleaning. However, sensor data will be detected multiple times during the cleaning process, resulting in a lot of redundant data, taking up a lot of storage space, and increasing the workload of the processor.

[0003] There is currently no more efficient way in the relevant technology to reduce the workload of the processor while meeting the obstacle avoidance requirements. Summary of the invention

[0004] The embodiments of the present application provide a robot data processing method, device, computer-readable storage medium and computer program product, which can improve the robot's data processing efficiency.

[0005] The technical solution of the embodiment of the present application is implemented as follows:

[0006] The present application provides a robot data processing method, the method comprising:

[0007] Storing obstacle data of the robot's environment, wherein the obstacle data includes actual obstacle data and preset obstacle data;

[0008] Marking the type of actual obstacle data as first readable data, wherein the actual obstacle data includes location information of the actual obstacle;

[0009] Determining a first interval distance between the robot and a preset obstacle according to a current position of the robot and preset obstacle data, wherein the preset obstacle data includes position information of a preset obstacle area;

[0010] The preset obstacle data whose first interval distance is less than the first preset distance is marked as second readable data, wherein the first readable data and the second readable data are used to determine the moving trajectory of the robot, and the moving trajectory does not intersect with the position of the obstacle.

[0011] The present application embodiment provides a data processing device for a robot, comprising:

[0012] A data storage module, used to store obstacle data of the robot's environment, wherein the obstacle data includes actual obstacle data and preset obstacle data;

[0013] A data processing module, used for marking the type of actual obstacle data as first readable data, wherein the actual obstacle data includes location information of the actual obstacle;

[0014] The data processing module is further used to determine a first interval distance between the robot and a preset obstacle based on the current position of the robot and preset obstacle data, wherein the preset obstacle data includes position information of the preset obstacle; and mark the preset obstacle data whose first interval distance is less than the first preset distance as second readable data, wherein the first readable data and the second readable data are used to determine a moving trajectory of the robot, and the moving trajectory does not intersect with the position of the obstacle.

[0015] An embodiment of the present application provides an electronic device, the electronic device comprising:

[0016] A memory for storing computer executable instructions or computer programs;

[0017] The processor is used to implement the robot data processing method provided in the embodiment of the present application when executing the computer executable instructions or computer programs stored in the memory.

[0018] An embodiment of the present application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the robot data processing method provided by the embodiment of the present application when executed by a processor.

[0019] An embodiment of the present application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, the robot data processing method provided by the embodiment of the present application is implemented.

[0020] The embodiments of the present application have the following beneficial effects:

[0021] The actual obstacle data and the preset obstacle data are stored to meet the needs of the robot to avoid actual obstacles and specific areas during work; the type of the actual obstacle data is marked as the first readable data, and the actual obstacle data includes the location information of the actual obstacle, which helps the robot accurately identify obstacles in the surrounding environment. According to the current position of the robot and the preset obstacle data, the first interval distance between the robot and the preset obstacle is determined, and the preset obstacle data includes the location information of the preset obstacle area. The preset obstacle data whose first interval distance is less than the first preset distance is marked as the second readable data. The first readable data and the second readable data are used to determine the movement trajectory of the robot, which helps the robot to avoid obstacles more reasonably, quickly and accurately plan the optimal path, reduce the processing amount of readable data, and improve work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 It is a schematic diagram of an application mode of the data processing method of the robot provided in an embodiment of the present application;

[0023] Figure 2 is a schematic diagram of the structure of a terminal device provided in an embodiment of the present application;

[0024] Figure 3A It is a first flow chart of the data processing method of the robot provided in the embodiment of the present application;

[0025] Figure 3B is a second flow chart of the data processing method of the robot provided in an embodiment of the present application;

[0026] Figure 3C is a third flow chart of the data processing method of the robot provided in the embodiment of the present application;

[0027] Figure 4 is a fourth flow chart of the data processing method of the robot provided in an embodiment of the present application;

[0028] Figure 5A It is a sensor layout diagram of a sweeping machine according to a robot data processing method provided in an embodiment of the present application;

[0029] Figure 5B It is a side view of a sensor of a sweeping machine in the data processing method of a robot provided in an embodiment of the present application;

[0030] Figure 5C is a top view of a sweeping machine in accordance with the robot data processing method provided in an embodiment of the present application;

[0031] Figure 5D It is a schematic diagram of a sensor detecting an obstacle in the data processing method of the robot provided in an embodiment of the present application;

[0032] Figure 6 It is a schematic diagram of the numerical outer contour of the data processing method of the robot provided in the embodiment of the present application;

[0033] Figure 7 is a fifth flow chart of the data processing method of the robot provided in the embodiment of the present application;

[0034] Figure 8 is a sixth flow chart of the data processing method of the robot provided in the embodiment of the present application;

[0035] Fig. 9 This is the seventh flow chart of the robot data processing method provided in the embodiment of the present application.

[0036] It should be pointed out that the above-mentioned "first" and "second" are only used to distinguish different solutions, and do not represent the degree of superiority or inferiority of the solutions or the priority in the implementation process. DETAILED DESCRIPTION

[0037] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.

[0038] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0039] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0040] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0041] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meanings as those commonly understood by those skilled in the art. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.

[0042] The relevant data collection and processing (for example, cleaning map data) in the embodiments of this application should be strictly in accordance with the requirements of relevant laws and regulations when applied in examples, and the informed consent or separate consent of the personal information subject should be obtained, and subsequent data use and processing should be carried out within the scope of authorization of laws and regulations and the personal information subject.

[0043] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.

[0044] 1) Robot cleaner: It is a smart home appliance that can automatically clean the floor in the room with the help of artificial intelligence. It usually uses brushing and vacuuming to absorb the debris on the floor into its own garbage storage box, thus completing the function of floor cleaning. Robots that complete sweeping, vacuuming, and mopping are also collectively classified as robot cleaners. The body of the robot cleaner is a wireless machine, mainly in the shape of a disc. It uses a rechargeable battery and is operated by a remote control or an operation panel on the machine. The robot cleaner can schedule cleaning according to the set time. The robot cleaner can charge itself. There is a sensor in front of the robot cleaner that can detect obstacles. If it hits a wall or other obstacles, it will turn automatically and take different routes according to the settings of each different manufacturer, with planned cleaning areas.

[0045] 2) Obstacle avoidance: It is to make avoidance actions to external obstacles based on the various sensory devices possessed by the object. When external obstacles hinder the movement of the device, the device automatically makes various avoidance actions, and continues to perform the actions before avoidance after passing the obstacle.

[0046] 3) Sensor: A detection device that can sense the information being measured and can convert the sensed information into electrical signals or other required forms of information output according to certain rules to meet the requirements of information transmission, processing, storage, display, recording and control. In the embodiment of the present application, the sensor can detect and respond to certain types of inputs to obtain information from the external environment, and convert this information into electrical signals or other forms of output, so that the sweeping robot can make decisions and perform corresponding actions based on this information. The sensor is a device that can detect and respond to certain types of inputs to obtain information from the external environment, and convert this information into electrical signals or other forms of output, so that the robot can make decisions and perform corresponding actions based on this information.

[0047] 4) Field of View (FOV): The angle formed by the two edges of the maximum range through which the image of the target can pass through the lens, with the lens of the optical instrument as the vertex, is called the field of view. The larger the field of view, the larger the field of view and the smaller the optical magnification. In the embodiment of the present application, the field of view refers to the angle range that the sensor can detect or measure, that is, the angle of the conical area in front of the sensor that can cover and detect obstacles. The field of view is an important parameter for evaluating the performance of obstacle avoidance sensors. A larger field of view allows the sensor to detect obstacles in a wider range, while a smaller field of view means that the sensor's detection is more concentrated, which is suitable for occasions that require precise measurement. For example, if the field of view of an infrared obstacle avoidance sensor is 35 degrees, then the sensor can detect obstacles within 17.5 degrees on both sides of the center line in front of it. If the obstacle is outside this angle, the sensor may not be able to detect it.

[0048] 5) Simultaneous Localization and Mapping (SLAM): The robot starts moving from an unknown position in an unknown environment, locates itself according to the position and map during the movement, and builds an incremental map based on its own positioning to achieve autonomous positioning and navigation of the robot.

[0049] 6) Mapping: This means that the robot collects information about the surrounding environment through sensors and uses this information to build a map of the environment.

[0050] 7) Localization: refers to the robot determining its own position and direction on the constructed map.

[0051] 8) Quantization: It is the process of converting continuous or non-numerical information into numerical information.

[0052] 9) Restricted Areas: refers to one or more specific areas set by the user, and the robot vacuum cleaner is instructed to avoid entering these areas. These areas may be unsuitable for cleaning for various reasons, such as: fragile items, pet food bowls, children's toys, etc. Users can usually specify these areas on the home map drawn by the robot vacuum cleaner through the supporting application, and the robot will automatically identify and avoid these areas when cleaning.

[0053] 10) Virtual Wall: It is a technical function that simulates an invisible wall by emitting infrared or other forms of signals. When the sweeping robot encounters these signals, it will think that it has encountered an actual wall and stop moving forward, thus avoiding entering the space that the user does not want it to enter. The virtual wall can be a line or an area, and the user can set its position and size as needed. It can prevent the robot from entering areas without physical barriers (such as walls, doors, etc.), such as open kitchens, pet areas or certain decorative areas.

[0054] In the related art, the sweeping robot relies on the front collision sensor to identify obstacles. Since the sensor cannot fully cover the surrounding area of ​​the sweeping robot, it is necessary to mark the obstacles that have been identified so that the sweeping robot can clean according to the obstacle marking information when cleaning. During the cleaning process, the sweeping robot will detect sensor data multiple times and repeatedly store obstacle data, resulting in redundant storage data, occupying a large amount of storage space, and increasing the workload of the processor.

[0055] The embodiments of the present application provide a robot data processing method, a robot data processing device, an electronic device, a computer-readable storage medium, and a computer program product, which can improve the data processing efficiency of the robot.

[0056] The following describes an exemplary application of the electronic device provided in the embodiments of the present application. The device provided in the embodiments of the present application can be implemented as various types of terminals such as a laptop computer, a tablet computer, a desktop computer, a set-top box, a smart phone, a smart speaker, a smart watch, a smart TV, and a vehicle-mounted terminal, and can also be implemented as a server. The following describes an exemplary application when the device is implemented as a terminal or a server.

[0057] See also Figure 1 , Figure 1 Schematic diagram of the application mode of the data processing method of the robot provided in the embodiment of the present application, for implementing a data processing application supporting a robot, for example, Figure 1 The system involves a server 200, a network 300, a terminal device 400 and a database 500. The terminal device 400 is connected to the server 200 via the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two.

[0058] In some embodiments, the user may be the user of the robot, the robot may be a sweeping robot, the server 200 is a server for managing obstacle data inside the robot, the terminal device 400 is a terminal inside the robot, the terminal device 400 is composed of sensors, processors, actuators and related obstacle avoidance algorithms, and is used to perform obstacle avoidance tasks, and the database 500 stores virtual obstacle data and actual obstacle data that is updated regularly.

[0059] For example, the terminal device 400 is used to receive virtual obstacle information and cleaning requests set by the user on the preconfigured application. In response to the virtual obstacle information and cleaning request, the cleaning robot starts to perform the cleaning task. The terminal device 400 sends the obstacle data and virtual obstacle information detected by the sensor in the cleaning robot to the server 200 through the network 300. The server 200 updates the virtual obstacle data and the detected obstacle data through the timing trigger and the judgment of the preconfigured distance. The virtual obstacle data and the actual obstacle data updated regularly are stored in the database 500. The terminal device 400 marks the accessible data during the cleaning process through the robot's data processing method. The processor, actuator and related obstacle avoidance algorithm in the terminal device 400 complete the cleaning work according to the marked accessible data.

[0060] In some embodiments, the robot data processing method of the embodiment of the present application can also be applied in the following application scenarios:

[0061] 1. In the application scenarios of smart homes: The sweeping robot can identify obstacles such as furniture and electrical appliances in the home. Through the data processing method of the robot in the embodiment of the present application, the obstacles can be marked to obtain readable data for use in the application scenarios of smart homes. The sweeping robot can reasonably plan the cleaning path according to the readable data and perform cleaning tasks to avoid damage or interference during movement.

[0062] 2. Application scenarios of industrial automation: In factories or warehouses, robots need to perform tasks such as material handling and cargo storage. The data processing method of the robot in the embodiment of the present application can be used to mark obstacles and obtain readable data for use in application scenarios of industrial automation. The readable data can help the robot identify obstacles in the actual environment and plan an optimal path that avoids all obstacles, thereby ensuring that the robot completes the task safely and efficiently.

[0063] 3. Application scenarios of medical assistance: In hospitals or nursing homes, robots can help care for patients or the elderly. The data processing method of the robot in the embodiment of the present application can be used to mark obstacles and obtain readable data for use in medical assistance applications. Obstacles in the actual environment can be identified and avoided based on the readable data, and tasks such as meal delivery and cleaning can be completed without interfering with medical staff and patients.

[0064] 4. Agricultural automation application scenarios: In the agricultural field, robots can perform tasks such as sowing, fertilizing, and harvesting. The data processing method of the robot in the embodiment of the present application can be used to mark obstacles and obtain readable data for use in agricultural automation application scenarios. The robot can identify obstacles in the field, such as trees, stones, etc., to avoid collisions during operations.

[0065] The embodiments of the present application can be implemented through database technology. In short, a database can be regarded as an electronic file cabinet where electronic files are stored. Users can add, query, update, delete, etc. data in the files. The so-called "database" is a collection of data that is stored together in a certain way, can be shared with multiple users, has as little redundancy as possible, and is independent of the application program.

[0066] A database management system (DBMS) is a computer software system designed for managing databases. It generally has basic functions such as storage, retrieval, security, and backup. Database management systems can be classified according to the database model they support, such as relational, XML (Extensible Markup Language); or according to the type of computer they support, such as server clusters, mobile phones; or according to the query language used, such as Structured Query Language (SQL), XQuery; or according to performance focus, such as maximum scale, maximum operating speed; or other classification methods. Regardless of the classification method used, some DBMS can cross categories, for example, supporting multiple query languages ​​at the same time.

[0067] See also Figure 2 , Figure 2 is a schematic diagram of the structure of a terminal device provided in an embodiment of the present application, Figure 2 The terminal device 400 shown includes: at least one processor 410, a memory 450, at least one network interface 420 and a user interface 430. The various components in the terminal device 400 are coupled together via a bus system 440. It is understood that the bus system 440 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 440 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the bus system 440 is not shown in FIG. Figure 2 Various buses are labeled as bus system 440 .

[0068] The processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0069] The user interface 430 includes one or more output devices 431 that enable presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 430 also includes one or more input devices 432, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

[0070] The memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. The memory 450 may optionally include one or more storage devices that are physically remote from the processor 410.

[0071] The memory 450 includes a volatile memory or a nonvolatile memory, and may also include both volatile and nonvolatile memories. The nonvolatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 450 described in the embodiments of the present application is intended to include any suitable type of memory.

[0072] In some embodiments, memory 450 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplarily described below.

[0073] Operating system 451, including system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks;

[0074] A network communication module 452, used to reach other electronic devices via one or more (wired or wireless) network interfaces 420, exemplary network interfaces 420 include: Bluetooth, Wireless Compatibility Certification (WiFi), and Universal Serial Bus (USB), etc.;

[0075] a presentation module 453 for enabling presentation of information via one or more output devices 431 (e.g., display screen, speaker, etc.) associated with the user interface 430 (e.g., a user interface for operating peripherals and displaying content and information);

[0076] The input processing module 454 is used to detect one or more user inputs or interactions from one of the one or more input devices 432 and translate the detected inputs or interactions.

[0077] In some embodiments, the device provided in the embodiments of the present application can be implemented in software. Figure 2 The data processing device 455 of the robot stored in the memory 450 is shown, which can be software in the form of programs and plug-ins, etc., including the following software modules: a data storage module 4551 and a data processing module 4552. These modules are logical, so they can be arbitrarily combined or further divided according to the functions implemented. The functions of each module will be explained below.

[0078] In some embodiments, the terminal or server can implement the data processing method of the robot provided in the embodiment of the present application by running various computer executable instructions or computer programs. For example, computer executable instructions can be commands, machine instructions or software instructions at the microprogram level. The computer program can be a native program or software module in the operating system; it can be a local (Native) application (APPli cation, APP); it can also be a small program that can be embedded in any APP, that is, a program that can be run only by downloading it to a browser environment. In short, the above-mentioned computer executable instructions can be instructions in any form, and the above-mentioned computer program can be an application, module or plug-in in any form.

[0079] The data processing method of the robot provided in the embodiment of the present application will be explained in combination with the exemplary application and implementation of the electronic device provided in the embodiment of the present application.

[0080] Next, the data processing method of the robot provided in the embodiment of the present application is described. As mentioned above, the electronic device implementing the device management method in the embodiment of the present application can be a terminal, a server, or a combination of the two. Therefore, the execution subject of each step will not be repeatedly described below.

[0081] See also Figure 3A , Figure 3A is a first flow chart of the data processing method of the robot provided in the embodiment of the present application, which will be combined with Figure 3A The steps shown are explained, Figure 3A The executive body is Figure 1 The terminal device 400 in.

[0082] In step 301, obstacle data of the robot's environment is stored.

[0083] Here, the obstacle data includes actual obstacle data and preset obstacle data.

[0084] For example, the robot is equipped with a variety of sensors for sensing the surrounding environment and collecting obstacle data. The sensors detect objects in the environment by emitting signals and receive signals reflected from the objects. The sensors convert the received signals into electrical signals or other forms of information, which represent the existence, location, size and other characteristics of the obstacles. The obstacles detected by the sensors are actual obstacles. The information of the actual obstacle detection is digitized to obtain the actual obstacle data. The obstacle data also includes preset obstacle data. The preset obstacles are set and determined by the user through the application. The preset obstacles are restricted areas or virtual walls set by the user. The restricted area or virtual wall is an area. After the user sets the preset obstacles on the application, the information of the preset obstacles is digitized to obtain the preset obstacle data and transmitted to the storage unit of the robot for storage.

[0085] In some embodiments, when the type of obstacle data is preset obstacle data, step 301 can store the preset obstacle data of the robot's environment in the following manner: determine the first area where the preset obstacle is located according to preset edge information; take points on the edge of the first area according to a preset point taking interval to obtain first point data of multiple edge points of the first area; convert each first point data into the robot's map coordinate system to obtain the position information of the preset obstacle, and store the position information of the preset obstacle as preset obstacle data.

[0086] For example, the preset obstacle data is usually set by the user through the robot's user interface or supporting application. The user can specify certain areas on the robot's map as obstacles in the application. These areas can be specific areas in the room. According to the edge information set by the user (for example, the starting point and end point of the virtual wall, or the boundary point of the restricted area), the first area where the preset obstacle is located is determined. Points are taken on the edge of the first area according to the preset point-taking interval. Point-taking refers to selecting a series of points in a specific area according to certain intervals and rules to represent the edge or outline of the area, and obtaining the first point data of multiple edge points of the first area. The point-taking interval is pre-set and determines the distance between the first point data on the edge of the first area. A coordinate transformation matrix is ​​constructed through the robot's posture information (position and orientation), and the coordinates of each edge point are multiplied by the transformation matrix to complete the conversion of the first point data to the map coordinate system, and the position information of the preset obstacle is obtained, and the position information of the preset obstacle is stored as the preset obstacle data. The preset obstacle data includes coordinates and time information. The coordinates are used to describe the position of the obstacle on the map, and the time information is used to record the actual time of the obstacle data.

[0087] See also Figure 6 , Figure 66021, and the restricted area outer contour points 6021 are used as numerical obstacle points, i.e., the first data points. The restricted area 602 occupies an area, and points are taken according to the pixel value of the regional image resolution. For example, if 5 cm is preset to represent a pixel value, then a point is taken every 5 cm.

[0088] In some embodiments, see Figure 3B , Figure 3B is a second flow chart of the data processing method of the robot provided in the embodiment of the present application; when the type of obstacle data is actual obstacle data, Figure 3A Step 301 can be performed by executing Figure 3B Steps 3011 to 3014 in are implemented as described in detail below.

[0089] In step 3011, first distance data between the actual obstacle and the robot is collected.

[0090] For example, the position information of the actual obstacle is collected by the sensor configured on the robot. The sensor transmits a signal to the current environment, receives the signal reflected from the obstacle, measures the propagation time or intensity change of the signal, determines the direction of the real obstacle relative to the sensor according to the angle of signal transmission and reflection, obtains the position information of the real obstacle, and calculates the first distance data between the actual obstacle and the robot.

[0091] In step 3012, the first distance data is converted into the sensor coordinate system of the robot to obtain second point data of the actual obstacle.

[0092] For example, the sensor itself is the origin, and the x, y, and z axes are defined to represent the position in space. According to the first distance data, the position of the real obstacle in the sensor coordinate system is calculated using the triangulation principle to obtain the second point data of the actual obstacle.

[0093] In step 3013, each second point data is converted into the map coordinate system of the robot to obtain the position information of the actual obstacle.

[0094] For example, the map coordinate system is a global coordinate system used to represent the overall layout of the robot's environment. It takes a global reference point as the origin and uses the robot's positioning system to determine the robot's exact position and orientation on the map. The robot's positioning system provides the robot's posture information, that is, the robot's position (usually expressed in x, y coordinates) and orientation (usually expressed in angles or direction cosines) in the map coordinate system. Using the robot's posture information, a coordinate transformation matrix is ​​constructed to convert each second point in the sensor coordinate system to the map coordinate system to obtain the actual obstacle location information.

[0095] In step 3014, the position information of the actual obstacle is stored as actual obstacle data.

[0096] For example, the location information of the actual obstacle is stored as the actual obstacle data, and also includes the stored time information.

[0097] In some embodiments, step 3014 can be implemented in the following manner: taking the position information of the actual obstacle as the data to be stored, wherein the data to be stored includes the first position information of the edge points of the actual obstacle; determining the second position information of each point in the stored data; discarding the first position information when the interval between the first position information and the second position information is less than or equal to a first preset interval distance; storing the first position information when the interval between the first position information and the second position information is greater than the first preset interval distance.

[0098] For example, the position information of the actual obstacle is used as the data to be stored, and the data to be stored includes the first position information of the edge point of the actual obstacle. The position information of the edge point of the obstacle in the previous scanning cycle is determined in the previously stored data as the second position information. A first preset interval distance is set as the threshold for distance judgment. The first preset interval distance is set based on the needs of the actual application scenario. For each newly collected first position information, the interval between the first position information and the stored second position information is checked. If the interval is less than or equal to the first preset interval distance, these data points are considered to be redundant and the first position information is discarded. If the interval is greater than the first preset interval distance, these data points are considered to provide new information and the first position information is stored.

[0099] In an embodiment of the present application, the location information of actual obstacles is collected and converted into the map coordinate system of the robot, which helps to build an accurate indoor environment map, store the actual obstacle data and preset obstacle data of the robot's environment, and update the actual obstacle data based on the judgment of the preset interval distance. By storing and processing the obstacle data, the robot can plan paths and perform tasks more effectively, thereby improving the efficiency and speed of task execution.

[0100] In some embodiments, after step 301, the preset obstacle data is also stored in the following manner: modifying the first area corresponding to the preset obstacle based on the updated preset edge information; taking points on the edge of the modified first area according to the preset point taking interval to obtain third point data of multiple edge points of the modified first area; converting each third point data into the map coordinate system of the robot to obtain the updated position information of the preset obstacle, and storing the updated position information of the preset obstacle as the preset obstacle data.

[0101] For example, due to environmental changes (e.g., furniture movement, object placement) or the user redefines the position of the obstacle, the preset edge information will be changed accordingly, the first area corresponding to the preset obstacle is modified based on the updated preset edge information, the position and range of the obstacle are redefined according to the new coordinate points, and the edge of the modified first area is picked according to the preset point picking interval to obtain the third point data of multiple edge points of the modified first area, and the third point data represents the specific position of the preset obstacle in the updated area. Each third point data is converted to the map coordinate system and stored as the updated preset obstacle data.

[0102] In the embodiment of the present application, by presetting the point sampling interval, only necessary edge point information is stored, which reduces the demand for storage space and improves the efficiency of data processing.

[0103] Continue to see Figure 3A In step 302, the type of the actual obstacle data is marked as first readable data.

[0104] Here, the actual obstacle data includes position information of the actual obstacle.

[0105] For example, the actual obstacle is provided with a timer, which can clear the actual obstacle data at a regular interval, and mark all uncleared actual obstacle data types as first readable data.

[0106] In some embodiments, see Figure 3C , Figure 3C is a third flow chart of the data processing method of the robot provided in the embodiment of the present application; Figure 3A Step 302 can be performed by executing Figure 3C Steps 3021 to 3022 in are implemented as described in detail below.

[0107] In step 3021, when the time between the storage time of the actual obstacle position information and the current time is greater than the preset time, the position information corresponding to the storage time is cleared from the actual obstacle data to obtain the remaining actual obstacle data.

[0108] Here, the actual obstacle data also includes: the storage time corresponding to the position information of the actual obstacle. For example, the robot moves in the current environment according to the task set by the user, detects the obstacle information in real time, sets a timer for periodic triggering, and judges the difference between the storage time and the current time after regular triggering. When the time between the storage time and the current time of the actual obstacle position information is greater than the preset time, the position information corresponding to the storage time is cleared from the actual obstacle data to obtain the remaining actual obstacle data. The preset time depends on the specific scenario and requirements of the robot application. For example, obstacles in a dynamic environment may move at any time, and the actual obstacle information needs to be updated frequently. At this time, the preset time is set shorter, for example, set to 1 minute. In a static environment, the position of the obstacle does not change much, and the preset time can be set shorter or longer, for example, set to 5 minutes.

[0109] In step 3022, the type of the remaining actual obstacle data is marked as first readable data.

[0110] For example, the type of the remaining actual obstacle data is marked as first readable data to reduce the workload of the processor.

[0111] In the embodiment of the present application, when the time length between the storage time of the actual obstacle position information and the current time is greater than the preset time length, the position information corresponding to the storage time is cleared from the actual obstacle data, and the type of the remaining actual obstacle data is marked as the first readable data, so as to realize the updating of the actual obstacle data and maintain the accuracy and timeliness of the data.

[0112] Continue to see Figure 3A In step 303, a first interval distance between the robot and the preset obstacle is determined according to the current position of the robot and the preset obstacle data.

[0113] Here, the preset obstacle data includes location information of the preset obstacle.

[0114] For example, for the first data point of each preset obstacle, the distance from the current position of the robot to the first data point is calculated, and the minimum distance between the robot and the preset obstacle is output as the first interval distance.

[0115] In some embodiments, step 303 can be implemented by: periodically detecting the current position of the robot; converting the current position into third position information in the robot's map coordinate system; determining the distance difference between the third position information and the position information of a preset obstacle, and using the distance difference as the first interval distance between the robot and the preset obstacle.

[0116] For example, by triggering a timer, the current position of the robot is periodically detected and updated, the sensor measurement data is combined with the robot's position information, converted into the third position information in the robot's map coordinate system, and the distance difference between the third position information and the preset obstacle position information is calculated as the first interval distance between the robot and the preset obstacle. The length of the detection cycle is set based on factors such as the robot's moving speed, environmental complexity, sensor accuracy, and computing resources.

[0117] In step 304, the preset obstacle data whose first interval distance is less than the first preset distance is marked as second readable data.

[0118] Here, the first readable data and the second readable data are used to determine the moving trajectory of the robot, and the moving trajectory does not intersect with the position of the obstacle.

[0119] For example, based on the current position of the robot, all stored preset obstacle data are obtained through rotation training, the distance from the robot's position is calculated, and the calculated first interval distance is compared with the first preset distance. When the first interval distance is less than the first preset distance, it indicates that the robot is approaching or has entered the area of ​​the preset obstacle, and the corresponding data is marked as second readable data, that is, part of the data is selected from all the stored data according to the distance difference as the second readable data.

[0120] For example, the robot's work is a continuous movement process. The data is digitized and stored in the storage space inside the robot. However, in actual use, not all data will be read from the storage space for use. Cleaning is performed based on the first readable data and the second readable data, and only obstacles within a certain distance around are considered, reducing the output workload required for obstacle avoidance. In the process of performing cleaning based on the readable data, in order to achieve the effect of real-time obstacle avoidance, the obstacle avoidance control module inside the robot is used to ensure that the robot can safely and effectively bypass obstacles during movement through an obstacle avoidance algorithm.

[0121] The obstacle avoidance control module has a fast access speed for data. The access speed of the obstacle avoidance control module is set according to the robot speed. For example, when the maximum speed is 0.3 meters per second, it takes 1 second to access all accessible data 30 times. By marking accessible data, the data is divided into backup data and accessible data, which improves the real-time performance of calculation.

[0122] In the embodiment of the present application, by collecting actual obstacle data and converting it into the robot's map coordinate system, it is helpful to build a more accurate map of the indoor environment and provide an accurate reference for the robot's path planning. By setting a first preset interval distance, the robot can identify and discard redundant obstacle data to reduce storage space usage. By periodically triggering the timer to clear outdated actual obstacle data, the accuracy and timeliness of the obstacle data can be maintained. By marking the first readable data and the second readable data, the robot only needs to consider obstacles within a certain distance around it when performing path planning, reducing the workload required for obstacle avoidance. The data is divided into backup data and readable data, so that the robot can quickly access the required data, improve the real-time computing performance, and optimize the robot's movement trajectory.

[0123] The following is an explanation of an exemplary application of the embodiments of the present application in a practical application scenario.

[0124] A sweeping robot is a smart home appliance that automatically cleans without human intervention. It usually avoids obstacles and plans cleaning paths through built-in sensors and navigation systems, which reduces people's daily housework burden and improves their quality of life. With the development of the Internet of Things and cloud computing technologies, modern sweeping robots can be intelligently controlled through applications. Users can remotely operate the robot and view the cleaning status in real time. They can better understand user needs and provide more personalized and intelligent cleaning services.

[0125] In the related technology, the sweeping robot relies on the front collision sensor for mechanical obstacle avoidance, especially it can only react after encountering a low obstacle and causing a collision during the cleaning process. More and more sweeping robots are adding infrared sensors to identify obstacles and combining obstacle avoidance algorithms for collision-free cleaning. In order to reduce the cost of sweeping machine sensors, low-cost laser sensors are generally used. The larger the field of view, the wider the coverage, and the smaller the blind spot, the better it can scan more obstacles. Since the sensor cannot cover the area around the sweeping machine in all directions without blind spots, it is necessary to mark the obstacles that have been identified so that the sweeping robot can clean according to the marking information of the obstacles when cleaning.

[0126] The embodiment of the present application digitizes the virtual obstacles set by the user and the real obstacles identified by the sensor, compares the digitized data of the detected obstacles with the stored data, stores the obstacle data when the distance between the current sampling point and all the stored sampling points is greater than the pre-configured distance, updates the data stored in the virtual obstacles when the user data changes, and periodically clears the data of the real obstacles whose difference between the actual storage time and the current time is greater than the pre-configured time when the timer is triggered. For virtual obstacles, the position of the sweeper is obtained through timed triggering, the distance between all data and the sweeper is calculated, and the data whose distance is less than the pre-configured distance is marked as accessible data. For real obstacles, all uncleared marked obstacles are accessible data. The marked obstacle data meets the obstacle avoidance requirements, reduces the workload of the processor, and improves the real-time performance of the calculation.

[0127] The following is a description with reference to the accompanying drawings. Figure 4 , Figure 4 4 is a schematic diagram of a fourth flow chart of a data processing method for a robot provided in an embodiment of the present application. The execution subject may be a terminal device, a server, or a combination of the two. In the embodiment of the present application, the server is used as the execution subject as an example. Figure 4 The steps shown are explained in detail.

[0128] In step 401, the real obstacle information and the virtual obstacle information are digitized to obtain real obstacle data and virtual obstacle data.

[0129] For example, digitization is the process of converting continuous or non-numerical information into numerical information. The robot is equipped with a sensor, which is a detection device that can sense the information being measured and can convert the sensed information into an electrical signal or other required form of information output according to a certain rule to meet the requirements of information transmission, processing, storage, display, recording and control. In the embodiment of the present application, the sensor is a device that can detect and respond to certain types of inputs, obtain information from the external environment, and convert this information into electrical signals or other forms of output so that the robot can make decisions and perform corresponding actions based on this information. The obstacles in the environment are detected by the sensor, and the obstacles detected by the sensor are real obstacles (equivalent to the actual obstacles mentioned above). The information detected by the real obstacle is digitized to obtain real obstacle data, and the real obstacle data includes the position information of the real obstacle.

[0130] For example, in addition to real obstacles, users can set areas that they do not want the robot to approach through the application configured by the robot as virtual obstacles (equivalent to the above-mentioned preset obstacles). The virtual obstacle is a restricted area or virtual wall set by the user. The restricted area or virtual wall is an area. After the user sets the virtual obstacle on the application, the information of the virtual obstacle is digitized, and the virtual obstacle data is transmitted to the storage unit of the robot for storage. The restricted area is one or more specific areas set by the user, and the robot is instructed to avoid entering these areas. These areas may be unsuitable for cleaning due to various reasons, such as: fragile items are placed, there are pet food bowls, children's toys, etc. Users can specify these areas on the map drawn by the robot through the supporting application, and the robot will automatically identify and avoid these areas when cleaning. The virtual wall is a technical function that simulates an invisible wall by emitting infrared or other forms of signals. When the sweeping robot encounters these signals, it will think that it has encountered an actual wall and stop moving forward, thereby avoiding entering the space that the user does not want it to enter. The virtual wall can be a line or an area, and the user can set its position and size as needed.

[0131] In some embodiments, in order to more clearly state the data management method of the robot provided in the embodiments of the present application, taking the scene of cleaning by a sweeping robot as an example, the obstacle data detected during the obstacle avoidance process of the sweeping robot is processed. The sweeping robot can automatically complete the floor cleaning work in the room. Generally, brushing and vacuuming are used to absorb the debris on the ground into its own garbage storage box, thereby completing the function of floor cleaning. Generally speaking, robots that complete cleaning, vacuuming, and mopping are also collectively classified as sweeping robots. The body of the sweeping robot is a wireless machine, mainly disc-shaped, and operates with a rechargeable battery. The operation method is a remote control or an operation panel on the machine. It can set a time to schedule cleaning and charge itself. There is a sensor set in the front to detect obstacles.

[0132] In some embodiments, see Figure 5A , Figure 5AIt is a sensor layout diagram of a sweeping machine of the data processing method of the robot provided in the embodiment of the present application; a laser radar 502A is arranged directly above the sweeping robot 501, which is used for real-time positioning, map construction and obstacle avoidance. Obstacle avoidance is to make avoidance actions to external obstacles based on various sensory devices possessed by the object. When external obstacles hinder the movement of the device, the device automatically makes various actions to avoid obstacles, and continues to perform the actions before avoiding after passing the obstacles. Real-time positioning and map construction is that the robot starts to move from an unknown position in an unknown environment, and locates itself according to the position and map during the movement. At the same time, it builds an incremental map based on its own positioning to realize the robot's autonomous positioning and navigation. Map construction is that the robot collects surrounding environment information through sensors and uses this information to build a map of the environment. Positioning is that the robot determines its own position and direction on the constructed map.

[0133] The forward obstacle avoidance sensor 503A is placed in front of the sweeping robot 501 and installed at a certain angle downward. The forward obstacle avoidance sensor 503A can measure the sensor ranging field of view angle 5031A. The larger the sensor ranging field of view angle 5031A, the larger the detection range of the forward obstacle avoidance sensor 503A. The field of view angle is the angle formed by the two edges of the maximum range of the lens through which the image of the measured target can pass with the lens, with the lens of the optical instrument as the vertex. The larger the field of view angle, the larger the field of view and the smaller the optical magnification. In the embodiment of the present application, the field of view angle refers to the angle range that the sensor can detect or measure, that is, the angle of the conical area in front of the sensor that can cover and detect obstacles, that is, the sensor ranging field of view angle 5031.

[0134] In some embodiments, see Figure 5B , Figure 5B It is a side view of the sweeping robot sensor of the robot data processing method provided by the embodiment of the present application; a lateral obstacle avoidance sensor 503B is also installed on the right side of the sweeping robot 501 for avoiding obstacles along the edge. The lateral obstacle avoidance sensor 503B emits an infrared laser signal to the ground 502B at a certain angle downward. When there is an obstacle on the ground 502B, the distance between the lateral obstacle avoidance sensor 503B and the ground 502B will be measured to change, and the position and height information of the obstacle can be calculated through the algorithm.

[0135] In some embodiments, see Figure 5C , Figure 5CIt is a top view of a sweeping robot according to the robot data processing method provided by the embodiment of the present application; the sweeping robot 501 is equipped with a forward sensor and a lateral sensor, and the forward sensor coverage range 5011C and the lateral sensor coverage range 5012C are the ranges that the sweeping robot obstacle avoidance sensor can cover. However, the sensor of the sweeping robot 501 cannot cover all surrounding areas, and there are blind spots to a certain extent. Therefore, it is necessary to record the detected obstacles, mark the data, and store them so that the data can be accessed in the blind spots and the obstacle avoidance control can be performed through the algorithm.

[0136] For example, the distance measuring sensors configured in front or on the side of the robot can identify low obstacles in the environment, see Figure 5D , Figure 5D This is a schematic diagram of sensor obstacle detection in the robot data processing method provided by the embodiment of the present application. There is an obstacle 503D on the ground 502D in front of the sweeping robot 501. The sensor detects the distance between the obstacle 503D and the sensor installation position of the sweeping robot. The distance needs to be calculated and converted to the sensor coordinate system, and then converted to the map coordinate system for storage. The stored real obstacle data contains two pieces of information: the first is the position coordinate information (X, Y), which is used to describe the position of the obstacle in the map; the second is the time information (TIME) used to describe the marked time point.

[0137] For example, after the user operates on the map, a virtual area is divided. In order to reduce storage space, the points on the outer contour are used for numerical storage. The outer contours of the restricted area and the virtual wall are taken and points are taken at a certain distance. The data points are converted to the map coordinate system and then stored. Figure 6 , Figure 6 It is a schematic diagram of the outer contour digitization of the robot data processing method provided by the embodiment of the present application; the user sets a restricted area 602 on the map 601, takes points on the outer contour of the restricted area 602, and obtains multiple restricted area outer contour points 6021 (equivalent to the first data point mentioned above), and the restricted area outer contour points 6021 are used as digitized obstacle points. The restricted area 602 occupies an area, and points are taken according to the pixel value of the regional image resolution. For example: 5 cm represents a pixel value, then a point is taken every 5 cm. The larger the area, the more points are taken. The digitized data is represented by coordinates and time information.

[0138] Continue to see Figure 4 In step 402, the real obstacle data and the virtual obstacle data are updated according to the preconfigured update conditions.

[0139] For example, the sensor will detect the data of real obstacles multiple times. Each detection needs to store the real obstacle data, which will generate a large amount of duplicate data and occupy storage space. In order to reduce the redundant data stored, the real obstacle data is updated according to the pre-configured update conditions.

[0140] In some embodiments, see Figure 7 , Figure 7 is a fifth flow chart of the data processing method of the robot provided in the embodiment of the present application, Figure 4 Step 402 in can be Figure 7 Steps 701 to 707 in the embodiment implement the storage of real obstacle data, which will be described in detail below.

[0141] In step 701, the robot performs real-time detection of obstacles during a task.

[0142] For example, according to the task set by the user, the robot moves in the current environment according to the task, and detects obstacle information in real time during the movement.

[0143] In step 702, the real obstacle position information is detected and obtained.

[0144] For example, the sensor calculates the distance between the obstacle and the sensor based on the time difference between the transmitted signal and the reflected signal or the change in signal strength, determines the direction of the real obstacle relative to the sensor based on the angles of signal transmission and reflection, and obtains the position information of the real obstacle.

[0145] In step 703, the actual obstacle position information is converted into the sensor coordinate system.

[0146] For example, each sensor has its own coordinate system, with the sensor itself as the origin, and defines the x, y, and z axes to represent the position in space. Based on the distance and angle information obtained, the position of the obstacle in the sensor coordinate system is calculated using the triangulation principle.

[0147] In step 704, the sensor coordinate system information is converted to the map coordinate system.

[0148] For example, the map coordinate system is a global coordinate system used to represent the overall layout of the robot's environment. It takes a global reference point as the origin and uses the robot's positioning system to determine the robot's exact position and orientation on the map. The robot's positioning system provides the robot's pose information, which is the robot's position (usually expressed in x, y coordinates) and orientation (usually expressed in angles or direction cosines) in the map coordinate system. Using the robot's pose information, a coordinate transformation matrix can be constructed to transform points in the sensor coordinate system to the map coordinate system.

[0149] In step 705, it is determined whether the actual obstacle position is greater than the distances of all stored points.

[0150] For example, the real obstacle data detected in the current environment is compared with the stored data to determine whether the real obstacle position is greater than the distance of all stored points.

[0151] When the result of step 705 is yes, step 706 is executed to store the real obstacle data.

[0152] For example, if the distance between the current point and all stored points is greater than a certain distance, the real obstacle data is stored.

[0153] When the execution result of step 705 is no, step 707 is executed to discard the redundant data.

[0154] For example, if the distance between the current point and all stored points is not greater than a certain distance, the adjacent points are very close. If data is stored at each sampling point, a large amount of duplicate information will be caused, so the data is discarded.

[0155] In some embodiments, see Figure 8 , Figure 8 is a sixth flow chart of the data processing method of the robot provided in the embodiment of the present application, Figure 4 Step 402 in can be Figure 8 Steps 801 to 805 in the embodiment implement the updating of the real obstacle data, which will be described in detail below.

[0156] In step 801, real obstacle data detected in real time is stored.

[0157] For example, the sensor detects actual obstacles. As time goes by and the robot moves, the real obstacles are detected in real time, and the real obstacle data obtained by the real-time detection is stored.

[0158] In step 802, a timer is triggered periodically.

[0159] For example, a timer (eg, a 10-second timer) is set for timing triggering, and after being triggered, the difference between the actual time when the data is stored and the current time is determined.

[0160] In step 803, it is determined whether the time difference is greater than a set time.

[0161] For example, after the timer is triggered, it is determined whether the difference between the actual time and the current time is greater than the set time.

[0162] When the execution result of step 803 is yes, step 804 is executed to clear the corresponding real obstacle data.

[0163] When the execution result of step 803 is no, step 805 is executed to retain the corresponding real obstacle data.

[0164] For example, the restricted area or virtual wall set by the user is a fixed virtual obstacle. The virtual obstacle data cannot be eliminated after being stored. When the user data changes (for example, the user modifies the restricted area or virtual wall range), the virtual obstacle data is updated.

[0165] Continue to see Figure 4 , in step 403, accessible data in the real obstacle data and the virtual obstacle data are marked according to the preconfigured access conditions.

[0166] For example, in order to reduce the workload of the processor, the data needs to be marked. For actual obstacles, a timer is set to regularly clear the real obstacle data, and all uncleared actual obstacle data is marked as accessible data (equivalent to the first readable data mentioned above).

[0167] For virtual obstacles, the current position of the robot is obtained by triggering a timer at a fixed time, and the distance between all stored virtual obstacle data and the current position of the robot is calculated in turn. When the distance is less than a certain value (for example: 0.5 meters), it is marked as accessible data, that is, from the stored data, part of the data is selected according to the set distance and marked as accessible data (equivalent to the second readable data mentioned above), otherwise it is inaccessible.

[0168] In some embodiments, see Fig. 9 , Fig. 9 is a seventh flow chart of the data processing method of the robot provided in the embodiment of the present application, Figure 4 Step 403 in can be Fig. 9 Steps 901 to 905 in are implemented as described in detail below.

[0169] In step 901, a timer is triggered regularly.

[0170] For example, the fixed virtual obstacle data 911 is stored in the storage device of the robot and remains unchanged, and the timer is triggered regularly according to the cycle set by the user.

[0171] In step 902, the robot position is obtained.

[0172] For example, by triggering a timer, the robot's position information is obtained periodically.

[0173] In step 903, polling is performed to determine whether the distance between all data and the robot position is greater than a preset distance.

[0174] For example, based on the position information of the robot, all stored data is obtained by rotation training, and the position distance of the robot is calculated to determine whether the position distance difference is greater than the preset distance.

[0175] When the execution result of step 903 is yes, step 904 is executed to mark the access control data for the obstacle avoidance control module 913 to perform the obstacle avoidance operation.

[0176] Step 905 is a parallel step with steps 901 to 904. In step 905, it is marked as controlling access data.

[0177] For example, the real-time actual obstacle data 912 controls the access data, and is used for the obstacle avoidance control module 913 to perform the obstacle avoidance operation.

[0178] In step 404, scrubbing is performed based on the accessible data.

[0179] For example, when the robot is working, it is a continuous movement process. The data is digitized and stored in the storage space inside the storage robot. However, in actual use, not all data will be read and used. Cleaning is performed based on accessible data, and only obstacles within a certain distance around are considered. In the process of performing cleaning based on accessible data, in order to achieve the effect of real-time obstacle avoidance, the obstacle avoidance control module accesses data quickly and is set according to the robot speed. For example: when the maximum speed is 0.3 meters per second, it takes 1 second to access all accessible data 30 times. By marking accessible data, the data is divided into backup data and accessible data, which reduces the workload of the processor and improves the real-time performance of the calculation.

[0180] The robot data processing method provided in the embodiment of the present application has the following beneficial effects:

[0181] By digitizing the information of real and virtual obstacles, the robot can more accurately identify and store the location information of obstacles, avoid obstacles during the cleaning process, and set virtual obstacles so that the robot can avoid entering areas that users do not want to enter, thereby improving the user experience. By setting pre-configured update conditions, the storage of a large amount of duplicate data is avoided, the storage space is reduced, and the actual obstacle data that has not been updated for a long time is regularly cleared to maintain the timeliness of obstacle information and improve storage efficiency. Marking accessible data, accessible data can meet the obstacle avoidance requirements and reduce the workload of the processor, improving the real-time performance of data processing, and the robot can plan the cleaning path more accurately, avoiding unnecessary repeated cleaning, and improving cleaning efficiency.

[0182] The following is a description of an exemplary structure of a robot data processing device 455 provided in an embodiment of the present application implemented as a software module. In some embodiments, Figure 2As shown, the software modules in the data processing device 455 of the robot stored in the memory 450 may include: a data storage module 4551, used to store obstacle data of the robot's environment, wherein the obstacle data includes actual obstacle data and preset obstacle data; a data processing module 4552, used to mark the type of actual obstacle data as first readable data, wherein the actual obstacle data includes position information of the actual obstacle; determine a first interval distance between the robot and a preset obstacle according to the current position of the robot and the preset obstacle data, wherein the preset obstacle data includes position information of the preset obstacle; mark the preset obstacle data whose first interval distance is less than the first preset distance as second readable data, wherein the first readable data and the second readable data are used to determine the movement trajectory of the robot, and the movement trajectory does not intersect with the position of the obstacle.

[0183] In some embodiments, when the type of obstacle data is preset obstacle data, the data storage module 4551 is also used to determine the first area where the preset obstacle is located according to the preset edge information; take points on the edge of the first area according to the preset point taking interval to obtain first point data of multiple edge points of the first area; convert each first point data into the map coordinate system of the robot to obtain the position information of the preset obstacle, and store the position information of the preset obstacle as the preset obstacle data.

[0184] In some embodiments, when the type of obstacle data is actual obstacle data, the data storage module 4551 is also used to collect first distance data between the actual obstacle and the robot; convert the first distance data into the sensor coordinate system of the robot to obtain second point data of the actual obstacle; convert each second point data into the map coordinate system of the robot to obtain the position information of the actual obstacle; and store the position information of the actual obstacle as actual obstacle data.

[0185] In some embodiments, the data storage module 4551 is also used to use the position information of the actual obstacle as the data to be stored, wherein the data to be stored includes the first position information of the edge point of the actual obstacle; determine the second position information of each point in the stored data; discard the first position information when the interval between the first position information and the second position information is less than or equal to the first preset interval distance; store the first position information when the interval between the first position information and the second position information is greater than the first preset interval distance.

[0186] In some embodiments, after storing the obstacle data of the robot's environment, the data storage module 4551 is also used to modify the first area corresponding to the preset obstacle based on the updated preset edge information; take points on the edge of the modified first area according to the preset point taking interval to obtain third point data of multiple edge points of the modified first area; convert each third point data into the robot's map coordinate system to obtain the updated position information of the preset obstacle, and store the updated position information of the preset obstacle as the preset obstacle data.

[0187] In some embodiments, the actual obstacle data also includes: the storage time corresponding to the position information of the actual obstacle. The data processing module 4552 is also used to clear the position information corresponding to the storage time from the actual obstacle data when the duration between the storage time of the position information of the actual obstacle and the current time is greater than the preset duration, so as to obtain the remaining actual obstacle data; and mark the type of the remaining actual obstacle data as the first readable data.

[0188] In some embodiments, the data processing module 4552 is also used to periodically detect the current position of the robot; convert the current position into third position information in the robot's map coordinate system; determine the distance difference between the third position information and the position information of a preset obstacle, and use the distance difference as the first interval distance between the robot and the preset obstacle.

[0189] The embodiment of the present application provides a computer program product, which includes a computer program or a computer executable instruction, and the computer program or the computer executable instruction is stored in a computer-readable storage medium. The processor of the electronic device reads the computer executable instruction from the computer-readable storage medium, and the processor executes the computer executable instruction, so that the electronic device executes the data processing method of the robot described in the embodiment of the present application.

[0190] The present application embodiment provides a computer-readable storage medium, in which computer executable instructions or computer programs are stored. When the computer executable instructions or computer programs are executed by a processor, the processor will be caused to execute the robot data processing method provided by the present application embodiment, for example, Figure 3A The data processing method of the robot is shown.

[0191] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or may be various devices including one or any combination of the above memories.

[0192] In some embodiments, computer executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.

[0193] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).

[0194] As an example, computer executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed at multiple sites and interconnected by a communication network.

[0195] To summarize, through the embodiments of the present application, the actual obstacle data type is marked as the first readable data, and the preset obstacle data with a first interval distance less than the preset distance is marked as the second readable data. The movement trajectory of the robot is determined by the first readable data and the second readable data, thereby reducing the amount of data processed by the robot and improving data processing efficiency.

[0196] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.

Claims

1. A robot data processing method, characterized in that: The method comprises: Storing obstacle data of the robot's environment, wherein the obstacle data includes actual obstacle data and preset obstacle data; Marking the type of actual obstacle data as first readable data, wherein the actual obstacle data includes location information of the actual obstacle; Determining a first interval distance between the robot and a preset obstacle according to the current position of the robot and preset obstacle data, wherein the preset obstacle data includes position information of the preset obstacle; The preset obstacle data whose first interval distance is less than the first preset distance is marked as second readable data, wherein the first readable data and the second readable data are used to determine the moving trajectory of the robot, and the moving trajectory does not intersect with the position of the obstacle.

2. The method according to claim 1, characterized in that When the type of the obstacle data is preset obstacle data, the obstacle data of the environment in which the robot is located is stored, including: Determine a first area where the preset obstacle is located according to preset edge information; Pick points at the edge of the first area according to a preset point picking interval to obtain first point data of a plurality of edge points of the first area; Each of the first point data is converted into the map coordinate system of the robot to obtain the position information of the preset obstacle, and the position information of the preset obstacle is stored as the preset obstacle data.

3. The method according to claim 1, characterized in that: When the type of the obstacle data is actual obstacle data, the obstacle data of the environment in which the robot is located is stored, including: Collecting first distance data between the actual obstacle and the robot; Converting the first distance data into the sensor coordinate system of the robot to obtain second point data of the actual obstacle; Convert each of the second point data into the map coordinate system of the robot to obtain the position information of the actual obstacle; The position information of the actual obstacle is stored as the actual obstacle data.

4. The method according to claim 3, characterized in that The storing the position information of the actual obstacle as the actual obstacle data includes: Using the position information of the actual obstacle as data to be stored, wherein the data to be stored includes first position information of an edge point of the actual obstacle; Determining second position information for each point in the stored data; If the interval between the first location information and the second location information is less than or equal to a first preset interval distance, discarding the first location information; When the interval between the first location information and the second location information is greater than a first preset interval distance, the first location information is stored.

5. The method according to claim 1, characterized in that The actual obstacle data also includes: a storage time corresponding to the position information of the actual obstacle; The step of marking the type of the actual obstacle data as first readable data comprises: When the time length between the storage time of the position information of the actual obstacle and the current time is greater than the preset time length, clearing the position information corresponding to the storage time from the actual obstacle data to obtain the remaining actual obstacle data; The types of the remaining actual obstacle data are marked as first readable data.

6. The method according to claim 1, characterized in that The step of determining a first interval distance between the robot and a preset obstacle according to the current position of the robot and the preset obstacle data comprises: Periodically detecting the current position of the robot; Converting the current position into third position information in the map coordinate system of the robot; A distance difference between the third position information and the position information of the preset obstacle is determined, and the distance difference is used as a first interval distance between the robot and the preset obstacle.

7. The method according to claim 1, characterized in that After storing the obstacle data of the robot's environment, the method further includes: Modifying the first area corresponding to the preset obstacle based on the updated preset edge information; Pick points from the edge of the modified first area according to a preset point picking interval to obtain third point data of a plurality of edge points of the modified first area; Each of the third point data is converted into the map coordinate system of the robot to obtain updated position information of the preset obstacle, and the updated position information of the preset obstacle is stored as the preset obstacle data.

8. A data processing device for a robot, characterized in that: The device comprises: A data storage module, used to store obstacle data of the robot's environment, wherein the obstacle data includes actual obstacle data and preset obstacle data; A data processing module, used for marking the type of actual obstacle data as first readable data, wherein the actual obstacle data includes location information of the actual obstacle; The data processing module is further used to determine a first interval distance between the robot and a preset obstacle based on the current position of the robot and preset obstacle data, wherein the preset obstacle data includes position information of the preset obstacle; and mark the preset obstacle data whose first interval distance is less than the first preset distance as second readable data, wherein the first readable data and the second readable data are used to determine a moving trajectory of the robot, and the moving trajectory does not intersect with the position of the obstacle.

9. An electronic device, characterized in that: The electronic device comprises: A memory for storing computer executable instructions or computer programs; The processor is used to implement the data processing method of the robot described in any one of claims 1 to 7 when executing the computer executable instructions or computer programs stored in the memory.

10. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that: When the computer executable instructions or computer programs are executed by a processor, the robot data processing method according to any one of claims 1 to 7 is implemented.

11. A computer program product comprising computer executable instructions or a computer program, characterized in that: When the computer executable instructions or computer programs are executed by a processor, the robot data processing method according to any one of claims 1 to 7 is implemented.