Obstacle data processing method, mobile robot and user terminal

Through the obstacle data processing method between the mobile robot and the user terminal, the barrier data is converted, compressed and assembled using raster maps and protocol templates, the problems of large amount of obstacle data and slow transmission rate are solved, and the real-time display of obstacles in the map is realized.

CN120293117APending Publication Date: 2025-07-11SHEN ZHEN HAO CHENG ZHI NENG KE JI YOU XIAN GONG SI
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510390215.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-28
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

In the process of identifying obstacle data by existing mobile robots, the amount of obstacle data is large and the transmission rate is slow, resulting in the real-time display of obstacles in the map.

Method used

By obtaining the characteristic information of obstacles, based on preset raster maps and protocol templates, the obstacle data is converted, compressed and assembled, reducing the amount of data and increasing the transmission rate, real-time display of obstacles in the map.

Benefits of technology

It realizes simple and efficient transmission of obstacle data, reduces the amount of data, and improves the transmission rate. It is suitable for mobile robots with low processing speed and low memory, ensuring that the user terminal displays obstacles in real time on the map.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120293117A_ABST
    Figure CN120293117A_ABST
Patent Text Reader

Abstract

The invention relates to an obstacle data processing method, a mobile robot and a user terminal, the method is applied to the mobile robot, and the mobile robot is used for being connected with the user terminal. The method comprises the steps of obtaining feature information of an obstacle, and obtaining a feature value and position information of the corresponding obstacle according to the feature information; based on a preset grid map, performing first conversion processing on the feature value and the position information to obtain at least one piece of grid obstacle data; on the basis of the preset protocol template, the grid barrier data are assembled to obtain target barrier data, and the target barrier data are transmitted to the user terminal, so that simple and efficient transmission of the barrier data is realized, the data volume of the barrier is reduced, the barrier data transmission rate is improved, and the user experience is improved. Therefore, the user terminal can display the obstacle in the map in real time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of mobile robots, and in particular, to an obstacle data processing method, a mobile robot, and a user terminal. Background Art

[0002] With the development of robot technology, existing mobile robots (such as floor-sweeping robots) are becoming more and more intelligent. For example, a floor-sweeping robot equipped with a camera can observe and identify obstacles encountered by the machine during the cleaning process through the camera, and display the identified obstacles on the map screen of the corresponding user terminal APP, so that the user can view and understand the obstacles identified by the floor-sweeping robot and their positions on the map in real time.

[0003] However, in the existing mobile robot's identification and processing of obstacle data, the amount of obstacle data is large and the transmission rate of obstacle data is slow, resulting in an extended interaction time between the mobile robot and the user terminal, which affects the real-time display of obstacles on the map. Summary of the Invention

[0004] Based on this, in view of the problems of slow transmission rate of obstacle data and untimely display of obstacles on the map in the existing mobile robot's identification and processing of obstacle data, it is necessary to provide an obstacle data processing method, a mobile robot, and a user terminal that can reduce the amount of obstacle identification data, improve the transmission rate of obstacle data, and achieve real-time display of obstacles on the map.

[0005] To achieve the above object, an embodiment of the present invention provides an obstacle data processing method, which is applied to a mobile robot. The mobile robot is used to connect to a user terminal. The obstacle data processing method includes the following steps:

[0006] Obtain the feature information of the obstacle, and based on the feature information, obtain the feature value and position information of the corresponding obstacle;

[0007] Based on a preset grid map, perform a first conversion process on the feature value and position information to obtain at least one grid obstacle data;

[0008] Based on a preset protocol template, assemble each grid obstacle data to obtain target obstacle data, and transmit the target obstacle data to the user terminal.

[0009] In one embodiment, the step of assembling each grid obstacle data based on a preset protocol template to obtain target obstacle data includes:

[0010] Respectively perform compression processing on each grid obstacle data to obtain each compressed obstacle data;

[0011] Based on the first preset protocol sub-template, assemble and process each piece of compressed obstacle data respectively to obtain each obstacle data block;

[0012] Based on the second preset protocol sub-template, assemble and process each obstacle data block to obtain the target obstacle data.

[0013] In one embodiment, the first preset protocol sub-template includes a data block serial number unit, a data length unit, and a data content unit;

[0014] The steps of assembling and processing each piece of compressed obstacle data respectively based on the first preset protocol sub-template to obtain each obstacle data block include:

[0015] Obtain the data block serial number and the data length according to the compressed obstacle data;

[0016] Fill the data block serial number in the data block serial number unit, the data length in the data length unit, and the compressed obstacle data in the data content unit to obtain the corresponding obstacle data block.

[0017] In one embodiment, the second preset protocol sub-template includes a total data length unit, a data allocation digit unit, and a data block unit;

[0018] The steps of assembling and processing each obstacle data block based on the second preset protocol sub-template to obtain the target obstacle data include:

[0019] Obtain the total data length and the data allocation digit according to each obstacle data block;

[0020] Fill the total data length in the total data length unit, the data allocation digit in the data allocation digit unit, and the obstacle data block in the corresponding data block unit to obtain the target obstacle data.

[0021] In one embodiment, before the step of performing a first conversion process on the feature value and the position information based on the preset grid map to obtain at least one grid obstacle data, it includes:

[0022] Establish a map coordinate system, perform grid processing on the map coordinate system to obtain a preset grid map; the preset grid map includes at least two grid map blocks, and each grid map block includes at least two coordinate points;

[0023] The steps of performing a first conversion process on the feature value and the position information based on the preset grid map to obtain at least one grid obstacle data include:

[0024] According to the position information, convert the occupied area of the obstacle to the preset grid map to obtain at least one occupied grid map block;

[0025] According to the characteristic values, mark the coordinate points occupied by obstacles in each occupied grid map block to obtain the grid obstacle data of each corresponding occupied grid map block.

[0026] In one embodiment, the step of marking the coordinate points occupied by obstacles in each occupied grid map block according to the characteristic values to obtain the grid obstacle data of each corresponding occupied grid map block further includes:

[0027] Mark the coordinate points not occupied by obstacles in each occupied grid map block with preset initial values, and mark the coordinate points occupied by obstacles in each occupied grid map block with characteristic values to obtain the grid obstacle data of each grid.

[0028] In one embodiment, the step of obtaining the characteristic values of the corresponding obstacles according to the characteristic information includes;

[0029] Query the preset mapping relation table according to the characteristic information to obtain the characteristic values of the corresponding obstacles.

[0030] In a second aspect, an embodiment of the present invention further provides an obstacle data processing method, which is applied to a user terminal. The user terminal is used to connect to a mobile robot. The obstacle data processing method includes the following steps:

[0031] Obtain the target obstacle data transmitted by the mobile robot;

[0032] Based on a preset protocol template, perform parsing processing on the target obstacle data to obtain at least one grid obstacle data;

[0033] Based on a preset grid map, perform a second conversion process on each grid obstacle data to obtain the position information of the corresponding obstacle;

[0034] Display the obstacle on the map according to the position information.

[0035] In a third aspect, an embodiment of the present invention further provides a mobile robot, which includes a mobile robot body, a first communication module and a first controller. The first controller and the first communication module are arranged on the mobile robot body, and the first controller is connected to the first communication module; the first communication module is used to connect to the user terminal;

[0036] The first controller is used to execute the steps of the above-mentioned obstacle data processing method applied to the mobile robot.

[0037] In a fourth aspect, an embodiment of the present invention further provides a user terminal, which includes a terminal body, a second communication module and a second controller. The second controller and the second communication module are arranged on the terminal body, and the second controller is connected to the second communication module; the second communication module is used to connect to the mobile robot;

[0038] The second controller is used to execute the steps of the above-mentioned obstacle data processing method applied to the user terminal.

[0039] One of the above technical solutions has the following advantages and beneficial effects:

[0040] In the embodiment of the above-mentioned obstacle data processing method, it is applied to a mobile robot, and the mobile robot is used to connect to the user terminal; by obtaining the feature information of the obstacle, and based on the feature information, obtaining the feature value and position information of the corresponding obstacle; based on the preset grid map, performing a first conversion process on the feature value and position information to obtain at least 1 grid obstacle data; based on the preset protocol template, assembling each grid obstacle data to obtain the target obstacle data, and transmitting the target obstacle data to the user terminal, realizing the simple and efficient transmission of the obstacle data, so that the user terminal can display the obstacle in the map in real time. This application converts the recognized obstacle into the preset grid map based on the feature data and position information of the corresponding obstacle to obtain the corresponding grid obstacle data, and assembles the corresponding grid obstacle data based on the preset protocol template, realizing the simplification of the obstacle data and reducing the data volume of the obstacle; by transmitting the assembled target obstacle data to the user terminal, the transmission rate of the obstacle data is improved, so that the user terminal can display the obstacle in the map in real time, and it is suitable for use on mobile robots with low processing speed and low memory. Description of the Drawings

[0041] Figure 1 It is a schematic diagram of the application environment of the obstacle data processing method in an embodiment;

[0042] Figure 2 It is a schematic flowchart of the obstacle data processing method applied to a mobile robot in an embodiment;

[0043] Figure 3 It is a first schematic flowchart of the target obstacle data assembly step applied to a mobile robot in an embodiment;

[0044] Figure 4 It is a schematic flowchart of the obstacle data block acquisition step applied to a mobile robot in an embodiment;

[0045] Figure 5 It is a second schematic flowchart of the target obstacle data assembly step applied to a mobile robot in an embodiment;

[0046] Figure 6 It is a schematic flowchart of the obstacle data processing method applied to a user terminal in an embodiment;

[0047] Figure 7Schematic diagram of the establishment of a map coordinate system in an embodiment;

[0048] Figure 8 Schematic diagram of the establishment of a preset grid map in an embodiment;

[0049] Figure 9 Schematic diagram of the structure of a preset protocol template in an embodiment;

[0050] Figure 10 Schematic diagram of data conversion of a data block in an embodiment;

[0051] Figure 11 Schematic diagram of the structural connection between a mobile robot and a user terminal in an embodiment. Detailed implementation manners

[0052] In order to enable those skilled in the art to better understand the solution of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.

[0053] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so as to describe the embodiments of the present application here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device including a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0054] In addition, the meaning of the term "plurality" should be two or more.

[0055] The obstacle data processing method provided by the present application can be applied to, for example Figure 1In the application environment shown. Among them, the robot system includes a mobile robot 102 and a user terminal 104, and the mobile robot 102 is communicatively connected to the user terminal 104. The mobile robot 102 is used to obtain the feature information of the obstacle, and based on the feature information, obtain the feature value and position information of the corresponding obstacle; based on a preset grid map, perform a first conversion process on the feature value and position information to obtain at least one grid obstacle data; based on a preset protocol template, assemble each grid obstacle data to obtain target obstacle data, and transmit the target obstacle data to the user terminal 104. Among them, the mobile robot 102 can be, but is not limited to, a floor cleaning robot, a window cleaning robot, a lawn mowing robot, etc. The user terminal 104 can be used to receive the target obstacle data transmitted by the mobile robot 102 to display the target obstacle data in the map in real time. For example, the user terminal 104 can be a smart phone, a smart tablet, a computer, etc.

[0056] In one embodiment, as Figure 2 shown, a method for processing obstacle data is provided, which is applied to a mobile robot. The mobile robot is used to connect to a user terminal. The method for processing obstacle data includes the following steps:

[0057] Step S210, obtain the feature information of the obstacle, and based on the feature information, obtain the feature value and position information of the corresponding obstacle.

[0058] For example, during the process of creating a map, the mobile robot can scan the area where it is located, and then establish a map of the area where it is located. The mobile robot can also establish a two-dimensional coordinate system, and then map the shape and position of the map to the corresponding two-dimensional coordinate system, and mark them in the form of coordinate points, so as to provide a position basis for expressing the recognized objects on the map subsequently. An obstacle refers to an object that hinders movement within the area where the mobile robot is located. For example, the obstacle can be a carpet, a keychain, or a shoe, etc.

[0059] The feature information of the obstacle can include the identity information, contour information, positioning information, etc. of the corresponding obstacle. The feature value indicates a value that identifies the type of the obstacle. For example, 1 is used to represent a carpet, 2 is used to represent a keychain, 3 is used to represent a shoe, etc. The position information can be used to identify the position and contour size of the obstacle in the map.

[0060] Exemplarily, the mobile robot is provided with a camera module and a first controller. The first controller is connected to the camera module. The camera module is used to obtain an image of the obstacle, and then the first controller can perform recognition processing on the corresponding image to obtain the feature information of the corresponding obstacle. The first controller can process the obtained feature information to obtain the feature value and position information of the corresponding obstacle.

[0061] Step S220: Based on a preset grid map, perform a first conversion process on the feature values and position information to obtain at least one grid obstacle data.

[0062] Among them, the preset grid map can be obtained by dividing the map of the corresponding two-dimensional coordinate system into grids. For example, the preset grid map can be divided into at least 2 grids, and the length and width corresponding to one grid can be 5 cm. The grid obstacle data includes the feature values of the coordinate points occupied by the obstacle in the corresponding grid.

[0063] By converting the position information of the corresponding obstacle into the preset grid map, the grid occupied by the obstacle and the coordinate points occupied in the grid are determined. Furthermore, the coordinate point information occupied by the obstacle in the corresponding grid is converted into feature values to obtain the corresponding grid obstacle data. It should be noted that according to the different areas used by the obstacle in the map, the obstacle can occupy one grid or multiple grids. For example, when the contour of the obstacle is large, the obstacle occupies multiple grids in the map at the same time.

[0064] Step S230: Based on a preset protocol template, perform an assembly process on each grid obstacle data to obtain target obstacle data, and transmit the target obstacle data to the user terminal.

[0065] Among them, the preset protocol template refers to a data transmission protocol template obtained based on protocol format suggestions.

[0066] Based on the protocol format of the preset protocol template, perform an assembly process on each grid obstacle data, and then obtain the target obstacle data. By transmitting the target obstacle data to the user terminal, the concise and efficient transmission of the target obstacle data is realized, so that the user terminal can perform parsing processing on the target obstacle data, and then obtain the feature data of the corresponding obstacle, so as to display the obstacle in the map in real time.

[0067] In the above embodiments, it is applied to a mobile robot, which is used to connect to a user terminal. By obtaining the feature information of an obstacle and based on the feature information, the feature value and position information of the corresponding obstacle are obtained. Based on a preset grid map, a first conversion process is performed on the feature value and position information to obtain at least one grid obstacle data. Based on a preset protocol template, each grid obstacle data is assembled to obtain target obstacle data, and the target obstacle data is transmitted to the user terminal, realizing concise and efficient transmission of obstacle data, so that the user terminal can display the obstacle in the map in real time. Based on the feature data and position information of the corresponding obstacle, the recognized obstacle is converted into a preset grid map in the present application to obtain corresponding grid obstacle data, and the corresponding grid obstacle data is assembled based on a preset protocol template, realizing the reduction of obstacle data, reducing the amount of obstacle data. By transmitting the assembled target obstacle data to the user terminal, the transmission rate of obstacle data is improved, so that the user terminal can display the obstacle in the map in real time, and it is applicable to mobile robots with low processing speed and low memory.

[0068] In one embodiment, as Figure 3 shown, the steps of assembling each grid obstacle data based on a preset protocol template to obtain target obstacle data include:

[0069] Step S310: Compress each grid obstacle data respectively to obtain each compressed obstacle data.

[0070] For example, each grid obstacle data can be compressed based on the ZIP compression algorithm to obtain each compressed obstacle data.

[0071] Exemplarily, for a 4*4 grid including 16 coordinate points, if the feature value of the obstacle is set to 3 and 4 coordinate points in the grid are occupied by the obstacle, the values of the corresponding 4 coordinate points are respectively converted to 3, and the values of the remaining coordinate points are respectively filled with 0. Then, by compressing the corresponding grid obstacle data, the amount of obstacle data can be greatly reduced. It should be noted that after compressing the grid obstacle data in the above manner, the compression rate can basically reach more than 60%.

[0072] Step S320: Assemble each compressed obstacle data respectively based on a first preset protocol sub-template to obtain each obstacle data block.

[0073] Among them, the first preset protocol sub-template is used to assemble the compressed obstacle data of the corresponding grid.

[0074] Based on the protocol format of the first preset protocol sub-template, fill the corresponding compressed obstacle data in the first preset protocol sub-template to assemble the corresponding compressed obstacle data, and then obtain the corresponding obstacle data block, realizing the assembly of the compressed obstacle data.

[0075] Step S330: Based on the second preset protocol sub-template, perform an assembly process on each obstacle data block to obtain the target obstacle data.

[0076] Among them, the second preset protocol sub-template is used to assemble each obstacle data block.

[0077] Based on the protocol format of the second preset protocol sub-template, fill each obstacle data block in the second preset protocol sub-template to assemble each obstacle data block, and then obtain the target obstacle data, realizing the simplification of the obstacle data and reducing the amount of obstacle data; by transmitting the assembled target obstacle data to the user terminal, the transmission rate of the obstacle data is increased, so that the user terminal can display the obstacles in the map in real time, which is suitable for use on mobile robots with low processing speed and low memory.

[0078] In one embodiment, as Figure 9 shown, the first preset protocol sub-template includes a data block serial number unit, a data length unit, and a data content unit.

[0079] Among them, based on the corresponding protocol format, the first preset protocol sub-template is divided into a data block serial number unit, a data length unit, and a data content unit. The data block serial number unit is used to set the data block serial number; the data length unit is used to set the data length of the corresponding data block; the data content unit is used to set the data content of the corresponding data block.

[0080] Exemplarily, as Figure 4 shown, the steps of performing an assembly process on each compressed obstacle data based on the first preset protocol sub-template to obtain each obstacle data block include:

[0081] Step S410: Obtain the data block serial number and the data length according to the compressed obstacle data.

[0082] For example, if the obstacle occupies the first grid and the second grid, the obstacle data includes the first compressed obstacle data corresponding to the first grid and the second compressed obstacle data corresponding to the second grid. Set the data block value of the first compressed obstacle data to 01, then the data block value of the second compressed obstacle data is 02; assume that the data content of the first compressed obstacle data is ABCD, and the data content of the second compressed obstacle data is EFGHKK; then the data length of the first compressed obstacle data is 4, and the data length of the second compressed obstacle data is 6.

[0083] Step S420: Fill the data block serial number in the data block serial number unit, the data length in the data length unit, and the compressed obstacle data in the data content unit to obtain the corresponding obstacle data block.

[0084] For example, the data block serial number unit corresponding to the first compressed obstacle data is set to 01, the data length unit corresponding to the first compressed obstacle data is set to 4, and the data content unit corresponding to the first compressed obstacle data is set to ABCD. Thus, the obstacle data block corresponding to the first compressed obstacle data is 014ABCD. Another example, the data block serial number unit corresponding to the second compressed obstacle data is set to 02, the data length unit corresponding to the second compressed obstacle data is set to 6, and the data content unit corresponding to the second compressed obstacle data is set to EFGHKK. Thus, the obstacle data block corresponding to the second compressed obstacle data is 026EFGHKK, realizing the assembly of the obstacle data blocks, streamlining the obstacle data, so as to form each obstacle data block again in the subsequent steps, further streamlining the obstacle data, reducing the amount of obstacle data, and improving the transmission rate of the obstacle data.

[0085] In one embodiment, as Figure 9 shown, the second preset protocol sub-template includes a total data length unit, a data allocation bit number unit, and a data block unit.

[0086] Among them, based on the corresponding protocol format, the second preset protocol sub-template divides the corresponding sub-template into a total data length unit, a data allocation bit number unit, and a data block unit. The total data length unit is used to set the total data length in the second preset protocol sub-template; the data allocation bit number unit is used to set the data allocation bit number for the types of obstacles that the mobile robot can identify; the data block unit is used to set each obstacle data block.

[0087] It should be noted that the data allocation bit number unit is used to set the data allocation bit number, and the data allocation bit number is used to represent the bit length of the obstacle data in the data content. For example, a mobile robot can identify 10 different obstacles. Since 2 to the 4th power represents 16, which is sufficient to express the number of obstacles that this mobile robot can identify, the value of the data allocation bit number can be set to 4. Since one byte (BYTE) has 8 bits, one byte can represent two position information, thus saving half of the data volume. For example, the binary 00010001 represents two coordinate points of the same object next to each other.

[0088] Exemplarily, as Figure 5 shown, the steps of assembling each obstacle data block based on the second preset protocol sub-template to obtain the target obstacle data include:

[0089] Step S510: Obtain the total data length and the data allocation bits according to each obstacle data block.

[0090] For example, the obstacles include a first obstacle data block and a second obstacle data block. The first obstacle data block is 014ABCD, and the second obstacle data block is 026EFGHKK. Then the total data length is 19. Assuming that the mobile robot can recognize no more than 16 types of obstacles, 4 bits can be used to represent one point, and thus the data allocation bits are set to 4.

[0091] Step S520: Fill the total data length in the total data length unit, the data allocation bits in the data allocation bits unit, and the obstacle data block in the corresponding data block unit to obtain the target obstacle data.

[0092] Generally, the content of a data block is 50*50. For the convenience of expression, a 4*4 data block is used to represent it. Suppose the characteristic value of the detected obstacle is 3. Ultimately, the 4*4 position information can be clearly represented by 8 characters. As can be seen from the above, when represented by 4 bits, one character can represent 2 coordinate information. If there is a 50*50 position matrix information, it requires (50*50) / 2 = 1250 characters to represent. There are many identical characters in these data. After being compressed by zip, the data volume of the corresponding obstacle data is ultimately greatly reduced. Assume that the mobile robot recognizes the obstacle grid information of 2 blocks. For the convenience of description, the data of the first 50*50 block after being compressed by ZIP is ABCD. The first obstacle data block obtained after assembly is 014ABCD; similarly, if the data of the second 50*50 block after being compressed by ZIP is EFGHKK, the second obstacle data block obtained after assembly is 026EFGHKK. By setting 19 in the total data length unit, 4 in the data allocation bits unit, 014ABCD in the first data block unit, and 026EFGHKK in the second data block unit, the target obstacle data 194014ABCD026EFGHKK is assembled, realizing the refinement of the obstacle data, reducing the data volume of the obstacles, and improving the transmission rate of the obstacle data.

[0093] Further, by transmitting the assembled target obstacle data to the user terminal, after the APP side of the user terminal receives the target obstacle data, according to the length and width of the map (such as an integer multiple of 50), the corresponding obstacle feature data can be reversely parsed by the method of the above embodiment and the feature data can be updated to the corresponding map coordinates, so that the user terminal can display the obstacles on the map in real time, which is applicable to mobile robots with low processing speed and low memory. It should be noted that, in order to facilitate the user to more intuitively view the obstacle information on the map, the corresponding physical picture information or text prompt can be displayed at the corresponding position to improve the user experience.

[0094] In one embodiment, before the step of performing a first conversion process on the feature value and the position information based on the preset grid map to obtain at least one grid obstacle data, it includes:

[0095] Establish a map coordinate system, perform grid processing on the map coordinate system to obtain a preset grid map; the preset grid map includes at least two grid map blocks, and the grid map blocks include at least two coordinate points.

[0096] Among them, the map coordinate system can be a two-dimensional coordinate system.

[0097] For example, as Figure 7 shown, establish a map coordinate system inside the mobile robot so as to map the shape and position of the map to the coordinate system and mark them in the form of x and y coordinate points. This map coordinate system provides a position basis for expressing the recognized objects on the map subsequently.

[0098] The mobile robot will rasterize the above map based on the distance it sweeps per second as a unit. For example, if one grid represents a real position distance of 5 cm, then the length and width corresponding to one grid of the map are 5 cm. In order to minimize the amount of data interaction as much as possible, the map data is separated and numbered in the positions of 50*50. For example, as Figure 8 shown, a 200*200 map can be divided into the following 16 grids. For example, if a coordinate point (x, y) = (120, 120), then this coordinate point falls in grid No. 11.

[0099] Exemplarily, based on the preset grid map, the step of performing a first conversion process on the feature value and the position information to obtain at least one grid obstacle data includes:

[0100] According to the position information, convert the occupied area of the obstacle into the preset grid map to obtain at least one occupied grid map block; according to the feature value, mark the coordinate points occupied by the obstacle in each occupied grid map block to obtain the grid obstacle data of each corresponding occupied grid map block.

[0101] For example, during operation, a mobile robot takes pictures of obstacles entering the camera, identifies the types and location information of the obstacles, and converts the occupied areas of the obstacles into a preset grid map according to the location information. It should be noted that if the obstacle is relatively large (such as a carpet), it will occupy multiple grids, and thus multiple coordinate points are needed to represent it. When encountering a large obstacle, the amount of data to be expressed will be relatively large. If represented entirely in a coordinate system, a single BYTE can represent a maximum of 255. If it exceeds 255 to 65536, at least 2 BYTEs are required. The larger the map, the more bits are required to represent a point at the back. Calculated at 5 cm per coordinate point, the distance that 255 points can represent is 255 * 5 = 1275 cm = 12.75 m. Usually, the number of coordinate points used by users in the home will exceed 255. It can be seen that although representing the position directly in a coordinate system can be achieved, the amount of data is relatively large. At the same time, since different coordinate points are different numbers, it is not conducive to data compression.

[0102] However, in this application, by setting characteristic values corresponding to the obstacles. For example, as Figure 10 shown, in a 50 * 50 grid, if there is an obstacle at the corresponding grid coordinates, it is represented by a corresponding value. If not, it is represented by 0. For example, 1 represents a carpet, 2 represents a keychain, 3 represents a shoe, etc. The position where the obstacle is located can be represented by the corresponding value, and thus the grid obstacle data for each corresponding occupied grid map block is obtained. Since the obstacle is a whole, in a data block, there is a high probability that there is a series of the same numbers. In this way, the ZIP compression algorithm can be used to compress the data content, and the compression rate can basically reach more than 60%, thereby realizing the simplification of the obstacle data, reducing the amount of obstacle data, and improving the transmission rate of the obstacle data.

[0103] In one embodiment, the step of marking the coordinate points occupied by the obstacles in each occupied grid map block according to the characteristic values to obtain the grid obstacle data of each corresponding occupied grid map block further includes:

[0104] Marking the coordinate points not occupied by the obstacles in each occupied grid map block with a preset initial value, and marking the coordinate points occupied by the obstacles in each occupied grid map block with the characteristic value to obtain the grid obstacle data of each grid.

[0105] Among them, the preset initial value is different from the characteristic value. For example, the preset initial value can be set to 0.

[0106] For example, the characteristic value corresponding to the obstacle is 3,

[0107] By marking the coordinate points that are not occupied by obstacles in each occupied grid map block as 0, and marking the coordinate points that are occupied by obstacles in each occupied grid map block as 3, the corresponding grid obstacle data is obtained, so as to compress the grid obstacle data, reduce the amount of obstacle data, and achieve the streamlining of obstacle data.

[0108] In one embodiment, the step of obtaining the characteristic value of the corresponding obstacle according to the characteristic information includes;

[0109] According to the characteristic information, query the preset mapping relation table to obtain the characteristic value of the corresponding obstacle.

[0110] Among them, the preset mapping relation table can be established in advance. For example, a mobile robot can identify 10 types of obstacles, use 1 to represent a carpet, 2 to represent a keychain, 3 to represent a shoe, etc., and then establish the preset mapping relation table. According to the characteristic information, query the preset mapping relation table, and then obtain the characteristic value of the corresponding obstacle. Then, according to the characteristic value, the identified obstacle can be converted into a preset grid map to obtain the corresponding grid obstacle data, which is convenient for compressing and assembling the grid obstacle data, reducing the amount of obstacle data, so as to transmit the obstacle data to the user terminal simply and efficiently, and display the obstacles in real time on the map through the user.

[0111] In one embodiment, as Figure 6 shown, a method for processing obstacle data is also provided, which is applied to a user terminal. The user terminal is used to connect to a mobile robot. The method for processing obstacle data includes the following steps:

[0112] Step S610, obtain the target obstacle data transmitted by the mobile robot.

[0113] Among them, the target obstacle data is obtained by the mobile robot assembling each grid obstacle data based on the protocol format of the preset protocol template. Specifically, the mobile robot is provided with a camera module and a first controller. The first controller is connected to the camera module. The camera module is used to obtain the image of the obstacle. Then, the first controller can perform recognition processing on the corresponding image to obtain the characteristic information of the corresponding obstacle. The first controller can process the obtained characteristic information to obtain the characteristic value and position information of the corresponding obstacle. The first controller converts the position information of the corresponding obstacle into a preset grid map, determines the grid occupied by the obstacle and the coordinate points occupied in the grid, and then converts the coordinate point information occupied by the obstacle in the corresponding grid into a characteristic value to obtain the corresponding grid obstacle data. The first controller assembles each grid obstacle data based on the protocol format of the preset protocol template to obtain the target obstacle data, and transmits the target obstacle data to the user terminal, so that the user terminal obtains the target obstacle data transmitted by the mobile robot.

[0114] Step S620: Based on a preset protocol template, parse and process the target obstacle data to obtain at least one grid obstacle data.

[0115] Among them, the preset protocol template loaded by the user terminal is the same as the preset protocol template of the mobile robot.

[0116] The user terminal parses and processes the target obstacle data based on the preset protocol template, and then obtains the corresponding grid obstacle data.

[0117] Step S630: Based on a preset grid map, perform a second conversion process on each grid obstacle data to obtain the position information of the corresponding obstacle.

[0118] Among them, the preset grid map established by the user terminal is the same as the preset grid map established by the mobile robot.

[0119] The user terminal performs an inverse conversion on each grid obstacle data based on the preset grid map, and then obtains the position information of the corresponding obstacle. It should be noted that the position information may include the positioning coordinate information and contour information of the obstacle, etc.

[0120] Step S640: Display the obstacle on the map according to the position information.

[0121] According to the position information, display the shape and position of the obstacle on the map to achieve real-time display of the obstacle data.

[0122] In the above embodiments, it is applied to a user terminal, and the user terminal is used to connect to a mobile robot; the user terminal obtains the target obstacle data transmitted by the mobile robot; based on a preset protocol template, parse and process the target obstacle data to obtain at least one grid obstacle data; based on a preset grid map, perform a second conversion process on each grid obstacle data to obtain the position information of the corresponding obstacle; display the obstacle on the map according to the position information, improve the obstacle data transmission rate, so that the user terminal can perform real-time display of the obstacle on the map.

[0123] It should be understood that although Figures 2 to 6 the steps in the flowchart are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, Figures 2 to 6At least a part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed and completed at the same moment, but can be executed at different moments. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or sub-steps or stages of other steps.

[0124] In one embodiment, the embodiment of the present invention further provides an obstacle data processing device applied to a mobile robot, including:

[0125] A feature information processing unit, configured to obtain the feature information of an obstacle, and based on the feature information, obtain the feature value and position information of the corresponding obstacle.

[0126] A feature value processing unit, configured to perform a first conversion process on the feature value and position information based on a preset grid map to obtain at least one grid obstacle data.

[0127] A data assembly unit, configured to perform an assembly process on each grid obstacle data based on a preset protocol template to obtain target obstacle data, and transmit the target obstacle data to a user terminal.

[0128] For the specific limitations of the obstacle data processing device applied to a mobile robot, reference can be made to the limitations of the obstacle data processing method applied to a mobile robot in the above text, which will not be elaborated here. Each module in the above obstacle data processing device can be implemented in whole or in part by software, hardware, and their combination. The above modules can be embedded in or independent of the first controller in the mobile robot in the form of hardware, or stored in the memory of the mobile robot in the form of software, so that the first controller can call and execute the operations corresponding to the above modules.

[0129] In one embodiment, the embodiment of the present invention further provides an obstacle data processing device applied to a user terminal, including:

[0130] An obstacle data acquisition unit, configured to acquire the target obstacle data transmitted by the mobile robot.

[0131] A data parsing unit, configured to perform a parsing process on the target obstacle data based on a preset protocol template to obtain at least one grid obstacle data.

[0132] A data conversion unit, configured to perform a second conversion process on each grid obstacle data based on a preset grid map to obtain the position information of the corresponding obstacle.

[0133] A display processing unit, configured to perform a map display of the obstacle according to the position information.

[0134] For the specific limitations of the obstacle data processing device applied to the user terminal, reference can be made to the limitations of the obstacle data processing method applied to the user terminal in the foregoing text, which will not be elaborated here. Each module in the above obstacle data processing device can be implemented in whole or in part by software, hardware, and their combination. Each of the above modules can be embedded in or independent of the second controller in the user terminal in the form of hardware, or stored in the memory of the user terminal in the form of software, so as to facilitate the second controller to call and execute the operations corresponding to each of the above modules.

[0135] In one embodiment, as Figure 11 shown, a mobile robot is further provided, including a mobile robot body 910, a first communication module 920, and a first controller 930. The first controller 930 and the first communication module 920 are disposed on the mobile robot body 910, and the first controller 930 is connected to the first communication module 920; the first communication module 920 is used to connect to the user terminal; the first controller 930 is used to execute the steps of the above obstacle data processing method applied to the mobile robot.

[0136] Among them, the first communication module 920 is a Bluetooth communication module or an infrared communication module. The mobile robot body 910 can be a floor sweeping robot body, a window cleaning robot body, or a lawn mowing robot body.

[0137] Based on the first controller 930 of the mobile robot being connected to the first communication module 920; the first communication module 920 being connected to the user terminal; the first controller 930 obtaining the characteristic information of the obstacle, and based on the characteristic information, obtaining the characteristic value and position information of the corresponding obstacle; based on the preset grid map, performing a first conversion process on the characteristic value and position information to obtain at least 1 grid obstacle data; based on the preset protocol template, assembling the grid obstacle data to obtain the target obstacle data, and transmitting the target obstacle data to the user terminal through the first communication module 920, realizing the concise and efficient transmission of the obstacle data, so that the user terminal can display the obstacle in the map in real time.

[0138] In the above embodiment, the first controller 930 converts the recognized obstacle into the preset grid map based on the characteristic data and position information of the corresponding obstacle to obtain the corresponding grid obstacle data, and assembles the corresponding grid obstacle data based on the preset protocol template, realizing the simplification of the obstacle data and reducing the data volume of the obstacle; transmitting the assembled target obstacle data to the user terminal through the first communication module 920, improving the transmission rate of the obstacle data, so that the user terminal can display the obstacle in the map in real time, and is suitable for use on mobile robots with low processing speed and low memory.

[0139] In one embodiment, as Figure 9As shown in the figure, a user terminal is further provided, which includes a terminal body 940, a second communication module 950, and a second controller 960. The second controller 960 and the second communication module 950 are disposed on the terminal body 940, and the second controller 960 is connected to the second communication module 950. The second communication module 950 is used to connect to a mobile robot. The second controller 960 is used to execute the steps of the above-mentioned obstacle data processing method applied to the user terminal.

[0140] Among them, the second communication module 950 is a Bluetooth communication module or an infrared communication module. The user terminal can be a smart phone, a smart tablet, a computer, etc.

[0141] Based on the second controller 960 of the user terminal being connected to the second communication module 950; the second communication module 950 is connected to the mobile robot; the second controller 960 obtains the target obstacle data transmitted by the mobile robot through the second communication module 950; based on a preset protocol template, the target obstacle data is parsed and processed to obtain at least one grid obstacle data; based on a preset grid map, the second conversion processing is performed on each grid obstacle data to obtain the position information of the corresponding obstacle; according to the position information, the obstacle is displayed on the map, improving the obstacle data transmission rate, so that the user terminal can display the obstacle in the map in real time.

[0142] In one embodiment, a computer-readable storage medium is further provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the obstacle data processing method described above are implemented.

[0143] In one example, when the computer program is executed by a processor, the following steps are implemented:

[0144] Obtain the feature information of the obstacle, and according to the feature information, obtain the feature value and position information of the corresponding obstacle; based on a preset grid map, perform the first conversion processing on the feature value and position information to obtain at least one grid obstacle data; based on a preset protocol template, perform the assembly processing on each grid obstacle data to obtain the target obstacle data, and transmit the target obstacle data to the user terminal through the first communication module.

[0145] In another example, when the computer program is executed by a processor, the following steps are implemented:

[0146] Obtain the target obstacle data transmitted by the mobile robot; based on a preset protocol template, perform the parsing and processing on the target obstacle data to obtain at least one grid obstacle data; based on a preset grid map, perform the second conversion processing on each grid obstacle data to obtain the position information of the corresponding obstacle; according to the position information, display the obstacle on the map.

[0147] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the embodiments provided in the present application can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memories can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.

[0148] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.

[0149] The above embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it cannot be construed as a limitation on the scope of the invention patent. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the appended claims.

Claims

1. A method for processing obstacle data, characterized in that, Applied to a mobile robot, the mobile robot is used to connect to a user terminal, and the obstacle data processing method includes the following steps: Obtain the feature information of the obstacle, and based on the feature information, obtain the feature value and position information corresponding to the obstacle; Based on a preset grid map, perform a first conversion process on the feature value and the position information to obtain at least one grid obstacle data; Based on a preset protocol template, perform an assembly process on each of the grid obstacle data to obtain target obstacle data, and transmit the target obstacle data to the user terminal.

2. The obstacle data processing method according to claim 1, wherein The step of performing an assembly process on each of the grid obstacle data based on a preset protocol template to obtain target obstacle data includes: Perform a compression process on each of the grid obstacle data to obtain each compressed obstacle data; Based on a first preset protocol sub-template, perform an assembly process on each of the compressed obstacle data to obtain each obstacle data block; Based on a second preset protocol sub-template, perform an assembly process on each of the obstacle data blocks to obtain target obstacle data.

3. The obstacle data processing method according to claim 2, wherein The first preset protocol sub-template includes a data block serial number unit, a data length unit, and a data content unit; The step of performing an assembly process on each of the compressed obstacle data based on a first preset protocol sub-template to obtain each obstacle data block includes: Obtain a data block serial number and a data length according to the compressed obstacle data; Fill the data block serial number in the data block serial number unit, the data length in the data length unit, and the compressed obstacle data in the data content unit to obtain the corresponding obstacle data block.

4. The obstacle data processing method according to claim 2, wherein The second preset protocol sub-template includes a total data length unit, a data allocation bit number unit, and a data block unit; The step of performing an assembly process on each of the obstacle data blocks based on a second preset protocol sub-template to obtain target obstacle data includes: Obtain a total data length and a data allocation bit number according to each of the obstacle data blocks; Fill the total data length in the total data length unit, the data allocation bit number in the data allocation bit number unit, and the obstacle data block in the corresponding data block unit to obtain the target obstacle data.

5. The obstacle data processing method according to claim 1, wherein Before the step of performing a first conversion process on the feature value and the position information based on a preset grid map to obtain at least one grid obstacle data, it includes: Establish a map coordinate system, perform a grid process on the map coordinate system to obtain the preset grid map; the preset grid map includes at least two grid map blocks, and the grid map block includes at least two coordinate points; The step of performing a first conversion process on the feature value and the position information based on a preset grid map to obtain at least one grid obstacle data includes: According to the position information, convert the occupied area of the obstacle into the preset grid map to obtain at least one occupied grid map block; According to the characteristic values, mark the coordinate points occupied by the obstacles in each of the occupied grid map blocks to obtain the grid obstacle data corresponding to each of the occupied grid map blocks.

6. The obstacle data processing method according to claim 5, wherein The step of marking the coordinate points occupied by the obstacles in each of the occupied grid map blocks according to the characteristic values to obtain the grid obstacle data corresponding to each of the occupied grid map blocks further includes: Mark the coordinate points not occupied by the obstacles in each of the occupied grid map blocks with preset initial values, and mark the coordinate points occupied by the obstacles in each of the occupied grid map blocks with characteristic values to obtain the grid obstacle data.

7. The obstacle data processing method according to any one of claims 1 to 6, characterized in that, The step of obtaining the characteristic values corresponding to the obstacles according to the characteristic information includes; According to the characteristic information, query the preset mapping relation table to obtain the characteristic values corresponding to the obstacles.

8. A method for processing obstacle data, characterized in that Applied to a user terminal, the user terminal is used to connect to a mobile robot, and the obstacle data processing method includes the following steps: Obtain the target obstacle data transmitted by the mobile robot; Based on a preset protocol template, perform parsing processing on the target obstacle data to obtain at least one grid obstacle data; Based on a preset grid map, perform second conversion processing on each of the grid obstacle data to obtain the position information of the corresponding obstacle; According to the position information, perform map display on the obstacle.

9. A mobile robot, characterized in that, It includes a mobile robot body, a first communication module and a first controller. The first controller and the first communication module are arranged on the mobile robot body, and the first controller is connected to the first communication module; the first communication module is used to connect to the user terminal; The first controller is used to execute the steps of the obstacle data processing method according to any one of claims 1 to 7.

10. A user terminal, characterized in that, It includes a terminal body, a second communication module and a second controller. The second controller and the second communication module are arranged on the terminal body, and the second controller is connected to the second communication module; the second communication module is used to connect to the mobile robot; The second controller is used to execute the steps of the obstacle data processing method according to claim 8.